#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
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.
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
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.
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>/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
Individual skills in this repository
- deeppapernote
skills/deeppapernote - paper-glossary
skills/paper-glossary
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 tokensAlways available to the agent
SKILL.md
4,759 tokensWhen the skill is activated
Reference documents
15,673 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- User Configuration
- Language Integrity Contract
- Core Standard
- Workflow
- Core Execution Contract
- Tool and Source Priority
- Output Rules
- Scripts
- Limits
Scripts executed separately
scripts/_zotero_local.pyscripts/build_identity_contract.pyscripts/build_synthesis_bundle.pyscripts/check_environment.pyscripts/citation_links.pyscripts/collect_metadata.pyscripts/common.pyscripts/contracts.pyscripts/create_input_record.pyscripts/extract_evidence.pyscripts/extract_pdf_assets.pyscripts/extract_source_text.pyscripts/fetch_pdf.pyscripts/find_archived_source.pyscripts/lint_grounding.pyscripts/lint_note.pyscripts/localization.pyscripts/locate_zotero_attachment.pyscripts/materialize_figure_asset.pyscripts/paper_archive.pyscripts/plan_figure_table_decisions.pyscripts/plan_figures.pyscripts/resolve_paper.pyscripts/run_pipeline.pyscripts/source_corpus.pyscripts/user_configuration.pyscripts/write_obsidian_note.py
Files
../../.claude-plugin/marketplace.jsonasset421 bytes../../.claude-plugin/plugin.jsonasset280 bytesSKILL.mdcore23,594 bytesSKILL.mdcore23,594 bytesSKILL.mdcore23,594 bytesSKILL.mdcore23,594 bytesSKILL.mdcore23,594 bytesSKILL.mdcore23,594 bytesSKILL.mdcore23,594 bytesSKILL.mdcore23,594 bytesagents/openai.yamlasset283 bytesreferences/architecture.mddoc2,869 bytesreferences/deep-analysis.mddoc8,367 bytesreferences/domain_rules.yamlasset3,653 bytesreferences/evidence-first.mddoc5,456 bytesreferences/figure-placement.mddoc6,813 bytesreferences/final-writing.mddoc14,336 bytesreferences/metadata-sources.mddoc1,428 bytesreferences/note-quality.mddoc4,278 bytesreferences/obsidian-format.mddoc8,622 bytesreferences/output-language.mddoc3,330 bytesreferences/paper-archive.mddoc4,893 bytesreferences/paper-types.mddoc6,797 bytesreferences/user-configuration.mddoc5,429 bytesscripts/_zotero_local.pyruns31,310 bytesscripts/build_identity_contract.pyruns2,549 bytesscripts/build_synthesis_bundle.pyruns23,295 bytesscripts/check_environment.pyruns5,131 bytesscripts/citation_links.pyruns15,892 bytesscripts/collect_metadata.pyruns1,147 bytesscripts/common.pyruns147,938 bytesscripts/contracts.pyruns36,816 bytesscripts/create_input_record.pyruns3,192 bytesscripts/extract_evidence.pyruns33,893 bytesscripts/extract_pdf_assets.pyruns47,805 bytesscripts/extract_source_text.pyruns13,707 bytesscripts/fetch_pdf.pyruns11,949 bytesscripts/find_archived_source.pyruns1,723 bytesscripts/lint_grounding.pyruns27,092 bytesscripts/lint_note.pyruns60,073 bytesscripts/localization.pyruns3,935 bytesscripts/locate_zotero_attachment.pyruns3,721 bytesscripts/materialize_figure_asset.pyruns4,027 bytesscripts/paper_archive.pyruns21,675 bytesscripts/plan_figure_table_decisions.pyruns20,748 bytesscripts/plan_figures.pyruns20,519 bytesscripts/resolve_paper.pyruns7,169 bytesscripts/run_pipeline.pyruns8,414 bytesscripts/source_corpus.pyruns17,310 bytesscripts/user_configuration.pyruns16,212 bytesscripts/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 GitHubpaper-glossary
When your agent uses it
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.
What it loads into context
Frontmatter
50 tokensAlways available to the agent
SKILL.md
1,276 tokensWhen the skill is activated
Reference documents
17,109 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Preview And Wait (Default)
- After Selection
- Grounding
Scripts executed separately
scripts/configure_glossary.pyscripts/glossary_common.pyscripts/glossary_config.pyscripts/glossary_contracts.pyscripts/glossary_library.pyscripts/inspect_glossary_library.pyscripts/link_glossary_terms.pyscripts/lint_glossary.pyscripts/plan_glossary.pyscripts/write_glossary_terms.pytests/conftest.pytests/test_glossary_config.pytests/test_glossary_library.pytests/test_link_glossary_terms.pytests/test_plan_glossary.pytests/test_skill_boundary.pytests/test_workflow_integration.pytests/test_write_and_lint_glossary.py
Files
README.mddoc4,616 bytesSKILL.mdcore6,114 bytesSKILL.mdcore6,114 bytesSKILL.mdcore6,114 bytesagents/openai.yamlasset475 bytesreferences/file-contract.mddoc12,943 bytesreferences/optimization-design.mddoc9,877 bytesreferences/optimization-implementation-plan.mddoc45,048 bytesscripts/configure_glossary.pyruns2,714 bytesscripts/glossary_common.pyruns11,884 bytesscripts/glossary_config.pyruns4,864 bytesscripts/glossary_contracts.pyruns518 bytesscripts/glossary_library.pyruns13,788 bytesscripts/inspect_glossary_library.pyruns2,665 bytesscripts/link_glossary_terms.pyruns33,395 bytesscripts/lint_glossary.pyruns4,584 bytesscripts/plan_glossary.pyruns28,089 bytesscripts/write_glossary_terms.pyruns30,839 bytestests/conftest.pyruns5,403 bytestests/test_glossary_config.pyruns12,389 bytestests/test_glossary_library.pyruns19,575 bytestests/test_link_glossary_terms.pyruns45,561 bytestests/test_plan_glossary.pyruns30,079 bytestests/test_skill_boundary.pyruns15,535 bytestests/test_workflow_integration.pyruns12,486 bytestests/test_write_and_lint_glossary.pyruns68,182 bytes
Read SKILL.md
# 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.View the complete source on GitHubSkills 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
- #717 on Oct 30
- #723 on Oct 31
- #722 on Nov 1
- #723 on Nov 2
- #726 from Nov 3 to Nov 5
- #721 since Nov 6
78 earlier periods
- #757 on Aug 2
- #756 on Aug 7
- #757 on Aug 8
- #758 on Aug 9
- #794 on Aug 10
- #789 on Aug 11
- #786 on Aug 12
- #777 on Aug 14
- #749 on Aug 15
- #769 on Aug 16
- #782 on Aug 17
- #794 on Aug 18
- #781 from Aug 19 to Aug 20
- #785 on Aug 21
- #740 on Aug 22
- #749 on Aug 23
- #657 on Aug 24
- #639 on Aug 25
- #610 on Aug 26
- #613 on Aug 27
- #628 on Aug 28
- #588 on Aug 29
- #578 on Aug 30
- #601 on Aug 31
- #614 on Sep 1
- #605 from Sep 2 to Sep 3
- #585 on Sep 4
- #584 on Sep 5
- #595 on Sep 6
- #601 on Sep 7
- #617 on Sep 8
- #605 on Sep 9
- #609 on Sep 10
- #598 from Sep 11 to Sep 12
- #595 on Sep 13
- #615 on Sep 14
- #610 on Sep 15
- #619 on Sep 16
- #616 on Sep 17
- #617 on Sep 18
- #595 on Sep 19
- #606 on Sep 20
- #615 on Sep 21
- #630 on Sep 22
- #626 on Sep 23
- #605 on Sep 24
- #598 on Sep 25
- #596 on Sep 26
- #620 on Sep 27
- #618 on Sep 28
- #647 on Sep 29
- #631 on Sep 30
- #608 on Oct 1
- #620 on Oct 2
- #597 on Oct 3
- #612 on Oct 4
- #619 on Oct 5
- #627 on Oct 6
- #629 on Oct 7
- #662 on Oct 8
- #643 on Oct 9
- #628 on Oct 10
- #627 on Oct 11
- #642 from Oct 12 to Oct 13
- #650 on Oct 14
- #641 on Oct 15
- #650 on Oct 16
- #628 on Oct 17
- #623 on Oct 18
- #649 on Oct 19
- #661 on Oct 20
- #666 on Oct 21
- #646 on Oct 22
- #645 on Oct 23
- #627 on Oct 24
- #717 on Oct 25
- #714 on Oct 28
- #716 on Oct 29
Before you install
Network or broad shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deeppapernote/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deeppapernote/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deeppapernote/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deeppapernote/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deeppapernote/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/deeppapernote/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/paper-glossary/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/paper-glossary/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 95 network referencesin 9 files: deeppapernote/scripts/common.py:26 paper-glossary/tests/test_link_glossary_terms.py:56 deeppapernote/scripts/_zotero_local.py:28 and 6 more
- No hidden or obfuscated text
- No instruction overrides
- 45 executable scriptsin 45 files: deeppapernote/scripts/_zotero_local.py:1 deeppapernote/scripts/build_identity_contract.py:1 deeppapernote/scripts/build_synthesis_bundle.py:1 and 42 more
- 14 references to secretsin 8 files: deeppapernote/scripts/common.py:302 deeppapernote/scripts/user_configuration.py:45 deeppapernote/scripts/check_environment.py:136 and 5 more
- No requests to vote in Hot
Show all 154 signals by file
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
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
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
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
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
skills/deeppapernote/scripts/source_corpus.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/deeppapernote/scripts/user_configuration.py
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
- Contacts doi.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/_zotero_local.py:439High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:27High confidence
- Contacts arxiv.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:28High confidence
- Contacts api.semanticscholar.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:31High confidence
- Contacts api.openalex.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:32High confidence
- Contacts api.crossref.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:33High confidence
- Contacts www.frontiersin.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:1217High confidence
- Contacts export.arxiv.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:1983High confidence
- Contacts doi.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/common.py:2169High confidence
- Contacts arxiv.org, which SKILL.md, the README and the plugin manifest do not mentiondeeppapernote/scripts/fetch_pdf.py:155High confidence
Signal confidence: 148 facts
- Network access in prose of documentationdeeppapernote/references/obsidian-format.md:71Low confidence
- Network access in prose of documentationdeeppapernote/references/obsidian-format.md:73Low confidence
- Executable script in code of a file that runsdeeppapernote/scripts/_zotero_local.py:1High confidence
- Network access in code of a file that runsdeeppapernote/scripts/_zotero_local.py:28High confidence
- Network access in code of a file that runsdeeppapernote/scripts/_zotero_local.py:108High confidence
- Network access in code of a file that runsdeeppapernote/scripts/_zotero_local.py:109High confidence
- Network access in code of a file that runsdeeppapernote/scripts/_zotero_local.py:110High confidence
- Network access in code of a file that runsdeeppapernote/scripts/_zotero_local.py:437High confidence
- Network access in code of a file that runsdeeppapernote/scripts/_zotero_local.py:439High confidence
- Executable script in code of a file that runsdeeppapernote/scripts/build_identity_contract.py:1High confidence
- Executable script in code of a file that runsdeeppapernote/scripts/build_synthesis_bundle.py:1High confidence
- Executable script in code of a file that runsdeeppapernote/scripts/check_environment.py:1High confidence
- Access to secrets in code of a file that runsdeeppapernote/scripts/check_environment.py:136High confidence
- Executable script in code of a file that runsdeeppapernote/scripts/citation_links.py:1High confidence
- Executable script in code of a file that runsdeeppapernote/scripts/collect_metadata.py:1High confidence
- Executable script in code of a file that runsdeeppapernote/scripts/common.py:1High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:26High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:27High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:28High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:31High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:32High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:33High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuedeeppapernote/scripts/common.py:302Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuedeeppapernote/scripts/common.py:305Low confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1206High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1207High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1208High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1215High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1216High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1217High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1875High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1876High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1877High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1878High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1879High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1886High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1887High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1888High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1896High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1897High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1898High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuedeeppapernote/scripts/common.py:1913Low confidence
- Access to secrets in code of a file that runsdeeppapernote/scripts/common.py:1914High confidence
- Access to secrets in code of a file that runsdeeppapernote/scripts/common.py:1915High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1981High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1982High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:1983High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:2097High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:2098High confidence
- Network access in code of a file that runsdeeppapernote/scripts/common.py:2099High confidence
and 98 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/deeppapernote/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/deeppapernote/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/deeppapernote/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.
[](https://hotskills.dev/skill/917dhj-deeppapernote/)