#721 by GitHub stars

917Dhj/DeepPaperNote

DeepPaperNote is an agent skill for deep-reading a single paper and generating high-quality Obsidian-style research notes. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/deeppapernote/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

a0591349dced → 4a7c066006cc

Compare on GitHub

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

fafb12028972 → a0591349dced

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

skills/paper-glossary/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

a0591349dced → 4a7c066006cc

Compare on GitHub

Week of Oct 26, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

fafb12028972 → a0591349dced

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 4a7c066006cc4b6c75f21512128b8ec2891a8b53

git clone --filter=blob:none --no-checkout https://github.com/917Dhj/DeepPaperNote.git .hotskills/917dhj-deeppapernote && git -C .hotskills/917dhj-deeppapernote checkout --detach 4a7c066006cc4b6c75f21512128b8ec2891a8b53 # Copy each selected skill directory from .hotskills/917dhj-deeppapernote into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/917Dhj/DeepPaperNote.git .hotskills/917dhj-deeppapernote && git -C .hotskills/917dhj-deeppapernote checkout --detach 4a7c066006cc4b6c75f21512128b8ec2891a8b53 # Copy each selected skill directory from .hotskills/917dhj-deeppapernote into .agents/skills/<skill-name>/
1.3kGitHub stars
36stars in 7 days
2skills in this repository
14commits in 30 days

Heat

7.4
  • Star growth, last 7 daysAhead of 94% of tracked repositories
  • Star growth, last 24 hoursAhead of 96% of tracked repositories
  • Rank movement, last 7 daysAhead of 58% of tracked repositories
  • Commits, last 30 daysAhead of 80% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20261,310

Individual skills in this repository

How it works

deeppapernote

When your agent uses it

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.

What it loads into context

Frontmatter

75 tokens

Always available to the agent

SKILL.md

4,759 tokens

When the skill is activated

Reference documents

15,673 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. User Configuration
  2. Language Integrity Contract
  3. Core Standard
  4. Workflow
  5. Core Execution Contract
  6. Tool and Source Priority
  7. Output Rules
  8. Scripts
  9. Limits

Scripts executed separately

  • scripts/_zotero_local.py
  • scripts/build_identity_contract.py
  • scripts/build_synthesis_bundle.py
  • scripts/check_environment.py
  • scripts/citation_links.py
  • scripts/collect_metadata.py
  • scripts/common.py
  • scripts/contracts.py
  • scripts/create_input_record.py
  • scripts/extract_evidence.py
  • scripts/extract_pdf_assets.py
  • scripts/extract_source_text.py
  • scripts/fetch_pdf.py
  • scripts/find_archived_source.py
  • scripts/lint_grounding.py
  • scripts/lint_note.py
  • scripts/localization.py
  • scripts/locate_zotero_attachment.py
  • scripts/materialize_figure_asset.py
  • scripts/paper_archive.py
  • scripts/plan_figure_table_decisions.py
  • scripts/plan_figures.py
  • scripts/resolve_paper.py
  • scripts/run_pipeline.py
  • scripts/source_corpus.py
  • scripts/user_configuration.py
  • scripts/write_obsidian_note.py

