Not in the top 1,000 by GitHub stars
QuantumBFS/sci-brain
Brain storming like a senior research scientist
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/autoresearch/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Network or broad shell
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/brainstorm-ideas/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/create-advisor/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/dump-chat-history/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/how-to-analyze-dialog/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/how-to-build-kb/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/how-to-download-ref/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
855fd57439a3 → 203c839650e5
A local comparison is unavailable. You can inspect the recorded versions on GitHub.
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/how-to-flow/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/how-to-review-figure/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/how-to-technical-writing/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/how-to-write-ideas-report/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/know-me-better/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Local scripts
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/review-paper/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/survey/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/write-paper/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
skills/write-slides/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Not checked yet → After Instructions only
855fd57439a3 → 203c839650e5
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Not checked yet
First observation → 855fd57439a3
No earlier version was observed for comparison.
Verified commit 203c839650e57ed150068f7fcea4b3908e7b3ee7
git clone --filter=blob:none --no-checkout https://github.com/QuantumBFS/sci-brain.git .hotskills/quantumbfs-sci-brain && git -C .hotskills/quantumbfs-sci-brain checkout --detach 203c839650e57ed150068f7fcea4b3908e7b3ee7
# Copy each selected skill directory from .hotskills/quantumbfs-sci-brain into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/QuantumBFS/sci-brain.git .hotskills/quantumbfs-sci-brain && git -C .hotskills/quantumbfs-sci-brain checkout --detach 203c839650e57ed150068f7fcea4b3908e7b3ee7
# Copy each selected skill directory from .hotskills/quantumbfs-sci-brain into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/QuantumBFS/sci-brain.git .hotskills/quantumbfs-sci-brain && git -C .hotskills/quantumbfs-sci-brain checkout --detach 203c839650e57ed150068f7fcea4b3908e7b3ee7
# Copy each selected skill directory from .hotskills/quantumbfs-sci-brain into .opencode/skills/<skill-name>/Heat
1.5- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- autoresearch
skills/autoresearch - brainstorm-ideas
skills/brainstorm-ideas - create-advisor
skills/create-advisor - dump-chat-history
skills/dump-chat-history - how-to-analyze-dialog
skills/how-to-analyze-dialog - how-to-build-kb
skills/how-to-build-kb - how-to-download-ref
skills/how-to-download-ref - how-to-flow
skills/how-to-flow - how-to-review-figure
skills/how-to-review-figure - how-to-technical-writing
skills/how-to-technical-writing - how-to-write-ideas-report
skills/how-to-write-ideas-report - know-me-better
skills/know-me-better - review-paper
skills/review-paper - survey
skills/survey - write-paper
skills/write-paper - write-slides
skills/write-slides
How it works
autoresearch
When your agent uses it
User trigger. Use when starting, resuming, or checking an autoresearch campaign — topics, evidence base, sealed validator, then validator-scored attempt loops.
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
1,377 tokensWhen the skill is activated
Reference documents
13,813 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Choose the request
- Procedure
- Hard rules (all stages)
Scripts executed separately
helpers/cycle_end_hook.pyhelpers/gen_campaign.pyhelpers/report.pyhelpers/test_gen_campaign.pyhelpers/test_report.pyhelpers/tidy_attempts.py
Files
../../.claude-plugin/marketplace.jsonasset329 bytes../../.claude-plugin/plugin.jsonasset460 bytesSKILL.mdcore5,977 byteshelpers/cycle_end_hook.pyruns4,362 byteshelpers/gen_campaign.pyruns9,532 byteshelpers/report.pyruns31,133 byteshelpers/test_gen_campaign.pyruns5,245 byteshelpers/test_report.pyruns15,443 byteshelpers/tidy_attempts.pyruns13,645 bytesreferences/attempt-protocol.mddoc2,597 bytesreferences/cycle-end-hook.mddoc4,726 bytesreferences/insights-template.mddoc1,490 bytesreferences/negative-controls.mddoc1,814 bytesreferences/reflection-template.mddoc7,965 bytesreferences/report-schema.mddoc6,001 bytesreferences/stages/db.mddoc2,746 bytesreferences/stages/run.mddoc12,425 bytesreferences/stages/topics.mddoc5,019 bytesreferences/stages/validator.mddoc5,012 bytesreferences/state-schema.mddoc2,683 bytesreferences/tidy-up.mddoc3,783 bytesreferences/validator-contract.mddoc2,486 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
# Autoresearch
View the complete source on GitHubbrainstorm-ideas
When your agent uses it
User trigger. Use when brainstorming research ideas with a Socratic collaborator who learns your background and helps find a problem worth attacking.
What it loads into context
Frontmatter
34 tokensAlways available to the agent
SKILL.md
6,840 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Choose the mode
- Ideas
Files
SKILL.mdcore31,695 bytesSKILL.mdcore31,695 bytesSKILL.mdcore31,695 bytesSKILL.mdcore31,695 bytesSKILL.mdcore31,695 bytesSKILL.mdcore31,695 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
Before running the examples, set `DOWNLOAD_REF_DIR` to the absolute directory of `how-to-download-ref`. Quote these variables as shown.
View the complete source on GitHubcreate-advisor
When your agent uses it
User trigger. Use when creating or updating a named advisor profile from a researcher's conversation history.
What it loads into context
Frontmatter
27 tokensAlways available to the agent
SKILL.md
2,675 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Advisor Profile Generation
- Choose the mode
Files
SKILL.mdcore12,266 bytesSKILL.mdcore12,266 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
Before running the examples, set `DOWNLOAD_REF_DIR` to the absolute directory of `how-to-download-ref`. Quote these variables as shown.
View the complete source on GitHubdump-chat-history
When your agent uses it
User trigger. Use when exporting original conversations from selected harnesses and dates as a faithful transcript or a topic-titled Typst and PDF field note.
What it loads into context
Frontmatter
38 tokensAlways available to the agent
SKILL.md
1,771 tokensWhen the skill is activated
Reference documents
2,242 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- 1. Select sources and time range first
- 2. Retrieve and reconcile
- 3. Write the transcript and report
- 4. Optional research-analysis handoff
Scripts executed separately
helpers/extract_dialog.pyhelpers/history.pyhelpers/parse_md_dialog.py
Files
SKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesSKILL.mdcore8,550 bytesassets/report.typasset3,948 byteshelpers/extract_dialog.pyruns13,380 byteshelpers/history.pyruns8,009 byteshelpers/parse_md_dialog.pyruns6,295 bytesreferences/export-format.mddoc3,345 bytesreferences/sources.mddoc6,783 bytes
Read SKILL.md
## Installed resources
Own history acquisition, source reconciliation, and faithful transcript export.
`how-to-analyze-dialog` owns research-topic classification and six-dimension
prompt analysis; `create-advisor` owns advisor profiles. A field note may contain
brief evidence-backed annotations, but exporting alone does not request either
analysis workflow.
Resolve this loaded `SKILL.md` to its real path before finding `helpers/`,
`references/`, or `assets/`; copied/symlinked skills need not be siblings.
Set `DUMP_HISTORY_DIR` to that absolute skill directory, keeping the working
directory at the user's project. Locate optional downstream skills by public name.
## 1. Select sources and time range firstView the complete source on GitHubhow-to-analyze-dialog
When your agent uses it
Agentic trigger. Use when classifying exported research conversations by topic and analyzing their prompting patterns across six academic dimensions.
What it loads into context
Frontmatter
33 tokensAlways available to the agent
SKILL.md
2,011 tokensWhen the skill is activated
Reference documents
2,257 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Research dialog analysis
Files
SKILL.mdcore8,830 bytesSKILL.mdcore8,830 bytesSKILL.mdcore8,830 bytesSKILL.mdcore8,830 bytesSKILL.mdcore8,830 bytesSKILL.mdcore8,830 bytesSKILL.mdcore8,830 bytesclassification-criteria.mddoc9,069 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
## Research dialog analysis
Classify research conversations and their prompting patterns across the sixView the complete source on GitHubhow-to-build-kb
When your agent uses it
Agentic trigger. Use when turning a list of picked papers into verified knowledge-base entries — references.bib, INDEX.md, and NOTES.md.
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
1,221 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
Files
SKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytesSKILL.mdcore4,934 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
Before running the examples, set `DOWNLOAD_REF_DIR` to the absolute directory of `how-to-download-ref`. Quote these variables as shown.
View the complete source on GitHubhow-to-download-ref
When your agent uses it
Agentic trigger. Use when adding arXiv IDs or DOIs to a knowledge base — fetches metadata, PDFs, and full text, then updates references.bib and INDEX.md.
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
3,488 tokensWhen the skill is activated
Reference documents
3,090 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- When to use
- Setup
- Inputs
- Files this skill owns vs. doesn't
- Workflow
- Restore existing caches
- Human annotations
- Completion and handoff
- Done checklist
Scripts executed separately
helpers/append_bibtex.pyhelpers/aps_harvest.pyhelpers/bibtex_to_manifest.pyhelpers/fetch_metadata.pyhelpers/index.pyhelpers/kb_doctor.pyhelpers/kb_identity.pyhelpers/kb_sync.pyhelpers/mineru_parse.pyhelpers/render.pyhelpers/resolve_kb.pyhelpers/scihub_download.pyhelpers/scope_refs.pyhelpers/tex_source.pyhelpers/verify_bib.py
Files
SKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 bytesSKILL.mdcore13,081 byteshelpers/append_bibtex.pyruns5,358 byteshelpers/aps_harvest.pyruns13,914 byteshelpers/bibtex_to_manifest.pyruns3,075 byteshelpers/fetch_metadata.pyruns14,480 byteshelpers/index.pyruns5,029 byteshelpers/kb_doctor.pyruns6,929 byteshelpers/kb_identity.pyruns5,731 byteshelpers/kb_sync.pyruns7,203 byteshelpers/mineru_parse.pyruns10,896 byteshelpers/render.pyruns21,686 byteshelpers/resolve_kb.pyruns3,804 byteshelpers/scihub_domains.tomlasset1,039 byteshelpers/scihub_download.pyruns7,290 byteshelpers/scope_refs.pyruns3,523 byteshelpers/tex_source.pyruns8,565 byteshelpers/verify_bib.pyruns25,817 bytesreferences/acquisition.mddoc4,547 bytesreferences/dependencies.mddoc3,721 bytesreferences/maintenance.mddoc1,029 bytesreferences/troubleshooting.mddoc2,269 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
Before running the examples, set `DOWNLOAD_REF_DIR` to the absolute directory of `how-to-download-ref`. Quote these variables as shown.
View the complete source on GitHubhow-to-flow
When your agent uses it
Agentic trigger. Use when one hard, testable goal resists a direct solution and needs an autonomous decide–simulate–learn–backjump search.
What it loads into context
Frontmatter
39 tokensAlways available to the agent
SKILL.md
2,890 tokensWhen the skill is activated
Reference documents
437 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- The mental model
- State to track
- Preflight (gate — pass before the loop)
- Setup
- The loop
- Final check (verify the model before declaring SOLVED)
- Termination
- Journal
- Worked example (abbreviated)
Files
SKILL.mdcore12,081 bytesSKILL.mdcore12,081 bytesjournal-template.mddoc1,648 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
# Flow
View the complete source on GitHubhow-to-review-figure
When your agent uses it
Agentic trigger. Use when judging the visual design of a figure, plot, or diagram against a scientific-plot rubric.
What it loads into context
Frontmatter
35 tokensAlways available to the agent
SKILL.md
2,475 tokensWhen the skill is activated
Reference documents
1,897 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Operating principle
- The rubric — 18 rules
- Severity rubric
- Phase 0 — Scope & render
- Phase 1 — Score against the rubric
- Phase 2 — Deliver
- Reused vs. new
- Common mistakes
- Integrations
Scripts executed separately
helpers/render.py
Files
SKILL.mdcore10,271 bytesSKILL.mdcore10,271 bytesSKILL.mdcore10,271 bytesSKILL.mdcore10,271 bytesSKILL.mdcore10,271 bytesSKILL.mdcore10,271 byteschecklist.mddoc8,275 byteshelpers/render.pyruns6,873 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
Before running the examples, set `REVIEW_FIGURE_DIR` to the absolute directory of `how-to-review-figure`. Quote these variables as shown.
View the complete source on GitHubhow-to-technical-writing
When your agent uses it
Agentic trigger. Use when writing or polishing scientific prose at the sentence and paragraph level, in a manuscript, report, or review.
What it loads into context
Frontmatter
37 tokensAlways available to the agent
SKILL.md
2,234 tokensWhen the skill is activated
Reference documents
1,067 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Rules
- Hunt table
- Guardrails
Files
SKILL.mdcore10,112 byteschecklist.mddoc4,841 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this `SKILL.md` with
`Path(path).resolve()` to follow symlinks. Bare `helpers/`, `references/`, and
template paths are relative to that real directory. `skills/<name>/...` refers
to the installed skill found by public name in the agent's catalog, not the
user's project. Dependencies need not be siblings; report and install missing
skills before the dependent step. Shared writing files are bundled in
`how-to-write-ideas-report/references/`.
# Writing style guide
These sentence and paragraph rules guide `write-paper` drafts, `review-paper` findings and proposed fixes, and `how-to-write-ideas-report` and `survey` report prose.
View the complete source on GitHubhow-to-write-ideas-report
When your agent uses it
Agentic trigger. Use when writing a proposal-style ideas report from a finished brainstorm-ideas session or a chosen research direction.
What it loads into context
Frontmatter
36 tokensAlways available to the agent
SKILL.md
773 tokensWhen the skill is activated
Reference documents
3,354 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
Files
SKILL.mdcore3,683 bytesreferences/typst-reference.mddoc6,741 bytesreferences/writing-workflow.mddoc5,410 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
**Path conventions:** `docs/discussion/` and `articles/` resolve from the **project working directory**; resource paths follow Installed resources above.
View the complete source on GitHubknow-me-better
When your agent uses it
User trigger. Use when you want the agent to learn your research style from your papers (Zotero, PDF folder, or Google Scholar) so it speaks your language.
What it loads into context
Frontmatter
44 tokensAlways available to the agent
SKILL.md
1,852 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Output layout
- Step 3 — Write `.raw/` JSON per paper
- Step 4 — Append to references.bib
- Step 5 — Regenerate INDEX.md
- Step 6 — Write NOTES.md
- After know-me-better — transition checkpoint
Scripts executed separately
parse_zotero.py
Files
SKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesSKILL.mdcore7,396 bytesparse_zotero.pyruns15,780 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
Before running the examples, set `DOWNLOAD_REF_DIR` to the absolute directory of `how-to-download-ref`. Quote these variables as shown.
View the complete source on GitHubreview-paper
When your agent uses it
User trigger. Use when reviewing, commenting on, or fact-checking an existing manuscript, including its references.
What it loads into context
Frontmatter
29 tokensAlways available to the agent
SKILL.md
6,080 tokensWhen the skill is activated
Reference documents
1,565 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Operating principle
- The nine guidelines → where each is handled
- Severity rubric
- Phase 0 — Scope, load & understand (guideline #6)
- Phase 1 — Structured review (guidelines #1–5, #7)
- Phase 2 — Fact & reference verification (guideline #8)
- Phase 2.5 — Journal fit (guideline #9)
- Phase 3 — Deliver the review report
- Phase 4 — Apply approved edits
- Reused vs. new
- Common mistakes
- Integrations
Files
SKILL.mdcore26,890 bytesSKILL.mdcore26,890 bytesSKILL.mdcore26,890 byteschecklist.mddoc7,004 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
Before running the examples, set `DOWNLOAD_REF_DIR` to the absolute directory of `how-to-download-ref`. Quote these variables as shown.
View the complete source on GitHubsurvey
When your agent uses it
User trigger. Use when surveying a research topic into a knowledge base or writing a grounded literature, technology, or field assessment.
What it loads into context
Frontmatter
31 tokensAlways available to the agent
SKILL.md
2,630 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- Choose the mode
- Topic Survey
- After Survey — fetch full text, then optionally write
- Survey Report
Files
SKILL.mdcore12,282 bytesSKILL.mdcore12,282 bytesSKILL.mdcore12,282 bytesSKILL.mdcore12,282 bytestemplate.bibasset550 bytestemplate.typasset7,443 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
## Choose the mode
View the complete source on GitHubwrite-paper
When your agent uses it
User trigger. Use when drafting or revising a scientific manuscript with real results.
What it loads into context
Frontmatter
23 tokensAlways available to the agent
SKILL.md
4,976 tokensWhen the skill is activated
Reference documents
37,111 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- The Iron Rules
- Workflow Phases
- The Seven-Section Template (Martinis structure)
- Figure Rulebook
- Notation Rulebook
- Sentence-Level Rules
- Pre-Submission Checklist
- When stuck
- Integrations
- Source material
Files
SKILL.mdcore22,306 bytesSKILL.mdcore22,306 bytesSKILL.mdcore22,306 bytesreferences.mddoc17,882 bytessources/1807.01815_Ho2019_quantum-scars.mddoc84,071 bytessources/NotesOnWritingPaper12.pdfasset12,111 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. Bare
`helpers/`, `references/`, and template paths are relative to that real skill
directory. A path written as `skills/<name>/...` means the installed `<name>`
skill's directory from the agent's skill catalog, not a path in the user's project.
Locate each dependency by its public skill name; copied skills need not be siblings.
If a dependency is absent, report the missing skill and install it before that step.
Shared writing files are bundled in `how-to-write-ideas-report/references/`.
# Paper Writer
View the complete source on GitHubwrite-slides
When your agent uses it
User trigger. Use when building a Typst + Touying slide deck for a scientific talk, lecture, or briefing.
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
1,472 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Installed resources
- 1. Load context and agree the outline
- 2. Initialize the upstream template
- 3. Choose the theme and compose slides
- 4. Compile and review
- Template changes and existing decks
Files
SKILL.mdcore6,074 bytesSKILL.mdcore6,074 bytesSKILL.mdcore6,074 bytesSKILL.mdcore6,074 bytesSKILL.mdcore6,074 bytesSKILL.mdcore6,074 bytes
Read SKILL.md
## Installed resources
Keep the working directory at the user's project. Resolve this loaded `SKILL.md`
with `Path(path).resolve()` before locating resources; follow symlinks. A path
written as `skills/<name>/...` means the installed `<name>` skill's directory from
the agent's skill catalog. Locate dependencies by public skill name.
The slide template, gallery, layouts, and style documentation come from
[GiggleLiu/sci-brain-slides](https://github.com/GiggleLiu/sci-brain-slides).
Use release **v0.1.0**, package **@preview/sci-brain-slides:0.1.0**, with Typst
**0.14.0 or newer**. Check `typst --version` and `typst fonts`; the upstream
starter uses DejaVu Sans, with math and monospace fonts bundled with Typst.
# Write scientific slidesView the complete source on GitHubSkills included
- autoresearch
- brainstorm-ideas
- create-advisor
- dump-chat-history
- how-to-analyze-dialog
- how-to-build-kb
- how-to-download-ref
- how-to-flow
- how-to-review-figure
- how-to-technical-writing
- how-to-write-ideas-report
- know-me-better
- review-paper
- survey
- write-paper
- write-slides
Repository facts
- License
- MIT
- Created
- Feb 25, 2026
- Last pushed
- Nov 6, 2026
- Forks
- 21
- Open issues
- 5
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 4, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 88 notes
skills/brainstorm-ideas/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/brainstorm-ideas/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/brainstorm-ideas/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/brainstorm-ideas/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/brainstorm-ideas/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/create-advisor/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/dump-chat-history/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 2 dangerous shell commandsin 2 files: autoresearch/references/cycle-end-hook.md:65 how-to-write-ideas-report/references/writing-workflow.md:74
- 161 network referencesin 20 files: how-to-download-ref/helpers/fetch_metadata.py:35 how-to-download-ref/helpers/render.py:228 how-to-download-ref/helpers/mineru_parse.py:11 and 17 more
- No hidden or obfuscated text
- No instruction overrides
- 26 executable scriptsin 26 files: autoresearch/helpers/cycle_end_hook.py:1 autoresearch/helpers/gen_campaign.py:1 autoresearch/helpers/report.py:1 and 23 more
- 19 references to secretsin 9 files: how-to-download-ref/helpers/mineru_parse.py:17 how-to-download-ref/helpers/fetch_metadata.py:38 how-to-download-ref/helpers/verify_bib.py:32 and 6 more
- No requests to vote in Hot
Show all 208 signals by file
.claude-plugin/plugin.json
- Network accessline 6
"name": "Jin-Guo Liu" }, "homepage": "https://github.com/QuantumBFS/sci-brain", - Network accessline 7
}, "homepage": "https://github.com/QuantumBFS/sci-brain", "repository": "https://github.com/QuantumBFS/sci-brain", - Network accessline 8
"homepage": "https://github.com/QuantumBFS/sci-brain", - Network accessline 9
"repository": "https://github.com/QuantumBFS/sci-brain",
skills/autoresearch/helpers/cycle_end_hook.py
skills/autoresearch/helpers/gen_campaign.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/autoresearch/helpers/report.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/autoresearch/helpers/test_gen_campaign.py
- Executable scriptline 1
Executable file
skills/autoresearch/helpers/test_report.py
- Executable scriptline 1
Executable file - Network accessline 336
class MarkdownTests(unittest.TestCase): def test_inline_and_blocks(self): out = report.md_to_html("A **bold** `code` [link](http://x.example/) line.\n\n- one\n- two") - Network accessline 337
def test_inline_and_blocks(self): out = report.md_to_html("A **bold** `code` [link](http://x.example/) line.\n\n- one\n- two") self.assertIn("<strong>bold</strong>", out) - Network accessline 338
out = report.md_to_html("A **bold** `code` [link](http://x.example/) line.\n\n- one\n- two") - Network accessline 339
self.assertIn("<strong>bold</strong>", out) self.assertIn("<code>code</code>", out) self.assertIn('<a href="http://x.example/">link</a>', out) - Network accessline 340
self.assertIn("<code>code</code>", out) self.assertIn('<a href="http://x.example/">link</a>', out) self.assertIn("<li>one</li>", out) - Network accessline 341
self.assertIn('<a href="http://x.example/">link</a>', out)
skills/autoresearch/helpers/tidy_attempts.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/autoresearch/references/cycle-end-hook.md
- Network accessline 46
an agent interface that captures output may not deliver it to the terminal. The helper cannot detect whether the user heard it. See the [terminal BEL definition](https://invisible-island.net/xterm/ctlseqs/ctlseqs-contents.html). - Network accessline 48
[terminal BEL definition](https://invisible-island.net/xterm/ctlseqs/ctlseqs-contents.html). - Dangerous shell operationline 65
sudo apt install pulseaudio-utils sound-theme-freedesktop - Network accessline 75
Ubuntu documents [paplay](https://manpages.ubuntu.com/manpages/jammy/man1/paplay.1.html) - Network accessline 76
in `pulseaudio-utils` and includes `complete.oga` in [sound-theme-freedesktop](https://packages.ubuntu.com/questing/all/sound-theme-freedesktop/filelist). Run it as the desktop user with access to the audio session. - Network accessline 77
[sound-theme-freedesktop](https://packages.ubuntu.com/questing/all/sound-theme-freedesktop/filelist).
skills/dump-chat-history/helpers/extract_dialog.py
- Executable scriptline 1
Executable file
skills/dump-chat-history/helpers/history.py
- Executable scriptline 1
Executable file
skills/dump-chat-history/helpers/parse_md_dialog.py
- Executable scriptline 1
Executable file
skills/dump-chat-history/references/sources.md
- Network accessline 61
Primary reference: [Pi session format](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/session.md). - Network accessline 72
Primary reference: [OpenCode CLI: session and export](https://opencode.ai/docs/cli/). - Network accessline 89
Primary references: [Kimi CLI export](https://github.com/MoonshotAI/kimi-cli/blob/main/docs/en/reference/kimi-command.md), - Network accessline 90
[Kimi Code sessions](https://github.com/MoonshotAI/kimi-code/blob/main/docs/en/guides/sessions.md). - Network accessline 109
Useful primary entry points: - [Gemini CLI commands](https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/commands.md) - Network accessline 110
- [Gemini CLI commands](https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/commands.md) - Network accessline 111
- [GitHub Copilot CLI session data](https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle)
skills/how-to-download-ref/helpers/append_bibtex.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/how-to-download-ref/helpers/aps_harvest.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 4
The APS Harvest server (https://harvest.aps.org/docs/harvest-api) serves the - Network accessline 49
HARVEST = "https://harvest.aps.org/v2/journals/articles/{doi}" UA = "sci-brain-download-ref/1.0 (+https://github.com/QuantumBFS/sci-brain)" - Network accessline 50
UA = "sci-brain-download-ref/1.0 (+https://github.com/QuantumBFS/sci-brain)" - Network accessline 86
def _request(doi: str, accept: str, timeout: int) -> tuple[int, bytes]: req = urllib.request.Request( - Network accessline 87
req = urllib.request.Request( - Network accessline 88
HARVEST.format(doi=doi), headers={"Accept": accept, "User-Agent": UA}) try: with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 89
try: with urllib.request.urlopen(req, timeout=timeout) as r: return r.status, r.read() - Network accessline 90
with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 247
link = cit.find("ext-link") if link is not None: d["url"] = (link.get("{http://www.w3.org/1999/xlink}href") - Network accessline 248
if link is not None: d["url"] = (link.get("{http://www.w3.org/1999/xlink}href") or _txt(link)) - Network accessline 249
d["url"] = (link.get("{http://www.w3.org/1999/xlink}href") - Network accessline 278
links = [] if r.get("doi"): links.append(f"[doi:{r['doi']}](https://doi.org/{r['doi']})") - Network accessline 279
if r.get("doi"): links.append(f"[doi:{r['doi']}](https://doi.org/{r['doi']})") if r.get("arxiv"): - Network accessline 280
links.append(f"[doi:{r['doi']}](https://doi.org/{r['doi']})") - Network accessline 281
if r.get("arxiv"): links.append(f"[arXiv:{r['arxiv']}](https://arxiv.org/abs/{r['arxiv']})") if r.get("url") and not links: - Network accessline 282
links.append(f"[arXiv:{r['arxiv']}](https://arxiv.org/abs/{r['arxiv']})")
skills/how-to-download-ref/helpers/bibtex_to_manifest.py
skills/how-to-download-ref/helpers/fetch_metadata.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 35
S2_FIELDS = "title,abstract,authors,year,venue,publicationVenue,journal,externalIds,citationStyles,openAccessPdf" S2_BATCH_URL = f"https://api.semanticscholar.org/graph/v1/paper/batch?fields={S2_FIELDS}" - Network accessline 36
S2_BATCH_URL = f"https://api.semanticscholar.org/graph/v1/paper/batch?fields={S2_FIELDS}" - Access to secretsline 38
[Credential-related source omitted] - Network accessline 45
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Network accessline 46
[Credential-related source omitted] - Access to secretsline 46
[Credential-related source omitted] - Network accessline 47
req = urllib.request.Request( - Network accessline 51
for attempt in range(6): try: with urllib.request.urlopen(req, timeout=60) as r: - Network accessline 52
try: with urllib.request.urlopen(req, timeout=60) as r: return json.loads(r.read()) - Network accessline 53
with urllib.request.urlopen(req, timeout=60) as r: - Network accessline 74
return True try: req = urllib.request.Request(url, headers={"User-Agent": ua}) - Network accessline 75
try: req = urllib.request.Request(url, headers={"User-Agent": ua}) with urllib.request.urlopen(req, timeout=120) as r: - Network accessline 76
req = urllib.request.Request(url, headers={"User-Agent": ua}) - Network accessline 77
with urllib.request.urlopen(req, timeout=120) as r: - Network accessline 97
def get_json(url: str, email: str = "") -> dict: ua = "sci-brain/0.5 (https://github.com/QuantumBFS/sci-brain)" - Network accessline 98
ua = "sci-brain/0.5 (https://github.com/QuantumBFS/sci-brain)" - Network accessline 99
if email: ua += f" mailto:{email}" req = urllib.request.Request(url, headers={"User-Agent": ua}) - Network accessline 100
ua += f" mailto:{email}" req = urllib.request.Request(url, headers={"User-Agent": ua}) with urllib.request.urlopen(req, timeout=30) as response: - Network accessline 101
req = urllib.request.Request(url, headers={"User-Agent": ua}) - Network accessline 102
with urllib.request.urlopen(req, timeout=30) as response: - Network accessline 108
try: url = "https://api.crossref.org/works/" + urllib.parse.quote(doi, safe="") - Network accessline 109
url = "https://api.crossref.org/works/" + urllib.parse.quote(doi, safe="") - Network accessline 161
return [] try: url = "https://api.unpaywall.org/v2/" + urllib.parse.quote(doi, safe="") - Network accessline 162
try: url = "https://api.unpaywall.org/v2/" + urllib.parse.quote(doi, safe="") data = get_json(url + "?" + urllib.parse.urlencode({"email": email}), email) - Network accessline 163
url = "https://api.unpaywall.org/v2/" + urllib.parse.quote(doi, safe="") - Network accessline 181
return "unpaywall" arxiv = (meta.get("externalIds") or {}).get("ArXiv") if arxiv and fetch_pdf(f"https://arxiv.org/pdf/{arxiv}", out): - Network accessline 182
arxiv = (meta.get("externalIds") or {}).get("ArXiv") if arxiv and fetch_pdf(f"https://arxiv.org/pdf/{arxiv}", out): return "arxiv" - Network accessline 183
if arxiv and fetch_pdf(f"https://arxiv.org/pdf/{arxiv}", out): - Access to secretsline 210
[Credential-related source omitted] - Network accessline 272
print(f" ok arxiv:{aid} (cached)") continue if fetch_pdf(f"https://arxiv.org/pdf/{aid}", out): - Network accessline 273
continue if fetch_pdf(f"https://arxiv.org/pdf/{aid}", out): print(f" ok arxiv:{aid}") - Network accessline 274
if fetch_pdf(f"https://arxiv.org/pdf/{aid}", out):
skills/how-to-download-ref/helpers/index.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/how-to-download-ref/helpers/kb_doctor.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/how-to-download-ref/helpers/kb_identity.py
- Executable scriptline 1
Executable file
skills/how-to-download-ref/helpers/kb_sync.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 47
[Credential-related source omitted] - Network accessline 97
cached = valid_pdf(pdf) all_cached &= cached status = ("cached" if cached else "ok" if fetch_pdf(f"https://arxiv.org/pdf/{value}.pdf", pdf) else "miss") if kind == "arxiv" else fetch_doi_pdf(value, meta, pdf, args.em - Network accessline 98
all_cached &= cached status = ("cached" if cached else "ok" if fetch_pdf(f"https://arxiv.org/pdf/{value}.pdf", pdf) else "miss") if kind == "arxiv" else fetch_doi_pdf(value, meta, pdf, args.email) if status == "miss" - Network accessline 99
status = ("cached" if cached else "ok" if fetch_pdf(f"https://arxiv.org/pdf/{value}.pdf", pdf) else "miss") if kind == "arxiv" else fetch_doi_pdf(value, meta, pdf, args.email)
skills/how-to-download-ref/helpers/mineru_parse.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 11
arXiv papers are submitted as https://arxiv.org/pdf/<id> URL sources, so the - Network accessline 16
Service: the remote https://mineru.net/api by default, so no local GPU or - Access to secretsline 17
[Credential-related source omitted] - Network accessline 43
DEFAULT_API_URL = "https://mineru.net/api" - Access to secretsline 59
[Credential-related source omitted] - Access to secretsline 61
[Credential-related source omitted] - Network accessline 74
data = json.dumps(body).encode() if body is not None else None headers = self._headers({"Content-Type": "application/json"} if data else None) req = urllib.request.Request(self.base + path, data=data, method=method, headers= - Network accessline 75
headers = self._headers({"Content-Type": "application/json"} if data else None) req = urllib.request.Request(self.base + path, data=data, method=method, headers=headers) try: - Network accessline 76
req = urllib.request.Request(self.base + path, data=data, method=method, headers=headers) - Network accessline 77
try: with urllib.request.urlopen(req, timeout=timeout) as r: return json.loads(r.read() or b"{}") - Network accessline 78
with urllib.request.urlopen(req, timeout=timeout) as r: - Network accessline 84
def download(self, file_id: str) -> bytes: req = urllib.request.Request(f"{self.base}/v1/files/{file_id}/content", headers=self._headers()) - Network accessline 85
req = urllib.request.Request(f"{self.base}/v1/files/{file_id}/content", headers=self._headers()) - Network accessline 86
with urllib.request.urlopen(req, timeout=300) as r: - Network accessline 109
headers["Authorization"] = f"Bearer {self.key}" req = urllib.request.Request(url, data=data, method="PUT", headers=headers) - Network accessline 110
req = urllib.request.Request(url, data=data, method="PUT", headers=headers) - Network accessline 112
with urllib.request.urlopen(req, timeout=max(120, len(data) // 20_000)): - Network accessline 118
return {"type": "local", "path": str(pdf.resolve())} if kind == "arxiv" and "url" in self.sources(): return {"type": "url", "url": f"https://arxiv.org/pdf/{ident}"} - Network accessline 119
if kind == "arxiv" and "url" in self.sources(): return {"type": "url", "url": f"https://arxiv.org/pdf/{ident}"} return {"type": "file_id", "file_id": self.upload(pdf)} - Network accessline 120
return {"type": "url", "url": f"https://arxiv.org/pdf/{ident}"} - Access to secretsline 224
[Credential-related source omitted] - Access to secretsline 233
[Credential-related source omitted]
skills/how-to-download-ref/helpers/render.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 228
continue meta = { "source": f"https://arxiv.org/abs/{arxiv_id}", - Network accessline 229
meta = { "source": f"https://arxiv.org/abs/{arxiv_id}", "type": "arxiv", - Network accessline 230
"source": f"https://arxiv.org/abs/{arxiv_id}", - Network accessline 241
f"**Authors:** {meta['authors']}", "", f"**Citation:** {venue_line(s2)}", "", f"**arXiv:** [{arxiv_id}](https://arxiv.org/abs/{arxiv_id})"] - Network accessline 242
f"**Citation:** {venue_line(s2)}", "", f"**arXiv:** [{arxiv_id}](https://arxiv.org/abs/{arxiv_id})"] if meta.get("doi"): - Network accessline 243
f"**arXiv:** [{arxiv_id}](https://arxiv.org/abs/{arxiv_id})"] - Network accessline 244
if meta.get("doi"): body += ["", f"**DOI:** [{meta['doi']}](https://doi.org/{meta['doi']})"] body += ["", "## Abstract", "", s2.get("abstract") or "_(abstract unavailable)_"] - Network accessline 245
body += ["", f"**DOI:** [{meta['doi']}](https://doi.org/{meta['doi']})"] - Network accessline 299
ext = s2.get("externalIds") or {} meta = { "source": f"https://doi.org/{doi_canon}", - Network accessline 300
meta = { "source": f"https://doi.org/{doi_canon}", "type": "doi", - Network accessline 301
"source": f"https://doi.org/{doi_canon}", - Network accessline 312
f"**Authors:** {meta['authors']}", "", f"**Citation:** {venue_line(s2)}", "", f"**DOI:** [{doi_canon}](https://doi.org/{doi_canon})"] - Network accessline 313
f"**Citation:** {venue_line(s2)}", "", f"**DOI:** [{doi_canon}](https://doi.org/{doi_canon})"] if meta.get("arxiv_id"): - Network accessline 314
f"**DOI:** [{doi_canon}](https://doi.org/{doi_canon})"] - Network accessline 315
if meta.get("arxiv_id"): body += ["", f"**arXiv preprint:** [{meta['arxiv_id']}](https://arxiv.org/abs/{meta['arxiv_id']})"] body += ["", "## Abstract", "", s2.get("abstract") or "_(abstract unavailable)_"] - Network accessline 316
body += ["", f"**arXiv preprint:** [{meta['arxiv_id']}](https://arxiv.org/abs/{meta['arxiv_id']})"] - Network accessline 373
canonical = f"{owner}/{repo}" meta = { "source": f"https://github.com/{canonical}", - Network accessline 374
meta = { "source": f"https://github.com/{canonical}", "type": "github", - Network accessline 375
"source": f"https://github.com/{canonical}", - Network accessline 379
} body = [render_frontmatter(meta), "", f"# {canonical}", "", f"**Source:** https://github.com/{canonical}"] - Network accessline 380
body = [render_frontmatter(meta), "", f"# {canonical}", "", f"**Source:** https://github.com/{canonical}"] for cand in ("README.md", "Readme.md", "readme.md", "README.rst"): - Network accessline 381
f"**Source:** https://github.com/{canonical}"]
skills/how-to-download-ref/helpers/resolve_kb.py
skills/how-to-download-ref/helpers/scihub_download.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 11
Replaces the old `sci-hub-server` MCP. A real (headless) browser is required because the mirrors serve their PDFs from behind a DDoS-Guard JavaScript challenge that plain HTTP clients (curl / urllib) cannot solve. - Network accessline 13
challenge that plain HTTP clients (curl / urllib) cannot solve. - Access to secretsline 20
[Credential-related source omitted] - Network accessline 77
for dom in domains: base = f"https://{dom}" - Network accessline 78
base = f"https://{dom}"
skills/how-to-download-ref/helpers/scope_refs.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/how-to-download-ref/helpers/tex_source.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 4
Used by fetch_metadata.py (--download-arxiv-source). Downloads https://arxiv.org/e-print/<id>, detects the payload (tar / gzip / PDF-only), - Network accessline 5
https://arxiv.org/e-print/<id>, detects the payload (tar / gzip / PDF-only), - Network accessline 209
return "miss" try: req = urllib.request.Request( - Network accessline 210
try: req = urllib.request.Request( f"https://arxiv.org/e-print/{arxiv_id}", - Network accessline 211
req = urllib.request.Request( - Network accessline 212
f"https://arxiv.org/e-print/{arxiv_id}", headers={"User-Agent": ua}) with urllib.request.urlopen(req, timeout=120) as r: - Network accessline 213
headers={"User-Agent": ua}) with urllib.request.urlopen(req, timeout=120) as r: data = r.read() - Network accessline 214
with urllib.request.urlopen(req, timeout=120) as r:
skills/how-to-download-ref/helpers/verify_bib.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 32
[Credential-related source omitted] - Network accessline 36
S2_TITLE_URL = "https://api.semanticscholar.org/graph/v1/paper/search/match" - Network accessline 366
[Credential-related source omitted] - Access to secretsline 366
[Credential-related source omitted] - Network accessline 367
[Credential-related source omitted] - Access to secretsline 367
[Credential-related source omitted] - Network accessline 368
request = urllib.request.Request(f"{S2_TITLE_URL}?{query}", headers=headers) - Network accessline 370
for attempt in range(6): try: with urllib.request.urlopen(request, timeout=60) as response: - Network accessline 371
try: with urllib.request.urlopen(request, timeout=60) as response: data = json.loads(response.read()) - Network accessline 372
with urllib.request.urlopen(request, timeout=60) as response:
skills/how-to-download-ref/references/acquisition.md
- Network accessline 8
**APS DOIs are handled automatically.** For any `10.1103/*` DOI the helper first calls the [APS Harvest API](https://harvest.aps.org/docs/harvest-api), which serves - Network accessline 9
calls the [APS Harvest API](https://harvest.aps.org/docs/harvest-api), which serves - Network accessline 24
skipped. API errors and HTML landing pages fall through to the next source. PDFs must have both a `%PDF` header and `%%EOF` trailer. A DOI miss continues to the DOI fallback below. Service contracts: [Crossref](https://www.crossref.org/docu - Network accessline 25
PDFs must have both a `%PDF` header and `%%EOF` trailer. A DOI miss continues to the DOI fallback below. Service contracts: [Crossref](https://www.crossref.org/documentation/retrieve-metadata/rest-api/), [Unpaywall](https://unpaywall.org/pr - Network accessline 26
the DOI fallback below. Service contracts: [Crossref](https://www.crossref.org/documentation/retrieve-metadata/rest-api/), - Network accessline 27
[Unpaywall](https://unpaywall.org/products/api). - Network accessline 39
[Credential-related source omitted] - Access to secretsline 39
[Credential-related source omitted]
skills/how-to-download-ref/references/dependencies.md
- Network accessline 21
Both scripts also carry [PEP 723](https://peps.python.org/pep-0723/) inline - Network accessline 22
dependency metadata, so if you happen to have [uv](https://docs.astral.sh/uv/), - Network accessline 60
`mineru_parse.py` is stdlib-only: it talks to MinerU's v1 parse API over HTTPS, so nothing needs installing and no local GPU is used. By default it calls the hosted service at `https://mineru.net/api`, which accepts anonymous jobs - Network accessline 61
so nothing needs installing and no local GPU is used. By default it calls the hosted service at `https://mineru.net/api`, which accepts anonymous jobs (about 200 pages per file; results are kept 30 days on the service). A key - Network accessline 62
hosted service at `https://mineru.net/api`, which accepts anonymous jobs - Network accessline 63
(about 200 pages per file; results are kept 30 days on the service). A key from <https://mineru.net/apiManage/token> raises the quota; the user exports it themselves, and it must never be written into the KB or the repo: - Network accessline 64
from <https://mineru.net/apiManage/token> raises the quota; the user exports it - Access to secretsline 68
[Credential-related source omitted] - Network accessline 71
arXiv papers are submitted as `https://arxiv.org/pdf/<id>` URLs, so the service - Network accessline 77
decides, which on mineru.net is its VLM). To run MinerU on your own hardware instead, start `mineru-api --allow-local-source` (from `uv tool install mineru`) and point the helper at it with `--api-url http://127.0.0.1:8000` or - Network accessline 78
instead, start `mineru-api --allow-local-source` (from `uv tool install mineru`) and point the helper at it with `--api-url http://127.0.0.1:8000` or `MINERU_API_URL`; it then reads the PDFs straight from `.raw/`. - Network accessline 79
and point the helper at it with `--api-url http://127.0.0.1:8000` or
skills/how-to-flow/SKILL.md
- Network accessline 20
A deep-thinker that **conquers one hard problem by autonomous search**, modeled on a [CDCL](https://en.wikipedia.org/wiki/Conflict-driven_clause_learning)/DPLL SAT solver. Given a - Network accessline 21
[CDCL](https://en.wikipedia.org/wiki/Conflict-driven_clause_learning)/DPLL SAT solver. Given a
skills/how-to-review-figure/helpers/render.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/how-to-write-ideas-report/references/writing-workflow.md
- Dangerous shell operationline 74
rm -f "$LOG"
skills/know-me-better/SKILL.md
- Network accessline 65
> **Note:** Google Scholar actively blocks automated access — automated fetching may hit CAPTCHAs or rate limits. If scraping fails, suggest alternatives: export BibTeX manually from the Scholar profile page (Scholar → select all → export B
skills/know-me-better/parse_zotero.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/write-paper/SKILL.md
- Network accessline 270
- `sources/NotesOnWritingPaper12.pdf` — the original Martinis notes. - `sources/1807.01815_Ho2019_quantum-scars.md` — the model paper: Ho, Choi, Pichler & Lukin, *Periodic orbits, entanglement and quantum many-body scars in constrained mode - Network accessline 272
- von Delft's *Style Guide* online: <https://homepages.physik.uni-muenchen.de/~vondelft/JansStyleGuide.html>
skills/write-paper/references.md
- Network accessline 85
LMU theoretical-physics group guide. Online: <https://homepages.physik.uni-muenchen.de/~vondelft/JansStyleGuide.html>
skills/write-slides/SKILL.md
- Network accessline 13
The slide template, gallery, layouts, and style documentation come from [GiggleLiu/sci-brain-slides](https://github.com/GiggleLiu/sci-brain-slides). - Network accessline 14
[GiggleLiu/sci-brain-slides](https://github.com/GiggleLiu/sci-brain-slides). - Network accessline 53
Read the v0.1.0 [layout guide](https://github.com/GiggleLiu/sci-brain-slides/blob/v0.1.0/docs/layout-patterns.md) - Network accessline 54
and [style tokens](https://github.com/GiggleLiu/sci-brain-slides/blob/v0.1.0/docs/style-tokens.md) - Network accessline 55
for the API and design examples matching this release. Browse the [gallery PDF](https://github.com/GiggleLiu/sci-brain-slides/blob/v0.1.0/docs/gallery.pdf) for component examples; the gallery is maintained upstream and is not included - Network accessline 56
[gallery PDF](https://github.com/GiggleLiu/sci-brain-slides/blob/v0.1.0/docs/gallery.pdf) - Network accessline 128
Report template defects and propose component changes in [the upstream repository](https://github.com/GiggleLiu/sci-brain-slides). - Network accessline 129
[the upstream repository](https://github.com/GiggleLiu/sci-brain-slides).
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: 9 facts
- Contacts harvest.aps.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/aps_harvest.py:49High confidence
- Contacts www.w3.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/aps_harvest.py:249High confidence
- Contacts doi.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/aps_harvest.py:280High confidence
- Contacts api.semanticscholar.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/fetch_metadata.py:36High confidence
- Contacts api.crossref.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/fetch_metadata.py:109High confidence
- Contacts api.unpaywall.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/fetch_metadata.py:163High confidence
- Contacts mineru.net, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/mineru_parse.py:43High confidence
- Contacts doi.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/render.py:245High confidence
- Contacts api.semanticscholar.org, which SKILL.md, the README and the plugin manifest do not mentionhow-to-download-ref/helpers/verify_bib.py:36High confidence
Signal confidence: 204 facts
- Executable script in code of a file that runsautoresearch/helpers/cycle_end_hook.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valueautoresearch/helpers/cycle_end_hook.py:57Low confidence
- Executable script in code of a file that runsautoresearch/helpers/gen_campaign.py:1High confidence
- Executable script in code of a file that runsautoresearch/helpers/report.py:1High confidence
- Executable script in prose of a testautoresearch/helpers/test_gen_campaign.py:1Low confidence
- Executable script in prose of a testautoresearch/helpers/test_report.py:1Low confidence
- Network access in code of a testautoresearch/helpers/test_report.py:336Low confidence
- Network access in code of a testautoresearch/helpers/test_report.py:337Low confidence
- Network access in code of a testautoresearch/helpers/test_report.py:338Low confidence
- Network access in code of a testautoresearch/helpers/test_report.py:339Low confidence
- Network access in code of a testautoresearch/helpers/test_report.py:340Low confidence
- Network access in code of a testautoresearch/helpers/test_report.py:341Low confidence
- Executable script in code of a file that runsautoresearch/helpers/tidy_attempts.py:1High confidence
- Network access in prose of documentationautoresearch/references/cycle-end-hook.md:46Low confidence
- Network access in prose of documentationautoresearch/references/cycle-end-hook.md:48Low confidence
- Dangerous shell operation in code of documentationautoresearch/references/cycle-end-hook.md:65Low confidence
- Network access in prose of documentationautoresearch/references/cycle-end-hook.md:75Low confidence
- Network access in prose of documentationautoresearch/references/cycle-end-hook.md:76Low confidence
- Network access in prose of documentationautoresearch/references/cycle-end-hook.md:77Low confidence
- Executable script in prose of a file that runsdump-chat-history/helpers/extract_dialog.py:1Low confidence
- Executable script in prose of a file that runsdump-chat-history/helpers/history.py:1Low confidence
- Executable script in prose of a file that runsdump-chat-history/helpers/parse_md_dialog.py:1Low confidence
- Network access in prose of documentationdump-chat-history/references/sources.md:61Low confidence
- Network access in prose of documentationdump-chat-history/references/sources.md:72Low confidence
- Network access in prose of documentationdump-chat-history/references/sources.md:89Low confidence
- Network access in prose of documentationdump-chat-history/references/sources.md:90Low confidence
- Network access in prose of documentationdump-chat-history/references/sources.md:109Low confidence
- Network access in prose of documentationdump-chat-history/references/sources.md:110Low confidence
- Network access in prose of documentationdump-chat-history/references/sources.md:111Low confidence
- Executable script in code of a file that runshow-to-download-ref/helpers/append_bibtex.py:1High confidence
- Executable script in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:1High confidence
- Network access in prose of a file that runshow-to-download-ref/helpers/aps_harvest.py:4Low confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:49High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:50High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:86High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:87High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:88High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:89High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:90High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:247High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:248High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:249High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:278High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:279High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:280High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:281High confidence
- Network access in code of a file that runshow-to-download-ref/helpers/aps_harvest.py:282High confidence
- Executable script in code of a file that runshow-to-download-ref/helpers/bibtex_to_manifest.py:1High confidence
- Network access in a comment of a file that runshow-to-download-ref/helpers/bibtex_to_manifest.py:62Low confidence
- Executable script in code of a file that runshow-to-download-ref/helpers/fetch_metadata.py:1High confidence
and 154 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/autoresearch/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/autoresearch/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/autoresearch/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Native | Path .opencode/INSTALL.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.