Help us improve
Share bugs, ideas, or general feedback.
From jaan-to
Orchestrates multi-role AI teammates to ship ideas from concept to production. Useful for complex builds requiring PM, backend, frontend, QA, and DevOps collaboration across configurable tracks.
npx claudepluginhub parhumm/jaan-to --plugin jaan-toHow this skill is triggered — by the user, by Claude, or both
Slash command
/jaan-to:team-ship [initiative] [--track fast|full|sprint] [--detect] [--roles role1,role2] [--dry-run] [--resume][initiative] [--track fast|full|sprint] [--detect] [--roles role1,role2] [--dry-run] [--resume]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Assemble a virtual company of AI teammates — each a role — to ship an idea from concept to production.
Sets up multi-agent teams for complex projects with file-based planning, per-agent directories, and teammate spawning. Triggers on team/swarm/start-project requests.
Orchestrates subagents as product manager for software development: manages sprints, TDD with red/blue-team validation, requirements (PRD/RTM/TODO), audits, and retrospectives.
Decomposes complex goals into agent team blueprints using scaling laws, topology selection (pipeline, parallel, coordinator, hierarchical), and role design with artifact chains and quality gates. For project planning and team assembly.
Share bugs, ideas, or general feedback.
Assemble a virtual company of AI teammates — each a role — to ship an idea from concept to production.
${CLAUDE_PLUGIN_ROOT}/skills/team-ship/roles.md - Role definitions (CRITICAL — teammate roster)${CLAUDE_PLUGIN_ROOT}/docs/extending/team-ship-reference.md - Spawn prompts, dependency algo, schemas$JAAN_CONTEXT_DIR/tech.md - Tech stack context$JAAN_CONTEXT_DIR/config.md - Project configuration$JAAN_TEMPLATES_DIR/jaan-to-team-ship.template.md - Orchestration log template$JAAN_LEARN_DIR/jaan-to-team-ship.learn.md - Past lessons (loaded in Pre-Execution)${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md - Language resolution protocolArguments: $ARGUMENTS
| Argument | Effect |
|---|---|
[initiative] | Idea to build (required unless --detect or --resume) |
--track fast | 8-skill fast track: PM → Backend → Frontend → QA → DevOps |
--track full | 20-skill full track: all roles, all design steps (default) |
--track tdd | TDD track: qa-test-cases → qa-tdd-orchestrate → qa-test-mutate → qa-quality-gate |
--track sprint | Sprint track: reads sprint plan artifact from pm-sprint-plan, executes dynamic skill queue |
--detect | Detect audit mode: 5 parallel auditors → detect-pack |
--roles role1,role2 | Custom role selection from roles.md |
--dry-run | Display planned team structure without spawning |
--resume | Resume from last checkpoint |
MANDATORY — Read and execute ALL steps in: ${CLAUDE_PLUGIN_ROOT}/docs/extending/pre-execution-protocol.md
Skill name: team-ship
Execute: Step 0 (Init Guard) → A (Load Lessons) → B (Resolve Template) → C (Offer Template Seeding)
Also read context files if available:
$JAAN_CONTEXT_DIR/tech.md — Tech stack for teammate context$JAAN_CONTEXT_DIR/config.md — Project configurationRead and apply language protocol: ${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md
Override field for this skill: language_team-ship
Language exception: Generated code, skill commands, YAML, and role names remain in English.
ultrathink
Use extended reasoning for:
Agent Teams enabled? Read jaan-to/config/settings.yaml for agent_teams_enabled.
If false or missing:
"Agent Teams is not enabled. To use team-ship:
- Add
agent_teams_enabled: truetojaan-to/config/settings.yaml- Set environment variable:
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1- Restart Claude Code session" STOP — do not proceed.
Resume mode? If --resume flag:
$JAAN_OUTPUTS_DIR/team/ for most recent checkpoint.yamlinitiative text (everything not a flag)--track fast, --track full (default), --track sprint, --detect, or --roles--dry-run flagIf --track sprint:
SPRINT_PLAN=$(ls -t $JAAN_OUTPUTS_DIR/pm/sprint-plan/*/*.md 2>/dev/null | head -1)
/pm-sprint-plan first."queue array and closing_skillsReference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/team-ship-reference.mdsection "Sprint Track Execution" for plan consumption and verification gate logic.
${CLAUDE_PLUGIN_ROOT}/skills/team-ship/roles.md--roles specified: filter to only those roles--detect: select only detect-* rolesFor each selected role from roles.md:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/team-ship-reference.mdsection "Dependency Graph Resolution Algorithm" for phase grouping logic.
Read $JAAN_CONTEXT_DIR/tech.md (if exists) — summarize in 2-3 lines for spawn prompts.
This summary is injected into each teammate's spawn prompt as {tech_context_summary}.
If --dry-run flag is set:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/team-ship-reference.mdsection "Dry-Run Display Format" for the output template.
Display team plan: roster, phases, dependency graph, token estimate.
Write plan to $JAAN_OUTPUTS_DIR/team/{id}-{slug}/plan.md.
STOP — do not spawn teammates.
Present to user:
TEAM COMPOSITION
────────────────
Track: {track} ({skill_count} skills)
Initiative: "{initiative}"
Teammates ({count}):
{role}: {skills_list} [{model}]
...
Phases:
Phase 1: {roles} → PRD approval gate
Phase 2: {roles} (parallel)
Phase 3: {roles} (parallel)
Phase 4: Verify + Changelog (lead)
"Assemble this team and begin? [y/n/edit]"
If edit: let user adjust roles, track, or model choices. Rebuild roster.
Do NOT proceed without explicit approval.
If --detect mode: skip to Phase 2 (Detect Mode).
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/team-ship-reference.mdsection "PM Teammate Prompt" for the full prompt template.
{initiative}, {slug}, {tech_context_summary}When PM completes:
"The PM has drafted the PRD. Review it at: {prd_path} Approve to spawn the build team? [y/n/edit]"
If no: provide feedback to PM teammate, PM revises, repeat. If yes: shut down PM teammate (free context), proceed to Phase 2.
Update checkpoint: phase=1, pm=done, artifacts.prd_path, artifacts.entities.
Determine Phase 2 roles from roster (those with Phase=2).
For each Phase 2 role:
Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/team-ship-reference.mdsection "{Role} Teammate Prompt" for each role's template.
{prd_path}, {stories_path}, {entities}, {slug}For --detect mode, instead spawn all detect-* roles from roster in parallel.
While Phase 2 teammates are active:
When all Phase 2 roles report done:
--detect mode: lead runs /jaan-to:detect-pack to consolidate. Skip to Phase 4 wrap-up.Update checkpoint: phase=2, role statuses.
If --track tdd selected, execute this specialized pipeline instead of standard Phase 2-3:
If qa-quality-gate skill is not available: skip with explicit warning: "Quality gate skill not available -- skipping composite scoring. Run qa-test-run coverage report as fallback."
tdd-writer role:
tdd-implementer role:
Update checkpoint: track=tdd, pipeline stages.
Lead executes directly (not a teammate — integration touches multiple output dirs):
/jaan-to:dev-project-assemble — wire scaffolds together/jaan-to:dev-output-integrate — copy to project locationsIf integration fails: update checkpoint (status=paused), present error to user.
After integration succeeds, spawn Phase 3 roles from roster:
qa-test-generate → qa-test-runqa-test-generate → qa-test-run → qa-contract-validate "{api_contract_path}"Reference: See
${CLAUDE_PLUGIN_ROOT}/docs/extending/team-ship-reference.mdsection "DevOps Teammate Prompt" and "Security Teammate Prompt".
Wait for all Phase 3 teammates to complete. Monitor same as Step 9.
Update checkpoint: phase=3, role statuses.
Lead runs directly:
/jaan-to:dev-verify — build + runtime validation/jaan-to:release-iterate-changelog — generate changelogWrite to $JAAN_OUTPUTS_DIR/team/{id}-{slug}/log.md using template.
Include: initiative, track, team roster, phase timeline, skill outputs, test results, final status.
Update checkpoint: phase=4, status=completed.
"Team work complete. Orchestration log: {log_path} All outputs in: $JAAN_OUTPUTS_DIR/"
"Any feedback on the team orchestration? [y/n]"
If yes: run /jaan-to:learn-add team-ship "{feedback}"