Files

  • ../../.claude-plugin/marketplace.jsonasset421 bytes
  • ../../.claude-plugin/plugin.jsonasset280 bytes
  • SKILL.mdcore23,594 bytes
  • SKILL.mdcore23,594 bytes
  • SKILL.mdcore23,594 bytes
  • SKILL.mdcore23,594 bytes
  • SKILL.mdcore23,594 bytes
  • SKILL.mdcore23,594 bytes
  • SKILL.mdcore23,594 bytes
  • SKILL.mdcore23,594 bytes
  • agents/openai.yamlasset283 bytes
  • references/architecture.mddoc2,869 bytes
  • references/deep-analysis.mddoc8,367 bytes
  • references/domain_rules.yamlasset3,653 bytes
  • references/evidence-first.mddoc5,456 bytes
  • references/figure-placement.mddoc6,813 bytes
  • references/final-writing.mddoc14,336 bytes
  • references/metadata-sources.mddoc1,428 bytes
  • references/note-quality.mddoc4,278 bytes
  • references/obsidian-format.mddoc8,622 bytes
  • references/output-language.mddoc3,330 bytes
  • references/paper-archive.mddoc4,893 bytes
  • references/paper-types.mddoc6,797 bytes
  • references/user-configuration.mddoc5,429 bytes
  • scripts/_zotero_local.pyruns31,310 bytes
  • scripts/build_identity_contract.pyruns2,549 bytes
  • scripts/build_synthesis_bundle.pyruns23,295 bytes
  • scripts/check_environment.pyruns5,131 bytes
  • scripts/citation_links.pyruns15,892 bytes
  • scripts/collect_metadata.pyruns1,147 bytes
  • scripts/common.pyruns147,938 bytes
  • scripts/contracts.pyruns36,816 bytes
  • scripts/create_input_record.pyruns3,192 bytes
  • scripts/extract_evidence.pyruns33,893 bytes
  • scripts/extract_pdf_assets.pyruns47,805 bytes
  • scripts/extract_source_text.pyruns13,707 bytes
  • scripts/fetch_pdf.pyruns11,949 bytes
  • scripts/find_archived_source.pyruns1,723 bytes
  • scripts/lint_grounding.pyruns27,092 bytes
  • scripts/lint_note.pyruns60,073 bytes
  • scripts/localization.pyruns3,935 bytes
  • scripts/locate_zotero_attachment.pyruns3,721 bytes
  • scripts/materialize_figure_asset.pyruns4,027 bytes
  • scripts/paper_archive.pyruns21,675 bytes
  • scripts/plan_figure_table_decisions.pyruns20,748 bytes
  • scripts/plan_figures.pyruns20,519 bytes
  • scripts/resolve_paper.pyruns7,169 bytes
  • scripts/run_pipeline.pyruns8,414 bytes
  • scripts/source_corpus.pyruns17,310 bytes
  • scripts/user_configuration.pyruns16,212 bytes
  • scripts/write_obsidian_note.pyruns33,892 bytes
Read SKILL.md

# DeepPaperNote

Use this skill when the user wants one outcome:
- read one paper carefully
- generate a high-quality Markdown note
- save the note to the workspace or Obsidian target selected by resolved configuration

Chinese trigger examples:
- `给这篇论文生成深度笔记`
- `写一篇高质量论文精读笔记`
- `把这篇文章整理成 obsidian 笔记`
- `读这篇论文并生成 md 笔记`

English trigger examples:
View the complete source on GitHub

Skills included

  • deeppapernote
  • paper-glossary

Repository facts

License
MIT
Created
Mar 21, 2026
Last pushed
Nov 5, 2026
Forks
87
Open issues
4
Project activity
Active

Rank over the last 12 weeks

Now #721 · best #578 · down 92 in 30 days

  1. #717 on Oct 30
  2. #723 on Oct 31
  3. #722 on Nov 1
  4. #723 on Nov 2
  5. #726 from Nov 3 to Nov 5
  6. #721 since Nov 6
78 earlier periods
  1. #757 on Aug 2
  2. #756 on Aug 7
  3. #757 on Aug 8
  4. #758 on Aug 9
  5. #794 on Aug 10
  6. #789 on Aug 11
  7. #786 on Aug 12
  8. #777 on Aug 14
  9. #749 on Aug 15
  10. #769 on Aug 16
  11. #782 on Aug 17
  12. #794 on Aug 18
  13. #781 from Aug 19 to Aug 20
  14. #785 on Aug 21
  15. #740 on Aug 22
  16. #749 on Aug 23
  17. #657 on Aug 24
  18. #639 on Aug 25
  19. #610 on Aug 26
  20. #613 on Aug 27
  21. #628 on Aug 28
  22. #588 on Aug 29
  23. #578 on Aug 30
  24. #601 on Aug 31
  25. #614 on Sep 1
  26. #605 from Sep 2 to Sep 3
  27. #585 on Sep 4
  28. #584 on Sep 5
  29. #595 on Sep 6
  30. #601 on Sep 7
  31. #617 on Sep 8
  32. #605 on Sep 9
  33. #609 on Sep 10
  34. #598 from Sep 11 to Sep 12
  35. #595 on Sep 13
  36. #615 on Sep 14
  37. #610 on Sep 15
  38. #619 on Sep 16
  39. #616 on Sep 17
  40. #617 on Sep 18
  41. #595 on Sep 19
  42. #606 on Sep 20
  43. #615 on Sep 21
  44. #630 on Sep 22
  45. #626 on Sep 23
  46. #605 on Sep 24
  47. #598 on Sep 25
  48. #596 on Sep 26
  49. #620 on Sep 27
  50. #618 on Sep 28
  51. #647 on Sep 29
  52. #631 on Sep 30
  53. #608 on Oct 1
  54. #620 on Oct 2
  55. #597 on Oct 3
  56. #612 on Oct 4
  57. #619 on Oct 5
  58. #627 on Oct 6
  59. #629 on Oct 7
  60. #662 on Oct 8
  61. #643 on Oct 9
  62. #628 on Oct 10
  63. #627 on Oct 11
  64. #642 from Oct 12 to Oct 13
  65. #650 on Oct 14
  66. #641 on Oct 15
  67. #650 on Oct 16
  68. #628 on Oct 17
  69. #623 on Oct 18
  70. #649 on Oct 19
  71. #661 on Oct 20
  72. #666 on Oct 21
  73. #646 on Oct 22
  74. #645 on Oct 23
  75. #627 on Oct 24
  76. #717 on Oct 25
  77. #714 on Oct 28
  78. #716 on Oct 29

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 9 notes
  • skills/deeppapernote/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deeppapernote/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deeppapernote/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deeppapernote/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deeppapernote/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deeppapernote/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deeppapernote/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/paper-glossary/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/paper-glossary/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 154 signals by file

