跳到正文
cccskills
免费在 GitHub 公开

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.

中文简介正在准备中。当前显示原文说明。

集成工具Obsidian
查看安装方法

包含的文件(24)

  • SKILL.md6.0 KB
  • agents/openai.yaml475 B
  • README.md4.5 KB
  • references/file-contract.md12.6 KB
  • references/optimization-design.md9.6 KB
  • references/optimization-implementation-plan.md44.0 KB
  • scripts/configure_glossary.py2.7 KB
  • scripts/glossary_common.py11.6 KB
  • scripts/glossary_config.py4.8 KB
  • scripts/glossary_contracts.py518 B
  • scripts/glossary_library.py13.5 KB
  • scripts/inspect_glossary_library.py2.6 KB
  • scripts/link_glossary_terms.py32.6 KB
  • scripts/lint_glossary.py4.5 KB
  • scripts/plan_glossary.py27.4 KB
  • scripts/write_glossary_terms.py30.1 KB
  • tests/conftest.py5.3 KB
  • tests/test_glossary_config.py12.1 KB
  • tests/test_glossary_library.py19.1 KB
  • tests/test_link_glossary_terms.py44.5 KB
  • tests/test_plan_glossary.py29.4 KB
  • tests/test_skill_boundary.py15.2 KB
  • tests/test_workflow_integration.py12.2 KB
  • tests/test_write_and_lint_glossary.py66.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Generate a high-quality deep-reading note for a single paper and write it into an Obsidian-style vault. Use when the user gives a paper title, DOI, URL, arXiv ID, Zotero item, or local PDF and wants a polished Markdown note with strong structure, evidence-based analysis, and figure placeholders.

中文简介正在准备中。当前显示原文说明。

917Dhj/DeepPaperNote12292026年10月19日 更新

查看 917Dhj 的全部技能

报告此技能的问题