agentsclimarketplace

Lesson

Skill coolwuu/smart-dev-plugin/skills/lesson

Post-session retrospective — append tagged learnings (with severity) to configured learnings file (default: `learnings.md`)From its SKILL.md

Install
npx -y skills add coolwuu/smart-dev-plugin --skill lesson

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.0 KB, as published. Nobody here has run it

/lesson — Session Learning Capture

Purpose

Extract actionable, project-specific learnings from friction encountered in the current session and append them to the configured learnings file (default: learnings.md, reads lessonFilePath from project config when set) with domain and severity tags.

Workflow

Step 1: Scan for Friction Patterns

Review the current conversation for these pattern types, ordered by priority:

PatternSignalExample
Repeated failureSame error/approach tried 2+ timesForgot WITH(NOLOCK) again, same enum serialization bug
Troubleshooting spiral3+ back-and-forth attempts to fix one issue4 tries to fix login fixture timing before finding networkidle
Wrong assumptionApproach based on incorrect mental modelAssumed MustAsync runs in same pipeline as sync validators
User correctionUser had to redirect or correct the agent"No, use Dapper not EF" or "That's the wrong table"
Convention violationBroke a project convention, had to redoMissing audit columns, wrong SP naming, hardcoded hex colors
Tool/API surpriseTool or API behaved unexpectedlygit add silently fails with bracket paths in zsh
Failed tool useTool invoked incorrectly, skipped, or retried unnecessarilyUsed Edit before Read, used Bash grep instead of Grep tool, wrong sqlcmd flag syntax
Process shortcutSkipped a required workflow stepClaimed completion without running tests, made design decision without AskUserQuestion, skipped EnterPlanMode for 3+ file change

Step 2: Extract Tagged + Severity-Labeled Learnings

Each learning gets:

  • Date: YYYY-MM-DD
  • Domain tag: [backend], [frontend], [db], [e2e], [workflow], [tooling], [shell], [process]
    • [process] — tool discipline violations, skipped workflow steps, wrong-sequence tool use
  • Severity tag: [one-off], [recurring], [spiral]
    • [one-off] — happened once, but non-obvious enough to record
    • [recurring] — same mistake or pattern seen before (check existing entries in the configured learnings file)
    • [spiral] — required 3+ attempts or a long back-and-forth to resolve

Quality bar: project-specific, actionable, non-obvious, 1-2 sentences max.

For [recurring] entries: read the configured learnings file to check if a similar entry already exists. If so, append a count bump like (x3) to the new entry to track frequency.

Step 3: Append to the configured learnings file (default: learnings.md)

Silently append — no AskUserQuestion, no multi-file routing. Just append.

Entry format:

- **2026-02-23** [backend] [spiral] Login fixture timing — 4 attempts before finding networkidle fix
- **2026-02-23** [db] [recurring] (x3) Forgot WITH(NOLOCK) on SELECT query
- **2026-02-23** [tooling] [one-off] SP parameter order mismatch caused silent null
- **2026-02-23** [process] [recurring] (x2) Used Edit before Read — always Read the file first, even for "obvious" edits
- **2026-02-23** [process] [one-off] Skipped EnterPlanMode for 4-file change — caused rework; use plan mode for 3+ files

Mistake entries must include the correction — record not just what failed, but what to do instead next time.

Guardrails

  • No invented learnings — only extract from actual friction observed in the conversation
  • No general advice — "always test your code" is not a valid learning; "Moq.Dapper fails on scalar Guid — wrap in record IdResult" is
  • Keep it concise — each learning should be 1-2 sentences max
  • For [recurring] tagging — quickly scan existing entries in the configured learnings file (the only file read)
  • [process] entries must include the correction — "Used Edit before Read" is incomplete; "Used Edit before Read — always Read first to confirm line content" is valid

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.