.claude-plugin/marketplace.json

  • Network accessline 4
    "owner": {     "name": "917Dhj",     "url": "https://github.com/917Dhj"
  • Network accessline 5
    "name": "917Dhj",     "url": "https://github.com/917Dhj"   },
  • Network accessline 6
    "url": "https://github.com/917Dhj"

.claude-plugin/plugin.json

  • Network accessline 6
    "name": "917Dhj"   },   "repository": "https://github.com/917Dhj/DeepPaperNote",
  • Network accessline 7
    },   "repository": "https://github.com/917Dhj/DeepPaperNote",   "license": "MIT"
  • Network accessline 8
    "repository": "https://github.com/917Dhj/DeepPaperNote",

skills/deeppapernote/references/obsidian-format.md

  • Network accessline 71
    - `aliases`: English short name or common abbreviation for wikilink resolution - `date`: ISO publication date; use `YYYY` if only the year is known - `doi`: DOI string without the `https://doi.org/` prefix; omit the field entirely if unavai
  • Network accessline 73
    - `doi`: DOI string without the `https://doi.org/` prefix; omit the field entirely if unavailable

skills/deeppapernote/scripts/_zotero_local.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 28
    ZOTERO_LOCAL_BASE_URL = "http://127.0.0.1:23119/api"
  • Network accessline 108
    _NoRedirectHandler(),     )     request = urllib.request.Request(url, headers=headers, method="GET")
  • Network accessline 109
    )     request = urllib.request.Request(url, headers=headers, method="GET")     try:
  • Network accessline 110
    request = urllib.request.Request(url, headers=headers, method="GET")
  • Network accessline 437
    source_url = ""     if not source_url and doi:         source_url = f"https://doi.org/{doi}"
  • Network accessline 439
    source_url = f"https://doi.org/{doi}"

skills/deeppapernote/scripts/build_identity_contract.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/build_synthesis_bundle.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/check_environment.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 136
    [Credential-related source omitted]

