# Self Improving Agent

Built-in self-improvement loop for Omnibot agents.

- Repository: https://github.com/omnimind-ai/OmniBot (2076 stars)
- Category: AI and agents
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add omnimind-ai/OmniBot --skill self-improving-agent -g -a claude-code -y`
Codex: `npx skills add omnimind-ai/OmniBot --skill self-improving-agent -g -a codex -y`
Cursor: `npx skills add omnimind-ai/OmniBot --skill self-improving-agent -g -a cursor -y`
Gemini CLI: `npx skills add omnimind-ai/OmniBot --skill self-improving-agent -g -a gemini-cli -y`

## Description

Built-in self-improvement loop for Omnibot agents. Use to record non-trivial failures, user corrections, outdated assumptions, and reusable best practices into structured workspace learnings, then promote stable rules into memory.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Self Improving Agent

This built-in skill is fixed-injected for Omnibot agent runs.

Use it to maintain a lightweight learning loop without interrupting the user's main task.

The runtime may auto-read this skill after a tool failure and auto-record the failure into `data/ERRORS.md`. Repeated failures with the same signature are merged into one bounded entry. If an argument/schema failure is followed by a successful call to the same tool in the same Agent run, the runtime closes that pending entry and distills the verified recovery into short-term memory.

## When To Record

Record after the immediate task is safe or complete when any of these happens:

1. a non-trivial command, tool, browser, or device action fails
2. the user corrects your understanding, path, rule, or project assumption
3. you discover an outdated Omnibot/runtime/project convention
4. you find a reusable workaround or best practice that will likely save future retries
5. the same mistake repeats in the same task or across tasks

Do not record ordinary chat, tiny one-off slips, or anything the user asked not to save.

## Default Storage

- skill-local learnings: `.omnibot/skills/self-improving-agent/data/`
- project-local learnings: `<project>/.learnings/` only when the lesson is repo-specific
- long-term memory: `.omnibot/memory/MEMORY.md` via `memory_upsert_longterm`
- short-term memory: `.omnibot/memory/short-memories/` via `memory_write_daily`

## Logging Workflow

The rest: https://github.com/omnimind-ai/OmniBot/blob/HEAD/app/src/main/assets/builtin_skills/self-improving-agent/SKILL.md
