917dhj/paper-glossary
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.
npx skills add https://github.com/917Dhj/DeepPaperNote --skill 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.
~/.paper-glossary/config.json.shortlist_limit. It may only drop or reorder candidates and must preserve each retained proposal candidate's exact term string.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.
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.
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.
--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.link_glossary_terms.py.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.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.
anchor_only: concise paper use plus a thin general explanation.needs_explanation: labeled background explanation with confidence and paper occurrence.occurrence and outside knowledge labeled.Take 917dhj/paper-glossary from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.