| name | implement |
| description | Feature implementation workflow. Use when developer wants to implement a feature or fix - creates branch, plans, and implements. Use when developer says "implement issue", "work on issue |
| user-invocable | true |
| argument-hint | issue-number [-y] |
/implement $ARGUMENTS
Feature implementation workflow — from issue to PR.
Usage
/implement
<issue-number> Implement GitHub issue (e.g., /implement 12)
<issue-number> -y Implement with auto-confirm (auto-commit and PR)
-y, --yes Skip confirmations
| Argument | Format | Default | Effect |
|---|
issue-number | Positional | — | GitHub issue number to implement |
-y, --yes | Flag | false | Skip all confirmation gates |
If no issue number provided: Ask the developer for the issue number. Do not proceed without one.
If -y is active, all sub-skill invocations inherit auto-confirm.
Resume Detection
Before starting the workflow, check if a progress file exists:
.claude/progress/<feature-slug>.md
If progress file exists:
- Read the progress file
- Ensure the current branch matches the branch in the progress file. If not, switch to it.
- Show the developer a summary:
"Found progress for <feature>:
- Completed:
- Remaining:
Continue?"
- Wait for developer response
- If confirmed → recreate todo list from the progress file (mark completed items as done), continue from the first unchecked plan item in Step 4. If all plan items are done, go to Step 5.
- If declined → ask if they want to start fresh (this deletes the progress file)
If no progress file exists, check git history for prior session work:
- If the current branch has relevant commits, run
git log main..HEAD --oneline and git diff main..HEAD --stat
- If there are commits (especially "wip" commits) with relevant changes, summarize what was already done
- Show the developer a summary and ask which workflow step to resume from
- If no prior work is found → proceed with Step 1.
Instructions
Step 1: Understand Requirements
Fetch the issue details:
gh issue view <issue-number>
Extract requirements and acceptance criteria.
Step 2: Setup Branch
Check current branch:
git branch --show-current
If already on a feature branch for this work → skip to Step 3.
Otherwise:
-
Check for uncommitted changes:
git status
-
If changes exist, stash them:
git stash -u
-
Create a new branch from the issue using the appropriate skill or MCP tool
-
If changes were stashed, restore them:
git stash pop
Step 3: Plan
- Create todo list using TaskCreate tool
- Share plan with developer and ask:
"Before I start:
- Any specific instructions or context? (approach, files to reference, constraints)
- How would you like to work?
- Auto — I implement all plan items, then ask you to verify
- Pair programming — I implement one plan item at a time, you review each before I continue"
Confirmation gate: If -y → default to Auto mode and proceed. Otherwise → wait for response before continuing.
Save Progress
After the developer responds, create the progress file at .claude/progress/<feature-slug>.md.
The plan items are the implementation tasks from the todo list — the actual work items, not the workflow steps.
# Progress: <feature>
## Mode
<auto | pair>
## Branch
<current-branch-name>
## Requirements
<requirements summary>
## Plan
- [ ] <plan item 1>
- [ ] <plan item 2>
- [ ] <plan item 3>
- ...
## Developer Notes
<any instructions or context the developer provided>
Step 4: Implement
- Use context7 MCP for current library documentation when needed
- Implement feature/fix based on requirements
- Follow
.claude/rules/coding.md for all coding conventions
Auto Mode
Implement all plan items sequentially without pausing. After each item, update the progress file — mark the plan item as [x]. After all items are done, proceed to Step 5.
Pair Programming Mode
For each plan item:
- Implement the plan item
- Show the developer what was done
- Wait for developer confirmation before continuing
- If developer requests changes → refine, then ask again
- If confirmed → update the progress file — mark item as
[x], move to the next plan item
After all items are done, proceed to Step 5.
Step 5: Developer Verification
Confirmation gate: If -y → proceed to Step 6. Otherwise → ask:
"All plan items are implemented. Please test the feature and let me know:
- All good — continue to commit
- Needs changes — describe what to fix/refine"
Wait for response. If needs changes → apply fixes, update progress file, ask again.
Step 6: Commit & PR
Confirmation gate: If -y → commit changes and create a pull request using the appropriate skills or MCP tools, then proceed to Step 7. Otherwise → ask:
"Would you like to commit the changes and create a PR?"
- If yes → commit changes using the appropriate skill or MCP tool, then create a pull request using the appropriate skill or MCP tool
- If no → proceed to Cleanup
Cleanup
After all steps are complete, delete the progress file:
.claude/progress/<feature-slug>.md
Examples
Example 1: Basic implementation
User says: /implement 12
Actions:
- Fetch issue #12 details from the issue tracker
- Create feature branch from issue
- Plan implementation, present plan, ask for mode preference
- Implement all plan items (or one-at-a-time in pair mode)
- Ask developer to verify, then commit and create PR
Result: Feature branch with implementation, committed and PR opened
Example 2: Auto-confirm mode
User says: /implement 7 -y
Actions:
- Fetch issue #7 details
- Create feature branch from issue
- Plan implementation, default to Auto mode (no confirmation)
- Implement all plan items sequentially
- Skip verification, auto-commit and create PR (no manual confirmations)
Result: Full implementation with PR opened, no manual confirmations
Example 3: Resuming previous work
User says: /implement 15
Actions:
- Find existing progress file
.claude/progress/add-user-auth.md
- Show completed and remaining items, ask to continue
- Developer confirms → resume from first unchecked plan item
- Complete remaining items, then verify and commit
Result: Resumed and completed partial implementation
Troubleshooting
Error: Issue not found
Cause: Invalid issue number or issue does not exist in the repository.
Solution: Verify the issue number with gh issue list. Confirm the correct repository is set as the remote.
Error: Branch already exists
Cause: A branch for this issue was already created (possibly from a previous attempt).
Solution: The branch creation skill will handle this — check if the existing branch has relevant work and offer to reuse it or create a new one.
Error: Stash pop conflicts
Cause: Uncommitted changes conflict with the new branch state after git stash pop.
Solution: Resolve conflicts manually, then continue with Step 3. If conflicts are unresolvable, ask the developer whether to drop the stash or abort.
Error: gh CLI not authenticated
Cause: GitHub CLI is not logged in or token has expired.
Solution: Run gh auth login to authenticate before retrying.