Executing Issues
Overview
Execute a discrete GitHub issue from a detailed implementation plan (gi_*.md file).
When to use:
- •Implementing a specific issue with an existing plan in
doc/plans/issues/ - •The plan follows the issue-planning template (has Tasks, Acceptance Criteria, etc.)
When NOT to use:
- •High-level architecture plans (use
executing-plansinstead) - •Plans that span multiple issues
- •Exploratory or research tasks
Announce at start: "I'm using the executing-issues skill to implement [issue name]."
The Process
Step 1: Load Issue Plan
- •Read the issue file from
doc/plans/issues/gi_*.md - •Verify it has the required sections:
- •Summary
- •Implementation Steps (with checkboxes)
- •Acceptance Criteria
- •Testing section
- •If sections missing: Stop and ask user to complete the plan first
Step 2: Update Status
- •Update the issue file:
**Status**: Draft→**Status**: In Progress - •Update
doc/plans/module_issues.md: Change status toIn Progress
Step 3: Review Plan Critically
Before implementing:
- •Read the Technical Analysis and Implementation Plan sections
- •Verify the referenced files exist at the specified paths
- •Check if any dependencies are unmet
- •Identify any questions or concerns
If concerns: Raise them with user before starting implementation If no concerns: Create TodoWrite from Implementation Steps and proceed
Step 4: Execute Implementation
Batch size: 3 tasks at a time
For each task in Implementation Steps:
- •Mark as
in_progressin TodoWrite - •Follow the step exactly as written
- •If step references specific code: implement as shown
- •Mark checkbox in issue file:
- [ ]→- [x] - •Mark as
completedin TodoWrite
After each batch:
- •Show what was implemented
- •Run any specified tests
- •Say: "Batch complete. Ready for feedback."
- •Wait for user input before continuing
Step 5: Run Tests
After all implementation steps complete:
- •Run the test commands specified in the Testing section
- •Run any manual verification steps
- •Report results
If tests fail:
- •Stop and report the failure
- •Ask user how to proceed
Step 6: Verify Acceptance Criteria
Go through each acceptance criterion:
- •Check if it's met
- •Mark checkbox in issue file:
- [ ]→- [x] - •If any criterion not met: Stop and report
Step 7: Complete Issue
When all acceptance criteria pass:
- •
Update issue file status:
**Status**: In Progress→**Status**: Complete - •
Update
doc/plans/module_issues.md:- •Change status to
Complete - •Add resolution date if not present
- •Change status to
- •
Report completion:
codeIssue [name] complete. Summary of changes: - [list of files modified/created] Tests: [pass/fail status] Acceptance criteria: All met Next steps: - [ ] Create PR (if not already done) - [ ] Publish to GitHub Issues (if still draft)
- •
If issue is still a draft (
gi_draft_*.md):- •Remind user: "This issue is ready to publish to GitHub. After creating the GitHub issue, rename the file to
gi_<id>_<desc>.md"
- •Remind user: "This issue is ready to publish to GitHub. After creating the GitHub issue, rename the file to
File Locations
| File | Purpose |
|---|---|
doc/plans/issues/gi_*.md | Detailed implementation plans |
doc/plans/module_issues.md | Issue index (update status here) |
When to Stop and Ask
STOP immediately when:
- •A referenced file doesn't exist
- •Code example in plan doesn't match actual code structure
- •Test fails and you don't know how to fix it
- •Acceptance criterion is ambiguous
- •You need to make a design decision not covered in the plan
Ask for clarification rather than guessing.
Checklist
Before starting:
- • Issue file exists in
doc/plans/issues/ - • Plan has Implementation Steps with checkboxes
- • Plan has Acceptance Criteria
- • Plan has Testing section
During execution:
- • Status updated to In Progress
- • Each step followed exactly
- • Checkboxes marked as completed
- • Tests run after implementation
After completion:
- • All acceptance criteria met
- • Status updated to Complete
- • module_issues.md updated
- • User reminded about GitHub publication (if draft)
Example Flow
User: "Implement the preprunoff operational modes issue" Claude: "I'm using the executing-issues skill to implement PREPQ-001. Loading doc/plans/issues/gi_draft_preprunoff_operational_modes.md... The plan has 5 implementation steps and 7 acceptance criteria. Updating status to In Progress... Starting batch 1 (steps 1-3): 1. Create config.yaml 2. Create config.py 3. Add mode parameter handling [implements steps] Batch complete. Files created: - apps/preprocessing_runoff/config.yaml - apps/preprocessing_runoff/src/config.py Ready for feedback."
Related Skills
- •issue-planning: Use to create the detailed plan before executing
- •pre-deploy-validation: Use after completion to validate before deployment
- •software-architecture: Reference for code conventions