Learn rule
Capture a correction or lesson as a persistent learning rule with category, mistake, and correction. Stores, categorises, and retrieves rules for future sessions. Use after mistakes or when the user says "remember this", "don't forget", "note this", or "learn from this".From its SKILL.md
npx -y skills add rohitg00/pro-workflow --skill learn-ruleAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing 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.
SKILL.md
2.2 KB, 455 tokens by cl100k_base, as published. Nobody here has run it
Learn Rule
Capture a lesson from the current session into permanent memory.
Trigger
Use when the user says "remember this", "add to rules", "don't do that again", or after a mistake is identified.
Workflow
- Identify the lesson — what mistake was made? What should happen instead?
- Format the rule with full context.
- Propose the addition and wait for user approval.
- After approval, persist to LEARNED section or project memory.
Format
[LEARN] Category: One-line rule
Mistake: What went wrong
Correction: How it was fixed
Wiki-scoped rules
Append Wiki: <slug> to bind the rule to a single pro-workflow wiki. The rule loads only when that wiki is in scope, avoiding cross-project pollution:
[LEARN] Editing: Cite a sources.md row before adding any wiki claim.
Wiki: agent-memory
The capture hook auto-detects Wiki: <slug> and links the learning to that wiki via learnings_wiki.
Categories
| Category | Examples |
|---|---|
| Navigation | File paths, finding code, wrong file edited |
| Editing | Code changes, patterns, wrong approach |
| Testing | Test approaches, coverage gaps, flaky tests |
| Git | Commits, branches, merge issues |
| Quality | Lint, types, style violations |
| Context | When to clarify, missing requirements |
| Architecture | Design decisions, wrong abstractions |
| Performance | Optimization, O(n^2) loops, memory |
Example
Recent mistake: Edited wrong utils.ts file
[LEARN] Navigation: Confirm full path when multiple files share a name.
Add to LEARNED section? (y/n)
Guardrails
- Always wait for user approval before persisting.
- Keep rules to one line — specific and actionable.
- Bad: "Write good code". Good: "Always use snake_case for database columns".
- Include the mistake context so the rule makes sense later.
Output
- The proposed
[LEARN]rule with category - Confirmation after persisting
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most learn study skills give in 455 tokens
Counted across 545 of the 593 authors here whose files we hold, read 2026-09-06
- Treat the current directory as a teaching workspacein 20 of 545, across 17 files
- Teach knowledge first then practice skillsin 19 of 545, across 16 files
- Design lessons which build long-term retentionin 15 of 545, across 12 files
- Save each lesson as a self-contained HTML filein 15 of 545, across 12 files
- Question the user on why they want to learn thisin 15 of 545, across 12 files
- Reuse components from the assets directoryin 14 of 545, across 11 files
- Never trust your parametric knowledgein 13 of 545, across 10 files
- Record user preferences in NOTES.mdin 11 of 545, across 8 files
- Ground all teaching in the MISSION.md documentin 11 of 545, across 8 files
- Save each lesson to the lessons directoryin 8 of 545
- Question the user if the mission is unclearin 7 of 545
- Gather primary sources onlyin 7 of 545, across 4 files
Said here and by no other author read
- Identify the lesson and mistake made
- Format the rule with full context
- Persist to LEARNED section after approval
- Keep rules to one line
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.