Skip to content
Agent Memory
Skill

/self-learning

Capture a hard-won "golden path" from the current session as a reusable Agent Skill, so future sessions start already knowing it. Use it (1) right after non-trivial debugging, after working out a multi-step operational workflow, or after rediscovering project facts you didn't

BOOST
From plugin
self-learning-skills
9651 skill
Install
$ npx -y skills add Kulaxyz/self-learning-skills --skill self-learning --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/self-learning

Context preview

The summary Claude sees to decide when to auto-load this skill.

Capture a hard-won "golden path" from the current session as a reusable Agent Skill, so future sessions start already knowing it. Use it (1) right after non-trivial debugging, after working out a multi-step operational workflow, or after rediscovering project facts you didn't

SKILL.md

self-learning.SKILL.md
name: self-learning
description: >
  Capture a hard-won "golden path" from the current session as a reusable Agent
  Skill, so future sessions start already knowing it. Use it (1) right after
  non-trivial debugging, after working out a multi-step operational workflow, or
  after rediscovering project facts you didn't know up front — e.g. how to reach
  the dev/prod database, where credentials and env vars live, how to deploy, run
  migrations, or verify a change live; and (2) whenever the user says "remember
  this", "save this as a skill", "make a skill for this", "don't make me
  re-explain this next time", or otherwise wants a workflow preserved across
  sessions. Proactively recognize the moment even when unprompted: if a task took
  several attempts before it worked, used non-obvious tooling, or is likely to
  recur, harvest it without asking first. Delegates to a subagent when your tool
  supports one, or works inline, to extract the proven procedure into a new
  project-local or global skill.
license: MIT
metadata:
  author: kulaxyz
  version: "1.0"

Self-learning: harvest golden paths into skills

This skill turns something you just figured out the hard way into a reusable Agent Skill, so the next session — yours or a teammate's — starts already knowing the proven route instead of rediscovering it from scratch.

It is a *meta-skill*: it doesn't do the work, it captures **how** work got done. It's tool-neutral — it works with any agent that reads the Agent Skills format (e.g. Claude Code and Codex, which both load `SKILL.md` skills natively). Where a step differs by tool, the generic version comes first and any tool-specific detail is only an example.

Recognize the moment

Watch for these signals during normal work. Any one of them is a cue to harvest:

  • A task only worked **after several attempts**, wrong turns, or a correction

from the user. The successful path is worth more than the failures around it.

  • You discovered **project-specific facts the agent didn't know up front**:

where creds/env vars live, which selector or backend talks to a service, a non-obvious command, a required sequence, a gotcha that defies the obvious assumption.

  • It's an **operational workflow likely to recur**: reach the dev/prod DB,

deploy, run migrations, seed data, verify a change live, run one specific test path, rotate a key, tail the right logs.

  • The user **signals it explicitly**: "remember this", "save this as a skill",

"don't make me re-explain this next time".

**Act on the cue immediately — don't ask for permission first**, whether the user requested it or you noticed it yourself. Harvest the skill, then tell the user what you captured and where (step 5). They can always edit or delete it.

Skill, memory, or skip?

Not every lesson deserves a whole skill — triage first, so you don't bloat the skills list with one-liners:

  • **A multi-step, reusable procedure or workflow** (how to deploy, reach the DB,

run the migration dance, verify live) → harvest it as a **skill** using the procedure below.

  • **A single standalone fact or one-line correction** (an env var name, a path,

one gotcha) → if your harness has a lightweight memory/notes facility (e.g. a `MEMORY.md` index), record it **there** instead; a whole skill is overkill for a one-liner. With no such facility, make a small skill.

  • **A genuinely one-off thing** unlikely to recur → skip it.

When you do harvest, capture the **failures too**, not just the win: the approaches you ruled out and *why* often save more time next session than the golden path itself.

Promotion rule: don't enshrine guesses

A skill is authoritative — the next session trusts it without re-deriving it — so hold promotion to a high bar. Only write a skill when **all three** hold:

1. **A passing check.** The path was actually verified — a test passed, the command exited clean, the repro reproduced, the build went green. Record what the check was. "Seemed to work" is not a passing check. 2. **A named failure pattern.** You can name the failure this path avoids or diagnoses (e.g. "stale build cache → phantom type errors"), not a vague "sometimes it breaks". 3. **At least one ruled-out dead-end.** A concrete approach you tried and eliminated, with the reason.

If any is missing, it isn't a skill yet — leave a tentative note in memory (marked unverified) or skip it. This keeps confident guesses out of the skill set.

Harvest procedure

  • [ ] 1. **Apply the promotion rule** (above). Passing check + named failure

pattern + one ruled-out dead-end — or it isn't a skill: note it in memory or skip. Don't proceed on a confident guess.

  • [ ] 2. **Choose scope and name yourself** using the heuristics below — don't

stop to ask. Default to project scope; pick a clear, specific `name`.

  • [ ] 3. **Dedupe.** Look for an existing skill to UPDATE rather than duplicate.

List your agent's skills directories — the project one and the user-level one (e.g. Claude Code `.claude/skills` + `~/.claude/skills`, Codex `.codex/skills` + `~/.codex/skills`, or your tool's equivalent). Also glance at any memory/notes index — a fact already there may just need a pointer.

  • [ ] 4. **Distill the golden path from THIS conversation** before delegating —

while it's fresh in your head: the exact working commands, file paths, env var names, the required order, and (just as important) the dead-ends to avoid. This is the raw material for the write.

  • [ ] 5. **Delegate the write** to a subagent that inherits this conversation if

your tool supports one, or do it inline otherwise — see below. The conversation is the only place the golden path lives, so whoever writes it must have that context.

  • [ ] 6. When the write is done, **relay the new skill's path** to the user

and, in one line, what it captured.

Scope: project vs global

  • **Project** (the repo's ski
Read more
Ships withself-learning-skills

A self-improving skill for AI coding agents. Works with Claude Code, Cursor, and any agent that reads an AGENTS.md / standing-instructions file. Every session you do hard debugging or rediscover the same thing — *how do I reach the prod DB?

Get the whole plugin
Stats
965
Stars
46
Forks
Active
Maintenance
MIT
License
1mo ago
Last commit
3mo ago
Created
5h ago
Added

Repo: Kulaxyz/self-learning-skills