| name | team-ship |
| description | Build and deploy features — branch, implement, commit, review, test, deploy, PR/merge |
| argument-hint | <feature description> |
| disable-model-invocation | true |
| allowed-tools | Bash(git *), TaskCreate, TaskUpdate, TaskList, TaskGet |
Ship — Build and Deploy Features
Implement a new feature or enhancement from start to production.
Feature to implement: $ARGUMENTS
Execution
With Agent Teams (recommended)
Enable with CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
Create a team and spawn teammates:
- Create team named
ship-<feature-slug>
- Define acceptance criteria before implementation begins:
- Break the feature into testable behaviors and success conditions
- Write these criteria into claude-progress.json so all agents share the same definition of "done"
- This prevents self-evaluation bias where agents confidently approve their own mediocre work
- Spawn teammates: shipper, full-stack-developer, database-admin (if data changes needed), reviewer, documentor
Create the following task list with dependencies:
| # | Task | Owner | Blocked By |
|---|
| 1 | Create feature branch feature/<name> from main | shipper | — |
| 2 | Implement the feature end-to-end | full-stack-developer | 1 |
| 3 | Implement database/data layer changes (if needed) | database-admin | 1 |
| 4 | Commit all changes with conventional message | shipper | 2, 3 |
| 5 | Review implementation for security, bugs, performance | reviewer | 4 |
| 6 | Fix review findings (only if reviewer returns REQUEST_CHANGES) | full-stack-developer + database-admin | 5 |
| 7 | Run full test suite | shipper | 5 (verdict APPROVE or APPROVE_WITH_WARNINGS) |
| 8 | Fix regressions (if tests fail — loop back to 7) | full-stack-developer | 7 |
| 9 | Update documentation for feature changes | documentor | 7 |
| 10 | Deploy and create PR to main | shipper | 7, 9 |
Parallelism:
- Tasks 2 and 3 run simultaneously after task 1.
- If task 6 fires, application and data fixes can run simultaneously.
Loops:
- Review gate: If task 5 returns
REQUEST_CHANGES, create task 6 (fix findings) and re-run task 5. Repeat until the verdict is APPROVE or APPROVE_WITH_WARNINGS. Tasks 7+ stay blocked until the gate clears.
- Test gate: If task 7 finds failures, create task 8 (fix regressions) and re-run task 7.
Without Agent Teams (fallback)
Execute sequentially using the Task tool:
Task(shipper, "Create feature branch feature/<name> from main")
Task(full-stack-developer, "Implement: $ARGUMENTS")
Task(database-admin, "Implement data layer changes for: $ARGUMENTS") — only if needed
Task(shipper, "Commit all changes with message: feat: <description>")
Task(reviewer, "Review the implementation on this branch")
- If reviewer returns
REQUEST_CHANGES: Task(full-stack-developer, "Fix review findings: <findings>") (and Task(database-admin, ...) if data-layer findings), then re-run step 5. Loop until APPROVE or APPROVE_WITH_WARNINGS.
Task(shipper, "Run full test suite")
- If tests fail:
Task(full-stack-developer, "Fix test failures: <failure details>"), then re-run step 7
Task(documentor, "Update documentation for: $ARGUMENTS")
Task(shipper, "Deploy and create PR to main")
Workflow Diagram
┌─────────┐ ┌──────────────────┐ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌────────────┐ ┌──────────┐
│ Shipper │──►│ Full-Stack Dev + │──►│ Shipper │──►│ Reviewer │──►│ Shipper │──►│ Documentor │──►│ Shipper │
│ Branch │ │ DB Admin (║) │ │ Commit │ │ Review │ │ Test │ │ Update Docs│ │Deploy+PR │
└─────────┘ └──────────────────┘ └─────────┘ └────┬─────┘ └────┬────┘ └────────────┘ └──────────┘
│ ▲ │ ▲
▼ │ ▼ │
[REQUEST_CHANGES] [test failures]
Dev fixes findings Dev fixes regressions
→ re-review → re-run tests
Tests stay blocked until reviewer returns APPROVE or APPROVE_WITH_WARNINGS.