| name | story-execution |
| description | Execute a single user story from prd.json. Use during Ralf loop iterations to implement stories correctly. |
Story Execution Skill
Expert guidance for implementing a single user story in one Ralf iteration.
When to Use
- During Ralf loop iterations
- When implementing a story from prd.json
- When you need to ensure proper execution flow
Execution Flow
1. Pre-Implementation
- Read
.ralf/prd.json to get story details
- Read
.ralf/progress.txt for codebase patterns
- Check you're on the correct branch
- Identify the target story (first with
passes: false)
2. Implementation
- Implement ONLY the acceptance criteria listed
- Follow existing code patterns
- Keep changes minimal and focused
- Don't add extras not in acceptance criteria
3. Verification
- Run typecheck (required for all stories)
- Run linter if configured
- Run tests if relevant
- For UI stories: verify visually if possible
4. Post-Implementation
- Commit with message:
feat: [US-XXX] - [Story Title]
- Update
.ralf/prd.json: set passes: true
- Append to
.ralf/progress.txt with learnings
- Update AGENTS.md if reusable patterns found
Quality Gates
A story is only complete when:
Common Mistakes to Avoid
- Scope Creep: Implementing more than the acceptance criteria
- Skipping Verification: Not running typecheck/tests
- Forgetting Progress: Not updating
.ralf/progress.txt
- Breaking Changes: Changing code outside story scope
- Missing Commits: Forgetting to commit before loop ends
Progress Entry Format
## [Date] - [Story ID]
- What was implemented
- Files changed
- **Learnings:**
- Patterns discovered
- Gotchas encountered
---
Completion Check
After completing a story:
- Check if ALL stories have
passes: true
- If yes: output
<promise>COMPLETE</promise>
- If no: end response (next iteration continues)