ScienceLiveHub/forrt-replication-template
Self-contained scaffold for FORRT replication studies — paper PDF in, Zenodo-archived release + Science Live nanopublication chain out. AI-guided via CLAUDE.md / AGENTS.md.
ARCHETYPE
Pragmatist
A balanced, no-drama setup: some rules, some tools, nothing extreme.
Copy this rig
# review before running: this installs third-party code
$ npx degit ScienceLiveHub/forrt-replication-template/.claude ./rig-forrt-replication-template # inspect, then merge into .claude/ MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.
$ npx degit ScienceLiveHub/forrt-replication-template/.claude/skills/import-from-nanopub .claude/skills/import-from-nanopub $ npx degit ScienceLiveHub/forrt-replication-template/.claude/skills/init-template .claude/skills/init-template $ npx degit ScienceLiveHub/forrt-replication-template/.claude/skills/radar .claude/skills/radar $ npx degit ScienceLiveHub/forrt-replication-template/.claude/skills/replication-study .claude/skills/replication-study $ npx degit ScienceLiveHub/forrt-replication-template/.claude/skills/verify-chain .claude/skills/verify-chain
$ curl -fsSL --create-dirs -o .claude/agents/audience-writer.md https://raw.githubusercontent.com/ScienceLiveHub/forrt-replication-template/main/.claude/agents/audience-writer.md $ curl -fsSL --create-dirs -o .claude/agents/nanopub-drafter.md https://raw.githubusercontent.com/ScienceLiveHub/forrt-replication-template/main/.claude/agents/nanopub-drafter.md $ curl -fsSL --create-dirs -o .claude/agents/paper-analyst.md https://raw.githubusercontent.com/ScienceLiveHub/forrt-replication-template/main/.claude/agents/paper-analyst.md $ curl -fsSL --create-dirs -o .claude/agents/replication-coder.md https://raw.githubusercontent.com/ScienceLiveHub/forrt-replication-template/main/.claude/agents/replication-coder.md
Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.
{
"permissions": {
"deny": [
"Read(~/.ssh/**)",
"Read(~/.aws/**)",
"Read(~/.gnupg/**)",
"Read(~/.kube/**)",
"Read(~/.docker/config.json)",
"Read(~/.netrc)",
"Read(~/.npmrc)",
"Read(~/.pypirc)",
"Read(~/.bash_history)",
"Read(~/.zsh_history)",
"Read(~/.python_history)",
"Read(~/.psql_history)",
"Read(~/Library/Keychains/**)",
"Read(~/Library/Application Support/Google/Chrome/**)",
"Read(~/Library/Application Support/Firefox/**)",
"Read(/etc/shadow)",
"Read(/etc/sudoers)",
"Read(/private/etc/shadow)",
"Read(/private/etc/sudoers)",
"Write(~/.ssh/**)",
"Write(~/.aws/**)",
"Write(~/.gnupg/**)",
"Write(/etc/**)",
"Edit(~/.ssh/**)",
"Edit(~/.aws/**)",
"Edit(/etc/**)",
"Bash(rm -rf /)",
"Bash(rm -rf ~)",
"Bash(rm -rf /*)",
"Bash(rm -rf ~/*)",
"Bash(rm -rf $HOME*)",
"Bash(curl * | sh*)",
"Bash(curl * | bash*)",
"Bash(wget * | sh*)",
"Bash(wget * | bash*)",
"Bash(eval *)"
]
}
} Skills (5)
Subagents (4)
| audience-writer | Use this agent (OPTIONAL, Phase 5, after the chain is published) to write nanopubs/audience.json — the plain-language, per-audience retellings that scripts/build_story.py turns into the story page's " |
| nanopub-drafter | Use this agent to draft a single FORRT nanopub field-by-field, mapping the form structure in docs/forrt-form-fields.md to a draft file in nanopubs/drafts/. Produces the structured draft that build_cha |
| paper-analyst | Use this agent to extract the headline claim sentence and methodology summary from a paper PDF in `paper/`. Returns a structured paper-summary draft for `nanopubs/drafts/00_paper_summary.md`, a verbat |
| replication-coder | Use this agent to port the original paper's analysis into the standard 4-notebook pipeline (01_data_download, 02_data_clean, 03_analysis, 04_figures). Returns working code that fetches data, cleans it |
Permissions
deny (36)
Read(~/.ssh/**)
Read(~/.aws/**)
Read(~/.gnupg/**)
Read(~/.kube/**)
Read(~/.docker/config.json)
Read(~/.netrc)
Read(~/.npmrc)
Read(~/.pypirc)
Read(~/.bash_history)
Read(~/.zsh_history)
Read(~/.python_history)
Read(~/.psql_history)
Read(~/Library/Keychains/**)
Read(~/Library/Application Support/Google/Chrome/**)
Read(~/Library/Application Support/Firefox/**)
Read(/etc/shadow)
Read(/etc/sudoers)
Read(/private/etc/shadow)
Read(/private/etc/sudoers)
Write(~/.ssh/**)
Write(~/.aws/**)
Write(~/.gnupg/**)
Write(/etc/**)
Edit(~/.ssh/**)
Edit(~/.aws/**)
Edit(/etc/**)
Bash(rm -rf /)
Bash(rm -rf ~)
Bash(rm -rf /*)
Bash(rm -rf ~/*)
Bash(rm -rf $HOME*)
Bash(curl * | sh*)
Bash(curl * | bash*)
Bash(wget * | sh*)
Bash(wget * | bash*)
Bash(eval *)
ask (0)
—
allow (64)
Read(./**)
Write(./**)
Edit(./**)
Read(./.claude/**)
Write(./.claude/**)
Edit(./.claude/**)
Read(./.github/**)
Write(./.github/**)
Edit(./.github/**)
Read(.claude/**)
Write(.claude/**)
Edit(.claude/**)
Read(.github/**)
Write(.github/**)
Edit(.github/**)
Bash(ls*)
Bash(pwd)
Bash(cat *)
Bash(grep *)
Bash(rg *)
Bash(find . *)
Bash(head *)
Bash(tail *)
Bash(wc *)
Bash(sort *)
Bash(uniq *)
Bash(diff *)
Bash(sed *)
Bash(awk *)
Bash(tr *)
Bash(cut *)
Bash(echo *)
Bash(date *)
Bash(env)
Bash(which *)
Bash(file *)
Bash(rm -rf .claude/skills/init-template*)
Bash(rm -rf ./.claude/skills/init-template*)
Bash(rm .claude/skills/init-template/*)
Bash(mkdir *)
Bash(mkdir -p *)
Bash(touch *)
Bash(git *)
Bash(gh *)
Bash(snakemake *)
Bash(jupytext *)
Bash(jupyter *)
Bash(nbclient *)
Bash(python *)
Bash(python3 *)
Bash(pip *)
Bash(pixi *)
Bash(mamba *)
Bash(micromamba *)
Bash(conda *)
Bash(uv *)
Bash(docker *)
Bash(myst *)
Bash(npm *)
Bash(node *)
Similar rigs
coreyhaines31/makerskills
AI agent skills for the personal operator's craft — decisions, research, second-brain, content rotation, scenario modeling, and meta-skills to author more. Works with Claude Code, Codex, Cursor.
Skill Collector 1.9k tok ·
shenxingy/Clade
Turn Claude Code and Codex from chat assistants into autonomous coding systems
Orchestrator 30.3k tok ·
anomalyco/opencode
The open source coding agent.
Pragmatist 4.2k tok ·
DietrichGebert/ponytail
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Pragmatist 1.6k tok ·