skills/deeppapernote/scripts/citation_links.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/collect_metadata.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/common.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 26
    ARXIV_NS = {     "atom": "http://www.w3.org/2005/Atom",
  • Network accessline 27
    "atom": "http://www.w3.org/2005/Atom",
  • Network accessline 28
    "arxiv": "http://arxiv.org/schemas/atom",
  • Network accessline 31
    SEMANTIC_SCHOLAR_SEARCH_URL = "https://api.semanticscholar.org/graph/v1/paper/search"
  • Network accessline 32
    OPENALEX_WORKS_URL = "https://api.openalex.org/works"
  • Network accessline 33
    CROSSREF_WORKS_URL = "https://api.crossref.org/works"
  • Access to secretsline 302
    [Credential-related source omitted]
  • Access to secretsline 305
    [Credential-related source omitted]
  • Network accessline 1206
    sources,             kind="pdf_url",             value=f"https://arxiv.org/pdf/{arxiv_id}.pdf",
  • Network accessline 1207
    kind="pdf_url",             value=f"https://arxiv.org/pdf/{arxiv_id}.pdf",             provider=provider,
  • Network accessline 1208
    value=f"https://arxiv.org/pdf/{arxiv_id}.pdf",
  • Network accessline 1215
    sources,             kind="pdf_url",             value=f"https://www.frontiersin.org/articles/{doi}/pdf",
  • Network accessline 1216
    kind="pdf_url",             value=f"https://www.frontiersin.org/articles/{doi}/pdf",             provider=provider,
  • Network accessline 1217
    value=f"https://www.frontiersin.org/articles/{doi}/pdf",
  • Network accessline 1875
    "status": "ok",         "source_type": source_type,         "source_url": source_url or f"https://arxiv.org/abs/{arxiv_id}",
  • Network accessline 1876
    "source_type": source_type,         "source_url": source_url or f"https://arxiv.org/abs/{arxiv_id}",         "arxiv_id": arxiv_id,
  • Network accessline 1877
    "source_url": source_url or f"https://arxiv.org/abs/{arxiv_id}",
  • Network accessline 1878
    "arxiv_id": arxiv_id,         "pdf_url": f"https://arxiv.org/pdf/{arxiv_id}.pdf",         "metadata_sources": [source_type],
  • Network accessline 1879
    "pdf_url": f"https://arxiv.org/pdf/{arxiv_id}.pdf",
  • Network accessline 1886
    def http_get_text(url: str, *, timeout: int = 30, headers: dict[str, str] | None = None) -> str:     request = urllib.request.Request(url, headers=headers or {"User-Agent": DEFAULT_USER_AGENT})
  • Network accessline 1887
    request = urllib.request.Request(url, headers=headers or {"User-Agent": DEFAULT_USER_AGENT})
  • Network accessline 1888
    with urllib.request.urlopen(request, timeout=timeout, context=https_ssl_context(url)) as response:
  • Network accessline 1896
    def http_get_bytes(url: str, *, timeout: int = 60, headers: dict[str, str] | None = None) -> bytes:     request = urllib.request.Request(url, headers=headers or {"User-Agent": DEFAULT_USER_AGENT})
  • Network accessline 1897
    request = urllib.request.Request(url, headers=headers or {"User-Agent": DEFAULT_USER_AGENT})
  • Network accessline 1898
    with urllib.request.urlopen(request, timeout=timeout, context=https_ssl_context(url)) as response:
  • Access to secretsline 1913
    [Credential-related source omitted]
  • Access to secretsline 1914
    [Credential-related source omitted]
  • Access to secretsline 1915
    [Credential-related source omitted]
  • Network accessline 1981
    )     try:         xml_content = http_get_text(f"https://export.arxiv.org/api/query?{params}")
  • Network accessline 1982
    try:         xml_content = http_get_text(f"https://export.arxiv.org/api/query?{params}")     except Exception:
  • Network accessline 1983
    xml_content = http_get_text(f"https://export.arxiv.org/api/query?{params}")
  • Network accessline 2097
    }     if arxiv_id and not result.get("pdf_url"):         result["pdf_url"] = f"https://arxiv.org/pdf/{arxiv_id}.pdf"
  • Network accessline 2098
    if arxiv_id and not result.get("pdf_url"):         result["pdf_url"] = f"https://arxiv.org/pdf/{arxiv_id}.pdf"     return result
  • Network accessline 2099
    result["pdf_url"] = f"https://arxiv.org/pdf/{arxiv_id}.pdf"
  • Network accessline 2168
    def fetch_openalex_by_doi(doi: str) -> dict[str, Any] | None:     url = f"{OPENALEX_WORKS_URL}/https://doi.org/{urllib.parse.quote(doi, safe='')}"
  • Network accessline 2169
    url = f"{OPENALEX_WORKS_URL}/https://doi.org/{urllib.parse.quote(doi, safe='')}"
  • Network accessline 2314
    "status": "ok",             "source_type": "doi",             "source_url": f"https://doi.org/{doi}",
  • Network accessline 2315
    "source_type": "doi",             "source_url": f"https://doi.org/{doi}",             "doi": doi,
  • Network accessline 2316
    "source_url": f"https://doi.org/{doi}",
  • Network accessline 2448
    merged["year"] = str(merged["published"])[:4]     if merged.get("doi") and not merged.get("source_url"):         merged["source_url"] = f"https://doi.org/{merged['doi']}"
  • Network accessline 2449
    if merged.get("doi") and not merged.get("source_url"):         merged["source_url"] = f"https://doi.org/{merged['doi']}"     if merged.get("arxiv_id") and not merged.get("pdf_url"):
  • Network accessline 2450
    merged["source_url"] = f"https://doi.org/{merged['doi']}"
  • Network accessline 2451
    if merged.get("arxiv_id") and not merged.get("pdf_url"):         merged["pdf_url"] = f"https://arxiv.org/pdf/{merged['arxiv_id']}.pdf"     if merged.get("arxiv_id") and not merged.get("doi"):
  • Network accessline 2452
    merged["pdf_url"] = f"https://arxiv.org/pdf/{merged['arxiv_id']}.pdf"

