| name | todo-files |
| description | Manage TODO files as persistent working memory for complex patterns. Track design decisions, implementation progress, and context across sessions. Use when starting complex patterns or resuming multi-session development work. |
TODO Files as Working Memory
Convention: Maintain TODO files in patterns/$GITHUB_USER/design/todo/ to track complex pattern development.
Purpose:
- Act as persistent working memory across sessions
- Document design decisions and rationale
- Track implementation progress and next steps
- Preserve context for future reference
- Help other developers understand the pattern evolution
When to Create a TODO File
- Starting a complex pattern with multiple features
- Pattern requires research or design decisions
- Multi-session development work
- Experimental features with unclear requirements
- Pattern needs documentation of architecture/choices
File naming: pattern-name.md (matches the pattern file name)
Example: patterns/jkomoros/design/todo/cheeseboard-schedule.md
What to Include
# Pattern Name - Development TODO
## Overview
Brief description of what the pattern does
## Requirements
- List of features to implement
- User stories or use cases
## Design Decisions
Document key choices made during development:
- Why you chose approach X over Y
- Trade-offs considered
- Framework features used and why
## Implementation Progress
- [x] Basic structure and data fetching
- [x] Ingredient parsing
- [ ] Advanced filtering features
- [ ] Performance optimization
## Technical Notes
- Important findings during development
- Framework quirks or workarounds
- Performance considerations
- Edge cases to handle
## Testing Notes
- Test scenarios covered
- Known issues or limitations
- Browser compatibility notes
## Next Steps
- Clear list of what needs to be done next
- Priorities for future sessions
Update as You Go
- Mark tasks complete when done:
- [x] Feature implemented - Add new learnings and decisions
- Document blockers or questions
- Update next steps
Active Usage Workflow
When starting work on a pattern (especially resuming):
- Read the TODO file FIRST before touching code
- Review "Next Steps" to understand priorities
- Check "Technical Notes" for important context
- Look at "Design Decisions" to understand rationale
During development:
- Update "Implementation Progress" as you complete items
- Add to "Technical Notes" when you discover framework quirks
- Document "Design Decisions" when you choose an approach
- Keep "Next Steps" current with what needs doing
When you hit a blocker:
- Document the blocker in TODO
- Note what you've tried
- Add to "Next Steps" what needs investigation
When finishing a work session:
- Mark completed tasks with
[x] - Update "Next Steps" with clear priorities
- Add any new learnings to "Technical Notes"
- Commit the TODO along with code changes
Frequency
- Update TODO file multiple times per session
- Don't wait until the end - update as you work
- TODO should always reflect current state
- Think of it as your "working memory" that persists
Benefits
- Quickly resume work in next session
- Share context with user or other developers
- Document why certain decisions were made
- Track pattern evolution over time
- Never lose important context or learnings
Difference from SNAPSHOT.md
- TODO files are permanent and checked into git
- SNAPSHOT.md is temporary and should be deleted after reading
- TODO files document the pattern's full development journey
- SNAPSHOT.md captures immediate session state
Related Skills
- pattern-development - TODO files support development workflow
- recovery-strategies - TODO files help track what you've tried