From claude-resources
Captures structured postmortems from completed dev sessions into project-scoped lessons files for future planning agents. Use after long sessions, mid-way approach changes, or gotchas.
npx claudepluginhub takazudo/claude-resourcesThis skill uses the workspace's default tool permissions.
Convert lessons from a just-resolved dev attempt into a structured, project-scoped lessons file (`/l-lessons-{area}` skill) that future planning runs (e.g. `/big-plan`) can consume. Goal: turn one-time pain into permanent leverage so the next attempt in the same area is faster.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Convert lessons from a just-resolved dev attempt into a structured, project-scoped lessons file (/l-lessons-{area} skill) that future planning runs (e.g. /big-plan) can consume. Goal: turn one-time pain into permanent leverage so the next attempt in the same area is faster.
Before writing, confirm two things:
canvas-tools, tauri-window-mgmt, react-form-state). Confirm with the user before writing.The output is a project-scope skill at .claude/skills/l-lessons-{area}/SKILL.md.
One growing file per problem-area, NOT one file per attempt.
.claude/skills/ for any existing l-lessons-* skill that matches the area. If a relevant one exists, append a new dated section to its SKILL.md..claude/skills/l-lessons-{area}/SKILL.md with the frontmatter shown below.---
name: l-lessons-{area}
description: Project lessons learned for {area}. Read PROACTIVELY before planning or implementing work touching {area} — contains traps, root causes, and "watch for next time" notes from previous attempts.
---
Keep description short but concrete enough that planning agents pick it up automatically.
Append (or create) a section using exactly this structure:
## {YYYY-MM-DD} — {short topic}
### What we set out to do
{1–2 sentences. The original goal, not the implementation.}
### Approach we tried first
{The wrong path. Be specific about the abstraction or structural choice — not the symptom.}
### Why it went wrong (root cause)
{The structural cause, not the symptom. See "Symptom vs root cause" below.}
### What worked instead
{The right abstraction or approach.}
### Watch for next time
- {Concrete trap, ideally in "if you see X, you're probably Y" form.}
- {Another trap. Aim for 2–5 bullets, not narrative.}
### Would-skip-if-redoing
{Things that wasted time and are now provably unnecessary. One short paragraph or bullet list.}
The Watch for next time section is the highest-leverage part. Future planning agents will scan it first. Keep bullets concrete and trap-shaped.
When the user offers a symptom-shaped description, probe for the structural cause before writing.
| Symptom (what the user says first) | Root cause (what to actually record) |
|---|---|
| "zoom was buggy" | "transform threaded through every function instead of inverted at input boundary" |
| "form kept losing state" | "state owned by child instead of lifted to parent that survives re-mount" |
| "the build was flaky" | "test relied on filesystem ordering not guaranteed by the runtime" |
| "performance was bad" | "N+1 query in the render loop, hidden behind an inner abstraction" |
If the user gives a symptom, ask: "What was the actual structural reason that made the symptom show up — what was wrong about the shape of the code, not the bug itself?" Record the structural answer. The symptom can stay as one phrase in What we set out to do or Approach we tried first for context.
Briefly tell the user:
.claude/skills/l-lessons-{area}/SKILL.md and will be picked up by future /big-plan runs (assuming /big-plan is wired to read l-lessons-* skills — that's a separate tweak via /skill-tweaker).lessons-refactor pass (manual for now) every few months: merge overlapping notes, delete advice for code that no longer exists, promote repeated lessons into broader wisdom./css-wisdom), not a project-scoped one.