| name | metta:ship |
| description | Finalize and ship the active change |
| allowed-tools | ["Read","Write","Bash","Grep","Glob"] |
| context | fork |
| agent | metta-skill-host |
Two-step process: finalize (archive + merge specs on branch) then ship (merge branch to main).
Steps
METTA_SKILL=1 metta finalize --dry-run --json --change <name> → preview what will change
- If clean:
METTA_SKILL=1 metta finalize --json --change <name> → archives change to spec/archive/, merges delta specs into living specs
- If spec conflicts: stop and tell the user to resolve them
git checkout main → switch back to main
git merge metta/<change-name> --no-ff -m "chore: merge <change-name>" → merge the feature branch
- Report result to user
Rules
- ALWAYS dry-run finalize before the real operation
- Finalize happens on the feature branch (metta/)
- Ship merges the feature branch back to main
- If spec conflicts are found, do NOT proceed — tell the user
- Do not force-push or skip any steps