src/claude/skills/principal-create/SKILL.md
Onboard a new principal to the current repo — scaffold sandbox, register agent, write CLAUDE-PRINCIPAL.md, mutate agency.yaml, bootstrap captain handoff. The discoverable end-to-end command for adding a person to an agency repo.
npx skillsauth add the-agency-ai/the-agency src/claude/skills/principal-createInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
End-to-end onboarding for a new principal joining an agency-init'd repo.
Wraps ./agency/tools/principal-onboard which orchestrates: directory
scaffold (via existing principal-create tool), template substitution
(CLAUDE-PRINCIPAL.md, bootstrap handoff), agent registration
(.claude/agents/{name}-captain.md), and agency.yaml mutation.
This is the discoverable workshop-day command. Without it, adding a new principal requires hand-editing YAML, authoring captain.md from scratch, writing a bootstrap handoff manually, and remembering all the file paths.
agency init of a fresh repo, after the first principal is set up.agency init first, which
bootstraps the first principal.workstream-create
or agent-create, not principal-create.$ARGUMENTS: positional principal name + flags. At minimum the name. Common shape:
<name> --user <sysuser> --display-name "Display Name"--email <addr> (repeatable), --github-user <handle>,
--no-yaml, --no-agent-reg, --no-handoff, --force, --dry-run,
--verboseIf $ARGUMENTS is missing the required pieces, ask the principal for them
1B1 — name, system $USER, display name, email, GitHub username — before
invoking the tool.
agency/config/agency.yaml exists.$ARGUMENTS is empty or missing required fields, gather via 1B1:
echo $USER on their machine)--dry-run first to preview what will be written.Invoke:
./agency/tools/principal-onboard <name> --user <sysuser> --display-name "..." \
--email ... --github-user ... --dry-run --verbose
Show the principal what will be written, where. Get explicit go-ahead.
Drop --dry-run. Re-run with the same args.
cat usr/<name>/CLAUDE-PRINCIPAL.md | head -30 — confirm template substituted correctly.cat usr/<name>/captain/captain-handoff.md | head -20 — confirm bootstrap handoff readable.cat .claude/agents/<name>-captain.md — confirm agent registration present.grep -A 4 "^ <sysuser>:" agency/config/agency.yaml — confirm YAML entry.The new principal's files are framework coordination (not application code). Use coord-commit:
/coord-commit
(Stages CLAUDE-PRINCIPAL.md, captain-handoff.md, agent registration, agency.yaml change.)
Tell the new principal:
You're set up. To start working as <display_name>:
1. On your machine: export AGENCY_PRINCIPAL=<name>
2. Verify: ./agency/tools/principal (should print <name>)
3. Launch your captain: claude --agent <name>-captain
4. In Claude, run: /session-resume
(reads your bootstrap handoff at usr/<name>/captain/captain-handoff.md)
If other principals exist on this repo, dispatch them a note that a new
peer has joined. Use /dispatch to send a brief intro to each existing
principal's captain:
"<display_name> has joined the repo. Sandbox: usr/<name>/. They'll introduce themselves once their captain bootstraps."
/release or /sync after PR review.AGENCY_PRINCIPAL themselves (or use add-principal interactively)./workstream-create for that.agency/tools/principal-onboardagency/templates/principal-v2/agency/config/agency.yaml (principals: block)agency/REFERENCE-AGENT-ADDRESSING.mdagency/docs/worknotes/WORKNOTE-principal-tooling.mdOFFENDERS WILL BE FED TO THE — CUTE — ATTACK KITTENS!
business
Sync worktree with master — merge, copy settings, run sandbox-sync, report changes
tools
List all git worktrees with status info (branch, clean/dirty, deps)
tools
Remove a git worktree and optionally delete its branch
development
Create a new git worktree with dedicated branch and bootstrapped dev environment