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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

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>/
106GitHub stars
0stars in 7 days
16skills in this repository
5commits in 30 days

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

Oct 25, 2026Oct 29, 2026106

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

1,377 tokens

When the skill is activated

Reference documents

13,813 tokens

Loaded on request

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

The playbook

  1. Installed resources
  2. Choose the request
  3. Procedure
  4. Hard rules (all stages)

Scripts executed separately

  • helpers/cycle_end_hook.py
  • helpers/gen_campaign.py
  • helpers/report.py
  • helpers/test_gen_campaign.py
  • helpers/test_report.py
  • helpers/tidy_attempts.py

Files

  • ../../.claude-plugin/marketplace.jsonasset329 bytes
  • ../../.claude-plugin/plugin.jsonasset460 bytes
  • SKILL.mdcore5,977 bytes
  • helpers/cycle_end_hook.pyruns4,362 bytes
  • helpers/gen_campaign.pyruns9,532 bytes
  • helpers/report.pyruns31,133 bytes
  • helpers/test_gen_campaign.pyruns5,245 bytes
  • helpers/test_report.pyruns15,443 bytes
  • helpers/tidy_attempts.pyruns13,645 bytes
  • references/attempt-protocol.mddoc2,597 bytes
  • references/cycle-end-hook.mddoc4,726 bytes
  • references/insights-template.mddoc1,490 bytes
  • references/negative-controls.mddoc1,814 bytes
  • references/reflection-template.mddoc7,965 bytes
  • references/report-schema.mddoc6,001 bytes
  • references/stages/db.mddoc2,746 bytes
  • references/stages/run.mddoc12,425 bytes
  • references/stages/topics.mddoc5,019 bytes
  • references/stages/validator.mddoc5,012 bytes
  • references/state-schema.mddoc2,683 bytes
  • references/tidy-up.mddoc3,783 bytes
  • references/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 GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/brainstorm-ideas/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/brainstorm-ideas/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/brainstorm-ideas/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/brainstorm-ideas/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/create-advisor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/dump-chat-history/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

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

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

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 62
    # Strip a leading https://doi.org/ if someone left one in

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

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

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
Signal confidence: 204 facts

and 154 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/autoresearch/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/autoresearch/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/autoresearch/SKILL.md.github/skills/<skill-name>/
OpenCodeNativePath .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.