Complete work on the current in-progress feature.
Steps
- •
Get the project for the current working directory:
- •Call
list_projectswithdirectory_pathset to the current working directory - •If no project found, tell the user to run
/manifest:initfirst
- •Call
- •
Find the in-progress feature:
- •Call
find_featureswithproject_idandstate: "in_progress" - •If no in-progress features, tell the user there's nothing to complete
- •If multiple in-progress features, list them and ask which one
- •Call
- •
Check for uncommitted changes:
- •
Run
git status --porcelain - •
If there are uncommitted changes:
codeYou have uncommitted changes: [list modified files] Should I commit them now? (y/n)
- •
If yes, ask for a commit message and run:
bashgit add -A && git commit -m "<message>"
- •
- •
Gather commit information:
- •Determine base branch (
mainormaster) - •Get commits on this branch:
git log <base>..HEAD --oneline - •Present the commits:
code
Commits for this feature: [sha1] [message1] [sha2] [message2] ...
- •Determine base branch (
- •
Ask for a work summary:
codePlease provide a summary of the work done on "[Feature Title]". Format: First line is a concise headline. After a blank line, include: - What was implemented - Key decisions made during implementation and why - Any deviations from the original spec and reasoning - Context for the next person working in this area Example: Implemented OAuth login flow - Added Google OAuth provider using passport.js - Chose session-based auth over JWT (simpler for SSR app) - Deviated from spec: skipped GitHub OAuth (rate limits too restrictive) - Note: refresh token rotation not yet implemented
- •
Determine git workflow:
- •
Check if user has a saved preference (see "Remembering Preferences" below)
- •
If no saved preference, ask:
codeHow do you want to finish this feature? 1. Merge to main (solo project, no review needed) 2. Create a pull request (team project, needs review) 3. Just record it (leave branch as-is, I'll handle git myself) Want me to remember this choice for future features? (y/n)
- •
Save preference if requested (in CLAUDE.md or project instructions)
- •
- •
Execute git workflow:
If "Merge to main":
bashgit checkout <base> git merge --no-ff feature/<slug> -m "Merge feature: <title>" git push origin <base> git branch -d feature/<slug> # delete local branch
If "Create a pull request":
bashgit push -u origin feature/<slug> gh pr create --title "<Feature Title>" --body "## Summary <work summary> ## Changes <list of commits>"
- •Display the PR URL to the user
If "Just record it":
- •Skip git operations, just record in Manifest
- •
Complete the feature:
- •Call
complete_featurewith:- •
feature_id - •
summaryfrom user input - •
commitsarray with commit SHAs and messages - •
mark_implemented: true
- •
Note: Mark the feature as implemented when the PR is created, not when it's merged. The feature specification is complete once the code exists. PR review is about code quality, not feature completeness. If review feedback changes the feature scope, that's a separate conversation.
- •Call
- •
Update the feature spec: Use
update_featureto update the feature's details to reflect what was actually built. Keep it concise — goal, what was implemented, key interfaces, any deviations from original spec. - •
Propagate learnings: If you discovered something during implementation that applies to sibling features (a shared pattern, convention, or constraint), suggest updating the parent feature's details so future agents inherit it.
- •
Display confirmation:
Completed: [Title]
State: in_progress → implemented
[If merged]: Merged to <base> and pushed.
[If PR]: Pull request created: <URL>
Feature marked implemented. PR review is for code quality.
[If skipped]: Branch feature/<slug> left as-is.
Recorded [N] commits in history.
Remembering Preferences
Store the user's git workflow preference so they don't have to answer every time:
- •Look for a comment in the project's CLAUDE.md or instructions:
orcode
<!-- manifest:git-workflow=merge -->
code<!-- manifest:git-workflow=pr -->
- •If found, use that workflow without asking
- •When user asks to remember, add this comment to the appropriate file