brain-init
SkillAI & modelsInitialize brain sync network. Creates a Git remote for your brain and exports your current Claude Code state.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the brain-init skill
What this skill tells your AI
The instructions your AI receives, as published by toroleapinc/claude-brain in skills/brain-init/SKILL.md and read by ahel’s review.
The user wants to initialize their Claude Brain sync network.
Parse arguments:
- If arguments contain "--encrypt", enable encryption
- The first non-flag argument is the Git remote URL
Arguments provided: $ARGUMENTS
Steps
-
First, check dependencies by running:
"${CLAUDE_PLUGIN_ROOT}/scripts/common.sh" && echo "OK"If jq and git are missing, tell the user what to install.
-
Validate the remote URL for security:
source "${CLAUDE_PLUGIN_ROOT}/scripts/common.sh" validate_remote_url "$ARGUMENTS"If the URL is detected as pointing to a PUBLIC repository, STOP and warn the user:
- "WARNING: This repository appears to be PUBLIC. Your brain data (memory, skills, settings, and potentially sensitive information) will be visible to anyone."
- "Please use a PRIVATE repository."
- Ask the user if they want to continue anyway.
-
Show the user their current brain inventory by running:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/status.sh" -
IMPORTANT: Show the user a security notice before proceeding: Tell the user:
- "Brain sync will export the following to the Git remote:"
- " - CLAUDE.md, rules, skills, agents (your instructions and workflows)"
- " - Auto memory and agent memory (learned patterns from your sessions)"
- " - Settings (hooks, permissions — NOT env vars)"
- " - MCP server configurations (command/args only — env vars with API keys are STRIPPED)"
- " - Keybindings"
- ""
- "What is NEVER exported: OAuth tokens, API keys in env vars, ~/.claude.json, session transcripts"
- ""
- "Note: Memory files may contain information from your conversations. Review ~/.claude/projects/*/memory/ if concerned."
-
Ask the user to confirm they want to initialize brain sync with the provided remote.
-
Run the initialization sequence:
# Parse arguments for encryption flag ENABLE_ENCRYPTION=false REMOTE_URL="" for arg in $ARGUMENTS; do case "$arg" in --encrypt) ENABLE_ENCRYPTION=true ;; *) if [ -z "$REMOTE_URL" ]; then REMOTE_URL="$arg"; fi ;; esac done # Create brain repo directory mkdir -p ~/.claude/brain-repo # Initialize git repo cd ~/.claude/brain-repo git init git remote add origin "$REMOTE_URL" 2>/dev/null || git remote set-url origin "$REMOTE_URL" # Create directory structure mkdir -p machines consolidated meta # Initialize meta files echo '{"entries":[]}' > meta/merge-log.json # Set up encryption if requested if [ "$ENABLE_ENCRYPTION" = "true" ]; then echo "Setting up age encryption..." # Check if age is installed 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 # Generate age keypair source "${CLAUDE_PLUGIN_ROOT}/scripts/common.sh" IDENTITY_FILE="${HOME}/.claude/brain-age-key.txt" RECIPIENTS_FILE="${HOME}/.claude/brain-repo/meta/recipients.txt" generate_age_keypair "$IDENTITY_FILE" "$RECIPIENTS_FILE" echo "Age encryption configured:" echo " Private key: $IDENTITY_FILE" echo " Public key: $RECIPIENTS_FILE" fi # Register this machine (with encryption settings) if [ "$ENABLE_ENCRYPTION" = "true" ]; then bash "${CLAUDE_PLUGIN_ROOT}/scripts/register-machine.sh" "$REMOTE_URL" --encrypt else bash "${CLAUDE_PLUGIN_ROOT}/scripts/register-machine.sh" "$REMOTE_URL" fi # Export initial brain snapshot MACHINE_ID=$(cat ~/.claude/brain-config.json | jq -r '.machine_id') mkdir -p "machines/${MACHINE_ID}" bash "${CLAUDE_PLUGIN_ROOT}/scripts/export.sh" --output "machines/${MACHINE_ID}/brain-snapshot.json" # Copy as initial consolidated brain cp "machines/${MACHINE_ID}/brain-snapshot.json" consolidated/brain.json # Commit and push (specific paths, not -A) git add machines/ consolidated/ meta/ git commit -m "Initialize brain: $(hostname)" git branch -M main git push -u origin main -
Confirm success and show the user:
- Their machine ID and name
- The remote URL
- Instructions: "Install claude-brain on your other machines and run: /brain-join $ARGUMENTS"
- Reminder: "Auto-sync is enabled. Brain syncs silently on every session start/end."
If any step fails, show the error and suggest fixes (e.g., create the remote repo first on GitHub).
Signals
- GitHub stars
- 87
- Forks
- 19
- Last commit
- Jun 2026
ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
brain-init-toroleapinc- Source
- github.com/toroleapinc/claude-brain