skills/deeppapernote/scripts/contracts.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/create_input_record.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/extract_evidence.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/extract_pdf_assets.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/extract_source_text.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/fetch_pdf.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 153
    ):             raise SystemExit("Requested revision is not bound to the accepted arXiv work.")         url = f"https://arxiv.org/pdf/{explicit_revision}.pdf"
  • Network accessline 154
    raise SystemExit("Requested revision is not bound to the accepted arXiv work.")         url = f"https://arxiv.org/pdf/{explicit_revision}.pdf"         source_candidates = [("pdf_url", url)]
  • Network accessline 155
    url = f"https://arxiv.org/pdf/{explicit_revision}.pdf"

skills/deeppapernote/scripts/find_archived_source.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/lint_grounding.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/lint_note.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/localization.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 40
    [Credential-related source omitted]

skills/deeppapernote/scripts/locate_zotero_attachment.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/materialize_figure_asset.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/paper_archive.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 544
    [Credential-related source omitted]

skills/deeppapernote/scripts/plan_figure_table_decisions.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/plan_figures.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/resolve_paper.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/run_pipeline.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 66
    [Credential-related source omitted]

skills/deeppapernote/scripts/source_corpus.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/deeppapernote/scripts/user_configuration.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 234
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]

skills/deeppapernote/scripts/write_obsidian_note.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/references/optimization-implementation-plan.md

  • Access to secretsline 285
    [Credential-related source omitted]
  • Network accessline 580
    "---\ntitle: ReAct\n---\n"         "# ReAct heading\n\n"         "`ReAct` and [ReAct](https://example.test) are protected.\n\n"
  • Network accessline 581
    "# ReAct heading\n\n"         "`ReAct` and [ReAct](https://example.test) are protected.\n\n"         "REACT combines reasoning and acting. ReAct appears again.\n\n"
  • Network accessline 582
    "`ReAct` and [ReAct](https://example.test) are protected.\n\n"

