continual-learning
Skill1 starsChanged 3 months agoMITView on GitHub
Incrementally extract recurring user corrections/preferences and durable workspace facts from transcript changes, then route them into categorized .cursor/rules/*.mdc files. Use when the user asks to mine previous chats, maintain learned rules, or build a self-learning preference loop.
8 other projects use a version of this, 2 of them edited.
Adopted by
Most recently taken up by
- thistleknot/skillstheir own version, first seen Nov 8, 2026
- Sach1ng/PM-operating-OSedited, first seen Nov 1, 2026
- docxology/templatetheir own version, first seen Nov 1, 2026
- ChatisTech/skillstheir own version, first seen Oct 11, 2026
- microsoft/agent-skillstheir own version, first seen Oct 8, 2026
- dhanji4U/skillstheir own version, first seen Oct 2, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 2
- Sach1ng/PM-operating-OS★ 311% same
- ianklassen/ai-pm-system★ 111% same
Wrote their own version · 6
- microsoft/agent-skills★ 3.2ksame name
- microsoft/skills★ 3.2ksame name
- docxology/template★ 23same name
- ChatisTech/skills★ 17same name
- dhanji4U/skills★ 2same name
- thistleknot/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- brainstormSkill
- create-adaptable-composableSkill
- deep-researchSkill
- draw-mermaid-diagramsSkill
- electronSkill
- interpret-tech-notesSkill
- vue-best-practicesSkill
- vue-debug-guidesSkill
- vue-jsx-best-practicesSkill
- vue-options-api-best-practicesSkill
- vue-pinia-best-practicesSkill
- vue-router-best-practicesSkill
- vue-testing-best-practicesSkill
- write-idea-docsSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 4 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Load incremental index: if present.
- Very specific: line 26
If no file is a good fit, create a new .mdc in the appropriate subdirectory (see Rule File Layout).
- Distinctive: line 28
Update matching bullets in place (don't duplicate).
- Distinctive: line 54
When an item doesn't fit any existing file, create one following this template:
- Very specific: line 78
Place the file in the subdirectory matching the monorepo package (web/, server/, desktop/, sdk/).
- Distinctive: line 82
Keep an item only if all are true:
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Continual Learning
Extract recurring user corrections/preferences and durable workspace facts from conversation transcripts, and route them into the appropriate .cursor/rules/*.mdc file.
Inputs
- Transcript root:
~/.cursor/projects/<workspace-slug>/agent-transcripts/ - Rules directory:
.cursor/rules/ - Incremental index:
.cursor/hooks/state/continual-learning-index.json
Workflow
- Scan existing rules — Read every
.mdcfile under.cursor/rules/(including subdirectories). For each file, note itsdescriptionfrontmatter and the topics it covers. - Load incremental index if present.
- Discover transcripts and process only:
- new files not in index, or
- files whose mtime is newer than indexed mtime.
- Extract high-signal items — Look for recurring user corrections/preferences and durable workspace facts. Apply the inclusion bar below.
- Route each item to the best-matching rule file:
- Match by topic against existing
.mdcfiles' descriptions and content. - If no file is a good fit, create a new
.mdcin the appropriate subdirectory (see Rule File Layout).
- Match by topic against existing
- Merge into target file:
- Update matching bullets in place (don't duplicate).
- Append net-new bullets under the most relevant section heading.
- Deduplicate semantically similar bullets.
- Write back the incremental index.
Rule File Layout
Organize rules by package, matching the monorepo structure:
.cursor/rules/
├── dev-workflow.mdc # alwaysApply: true — global habits
├── web/
│ ├── ui-development.mdc # globs: packages/web/**/*.{vue,ts,scss}
│ ├── state-management.mdc # globs: packages/web/src/stores/**
│ └── ...
├── server/
│ └── api-patterns.mdc # globs: packages/server/**/*.ts
├── desktop/
│ └── electron-ipc-patterns.mdc # globs: packages/desktop/**/*.ts
└── sdk/
└── opencode-sdk-reference.mdc # globs: packages/sdk/**, packages/web/src/context/**Creating a new rule file
When an item doesn't fit any existing file, create one following this template:
---
description: <one-line summary — Agent uses this to decide relevance when no matching files are open>
globs: <glob pattern for auto-attach when matching files are in context>
alwaysApply: false
---
# <Title>
<bullets go here>Cursor loads rules in four ways (in order of reliability):
- Always Apply (
alwaysApply: true) — every session, guaranteed - Glob auto-attach (
globsset) — when matching files are in context - Agent-decided (
descriptionset, no globs) — Agent judges relevance from description - Manual (
@rule-name) — only when user explicitly mentions
Best practice: always set both description AND globs. This gives you glob-based auto-attach as the primary trigger, with description as a fallback so Agent can still pick up the rule when discussing related topics without opening specific files.
- Set
alwaysApply: trueonly for cross-cutting workflow rules. - Set
globsto the narrowest pattern that covers the relevant source files. - Place the file in the subdirectory matching the monorepo package (
web/,server/,desktop/,sdk/). If it spans multiple packages, put it at the rules root.
Inclusion Bar
Keep an item only if all are true:
- Non-obvious: not in official docs or standard language/framework behavior
- Actionable: directly usable in future sessions
- Durable: stable across sessions, not tied to a specific branch or commit
- Repeated or explicit: appeared in multiple transcripts, or user explicitly stated it as a broad rule
- Non-sensitive: no secrets, tokens, credentials, or private personal data
What qualifies
- API quirks, tool limitations, framework traps discovered by trial and error
- Problems that took multiple attempts to solve
- Upstream code paths that differ from what the surface API suggests
- Design principles agreed upon after discussion and correction
- Gotchas likely to recur during future maintenance
What does NOT qualify
- Facts already obvious from official documentation
- Standard language/framework behavior
- Content already present in an existing rule file (avoid redundancy)
- One-off task instructions or transient details (branch names, commit hashes, temporary errors)
Exclusions
Never store:
- secrets, tokens, credentials, private personal data
- one-off task instructions
- transient details (branch names, commit hashes, temporary errors)
Incremental Index Format
{
"version": 1,
"transcripts": {
"/abs/path/to/file.jsonl": {
"mtimeMs": 1730000000000,
"lastProcessedAt": "2026-02-18T12:00:00.000Z"
}
}
}Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

