toroleapinc/claude-brain/brain-join
Claude Code and agent skill by toroleapinc/claude-brain
- community
Checking that the SKILL.md file is still in the repository.
Join an existing brain sync network from another machine. Pulls the consolidated brain and merges with any local state.
Install
npx vskill@latest install toroleapinc/claude-brain/brain-joinSKILL.md
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:
``bash 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:
``bash git clone "$ARGUMENTS" ~/.claude/brain-repo ` If the directory exists, do git -C ~/.claude/brain-repo pull origin main` instead.
- Check if the network uses encryption:
```bash # 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:
``bash 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:
``bash 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 ``
- Ask the user how to handle existing local data:
- Merge (recommended): Merge local brain into consolidated
- Overwrite: Replace local with consolidated brain
- Keep local: Keep local as-is, only add new items from consolidated
- Based on choice:
- Merge: Run merge-structured.sh then merge-semantic.sh between local snapshot and consolidated
- Overwrite: Run import.sh directly with consolidated brain
- Keep local: Run import.sh but skip files that already exist locally
- Push the updated state:
``bash cd ~/.claude/brain-repo git add machines/ consolidated/ meta/ git commit -m "Join: $(hostname) joined brain network" git push origin main ``
- Confirm success:
- Show how many machines are now in the network
- Show what was imported/merged
- Note: "Auto-sync is now enabled. Your brain syncs on every Claude Code session start/end."
- Reminder: "A backup of your pre-join brain state was saved to ~/.claude/brain-backups/"
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/brain-join/SKILL.md
Popularity
- Repository stars
- 50
- Repository forks
- 13
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 29 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/toroleapinc/claude-brain/brain-join)