People have posted about CLAUDE.md rules, memory systems, and context management. This is a different angle on the same problem: how do you prevent the AI from repeating the same type of mistake across sessions when context resets? I wrote a skill ( /finishtherace ) that wraps /gsd-autonomous . The GSD workflow handles discuss-plan-execute per phase. My wrapper adds quality gates, scope boundaries, and a piece I haven’t seen others implement: a post-fix retrospective that feeds into a blocking pre-check. The retro flow: After any multi-attempt bug fix, I run /finishtherace retro . Claude reconstructs the debugging trail from conversation: symptom, first hypothesis, what didn’t work, root cause, fix, what to watch for. I review the draft. It appends to .claude/skills/finishtherace/KNOWN-ISSUES.md . The blocking gate: Before each new phase, the skill reads KNOWN-ISSUES.md and runs a relevance check. Each entry gets marked RELEVANT or N/A against the current phase scope. Relevant items must be addressed in the plan. The phase cannot advance to execution until the check completes and matching items are accounted for. Around 500 lines across two projects after a week. Three entries that already paid for themselves: Hardcoded slugs. ‘criminal-law-procedure’ in an array. DB had ‘criminal-law’ . Four fixes over two days, all changing distribution math, none checking the slug. Queries returning zero rows don’t error. Replaced the array with a DB query. Wrong package API. require(‘pdf-parse’) called as a function. It exports a class. The repo’s own scraper already imported it correctly. Silent catch masked the TypeError. Hooks below early returns. Loading guard placed above a useEffect . Test mode hit the early return, React saw fewer hooks. Pushed a fix without reading the error. Made it worse. The format per entry: title, description, root cause, what didn’t work, fix with commit ref, watch-for section. The “what didn’t work” field matters most. It’s the path the AI would otherwise take again. Why this works better than putting rules in CLAUDE.md: CLAUDE.md is general guidance. KNOWN-ISSUES.md is specific failure cases from this project, loaded at the right point in the workflow with an enforcement mechanism. The AI doesn’t just see the rules. It has to demonstrate it checked each one before writing any code. No vector DB. No memory API. A markdown file in the skill directory, read at the right step, with a blocking check. The simplest version of the thing that works. submitted by /u/jeebus87
Originally posted by u/jeebus87 on r/ClaudeCode
