| name | mastermind-bootstrap |
| description | Mastermind bootstrap — one-time org initialization that primes the CEO/boss agent with org context, goal hierarchy, and a signed invite token. Run after createorg before first runorg. |
| type | domain-skill |
| default_mode | confirm |
Mastermind Bootstrap
This skill is invoked by mastermind:bootstrap or directly via /mastermind:bootstrap.
Inputs
brain_context: BRAIN CONTEXT block (injected by command, or loaded below if standalone)
org_name: org to bootstrap (required)
action: init | token | status | reset
boss_role_id: role ID of the CEO/boss agent (default: auto-detect by reports_to: null)
caller: command | master
Step 0 — Brain Load (standalone only)
If caller is not "command", load brain context following mastermind-protocol/SKILL.md Brain Load Procedure with namespace: ops.
Step 1 — Resolve Org
orgFile=".monomind/orgs/${org_name}.json"
[ ! -f "$orgFile" ] && { echo "ERROR: Org '${org_name}' not found. Run /mastermind:createorg first."; exit 1; }
bootstrapFile=".monomind/orgs/${org_name}-bootstrap.json"
Step 2 — Execute Action
status (check bootstrap state)
if [ -f "$bootstrapFile" ]; then
echo "BOOTSTRAP STATUS — ${org_name}"
echo "──────────────────────────────────"
jq -r '
" State: \(.state // "unknown")",
" Boss Role: \(.boss_role_id // "-")",
" Bootstrapped:\(.bootstrapped_at // "never")",
" Token: \(if .invite_token then (.invite_token | .[0:8]) + "..." else "none" end)",
" Token used: \(.token_used // false)"
' "$bootstrapFile"
else
echo "Not bootstrapped. Run /mastermind:bootstrap --org ${org_name} --action init"
fi
token (generate a fresh invite token)
Generate a signed one-time token the boss agent uses to authenticate its first session:
token=$(openssl rand -hex 24 2>/dev/null || python3 -c "import secrets; print(secrets.token_hex(24))")
ts=$(date -u +%Y-%m-%dT%H:%M:%SZ)
echo "INVITE TOKEN — ${org_name}"
echo "──────────────────────────────────"
echo " Token: $token"
echo " Valid until first use."
echo ""
[ ! -f "$bootstrapFile" ] && echo '{}' > "$bootstrapFile"
tmp="${bootstrapFile}.tmp"
jq --arg token "$token" --arg ts "$ts" \
'.invite_token = $token | .token_generated_at = $ts | .token_used = false' \
"$bootstrapFile" > "$tmp" && mv "$tmp" "$bootstrapFile"
echo "Token stored. Include in boss agent prompt as: INVITE_TOKEN=${token}"
init (full bootstrap)
Initialize org bootstrap: detect boss, generate token, write primer context:
if [ -z "$boss_role_id" ]; then
boss_role_id=$(jq -r '(.roles // [])[] | select(.reports_to == null or .reports_to == "") | .id' "$orgFile" | head -1)
fi
[ -z "$boss_role_id" ] && { echo "ERROR: Could not detect boss role. Pass --boss-role-id <id>."; exit 1; }
bossConfig=$(jq --arg id "$boss_role_id" '(.roles // [])[] | select(.id == $id)' "$orgFile")
bossTitle=$(echo "$bossConfig" | jq -r '.title // "CEO"')
orgGoal=$(jq -r '.goal // "No goal set"' "$orgFile")
orgTopology=$(jq -r '.topology // "hierarchical"' "$orgFile")
roleCount=$(jq '.roles | length' "$orgFile")
governance=$(jq -r '.governance.policy // "auto"' "$orgFile")
token=$(openssl rand -hex 24 2>/dev/null || python3 -c "import secrets; print(secrets.token_hex(24))")
ts=$(date -u +%Y-%m-%dT%H:%M:%SZ)
cat > "$bootstrapFile" <<EOF
{
"org": "${org_name}",
"state": "initialized",
"boss_role_id": "${boss_role_id}",
"boss_title": "${bossTitle}",
"org_goal": "${orgGoal}",
"topology": "${orgTopology}",
"role_count": ${roleCount},
"governance": "${governance}",
"invite_token": "${token}",
"token_used": false,
"token_generated_at": "${ts}",
"bootstrapped_at": "${ts}"
}
EOF
echo "BOOTSTRAP COMPLETE — ${org_name}"
echo "──────────────────────────────────────────"
echo " Boss: ${bossTitle} (${boss_role_id})"
echo " Goal: ${orgGoal}"
echo " Topology: ${orgTopology}"
echo " Agents: ${roleCount}"
echo " Governance: ${governance}"
echo " Token: ${token}"
echo ""
echo "CEO PRIMER (include in boss agent prompt):"
echo "──────────────────────────────────────────"
cat <<PRIMER
ORG: ${org_name}
ROLE: ${bossTitle}
GOAL: ${orgGoal}
GOVERNANCE: ${governance}
INVITE_TOKEN: ${token}
You are the autonomous CEO of org '${org_name}'. Your mission: ${orgGoal}.
You lead ${roleCount} agents in a ${orgTopology} topology.
Governance mode: ${governance}. In 'board' or 'strict' mode, pause before high-risk actions and emit approval requests.
Use your INVITE_TOKEN for your first heartbeat. Token is single-use.
PRIMER
Emit org:bootstrap:complete event:
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
CTRL_URL=$(jq -r '.url // "http://localhost:4242"' "$REPO_ROOT/.monomind/control.json" 2>/dev/null || echo "http://localhost:4242")
curl -s -X POST "${CTRL_URL}/api/mastermind/event" -H "x-monomind-token: $(cat "${REPO_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}/.monomind/dashboard-token" 2>/dev/null || true)" \
-H "Content-Type: application/json" \
-d "$(jq -cn --arg org "$org_name" --arg boss "$boss_role_id" \
'{type:"org:bootstrap:complete",org:$org,boss:$boss,ts:(now*1000|floor)}')" || true
reset
Clear bootstrap state (next init will regenerate token):
if [ -f "$bootstrapFile" ]; then
rm "$bootstrapFile"
echo "Bootstrap state cleared for '${org_name}'. Run --action init to re-bootstrap."
else
echo "No bootstrap file found for '${org_name}'."
fi
Step 3 — Return Output
domain: ops
status: complete
action: <action>
org: <org_name>
boss_role_id: <boss_role_id>
state: initialized | token | reset
Step 4 — Brain Write (standalone only)
If caller is not "command", follow mastermind-protocol/SKILL.md Brain Write Procedure for domain ops.