Task 1: 4 hours. Task 5: 3.5 hours. Task 10: 3 hours. Why isn't it 30 minutes? Because you're not learning from yourself.
Every task generates data. That data should make the next task faster.
{
"id": "task-uuid",
"type": "category-name",
"goal": "one-line objective",
"started_at": "ISO-timestamp",
"ended_at": "ISO-timestamp",
"duration_minutes": 45,
"steps": ["step1", "step2", "step3"],
"errors_hit": ["error-pattern-id-1", "error-pattern-id-2"],
"result": "success|partial|failed",
"lessons_learned": ["lesson1", "lesson2"],
"optimization_notes": "free-form observations"
}Fields that matter most:
type— enables grouping for analysisduration_minutes— enables trend trackingsteps— reveals bottleneckserrors_hit— cross-references with Layer IIlessons_learned— feeds into next task's preparation
After completing the Nth task of type T where N % 5 == 0:
-
Which run was fastest? Why?
- Compare durations across all 5
- Identify what was different about the fastest one
- Was it approach? Tools? Timing? Data quality?
-
Which step is always the bottleneck?
- Sum up time-per-step across all 5 runs
- The #1 time consumer = optimization target
- Can it be: automated / templated / skipped / parallelized?
-
Which errors repeat?
- Cross-reference
errors_hitwith Layer II library - Any error appearing in 2+ of 5 tasks?
- If yes → this needs a permanent fix, not per-task workaround
- Cross-reference
-
Is any step unnecessary?
- Review each step: does it directly contribute to the result?
- Steps that exist "just in case" or "to be thorough" are candidates for removal
- Add them back only when they prove needed
-
What would I do differently next time?
- Synthesize answers above into 2-3 concrete rules
- These become your optimization rules for this task type
### [Type] Optimization Rules (vN)
- Updated: YYYY-MM-DD
- Based on: N tasks analyzed
**Rule 1**: [Actionable rule]
- Reason: [why]
- Expected saving: [time/effort]
**Rule 2**: [Actionable rule]
...
**Pre-flight checklist** (run before starting this task type):
- [ ] Check item 1
- [ ] Check item 2Run 1 (4h): Read issue → Analyze codebase → Write fix → Test → Commit → PR
Run 3 (3h): Skip obvious issues (Gate 1) → Known code patterns → Template test → PR
Run 5 (1.5h): Auto-check script → Code template ready → Common fixes memorized → Quick PR
Optimizations discovered:
- Gate 1 filtering saves 40% time on wrong tasks
- Test template eliminates setup time
- Common fix patterns (auth, i18n, types) become copy-paste
Run 1 (3h): Manual param tuning per video → Individual QC → Re-render on errors
Run 3 (2h): Param presets for common formats → Batch QC script → Error auto-detect
Run 5 (1h): One-click batch pipeline → Preset profiles → Auto-retry on known failures
Optimizations discovered:
- Parameter presets eliminate 60% of tuning time
- Batch processing vs sequential = 3x speedup
- Known failure modes have automatic workarounds
Run 1 (1h): Manual data pull from 5 sources → Excel formatting → Manual review
Run 3 (45m): Automated data fetch → Template fill → Auto-formatting
Run 5 (20m): Scheduled data pipeline → One-command generate → Exception-only review
Optimizations discovered:
- Data source standardization biggest win
- Template reduces formatting to near-zero
- Only exceptions need human attention
| Anti-Pattern | Why It Hurts | Fix |
|---|---|---|
| Not recording "quick" tasks | Small tasks add up; patterns hidden | Record everything >5min |
| Only recording successes | Failures teach more than wins | Record all outcomes |
| Analysis paralysis | Spending more analyzing than doing | Set 10-min analysis limit |
| Over-optimizing early | Premature optimization before pattern emerges | Wait for 5+ data points |
| Ignoring outliers | One 8-hour task skews everything | Note outliers separately, don't let them dominate |