Reviews mature LESSONS-LEARNED.md entries, rewrites them as permanent rules in skill/instruction files, archives graduated lessons. Use when graduating lessons into skills, promoting validated lessons, updating skills from past learnings, archiving mature lessons, codifying repeated patterns, or cleaning up a crowded LESSONS-LEARNED.md.
77
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Combined signals to identify merge candidates.
| Criterion | Signal / Threshold |
|---|---|
| File size | LESSONS-LEARNED.md > 50 entries |
| Citation count | Cited 3+ times across sessions |
| Age | >60 days and still relevant |
| Category cluster | 5+ lessons in same category |
| Severity | Marked high or blocking |
| Discretionary | Curator / maintainer judgement (stale file) |
Lesson: LES-XXX — [title]
Target: [file path]
Section: [section name]
Edit: [exact text]Strategies: add rule, add anti-pattern, add code example, expand existing rule, add table row.
Edit target file; add <!-- Merged from LES-XXX --> attribution inline.
Move merged lessons to ## Archived (Merged) at the bottom of LESSONS-LEARNED.md:
### LES-XXX: [title] → Merged to `[target]` on YYYY-MM-DDNever delete lessons — archive for traceability.
Update ## Index by Category in LESSONS-LEARNED.md to mark archived lessons.
Source lesson (cited 4×, severity high, 90 days old):
LES-042: MCP tool timeout causes silent failures — set explicit timeout, check return value
Draft:
Lesson: LES-042 — MCP tool timeout
Target: src/orchestrator/skills/orchestration-protocols/SKILL.md
Section: Error Recovery Playbook
Edit: Add row: | **MCP timeout** | Tool returns null/undefined after delay | Set explicit timeout (30s); check return value; retry once; fall back to CLI; log to DLQ | <!-- Merged from LES-042 -->Archive in LESSONS-LEARNED.md:
### LES-042: MCP tool timeout → Merged to `src/orchestrator/skills/orchestration-protocols/SKILL.md` on 2026-05-18# Find lessons cited 3+ times across sessions
rg -c "LES-[0-9]+" .opencastle/logs/events.ndjson | awk -F: '$2 >= 3 {print $1}'
# Find lessons referenced in recent retries
rg "retry.*LES-[0-9]+" .opencastle/logs/events.ndjson | rg -o "LES-[0-9]+" | sort | uniq -c | sort -rn | head -207a69a05
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.