Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/toroleapinc/claude-brain/brain-joinnpx skills add toroleapinc/claude-brain --skill brain-joingit clone --depth 1 https://github.com/toroleapinc/claude-brainWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/toroleapinc/claude-brain/brain-join)<a href="https://agentmods.dev/skills/toroleapinc/claude-brain/brain-join"><img src="https://agentmods.dev/badge/skills/toroleapinc/claude-brain/brain-join.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00026 | $0.01342 |
| Opus 5 | $0.00013 | $0.00671 |
| Sonnet 5 | $0.00005 | $0.00268 |
| Haiku 4.5 | $0.00003 | $0.00134 |
Grade C, and why
brain-join scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
chmod 600 "$IDENTITY_FILE" Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
MACHINE_ID=$(cat ~/.claude/brain-config.json | jq -r '.machine_id') How it starts
The opening of the file, as written. The whole thing — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The user wants to join an existing brain network from this machine.
The Git remote URL is provided as: $ARGUMENTS
Steps
-
Check dependencies (git, jq or python3).
-
Validate the remote URL for security:
source "${CLAUDE_PLUGIN_ROOT}/scripts/common.sh" validate_remote_url "$ARGUMENTS"If the URL appears to point to a PUBLIC repo, warn the user and ask for confirmation.
-
Show current local brain inventory:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/status.sh" -
Show security notice:
- "Joining a brain network means:"
- " - Your local brain data will be PUSHED to the remote repository"
- " - Remote brain data (skills, agents, rules) will be IMPORTED to your machine"
- " - Auto-sync will run on every Claude Code session start/end"
- ""
- "Only join brain networks you trust — imported skills and agents execute with Claude's permissions."
-
Clone the brain repo:
git clone "$ARGUMENTS" ~/.claude/brain-repoIf the directory exists, do
git -C ~/.claude/brain-repo pull origin maininstead. -
Check if the network uses encryption:
# Check for recipients file indicating encryption if [ -f ~/.claude/brain-repo/meta/recipients.txt ]; then echo "This brain network uses age encryption." if ! command -v age-keygen &>/dev/null; then echo "ERROR: age not found. Install it from https://github.com/FiloSottile/age" echo "On macOS: brew install age" echo "On Ubuntu/Debian: apt install age" exit 1 fi echo "" echo "You need to set up age encryption to join this network." echo "Options:" echo " 1. Generate a new age keypair for this machine" echo " 2. Use an existing age private key" echo "" read -p "Generate new keypair? (y/n): " -r generate_key if [ "$generate_key" = "y" ] || [ "$generate_key" = "Y" ]; then # Generate new keypair source "${CLAUDE_PLUGIN_ROOT}/scripts/common.sh" IDENTITY_FILE="${HOME}/.claude/brain-age-key.txt" age-keygen -o "$IDENTITY_FILE" chmod 600 "$IDENTITY_FILE" # Extract public key PUBLIC_KEY=$(grep "# public key:" "$IDENTITY_FILE" | cut -d' ' -f4) echo "" echo "Generated age keypair. Your public key is:" echo "$PUBLIC_KEY" echo "" echo "IMPORTANT: Share this public key with the brain network owner" echo "so they can add it to the recipients file." echo "" echo "The network owner should run:" echo " echo '$PUBLIC_KEY' >> ~/.claude/brain-repo/meta/recipients.txt" echo " git add meta/recipients.txt && git commit -m 'Add machine: $(hostname)' && git push" echo "" read -p "Press Enter when the network owner has added your public key..." # Pull to get updated recipients git -C ~/.claude/brain-repo pull origin main REGISTER_FLAGS="--encrypt" else echo "Please place your existing age private key at: ~/.claude/brain-age-key.txt" echo "Make sure it's readable only by you: chmod 600 ~/.claude/brain-age-key.txt" read -p "Press Enter when ready..." if [ ! -f ~/.claude/brain-age-key.txt ]; then echo "ERROR: Age private key not found at ~/.claude/brain-age-key.txt" exit 1 fi REGISTER_FLAGS="--encrypt" fi else echo "This brain network does not use encryption." REGISTER_FLAGS="" fi -
Register this machine:
if [ -n "$REGISTER_FLAGS" ]; then bash "${CLAUDE_PLUGIN_ROOT}/scripts/register-machine.sh" "$ARGUMENTS" $REGISTER_FLAGS else bash "${CLAUDE_PLUGIN_ROOT}/scripts/register-machine.sh" "$ARGUMENTS" fi -
Show what's in the consolidated brain vs what's local. Run export first:
MACHINE_ID=$(cat ~/.claude/brain-config.json | jq -r '.machine_id') mkdir -p ~/.claude/brain-repo/machines/${MACHINE_ID} bash "${CLAUDE_PLUGIN_ROOT}/scripts/export.sh" --output ~/.claude/brain-repo/machines/${MACHINE_ID}/brain-snapshot.json
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 145 lines · 26 tokens per session scan C 8aee3ac10d89
brain-join is a skill published in the GitHub repository toroleapinc/claude-brain (85 stars, last pushed 2mo ago), licensed MIT. It adds 26 tokens to every session and 1,342 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 2 findings (asks for root, reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
llm-wiki
Build and maintain an LLM-curated personal knowledge base — the "LLM Wiki" pattern from Andrej Karpathy's April 2026 gist. Use this skill whenever the user wants to ingest a source (paper, article, transcript, PDF, notes) into a persistent compounding knowledge base, ask a question against accumulated notes, lint or…
alive:save
The human wants to checkpoint. Or: the stash has grown heavy — 5+ items, 30+ minutes, a natural pause in the work. The squirrel doesn't decide when to save. It surfaces the need and lets the human pull the trigger. Runs the full save protocol: confirms stash, writes log, updates state, generates projections…
alive:capture-context
Use when external content arrives in the session — emails, transcripts, screenshots, documents, files, or in-session research worth keeping. Also use when there's nothing obvious to capture — the skill checks 03Inbox/ for unrouted files and enters inbox scan mode. Stores raw content, routes to bundles, extracts tasks…
alive:load-context
The human mentions a walnut to work on, asks about a specific venture/experiment/project, or wants to check status — not just explicit 'load X'. Load the brief pack (3 files), resolve the people involved, check the active bundle — then surface one observation and ask what to work on. Context loads in tiers: walnut and…
alive:session-history
Revive sessions (quick or heavy), browse, and search — 'what happened recently?', 'find the session where we discussed X', 'revive yesterday's session'. For single-session recall and multi-session browsing. If the human needs to merge multiple sessions into one working context or detect conflicts between parallel…
alive:mine-for-context
Deep context extraction from source material. Creates reference bundles, builds extraction plans, tracks what's been extracted, and discovers new targets — people, subjects, patterns, connections. The archaeologist that turns raw sources into structured knowledge. Can be invoked by alive:session-history for targeted…