Invoke:
/feature-implement AB#1234 · Side effects: branch + commits, never pushes ·
Reads: plan.md, tasks.mdWhat it does
- Branches using
git_conventions.branch.pattern(feature/{id}-{slug}) offgit_conventions.branch.base. Polyrepo: branches in each touched repo, off that repo’s ownbase, same branch name and work-item reference across all of them. - Works through
tasks.mdtask by task — matching the surrounding code’s conventions and the house rules inproduct.md, keeping each change scoped to its task (new necessary work becomes a new tagged task, not scope creep on an existing commit). - Commits with the conventional subject pattern (
{type}: {summary} ({provider_ref})) — at least one commit carries the work-item reference so the tracker auto-links. - Ticks off tasks and updates
.shipflow/{id}/state.jsonas it goes (per-repo in polyrepo), so a resume knows exactly where it left off.
Hard git rules — never violated
Boundaries
Does not push (push_to_remote is never_autonomous) and does not open a PR or touch the work
item’s tracker state — those belong to feature-pr, and only with explicit approval.