Agent skill

Self Improving Agent

by farm-fe in farm-fe/farm

A universal self-improving agent that learns from ALL skill experiences.

MITAuto-check: notesProduct & Project Management

Install Self Improving Agent

skills CLI
$ npx skills add farm-fe/farm --skill self-improving-agent -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install farm-fe/farm self-improving-agent --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/farm-fe/farm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/self-improving-agent .claude/skills/self-improving-agent && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
self-improving-agent
GitHub stars
5.6k
Used in
2 other repos
Token cost
~3.3k tokens
SKILL.md length
583 words
Files
10 (incl. references)
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

A universal self-improving agent that learns from ALL skill experiences.

  • Works in 6 steps: Semantic Memory… → Episodic Memory (memory/episodic/) → Working Memory (memory/working/) → …
  • Skill completion/error with hooks-based self-correction
  • SKILL.md covers Overview, Research-Based Design, The Self-Improvement Loop and When This Activates, plus 9 more sections
  • Runs Shell scripts from its folder

What it does

Self Improving Agent is an agent skill from farm-fe/farm. A universal self-improving agent that learns from ALL skill experiences. Uses multi-memory architecture (semantic + episodic + working) to continuously evolve the codebase. Auto-triggers on skill completion/error with hooks-based self-correction.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files (for example `README.md`, `hooks/post-bash.sh` and `hooks/pre-tool.sh`).

It sits in Product & Project Management. The repository describes itself as: Extremely fast Vite-compatible web build tool written in Rust. The licence is MIT.

When your agent uses it

  • Skill completion/error with hooks-based self-correction

Example prompts

  • “/self-improving-agent”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash, Grep, Glob, WebSearch

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Semantic Memory (memory/semantic-patterns.json)
  2. Episodic Memory (memory/episodic/)
  3. Working Memory (memory/working/)
  4. Experience Extraction
  5. Pattern Abstraction
  6. Skill Updates

What it can do on your machine

Read from SKILL.md and the folder at commit 2000ef8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash
    • Grep
    • Glob
    • WebSearch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • arxiv.org
    • dl.acm.org
    • shothota.medium.com
    • medium.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Self Improving Agent loads about 3.3k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 67 tokens; SKILL.md has 583 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~67
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from farm-fe/farm at commit 2000ef8, republished under its MIT licence (© farm-fe). 583 words, ~3,311 tokens.

Download SKILL.mdSave it as .claude/skills/self-improving-agent/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
self-improving-agent
description
A universal self-improving agent that learns from ALL skill experiences. Uses multi-memory architecture (semantic + episodic + working) to continuously evolve the codebase. Auto-triggers on skill completion/error with hooks-based self-correction.
allowed-tools
Read, Write, Edit, Bash, Grep, Glob, WebSearch

Self-Improving Agent

"An AI agent that learns from every interaction, accumulating patterns and insights to continuously improve its own capabilities." — Based on 2025 lifelong learning research

Overview

This is a universal self-improvement system that learns from ALL skill experiences, not just PRDs. It implements a complete feedback loop with:

  • Multi-Memory Architecture: Semantic + Episodic + Working memory
  • Self-Correction: Detects and fixes skill guidance errors
  • Self-Validation: Periodically verifies skill accuracy
  • Hooks Integration: Auto-triggers on skill events (before_start, after_complete, on_error)
  • Evolution Markers: Traceable changes with source attribution

Research-Based Design

Based on 2025 research:

ResearchKey InsightApplication
SimpleMemEfficient lifelong memoryPattern accumulation system
Multi-Memory SurveySemantic + Episodic memoryWorld knowledge + experiences
Lifelong LearningContinuous task stream learningLearn from every skill use
Evo-MemoryTest-time lifelong learningReal-time adaptation

The Self-Improvement Loop

┌─────────────────────────────────────────────────────────────────┐
│                    UNIVERSAL SELF-IMPROVEMENT                    │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   Skill Event → Extract Experience → Abstract Pattern → Update  │
│        │                  │                │         │          │
│        ▼                  ▼                ▼         ▼          │
│   ┌─────────────────────────────────────────────────────┐       │
│   │              MULTI-MEMORY SYSTEM                      │       │
│   ├─────────────────────────────────────────────────────┤       │
│   │  Semantic Memory   │  Episodic Memory  │ Working Memory │  │
│   │  (Patterns/Rules)  │  (Experiences)    │  (Current)     │  │
│   │  memory/semantic/  │  memory/episodic/ │  memory/working/│  │
│   └─────────────────────────────────────────────────────┘       │
│                                                                 │
│   ┌─────────────────────────────────────────────────────┐       │
│   │              FEEDBACK LOOP                            │       │
│   │  User Feedback → Confidence Update → Pattern Adapt   │       │
│   └─────────────────────────────────────────────────────┘       │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

