Skip to main content

self-improve

Improve the agent itself, or audit its recent performance - better skills, prompts, workflows, and config, plus a quality/reliability/memory-hygiene review of what it did and what failed

Ir para a instalação

Informações da origem

Repositório
aeonfun/aeon
Última atividade na origem
19 de agosto de 2026 às 20:53
Idioma detectado do SKILL.md
inglês
Estrelas
738
Forks
265

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
self-improve
description
Improve the agent itself, or audit its recent performance - better skills, prompts, workflows, and config, plus a quality/reliability/memory-hygiene review of what it did and what failed
metadata
{"category":"evolution","var":"","tags":["meta"]}
> **${var}** — Mode selector, optionally with a focus area, as `mode` or `mode:focus`. > - **empty** or **`improve`** → improve mode: find and fix the highest-impact issue from recent logs, then propose + apply the fix via PR (default). > - **`improve:<area>`** (or a bare area like `notifications`) → improve mode focused on that specific area (e.g. `heartbeat`, `notifications`, `memory`). > - **`audit`** → audit mode: review what the agent did, what failed, and what to improve; save a full review and apply safe, obvious fixes directly. > - **`audit:<area>`** → audit mode focused on that specific area (e.g. `reliability`, `memory`). ## Setup (both modes) Parse `${var}` into a **mode** and an optional **focus area**: - Split on the first `:` — the part before is the mode, the part after is the focus. - If the mode is `audit` → run the **Mode: audit** branch below (focus = optional area to concentrate the review on). - If the mode is `improve` or empty → run the **Mode: improve** branch below (focus = optional area to fix). - If the token is neither keyword but non-empty (e.g. `notifications`) → treat it as **improve** mode with the whole `${var}` as the focus area (backward compatibility). Then: - Read `memory/MEMORY.md` for high-level context and goals. - Read recent `memory/logs/` (improve mode: last 2 days; audit mode: last 7 days) for errors, failures, and quality issues. If a focus area is set, concentrate the run on that area. --- ## Mode: improve (default) Improve the agent itself based on recent performance. **ONE change per run.** ### Steps 1. **Check for open improvement PRs** — don't pile up unreviewed work: ```bash OPEN_PRS=$(gh pr list --state open --json title,number --jq '[.[] | select(.title | test("^(fix|feat|chore)\\("; "i"))] | length') ``` If there are already 3+ open improvement PRs, log "self-improve: 3+ open PRs, waiting for review" and exit. Don't create more debt. 2. **Identify what to improve.** If the focus area is empty, scan for issues: - Read `memory/logs/` from last 2 days — look for: - Skills that failed or produced low-quality output - Errors, timeouts, "zero output", rate limiting - Notifications that didn't send or were truncated - Memory consolidation problems - Read `memory/cron-state.json` for skills with low success rates - Read `output/articles/repo-actions-*.md` from last 7 days for self-improvement ideas - Pick the **highest-impact, smallest-effort** fix. One change per run. 3. **Understand the area you're fixing.** Read the relevant files: - Skills: `skills/{name}/SKILL.md` - Config: `aeon.yml` - Workflows: `.github/workflows/*.yml` - Agent instructions: `CLAUDE.md` - Dashboard: `apps/dashboard/` (if UI-related) Understand the current behavior before changing anything. 4. **Implement the fix.** Make minimal, targeted changes: - If a skill prompt is unclear → rewrite the ambiguous section - If a skill is hitting rate limits → add backoff logic or reduce frequency - If output quality is low → tighten the prompt, add examples, clarify format - If a notification is broken → fix the formatting or truncation - If a config is wrong → fix aeon.yml Do NOT: - Rewrite entire skills from scratch - Add new features (that's create-skill's job) - Change the core architecture - Modify secrets or environment variables 4b. **Dry-run gate.** Before opening the PR, execute the improved skill once with **synthetic** secrets, so a regression never reaches production having run only with real credentials. Let `$skill` be the skill you edited: ```bash DRYRUN_VERDICT="output/.dry-run/$skill.json" bash scripts/dry-run.sh run "$skill" || true ``` Read `output/.dry-run/$skill.json`: `passed: true` (or `skipped: true`, when the `SKILL_DRYRUN` repo variable is `0`) continues. `passed: false` means **revert the edit and stop** (log `self-improve: dry-run gate failed for $skill` with the verdict `reasons[]`; do not open the PR). Put the verdict under a `## Dry-run` section in the PR body. The gate is structural (exit, output, declared `mode`, declared `requires:`); no real credential enters the run. 5. **Create a branch and PR:** ```bash git checkout -b fix/self-improve-${today} git add -A git commit -m "fix: [description of what was improved] Problem: [what was failing/degraded] Fix: [what was changed] Evidence: [log entries, error messages, success rates]" ``` Open a PR: ```bash gh pr create --title "fix: [short description]" \ --body "## Problem [What was failing or degraded — cite specific log entries or error messages] ## Fix [What was changed and why] ## Evidence - [Relevant log entries] - [Success rate before: X%] - [Error pattern: ...]" ``` 6. **Notify.** Send via `./notify`: ``` self-improve: [what was fixed] — PR: [url] ``` 7. **Log** (see the shared `## Log` section below). ### Guidelines - ONE fix per run. Don't bundle unrelated changes. - Smallest viable fix. A one-line prompt tweak > a full rewrite. - If you can't find anything to improve, that's fine. Log "self-improve: everything looks healthy" and exit. - Never modify workflow files (.github/workflows/) — only skill files, CLAUDE.md, and aeon.yml. - Don't create circular improvements (e.g. don't improve self-improve). --- ## Mode: audit Audit what the agent did, what failed, and what to improve. Produce a full review, apply safe fixes, and surface recommendations. ### Steps Read `memory/MEMORY.md` for context and goals. Read ALL `memory/logs/` entries from the last 7 days. 1. **Audit quality of outputs:** - Read recent articles in `output/articles/` — are they substantive or formulaic? - Check recent notifications in logs — were they useful or noisy? - Review any PR comments posted — were they actionable? 2. **Audit reliability:** - How many skills ran vs expected? - Any repeated errors or patterns of failure? - Are monitors catching real issues or always returning OK? 3. **Audit memory hygiene:** - Is `MEMORY.md` current and under 50 lines? - Are logs structured consistently? - Any stale data that should be cleaned? 4. **Generate improvement recommendations:** - Skills to add, modify, or disable - Schedule adjustments - Config changes (feeds, repos, addresses to add/remove) - Quality improvements (better prompts, new data sources) 5. **Save the full review** to `output/articles/self-review-${today}.md`. 6. **Apply any safe, obvious improvements directly:** - Prune stale `MEMORY.md` entries - Update `feeds.yml` if feeds are dead 7. **Send a summary** via `./notify`: ``` *Self Review — ${today}* Quality: assessment Reliability: X/Y skills ran Actions taken: what was fixed Recommendations: top 2-3 suggestions ``` 8. **Log** (see the shared `## Log` section below). --- ## Log After completing the run, append a log entry to `memory/logs/${today}.md` under a single `### self-improve` heading, with a discriminator line naming the mode that ran: ``` ### self-improve - **Mode:** improve (or: audit) ``` Then, for **improve** mode: ``` - **Target:** [what was improved] - **Problem:** [what was failing] - **Fix:** [what was changed] - **PR:** [url] ``` For **audit** mode: ``` - **Review:** output/articles/self-review-${today}.md - **Quality:** [assessment] - **Reliability:** [X/Y skills ran] - **Actions taken:** [what was fixed directly] - **Recommendations:** [top 2-3] ``` ## Network note Write mode. Both branches touch the repo (improve opens a PR via `git`/`gh`; audit writes `output/articles/self-review-${today}.md` and may prune `MEMORY.md`/`feeds.yml`). For the GitHub API, use the `gh` CLI (`gh pr list`, `gh pr create`) — it handles auth internally, so no `$SECRET` ever touches the command line (a bare secret on the line is what the Bash permission layer refuses; there is no network sandbox). No pre-fetch or post-process side-channel is needed.
Ver no GitHub