Self Improve logo

Self Improve

Organization
eai-org
self-improve

Capture durable user feedback into the governing skill, doc or check, or propose creating a new skill when no suitable one exists, so future sessions don't repeat the mistake. Use when the user rejects, reverts, or overrides the agent's output or approach on something a skill, doc or check covers or should cover, and when manually invoked to improve or create guidance.

Overview

Publishereai-org
Repositoryagent-toolkit
Skill nameself-improve
Stars
80
Forks
18
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by eai-org on GitHub. Read the source before you install it.

Installation

Install the Self Improve AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/eai-org/agent-toolkit/tree/main/skills/self-improve
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/eai-org/agent-toolkit.git /tmp/agent-toolkit
mkdir -p .claude/skills
cp -r /tmp/agent-toolkit/skills/self-improve .claude/skills/self-improve
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Self Improve in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Self Improve on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Self Improve is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Self-improve

Suggest durable improvements to the skill, doc or check that should have steered the agent, so the next session gets it right without being told again — and apply them only after the user approves. The skill proposes; the user stays in control of every change. Three ways in:

  • Manual — the user invokes /self-improve to deliberately improve a skill or doc.
  • Self-triggered — the agent notices it was corrected on something a skill, doc or check governs (or should). Don't silently correct and move on, but don't derail the task either: note the lesson, finish what the user asked for, and offer to persist it at the next natural breakpoint.
  • Driven by another skill — a caller (or its launch command, pasted by the user) hands over lessons already phrased as durable guidance, sometimes with all or part of a target it settled with the user (scope, form, path — possibly a new file or a merge into an existing one). Skip step 1; skip step 2 for a lesson whose target the caller settled fully, run it for the rest keeping what the caller settled — its Mechanical lesson bullet and new-doc indexing requirement always apply. Several lessons at once → first propose their placement as one table, each lesson with its doc, existing or new; then draft + apply, lessons sharing a target as one diff.

"Skill/doc" means any standing instruction: a SKILL.md, AGENTS.md/CLAUDE.md, a coding-standards or convention doc, a rules file — anything that guides future agents. A "check" (lint rule, hook, CI job) enforces one mechanically and is not a skill/doc.

Hard rules

  • Confirm before applying. The skill's job is to suggest, never to change text on its own. Never edit a skill, doc or check without the user's explicit go-ahead on the concrete change — present it as a diff and apply only on approval, whether the user invoked the skill or the agent self-triggered. State plainly whether a change is not yet applied (awaiting approval) or already applied (and where), so the user never has to ask.
  • Editing any skill/doc → always route the write through one of two skills to keep it compact; never edit it directly. A SKILL.md goes through compact-skill-creator; any other doc (rule, AGENTS.md/CLAUDE.md, convention doc) goes through compact-docs-writer. Actually invoke the skill and follow its workflow before drafting or applying; reading it, applying its principles by hand, or naming it after a direct edit does not count. A check is edited directly.

Recognize a persistable correction (self-trigger)

Signals the agent was corrected in a way worth persisting: the user rejects or reverts a choice ("no, do X instead"), states a standing preference ("we always…", "never…"), or redirects an action the agent took under a skill or doc.

Only persist a durable lesson — one that generalizes and will recur. Skip one-off, task-specific tweaks that won't apply next time; persisting those pollutes the docs. Whenever unsure whether it generalizes, ask the user.

Workflow

  1. Capture the lesson. State, in one line, the general rule the feedback implies — not the surface incident ("Mock external HTTP in unit tests," not "the agent mocked the wrong call").
  2. Locate the target. Settle scope first: would the lesson hold in another project? No → a project doc, rule or wrapper, never a shared generic skill. Yes → the governing skill or doc, shared ones included, edited at its canonical source when the installed copy is a symlink or sync — the proposal says so. Find which skill/doc governs this action (search skills, AGENTS.md/CLAUDE.md, convention docs); when the repo defines a doc-placement guide (e.g. .agents/docs/README.md), follow it for locating and creating targets. If one exists, it's the target — and if that rule already existed yet failed to steer the agent, the discoverability gap is the lesson, not a no-op: don't stop at "the rule exists." Diagnose why it didn't fire (buried, in a doc the agent wouldn't open for this action, scoped or worded too narrowly, or unenforced) and fix that root cause: surface it where the agent looks, tighten its scope, cross-reference it, or enforce it mechanically. If none fits, propose a new target and ask before drafting: a check for a mechanical lesson (below), a new skill for a recurring workflow, a new rule for a standing constraint, or the most fitting doc otherwise; a new doc comes with its entry-file index line and read-when hook, or nothing ever loads it. Ask whenever unsure.
    • Mechanical lesson (a banned API, an import shape, a file location: any fixed pattern) → propose a deterministic check over prose; the check is declined, or no tooling can host it (the proposal says so) → write the rule. Read the repo's check scripts and CI first: wire or repair an existing check rather than add one.
    • Place by context cost. Always-loaded docs (AGENTS.md/CLAUDE.md) hold mostly pointers; a rule that matters only when reviewing goes in a review-time doc, not implementation context.
  3. Draft the edit. Write the rule into the target as the least text that fully captures it: agent-agnostic ("the agent", never a vendor name), no process narration, no restating — a real durable instruction. Prefer tightening or extending an existing rule over appending a new one. If the lesson reverses an existing rule, surface that explicitly — show the old rule, the feedback, and the proposed replacement — and never overwrite it silently; the contradiction may mean the feedback is context-specific, not a true reversal. A check is drafted outside the repo, with its proof: run it on a reproduction of the mistake (must fail) and on the corrected case (must pass), both results in the proposal; one that cannot run here is labelled untested.
  4. Apply the edit. Route the write per the Hard rules — SKILL.md → compact-skill-creator, any other doc → compact-docs-writer, a check → edited directly — presenting a diff and applying only on approval. Done when every handed-over or captured lesson is applied, declined by the user, or reported as already covered, each named in the closing message.

Frequently asked questions

What does the Self Improve AI skill do?

Capture durable user feedback into the governing skill, doc or check, or propose creating a new skill when no suitable one exists, so future sessions don't repeat the mistake. Use when the user rejects, reverts, or overrides the agent's output or approach on something a skill, doc or check covers or should cover, and when manually invoked to improve or create guidance.

Why use Self Improve on TypingMind?

Because you install it once and use it with any model. Self Improve is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Self Improve in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/eai-org/agent-toolkit/tree/main/skills/self-improve. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Self Improve?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Self Improve?

As many as you like. As long as a model supports skills, you can use Self Improve with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Self Improve AI skill free?

Yes. It is published on GitHub by eai-org under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