skills/paper-glossary/scripts/configure_glossary.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/scripts/glossary_common.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/scripts/glossary_config.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/scripts/glossary_contracts.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/scripts/glossary_library.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/scripts/inspect_glossary_library.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/scripts/link_glossary_terms.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/scripts/lint_glossary.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/scripts/plan_glossary.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/scripts/write_glossary_terms.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/paper-glossary/tests/conftest.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/tests/test_glossary_config.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/tests/test_glossary_library.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/tests/test_link_glossary_terms.py

  • Executable scriptline 1
    Executable file
  • Network accessline 56
    "---\ntitle: ReAct\n---\n"         "# ReAct heading\n\n"         "`ReAct` and [ReAct](https://example.test/ReAct) are protected.\n"
  • Network accessline 57
    "# ReAct heading\n\n"         "`ReAct` and [ReAct](https://example.test/ReAct) are protected.\n"         "<span>ReAct</span> https://example.test/ReAct [[Other|ReAct]]\n\n"
  • Network accessline 58
    "`ReAct` and [ReAct](https://example.test/ReAct) are protected.\n"
  • Network accessline 59
    "<span>ReAct</span> https://example.test/ReAct [[Other|ReAct]]\n\n"
  • Network accessline 74
    assert "# ReAct heading" in text     assert "`ReAct`" in text     assert "[ReAct](https://example.test/ReAct)" in text
  • Network accessline 75
    assert "`ReAct`" in text     assert "[ReAct](https://example.test/ReAct)" in text     assert "<span>ReAct</span>" in text
  • Network accessline 76
    assert "[ReAct](https://example.test/ReAct)" in text
  • Network accessline 77
    assert "<span>ReAct</span>" in text     assert "https://example.test/ReAct" in text     assert "[[Other|ReAct]]" in text
  • Network accessline 78
    assert "https://example.test/ReAct" in text
  • Network accessline 428
    @pytest.mark.parametrize(     "autolink",     ["<https://example.test/ReAct>", "<ReAct@example.test>"],
  • Network accessline 429
    "autolink",     ["<https://example.test/ReAct>", "<ReAct@example.test>"],     ids=["uri", "email"],
  • Network accessline 430
    ["<https://example.test/ReAct>", "<ReAct@example.test>"],
  • Network accessline 537
    article = tmp_path / "Paper.md"     article.write_text(         "[docs](https://example.test/a_(b)/ReAct) ReAct prose\n", encoding="utf-8"
  • Network accessline 538
    article.write_text(         "[docs](https://example.test/a_(b)/ReAct) ReAct prose\n", encoding="utf-8"     )
  • Network accessline 539
    "[docs](https://example.test/a_(b)/ReAct) ReAct prose\n", encoding="utf-8"
  • Network accessline 548
    assert article.read_text(encoding="utf-8") == (         "[docs](https://example.test/a_(b)/ReAct) [[ReAct]] prose\n"
  • Network accessline 549
    "[docs](https://example.test/a_(b)/ReAct) [[ReAct]] prose\n"
  • Network accessline 1154
    ("reference_link", "definition"),     [         ("[ReAct][method]", "[method]: https://example.test/react"),
  • Network accessline 1155
    [         ("[ReAct][method]", "[method]: https://example.test/react"),         ("[ReAct][]", "[ReAct]: https://example.test/react"),
  • Network accessline 1156
    ("[ReAct][method]", "[method]: https://example.test/react"),
  • Network accessline 1157
    ("[ReAct][]", "[ReAct]: https://example.test/react"),
  • Network accessline 1158
    ("[ReAct]", "[ReAct]: https://example.test/react"),
  • Network accessline 1182
    ("reference_link", "definition"),     [         ("[ReAct][method]", "[method]:\n  https://example.test/react"),
  • Network accessline 1183
    [         ("[ReAct][method]", "[method]:\n  https://example.test/react"),         ("[ReAct][]", "[ReAct]:\n  https://example.test/react"),
  • Network accessline 1184
    ("[ReAct][method]", "[method]:\n  https://example.test/react"),
  • Network accessline 1185
    ("[ReAct][]", "[ReAct]:\n  https://example.test/react"),
  • Network accessline 1186
    ("[ReAct]", "[ReAct]:\n  https://example.test/react"),
  • Network accessline 1236
    "definition",     [         b"[method]:\r\n  https://example.test/react",
  • Network accessline 1237
    [         b"[method]:\r\n  https://example.test/react",         b'[method]: /react\r\n  "ReAct title"',
  • Network accessline 1238
    b"[method]:\r\n  https://example.test/react",

skills/paper-glossary/tests/test_plan_glossary.py

  • Executable scriptline 1
    Executable file
  • Network accessline 382
    "**ReAct**. *Plan-and-Solve* and **Reflection** are core methods.\n"                 "<strong>SerpApi</strong> provides search.\n"                 "**[LinkedTerm](https://example.invalid/SECRET_MODEL)** is linked prose.\n"
  • Network accessline 383
    "<strong>SerpApi</strong> provides search.\n"                 "**[LinkedTerm](https://example.invalid/SECRET_MODEL)** is linked prose.\n"                 f"**{highlighted_sentence}**\n"
  • Network accessline 384
    "**[LinkedTerm](https://example.invalid/SECRET_MODEL)** is linked prose.\n"
  • Access to secretsline 386
    [Credential-related source omitted]
  • Network accessline 416
    "```text\nReAct fenced code\n```\n"                 "`ReAct inline code`\n"                 "https://example.invalid/ReAct\n"
  • Network accessline 417
    "`ReAct inline code`\n"                 "https://example.invalid/ReAct\n"                 + "x" * 100
  • Network accessline 418
    "https://example.invalid/ReAct\n"

skills/paper-glossary/tests/test_skill_boundary.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/tests/test_workflow_integration.py

  • Executable scriptline 1
    Executable file

skills/paper-glossary/tests/test_write_and_lint_glossary.py

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 10 facts
Signal confidence: 148 facts

and 98 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/deeppapernote/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/deeppapernote/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/deeppapernote/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/deeppapernote/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Add this badge to your README

It updates every night and links to this page.

917Dhj/DeepPaperNote: #721 on hotskills, 1.3k stars

[![917Dhj/DeepPaperNote on hotskills](https://hotskills.dev/badge/917dhj-deeppapernote.svg)](https://hotskills.dev/skill/917dhj-deeppapernote/)