Learn
Intents
That was a long research session — extract the key learningsSave that Redis connection pooling gotcha we just discoveredRemember that the Stripe webhook retry window is 72h, not 24hReview our accumulated knowledge on infrastructureLearn that batch inserts above 1000 rows cause OOM in our ORMReferences
Read references/learn-conventions.md for placement rules and entry format. Read references/learn-template.md for the topic file structure.
Input
Accept whatever the user provides — there is no fixed set of sources. Conversation context, debugging sessions, research findings, files, links, direct statements, incident post-mortems, PR reviews. Understand the source from natural language context; don't ask the user to categorize.
Extraction Rule
Extract knowledge that is non-obvious, non-trivial, and worth preserving: gotchas, counter-intuitive behavior, validated assumptions, hard-won fixes, discovered constraints.
Skip: common knowledge, decisions (→ cmk:adr), requirements (→ cmk:prd / cmk:feature-spec), opinions without evidence.
Workflow: Extract
- Read and understand the input.
- Identify entries that meet the extraction rule.
- Structure each entry: title, date, context, learning, applies-to tags (see
references/learn-template.md). - Find or create the topic file in
docs/knowledge/{topic}.md. - Check for conflicts with existing entries — flag contradictions to the user (they decide: replace, keep both, or discard).
- Present entries for user review before writing.
- Write approved entries.
Workflow: Review
- Read all files in
docs/knowledge/. - Present summary: topics, entry count, date range.
- Support: search by keyword/tag, clean up outdated entries, or promote entries to downstream skills (
cmk:rule,cmk:prd, etc.).
Output
- Entries go in
docs/knowledge/{topic}.md, newest first - Never write without user confirmation
- Flag conflicts between new and existing entries
- Every entry has: scannable title, date, context, actionable learning, applies-to tags
- No duplicates within a topic file