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
markdown
# 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