learnt/SKILL.md
Extract lessons from the current session and save them to the right place so Claude gets smarter over time. Use whenever the user says "learnt", "remember that", "teach claude", "update the rules", "save that lesson", or at the end of a session where Claude was corrected or a pattern was validated. Always invoke this skill — don't just write memories ad-hoc.
npx skillsauth add paulund/skills learntInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Review the current conversation and extract non-obvious lessons worth keeping. The goal is to make the next session smarter, not to record everything that happened.
Look for:
Ignore:
Is this true for every Next.js / TypeScript project?
├── Yes → ~/.claude/skills/nextjs-best-practices.md
│ or ~/.claude/skills/typescript-best-practices.md
└── No → Is it specific to this codebase's architecture?
├── Yes → {repo}/CLAUDE.md
└── No → Is it how Paul likes to work, or project context?
├── Working preference / correction → auto-memory (type: feedback)
├── Project fact / decision → auto-memory (type: project)
└── Personal context about Paul → auto-memory (type: user)
The project memory directory is shown in your system prompt context — look for the path ending in /memory/. This is project-specific and changes per repo.
File naming: feedback_<slug>.md, project_<slug>.md, user_<slug>.md
Frontmatter:
---
name: Short title
description: One-line hook used to decide relevance in future sessions — be specific
type: feedback | project | user
---
Body structure for feedback:
Lead with the rule. Then Why: (the reason given or inferred). Then How to apply: (when this kicks in).
Body structure for project:
Lead with the fact or decision. Then Why: (the motivation). Then How to apply: (how this should shape suggestions).
Body structure for user:
Describe what you learned about the user's role, knowledge, or preferences in plain terms.
After writing each memory file, add a one-line pointer to MEMORY.md in the same directory under the right section heading:
- [Title](filename.md) — one-line hook under 150 chars
Check MEMORY.md first — update an existing entry rather than creating a duplicate.
When a lesson is a universal rule (language, framework, or tooling pattern), append it to the relevant skill file at ~/.claude/skills/. Keep additions concise — one rule, one short explanation.
When a lesson is project-specific (this codebase's architecture, conventions, or patterns), add it to the CLAUDE.md in the current repo root. Put it in the most relevant section, or add a new one if needed.
After saving, give the user a short summary:
Keep it to a few bullet points. No waffle.
development
Use when implementing any logic, fixing any bug, or changing any behaviour. Use when you need to prove code works, when a bug report arrives, or when modifying existing functionality. Do NOT use for config changes, data migrations, or dependency updates.
development
Use when starting a new feature, when requirements are unclear, when asked to write code without a clear spec, or before any non-trivial implementation. Do NOT use for trivial bug fixes or one-line changes.
development
Use when you want authoritative, source-cited code free from outdated patterns. Use when building with any framework or library where correctness matters. Detects the stack from dependency files, fetches official documentation, implements following documented patterns, and cites sources for every framework-specific decision.
development
Use when preparing to ship a feature, release, or deployment. Use before merging to main, creating a release, or deploying to production. Do NOT use for CI-only changes or internal refactors that don't reach production.