lyther/agent-surface/ops-learn
Claude Code and agent skill by lyther/agent-surface
- community
Checking that the SKILL.md file is still in the repository.
Extract durable patterns and persist them to the right memory sink.
Install
npx vskill@latest install lyther/agent-surface/ops-learnSKILL.md
Objective
After a concrete incident, extract the pattern behind it, classify its durability, and persist it to the right memory sink, so the same tactical bug does not recur and the same stable preference is not re-taught. ops-learn is the manual, immediate fast path; the continual-learning plugin mines transcripts and keeps AGENTS.md current over time.
Sinks
| Kind | Sink | |
|---|---|---|
| Durable user preference: a stable user correction or preference | AGENTS.md, ## Learned User Preferences | |
| Durable workspace fact: a stable repo or tooling fact | AGENTS.md, ## Learned Workspace Facts | |
| Tactical lesson: repeat bug pattern, local gotcha or anti-pattern, short-lived engineering heuristic | .cursor/lessons.md | |
| Transient one-off incident detail | do not persist |
Tactical bug mechanics never go in AGENTS.md. When a lesson is both tactical and durable, write one concise tactical bullet to .cursor/lessons.md and one durable bullet to the correct AGENTS.md learned section. Never edit the plugin-owned state .cursor/hooks/state/continual-learning*.json (continual-learning.json, continual-learning-index.json); the plugin owns transcript mining and index refresh.
Procedure
- Find the root cause, not the surface: "the build failed" becomes "production code imported a type from development dependencies". Record the anti-pattern, not the stack trace.
- Choose the sink first.
- Classify the failure mode: knowledge gap ("didn't know API X changed"), process failure ("forgot to run tests before commit"), or tooling gap ("linter didn't catch it").
- Write the lesson in under 2 lines, general rather than specific ("don't hardcode IDs", not "don't hardcode ID 123"): "Always use Optional Chaining (
?.) on nullable relations", not "We forgot to check if the user was null before accessing the id property in the service." Skip it when an equivalent lesson already exists. - Tactical: add it to
.cursor/lessons.mdin the file's existing sectioned bullet style, as- [Topic] Lesson learned (Context)or tighter, e.g.- [Docker] Always pin base images to SHA, not tags. - Durable: if
AGENTS.mddoes not exist, create it with only## Learned User Preferencesand## Learned Workspace Facts. Add plain bullets only inside those two sections, e.g.- Prefer exact, verifiable file counts in plans — do not estimate.Deduplicate semantically similar bullets, keep each section to at most 12 bullets, and preserve the generated rule content above them. Never move durable facts intorules/*.mdc; those files are policy source, not learned memory.
Output
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/ops-learn/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lyther/agent-surface/ops-learn)