When This Activates

Automatic Triggers (via hooks)
EventTriggerAction
before_startAny skill startsLog session start
after_completeAny skill completesExtract patterns, update skills
on_errorBash returns non-zero exitCapture error context, trigger self-correction
Manual Triggers
  • User says "自我进化", "self-improve", "从经验中学习"
  • User says "分析今天的经验", "总结教训"
  • User asks to improve a specific skill

Evolution Priority Matrix

Trigger evolution when new reusable knowledge appears:

TriggerTarget SkillPriorityAction
New PRD pattern discoveredprd-plannerHighAdd to quality checklist
Architecture tradeoff clarifiedarchitecting-solutionsHighAdd to decision patterns
API design rule learnedapi-designerHighUpdate template
Debugging fix discovereddebuggerHighAdd to anti-patterns
Review checklist gapcode-reviewerHighAdd checklist item
Perf/security insightperformance-engineer, security-auditorHighAdd to patterns
UI/UX spec issueprd-planner, architecting-solutionsHighAdd visual spec requirements
React/state patterndebugger, refactoring-specialistMediumAdd to patterns
Test strategy improvementtest-automator, qa-expertMediumUpdate approach
CI/deploy fixdeployment-engineerMediumAdd to troubleshooting

Multi-Memory Architecture

1. Semantic Memory (memory/semantic-patterns.json)

Stores abstract patterns and rules reusable across contexts:

json
{
  "patterns": {
    "pattern_id": {
      "id": "pat-2025-01-11-001",
      "name": "Pattern Name",
      "source": "user_feedback|implementation_review|retrospective",
      "confidence": 0.95,
      "applications": 5,
      "created": "2025-01-11",
      "category": "prd_structure|react_patterns|async_patterns|...",
      "pattern": "One-line summary",
      "problem": "What problem does this solve?",
      "solution": { ... },
      "quality_rules": [ ... ],
      "target_skills": [ ... ]
    }
  }
}
2. Episodic Memory (memory/episodic/)

Stores specific experiences and what happened:

memory/episodic/
├── 2025/
│   ├── 2025-01-11-prd-creation.json
│   ├── 2025-01-11-debug-session.json
│   └── 2025-01-12-refactoring.json
json
{
  "id": "ep-2025-01-11-001",
  "timestamp": "2025-01-11T10:30:00Z",
  "skill": "debugger",
  "situation": "User reported data not refreshing after form submission",
  "root_cause": "Empty callback in onRefresh prop",
  "solution": "Implement actual refresh logic in callback",
  "lesson": "Always verify callbacks are not empty functions",
  "related_pattern": "callback_verification",
  "user_feedback": {
    "rating": 8,
    "comments": "This was exactly the issue"
  }
}
3. Working Memory (memory/working/)

Stores current session context:

memory/working/
├── current_session.json   # Active session data
├── last_error.json        # Error context for self-correction
└── session_end.json       # Session end marker

Self-Improvement Process

Phase 1: Experience Extraction

After any skill completes, extract:

yaml
What happened:
  skill_used: {which skill}
  task: {what was being done}
  outcome: {success|partial|failure}

Key Insights:
  what_went_well: [what worked]
  what_went_wrong: [what didn't work]
  root_cause: {underlying issue if applicable}

User Feedback:
  rating: {1-10 if provided}
  comments: {specific feedback}
Show full SKILL.md (260 more words)Show less
Phase 2: Pattern Abstraction

Convert experiences to reusable patterns:

Concrete ExperienceAbstract PatternTarget Skill
"User forgot to save PRD notes""Always persist thinking to files"prd-planner
"Code review missed SQL injection""Add security checklist item"code-reviewer
"Callback was empty, didn't work""Verify callback implementations"debugger
"Net APY position ambiguous""UI specs need exact relative positions"prd-planner

Abstraction Rules:

yaml
If experience_repeats 3+ times:
  pattern_level: critical
  action: Add to skill's "Critical Mistakes" section

If solution_was_effective:
  pattern_level: best_practice
  action: Add to skill's "Best Practices" section

If user_rating >= 7:
  pattern_level: strength
  action: Reinforce this approach

If user_rating <= 4:
  pattern_level: weakness
  action: Add to "What to Avoid" section
Phase 3: Skill Updates

Update the appropriate skill files with evolution markers:

markdown
<!-- Evolution: 2025-01-12 | source: ep-2025-01-12-001 | skill: debugger -->

## Pattern Added (2025-01-12)

**Pattern**: Always verify callbacks are not empty functions

**Source**: Episode ep-2025-01-12-001

**Confidence**: 0.95

### Updated Checklist
- [ ] Verify all callbacks have implementations
- [ ] Test callback execution paths

Correction Markers (when fixing wrong guidance):

markdown
<!-- Correction: 2025-01-12 | was: "Use callback chain" | reason: caused stale refresh -->

## Corrected Guidance

Use direct state monitoring instead of callback chains:
```typescript
// ✅ Do: Direct state monitoring
const prevPendingCount = usePrevious(pendingCount);

### Phase 4: Memory Consolidation

1. **Update semantic memory** (`memory/semantic-patterns.json`)
2. **Store episodic memory** (`memory/episodic/YYYY-MM-DD-{skill}.json`)
3. **Update pattern confidence** based on applications/feedback
4. **Prune outdated patterns** (low confidence, no recent applications)

## Self-Correction (on_error hook)

Triggered when:
- Bash command returns non-zero exit code
- Tests fail after following skill guidance
- User reports the guidance produced incorrect results

**Process:**

```markdown
## Self-Correction Workflow

1. Detect Error
   - Capture error context from working/last_error.json
   - Identify which skill guidance was followed

2. Verify Root Cause
   - Was the skill guidance incorrect?
   - Was the guidance misinterpreted?
   - Was the guidance incomplete?

3. Apply Correction
   - Update skill file with corrected guidance
   - Add correction marker with reason
   - Update related patterns in semantic memory

4. Validate Fix
   - Test the corrected guidance
   - Ask user to verify

Example:

markdown
<!-- Correction: 2025-01-12 | was: "useMemo for claimable ids" | reason: stale data at click time -->

## Self-Correction: Click-Time Computation

**Issue**: Using useMemo for claimable IDs caused stale data
**Fix**: Compute at click time for always-fresh data
**Pattern**: click_time_vs_open_time_computation

Self-Validation

Use the validation template in references/appendix.md when reviewing updates.

Hooks Integration

Wiring Hooks in Claude Code Settings

Add to Claude Code settings (~/.claude/settings.json):

json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash|Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bash ${SKILLS_DIR}/self-improving-agent/hooks/pre-tool.sh \"$TOOL_NAME\" \"$TOOL_INPUT\""
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "bash ${SKILLS_DIR}/self-improving-agent/hooks/post-bash.sh \"$TOOL_OUTPUT\" \"$EXIT_CODE\""
          }
        ]
      }
    ],
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "bash ${SKILLS_DIR}/self-improving-agent/hooks/session-end.sh"
          }
        ]
      }
    ]
  }
}

Replace ${SKILLS_DIR} with your actual skills path.

Additional References

See references/appendix.md for memory structure, workflow diagrams, metrics, feedback templates, and research links.

Best Practices

DO
  • ✅ Learn from EVERY skill interaction
  • ✅ Extract patterns at the right abstraction level
  • ✅ Update multiple related skills
  • ✅ Track confidence and apply counts
  • ✅ Ask for user feedback on improvements
  • ✅ Use evolution/correction markers for traceability
  • ✅ Validate guidance before applying broadly
DON'T
  • ❌ Over-generalize from single experiences
  • ❌ Update skills without confidence tracking
  • ❌ Ignore negative feedback
  • ❌ Make changes that break existing functionality
  • ❌ Create contradictory patterns
  • ❌ Update skills without understanding context

Quick Start

After any skill completes, this agent automatically:

  1. Analyzes what happened
  2. Extracts patterns and insights
  3. Updates relevant skill files
  4. Logs to memory for future reference
  5. Reports summary to user

References

© farm-fe, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (references) in .agents/skills/self-improving-agent of farm-fe/farm.

  • SKILL.md
  • README.md
  • hooks/post-bash.sh
  • hooks/pre-tool.sh
  • hooks/session-end.sh
  • memory/semantic-patterns.json
  • references/appendix.md
  • templates/correction-template.md
  • templates/pattern-template.md
  • templates/validation-template.md

Open the folder on GitHubat commit 2000ef8

Used in 2 other repositories

We found 10 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in farm-fe/farm, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Self Improving Agent next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Self Improving Agent compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Self Improving Agent this skillfarm-fe/farm5.6k2 repos~3.3kAutomated safety check: NotesMIT
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Game Changing FeaturesopenstatusHQ/data-table-filters2.3k3 repos~2.1kAutomated safety check: PassMIT
CCPM Project Managementautomazeio/ccpm8.4k—~1.1kAutomated safety check: PassMIT
Convex Create Componentspokvulcan/poker-planning1148 repos~2.6kAutomated safety check: PassMIT
Weekly Engineering Retrogarrytan/gstack136k—~2.4kAutomated safety check: PassMIT

Similar skills

  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Game Changing Features

    openstatusHQ/data-table-filters

    Find 10x product opportunities and high-leverage improvements.

    2.3k GitHub starsUsed in 3 repos~2.1k tokens
    Product & Project ManagementAuto-check passed
  • Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.

    8.4k GitHub stars~1.1k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check passed
  • Convex Create Component

    spokvulcan/poker-planning

    Builds reusable Convex components with isolated tables and app-facing APIs.

    114 GitHub starsUsed in 8 repos~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.

    136k GitHub stars~2.4k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed

More from farm-fe/farm

All 20 skills in this repo
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Auto-check passed
  • A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…

    5.6k GitHub starsUsed in 34 repos~1.8k tokens
    Auto-check passed
  • A skill your agent uses when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and…

    5.6k GitHub starsUsed in 45 repos~1.6k tokens
    Auto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    Auto-check passed
  • A skill your agent uses when completing tasks, implementing major features, or before merging to verify work meets requirements

    5.6k GitHub starsUsed in 38 repos~702 tokens
    Auto-check passed
  • A skill your agent uses when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any…

    5.6k GitHub starsUsed in 46 repos~1k tokens
    Auto-check passed

Questions about Self Improving Agent

What does Self Improving Agent do?

A universal self-improving agent that learns from ALL skill experiences. Self Improving Agent is an agent skill from farm-fe/farm. A universal self-improving agent that learns from ALL skill experiences.

When should I use Self Improving Agent?

Self Improving Agent fits situations like: skill completion/error with hooks-based self-correction.

How do I install Self Improving Agent in Claude Code?

Run `npx skills add farm-fe/farm --skill self-improving-agent -a claude-code`. Or copy the skill folder (.agents/skills/self-improving-agent in farm-fe/farm) into .claude/skills/self-improving-agent in your project. Claude Code loads it when a task matches its description.

How do I install Self Improving Agent in Codex?

Run `npx skills add farm-fe/farm --skill self-improving-agent -a codex`. Or copy the skill folder (.agents/skills/self-improving-agent in farm-fe/farm) into .agents/skills/self-improving-agent in your project. Codex loads it when a task matches its description.

Can I use Self Improving Agent in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add farm-fe/farm --skill self-improving-agent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/self-improving-agent, .gemini/skills/self-improving-agent, .github/skills/self-improving-agent and .opencode/skills/self-improving-agent in your project.

What does Self Improving Agent need to run?

Going by SKILL.md and its folder, Self Improving Agent needs a shell for the scripts in its folder. Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch.

Does Self Improving Agent access the network?

SKILL.md names 4 domains. As links in the text: arxiv.org, dl.acm.org, shothota.medium.com and medium.com. This is read from the text; nothing was executed.

Is Self Improving Agent safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Self Improving Agent use?

Self Improving Agent is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Self Improving Agent use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 799 tokens, read only when the agent opens those files.

What are the alternatives to Self Improving Agent?

Skills that share tags, products or a category with Self Improving Agent: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Game Changing Features (openstatusHQ/data-table-filters, 2.3k stars), CCPM Project Management (automazeio/ccpm, 8.4k stars) and Convex Create Component (spokvulcan/poker-planning, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Self Improving Agent?

farm-fe (a GitHub organization) maintains it in farm-fe/farm, which has 5,593 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on September 22, 2026.

Source: farm-fe/farm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.