К основному содержанию
скилл CX Codex

paper-glossary — скилл для Claude Code: глоссарий Obsidian из статьи

Собирает глоссарий Obsidian из манифеста статьи, но сначала показывает список терминов и ждёт вашего выбора.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add 917Dhj/DeepPaperNote --skill paper-glossary -a claude-code
Открыть на GitHub

Что делает paper-glossary

Скилл читает *_source_manifest.json и строит из него заметки-термины для хранилища Obsidian. Обязательный аргумент — --source-manifest; --raw-sections только подменяет путь raw_sections_path явным файлом *_raw_sections.jsonl. Рабочий процесс чтения статьи скилл не запускает и не меняет: манифест и raw-sections — вся его граница по содержимому статьи.

Сначала скилл показывает сохранённую конфигурацию, а если её нет — спрашивает каталог терминов внутри хранилища Obsidian и может создать ~/.paper-glossary/config.json. Потом прогоняет детерминированный отбор кандидатов и один семантический разбор, который умеет только выкидывать и переставлять кандидатов. Результат фиксируется через plan_glossary.py --review-proposal PROPOSAL --reviewed-terms NAMES. Дальше вы получаете нумерованный список терминов и ответ заканчивается. Никакие заметки и ссылки до выбора не пишутся.

После выбора принимаются только номера, точные имена терминов или 全部写入. Если нужны ссылки в статье, укажите путь к Markdown-файлу статьи — он должен лежать в том же хранилище, что и каталог терминов, иначе проверка не пройдёт. Затем идут triage, inventory, генерация, один вызов writer и линковка первого безопасного вхождения; для запроса только по глоссарию шаг link_glossary_terms.py пропускается. Существующие заметки не перезаписываются: existing_thin получает лишь недостающие поля и вхождение, existing_complete — только недостающее вхождение.

Какие задачи решает

  • собрать глоссарий терминов из манифеста статьи
  • проверить список кандидатов до записи заметок
  • связать термины со статьёй по первому безопасному вхождению
  • дополнить тонкие заметки недостающими полями
  • отсеять ссылки на литературу как доказательства

Примеры запросов агенту

  • собери глоссарий из paper_source_manifest.json
  • покажи список терминов перед записью, статью возьми из article.md
  • запиши термины 1, 4 и 7

Как установить paper-glossary

1Через Skills CLI (Vercel)

npx skills add 917Dhj/DeepPaperNote --skill paper-glossary -a claude-code

2Вручную: положить файлы

~/.claude/skills/paper-glossary/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/paper-glossary/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о paper-glossary

Как установить paper-glossary в Claude?

Выполните npx skills add 917Dhj/DeepPaperNote --skill paper-glossary -a claude-code. Скилл окажется в ~/.claude/skills/paper-glossary/SKILL.md.

Что делает paper-glossary?

Строит переиспользуемые заметки-термины Obsidian из манифеста статьи. Перед записью показывает проверенный список кандидатов и ждёт выбора.

Что нужно указать для ссылок в статье?

Путь к Markdown-файлу статьи. Он и настроенный каталог терминов должны находиться в одном хранилище Obsidian — иначе скилл не станет связывать термины.

Исходный текст

SKILL.md · MIT
---
name: paper-glossary
description: Use when building reusable Obsidian glossary notes from an existing paper source manifest, optionally with a raw-sections override, especially when a reader needs a reviewed shortlist before glossary notes and article links are changed.
---

# Paper Glossary

Build shared glossary notes from `*_source_manifest.json`. `--source-manifest` is always required; `--raw-sections` only overrides its `raw_sections_path` with an explicit `*_raw_sections.jsonl`. This skill never runs or modifies a paper-reading workflow; the manifest and raw-sections file are its only paper-content boundary. See `references/file-contract.md` for JSON and CLI contracts.

## Preview And Wait (Default)

1. **Show saved configuration** on first use per person/device. If absent, ask for a term directory inside an Obsidian vault and configure it; reuse valid configuration later. **Setup may create `~/.paper-glossary/config.json`**.
2. **Require an explicit article Markdown path** when article links are requested. Validate it and the configured term directory are in the **same Obsidian vault**; never infer an article path.
3. **Run deterministic proposal** from the effective body.
4. **Perform exactly one grounded host semantic review**, bounded by `shortlist_limit`. It may **only drop or reorder candidates** and must preserve each retained proposal candidate's **exact `term` string**.
5. **Record the reviewed shortlist** with `plan_glossary.py --review-proposal PROPOSAL --reviewed-terms NAMES`; this validates the saved proposal against the current paper source and preserves each full candidate, ordered `surface_forms`, and provenance.
   If review produces an **empty reviewed shortlist**, report `no_candidates` and stop without presenting a selector.
6. **Present every retained term** from that reviewed artifact as a numbered Markdown list. This is the terminal, Codex, and Claude Code interaction. Show the resolved term directory, the article Markdown path (or that none was requested), and that selection authorizes glossary writes/enrichment plus first-safe-occurrence article links when an article was supplied.
7. State: **No glossary notes or article Markdown have been written before selection.** **End the response and wait.** Do not triage, inventory, generate, link, or lint during preview.

A broad request, manifest, raw sections path, or article path is not selection approval. A host-native selector is allowed only when it displays the complete same list in one interaction.

## After Selection

**Accept only numbers**, exact term names, or `全部写入` from the immediately preceding numbered list. Resolve them to the exact displayed `term` strings before invoking a script; `全部写入` applies only to that list. Invalid selections receive the valid range and another wait. Triage requires both `--reviewed-shortlist REVIEW` and the resolved exact names in `--terms`; never use `--terms` alone or add alias syntax.

Pass the current `--source-manifest`, optional `--raw-sections`, and saved `--reviewed-shortlist` to inventory, writer, and linker. Inventory consumes the saved `--triage` artifact as its selected-term input; writer and linker must also receive that same saved `--triage`. They require exact ordered `term` and `surface_forms` equality with this independent authorization before any glossary or article write.

1. **Triage** the selection; its selection identity binds each exact selected name and ordered paper-grounded forms.
2. Run library **inventory** from that triage artifact; it recomputes the complete proposal/review/selection provenance chain and fails closed on mismatched paper, source, shortlist, or forms.
3. Then **generate one action-aware batch**.
4. **Run one writer invocation** against the **configured glossary directory**; it revalidates the same provenance chain and requires its ordered inventory results to match the authorized triage exactly, then performs **whole-batch preflight** followed by the **create/enrich/reuse commit**. The writer resolves device-local configuration (or an explicit `--config-path` for that device) and does not accept a standalone write destination. With `--article`, its backlink is **derived from the resolved article Markdown stem**. Without an article, the glossary-only backlink comes from the **validated manifest `paper_id`**. The successful artifact preserves `triage_sha256`, provenance, article context, ordered mappings, and their deterministic `mappings_sha256`; the mapping digest binds the triage identity.
5. **Link each successful writer result** at its first safe occurrence **only if an article Markdown was supplied/requested**. The linker authenticates the writer provenance, context, digest, note paths, stems, and forms against the same current source/review, and rejects an artifact with **no bound article path**. **For a glossary-only request, skip `link_glossary_terms.py`**.
6. **Lint writer-returned changed glossary note files** whose **`action` is `created`, `enriched`, or `updated`** in **one `lint_glossary.py` invocation with repeated `--input PATH`** arguments. **Do not pass article Markdown to `lint_glossary.py`**.
7. **Report observable wall-clock timing** and statuses. **Time host-only phases separately**. **Each CLI emits top-level `elapsed_ms`** for its own complete invocation. The **single writer invocation includes whole-batch preflight and commit**. **Do not report separate preflight and commit timings**.

`new` entries are created; `existing_thin` entries receive only missing structured fields and a missing occurrence; `existing_complete` entries may receive only a missing occurrence. **Do not overwrite** existing note content. See `references/file-contract.md` for `existing_thin`, entry operations, writer `forms`, and link statuses.

## Grounding

- `anchor_only`: concise paper use plus a thin general explanation.
- `needs_explanation`: labeled background explanation with confidence and paper occurrence.
- Exclude reference-only occurrences as evidence. Keep paper facts in `occurrence` and outside knowledge labeled.

© 917Dhj · MIT · 917Dhj/DeepPaperNote

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
obsidian-literature-workflow Galaxy-Dawn Ведёт обзор литературы в хранилище Obsidian: заметки о статьях, синтез, черновик related work и карта связей. CX Codex +1 408установок results-report Galaxy-Dawn Собирает итоговый отчёт по завершённому эксперименту: что проверили, что подтвердилось, что делать дальше. Работает после скилла results-analysis. CX Codex +1 490установок wiki-research Ar9av Гоняет несколько раундов поиска по теме, сводит найденное и раскладывает результат по страницам Obsidian-вики. CX Codex +1 2 800установок wiki-ingest Ar9av Забирает документы, папки, сырой текст и ссылки в вики Obsidian: перерабатывает их в связанные страницы и пропускает то, что уже разобрано. CX Codex +1 3 600установок obsidian-markdown AgriciDaniel Скилл объясняет, черновики и проверяет синтаксис Obsidian Flavored Markdown: свойства, wikilinks, вставки, callouts, теги, блоки, математику и Mermaid. CX Codex +1 545установок wiki-lint AgriciDaniel Прогоняет детерминированную проверку Obsidian-вики: битые ссылки, страницы-сироты, пробелы во frontmatter. Ничего не правит — только показывает. CX Codex +1 460установок

Из того же набора2

Спонсоры проекта

Компании, которые помогают держать аналитику открытой