Log key learnings to progress.txt during PRD iteration. Use when you discover codebase patterns, encounter gotchas, make important decisions, or learn something that would help future work sessions...
Capture key insights and learnings to progress.txt while iterating on PRD tasks. This file serves as session memory that is ingested at the start of subsequent work sessions.
Invoke this skill whenever you:
The progress file is at the project root: progress.txt
Structural patterns discovered while working:
## Codebase Patterns
- Middleware uses `MiddlewareParams` struct for dependency injection
- Echo RequestLoggerWithConfig used for custom request logging
- Request ID middleware should be early in chain
- slog is the standard library structured logger
Append after completing work on a user story or task:
---
## US-XXX: [Task Title]
Status: COMPLETE
### What was implemented:
- Specific change 1
- Specific change 2
### Files changed:
- path/to/file1.go
- path/to/file2.go
### Key learnings:
- Pattern discovered or reinforced
- Gotcha encountered
- Important decision made
---
Issues to watch out for:
### Gotchas:
- NATS JetStream requires explicit bucket creation before use
- Echo context must be cast for custom types
- Air hot-reload doesn't detect new files without restart
Record why certain approaches were chosen:
### Decision: [What was decided]
- Context: [situation]
- Options: [alternatives considered]
- Rationale: [why this choice]
When you discover a pattern, append to the ## Codebase Patterns section:
# Read current progress.txt first, then edit to add the pattern
After completing a task:
At the end of a work session, ensure progress.txt contains:
--- separators between major sections---
## US-003: Add Request ID Middleware
Status: COMPLETE
### What was implemented:
- Created requestid.go middleware using X-Request-ID header
- Falls back to UUID generation when header not present
- Integrated with slog for trace correlation
### Files changed:
- services/api/middleware/requestid.go
- services/api/middleware/middleware.go
- services/api/middleware/slogger.go
### Key learnings:
- Request ID must be early in middleware chain for other middleware to use it
- Echo's c.Set() stores in request-scoped context
- Use c.Response().Header().Set() to echo ID back to caller
---
If starting fresh, initialize with:
# Progress Log
Started: [date]
## Current Session - [Feature/PRD Name]
Source: [path to PRD or task file]
---
## Codebase Patterns (from this session)
[Patterns discovered during work]
---
[Task entries will be appended here]