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.jsonto get story details - •Read
.ralf/progress.txtfor 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: setpasses: true - •Append to
.ralf/progress.txtwith learnings - •Update AGENTS.md if reusable patterns found
Quality Gates
A story is only complete when:
- • All acceptance criteria met
- • Typecheck passes
- • No linting errors
- • Changes committed
- •
.ralf/prd.jsonupdated - •
.ralf/progress.txtlogged
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
code
## [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)