Skip to content

About

A self-improving skill for AI coding agents (Claude Code, Cursor, AGENTS.md): recognize a hard-won golden path in a session and harvest it into a reusable skill/rule for next time.

Resources

Stars

971 stars

Watchers

2 watching

Forks

Latest commit

Β 

History

7 Commits

Folders and files

Repository files navigation

self-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? where do the creds live? what's the deploy command? how do I verify this live? β€” and that hard-won knowledge evaporates when the session ends. The next session starts from zero and re-learns it.

self-learning fixes that. It teaches your agent to recognize the moment it has just earned a reusable golden path and persist it where the tool will auto-load it next time β€” so the next session starts already knowing the route instead of rediscovering it.

It's a meta-skill: it doesn't do the work, it captures how the work got done β€” including the failures, since skipping a known dead-end next session is often worth more than the win itself.

The loop (same everywhere)

  1. Recognize the moment β€” a task that only worked after several tries, a non-obvious command, a project fact you didn't know up front, an operational workflow likely to recur, or you simply saying "remember this".
  2. Capture it, no prompt needed β€” it acts on the cue immediately, picks the scope/name itself, and tells you afterward. The procedure is captured (not a one-off answer), plus a "what didn't work" note.
  3. Reuse β€” next session the entry loads automatically, by skill/rule description or because the instructions file is always read.

What differs per tool is only where knowledge is persisted and how it's auto-loaded:

Tool Persists golden paths to Auto-loads via
Claude Code, Codex, Agent Skills clients a new skills/<name>/SKILL.md skill description matching
Cursor a new .cursor/rules/learned/<name>.mdc rule description / globs
Zed, Aider, Gemini CLI, … AGENTS.md (or project notes/memory) always-read instructions

Install

npx β€” recommended (works with 70+ agents)

Uses the community skills CLI, which installs into whatever agents it detects β€” Claude Code, Cursor, Codex, Cline, OpenCode, and more:

npx skills add kulaxyz/self-learning-skills                 # this project (auto-detects agents)
npx skills add kulaxyz/self-learning-skills -g              # global β€” all your projects
npx skills add kulaxyz/self-learning-skills -a claude-code  # a specific agent

Try it once without installing:

npx skills use kulaxyz/self-learning-skills --skill self-learning | claude

Claude Code plugin

/plugin marketplace add kulaxyz/self-learning-skills
/plugin install self-learning@self-learning-skills

Manual

Copy the files into place yourself
git clone https://github.com/kulaxyz/self-learning-skills

# Claude Code β€” global (or into a project's .claude/skills/ to share via git)
cp -R self-learning-skills/skills/self-learning ~/.claude/skills/

# Cursor β€” auto-loads .cursor/rules/ (harvested rules land in .cursor/rules/learned/)
mkdir -p .cursor/rules
cp self-learning-skills/.cursor/rules/self-learning.mdc .cursor/rules/

# Any AGENTS.md agent (Codex, Zed, Aider, Gemini CLI, …)
curl https://raw.githubusercontent.com/kulaxyz/self-learning-skills/main/AGENTS.md >> AGENTS.md

Triage: skill, memory, or skip?

It won't bloat your config with one-liners. Each lesson is routed:

Lesson Where it goes
A multi-step, reusable procedure/workflow a new skill / rule
A single fact or one-line correction lightweight notes/memory (e.g. a MEMORY.md)
A genuine one-off skipped

Promotion rule (don't enshrine guesses)

Triage decides granularity; the promotion rule decides confidence. A skill is authoritative β€” the next session trusts it without re-deriving it β€” so a session is only promoted to a skill when all three hold:

  1. A passing check β€” the path was actually verified (a test passed, a clean exit, a green build, a reproduced repro). "Seemed to work" doesn't count.
  2. A named failure pattern β€” the failure it avoids or diagnoses, named.
  3. At least one ruled-out dead-end β€” a concrete approach tried and eliminated.

Miss any one and it stays a tentative memory note (or is skipped) rather than a skill. This keeps confident-but-unverified guesses out of the skill set. (Promotion rule suggested by community feedback.)

Safety

Harvested skills/rules get committed and shared, so this is built to never write secret values β€” no passwords, tokens, connection strings, or API keys. It records only where to find a secret (env var name, a client/selector function, an MCP tool, a secret manager). Reproducing a secret into a shared file leaks it.

Repo layout

self-learning-skills/
β”œβ”€β”€ AGENTS.md                          # generic, cross-tool version of the loop
β”œβ”€β”€ skills.sh.json                     # registry manifest for `npx skills` / skills.sh
β”œβ”€β”€ .claude-plugin/
β”‚   └── marketplace.json               # Claude Code plugin manifest
β”œβ”€β”€ skills/
β”‚   └── self-learning/                 # Agent Skills standard (Claude Code + clients)
β”‚       β”œβ”€β”€ SKILL.md                   # recognize-the-moment + harvest procedure
β”‚       β”œβ”€β”€ references/
β”‚       β”‚   └── skill-authoring.md     # condensed spec the writer loads to author a good skill
β”‚       └── assets/
β”‚           └── SKILL.template.md      # fill-in template for harvested skills
└── .cursor/
    └── rules/
        β”œβ”€β”€ self-learning.mdc          # Cursor adapter (always-applied rule)
        └── learned/                   # harvested Cursor rules land here

Built on the open Agent Skills standard.

License

MIT Β© kulaxyz

About

A self-improving skill for AI coding agents (Claude Code, Cursor, AGENTS.md): recognize a hard-won golden path in a session and harvest it into a reusable skill/rule for next time.

Resources

Stars

971 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors