agentleFS
forefyforefy/.context/skills/generic-utils/self-improve/SKILL.md

self-improve

Skill153 starsChanged 44 days agoMITView on GitHub

Audit the conversation and the project for what could have gone better, then turn the generalizable lessons into committed improvements in the repo that hosts this skill. Use at the end of a task or conversation where the agent needed correction, repeated work, or took a longer path than necessary.

36 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use ecosystem-reference, fractal-delegation and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • naman10parikhSkill

    ecosystem-reference

    Quick-access directory of Claude Code ecosystem repos, skills, plugins, MCPs, and patterns. Use when improving the harness.

    Also in 5 projects that use this

  • naman10parikhSkill

    fractal-delegation

    Also in 5 projects that use this

  • aaronjmarsSkill

    aeon-update

    Pull framework updates from the upstream Aeon repo into this instance - 3-way merges canon's new commits into a PR, never clobbering operator config.

    Also in 4 projects that use this

  • aaronjmarsSkill

    auto-workflow

    Two-mode aeon.yml workflow builder - analyze inspects URLs and emits a tiered, signal-verified skill-enablement plan plus an aeon.yml diff; enable flips slugs to enabled:true and opens a PR.

    Also in 4 projects that use this

  • +6 more from naman10parikh
  • +2 more from aaronjmars

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 31 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every run that invokes this skill should leave the next run better off than the last, by pushing what was learned back through the git …

    line 9
  2. Distinctive:

    Run the tests, and add tests covering new critical functionality.

    line 38
  3. Distinctive:

    Remove leftovers before committing: dead code, scratch scripts, sensitive data, and anything that pollutes history.

    line 40
  4. Distinctive:

    Write short, accurate, human commit messages.

    line 41
  5. Distinctive:

    Before committing, check as far as possible that the change works and broke nothing.

    line 44
  6. Distinctive:

    Commit no personal files, PII or names without explicit approval.

    line 45
  7. Distinctive:

    Check that a fix made for the local environment also holds where it is deployed.

    line 48
  8. Distinctive:

    Update the project's documentation where it is managed, whether that is in-repo docs or an external system.

    line 49

“Common” is measured: kept by at least 6 in 10 of the 31 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Purpose

Every run that invokes this skill should leave the next run better off than the last, by pushing what was learned back through the git source this skill is hosted at.

A lesson that stays in the conversation dies with the context window. A lesson written into a skill, a memory file, or a doc is the only kind that survives.

Task definition

Audit the conversation and the project to find opportunities to improve how work is done here. Reflect on what was actually done, where it went wrong, and where it could have been done better.

What counts as an improvement:

  • Continuation. A fresh context loading this repo to do the same task hits the same pitfalls unless something in the repo changes. Removing that repeat cost is the highest-value improvement available.
  • Correct work rather than a workaround that grows more painful as the project does.
  • Updates to project memory, skills and docs that generalize past the single case that prompted them.

What does not count:

  • Changes that do not align with the project's long-term direction.
  • Overbuilding something that does not merit it on a second look.
  • Anything that trades away UX, security or reliability.

Method

  1. Review the conversation for corrections, retries, and dead ends. Each one is a candidate.
  2. Separate the one-off from the generalizable. Only the generalizable is worth writing down.
  3. Find the right home for each lesson. A rule about this repo belongs in the repo. A rule about how the agent works belongs in a skill. A fact that is not derivable from the code belongs in project memory.
  4. Make the change, then verify it against the checks below before committing.

Pre-commit checks

  • Run the tests, and add tests covering new critical functionality.
  • Security review the changed code and confirm no critical issue was introduced.
  • Remove leftovers before committing: dead code, scratch scripts, sensitive data, and anything that pollutes history. History is effectively permanent, so this is both a professionalism and a security matter.
  • Write short, accurate, human commit messages.
  • Push to the working branch only with approval and at high confidence that nothing breaks.
  • Planning notes, changelogs and scratch markdown files are often not useful to other developers. Ask the user before committing them, and delete them when they are not wanted.
  • Before committing, check as far as possible that the change works and broke nothing.
  • Commit no personal files, PII or names without explicit approval. Code must stay portable, with no hardcoded user paths or emails. Personal values belong in environment secrets if they belong anywhere.
  • Replace em dashes with regular hyphens across the codebase, with one exception: database migration files such as migrations/*.sql are immutable once applied, and editing them changes their checksum and breaks deploys.
  • Confirm any changed frontend component is screen-adaptive.
  • Check that a fix made for the local environment also holds where it is deployed. A missing dependency resolved locally needs the deployment path to handle it too.
  • Update the project's documentation where it is managed, whether that is in-repo docs or an external system.

Git protocol

Work on the branch of the current context, including main, and push improvements back to that same branch. Use a pull request flow only when the user asked for a separate branch.

Raise improvements at the end of a task or conversation whenever there is something worth carrying forward. Land them with the user's approval rather than silently, so the user stays in control of what enters the repo.

Result

Improvements are committed where the next run will actually load them, and the same correction does not have to be made twice.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.