agentleFS
juandelossantosjuandelossantos/another-agent-skills/skills/skill-improver/SKILL.md

skill-improver

Skill1 starsChanged 11 days agoMITView on GitHub

Analyze failing eval cases and propose improvements. Reads eval results, identifies failure patterns, outputs a diff. Do NOT auto-apply. Do NOT use for creating new skills.

We split this skill into the rules it gives an agent

6 rules. 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 19 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run the eval suites to identify failures:

    line 50
  2. Very specific:

    Read the failing cases from skills/<name>/evals/.

    line 58
  3. Very specific:

    Read the skill's SKILL.md and its current evals to understand the current state.

    line 73
  4. Distinctive:

    If user says "yes", write the proposed changes.

    line 128
  5. Distinctive:

    If user says "no" or requests changes, iterate.

    line 129
  6. Distinctive:

    Never auto-apply without explicit approval.

    line 130

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

Skill Improver

Diagnose eval failures and propose targeted improvements.

→ See guides/DIAGNOSIS-GUIDE.md for failure pattern diagnosis. → See guides/OUTPUT-GUIDE.md for diff format and review rules.

Complementary to skill-creator. Where skill-creator generates new skills, skill-improver diagnoses and fixes existing ones. The human always reviews before applying — this skill never auto-commits changes.

When to Use

  • run-evals.sh shows trigger failures for a skill
  • run-golden.sh shows output quality issues
  • run-adversarial.sh shows robustness gaps
  • A skill's description is too narrow or too broad
  • Eval coverage is partial and needs expansion

Output Contract

ArtifactFormatLocationQuality Criteria
Skill improvement diffDiff proposal + applied changes (SKILL.md edits, eval additions, references/ moves)skills/<name>/SKILL.md + skills/<name>/evals/Failure pattern classified (trigger/execution/budget/coverage/adversarial), diff proposed before changes, user explicitly approved before applying, SKILL.md stays ≤250 lines, no eval cases modified (skill fixed instead)

When NOT to Use

  • Creating a new skill (use skill-creator)
  • The skill has no eval cases yet (add them first)
  • The fix is obvious (just edit the SKILL.md)
  • The eval failure is from a bug in the eval case itself

Workflow

Step 1: Load Failing Evals

Run the eval suites to identify failures:

bash scripts/eval/run-evals.sh --skill <name>
bash scripts/eval/run-golden.sh --skill <name>
bash scripts/eval/run-adversarial.sh --skill <name>

Read the failing cases from skills/<name>/evals/.

Step 2: Classify Failure Pattern

PatternSymptomTypical Fix
Trigger failuretrigger_positive fails, expected_skill doesn't matchAdjust description: add trigger keywords, fix anti-triggers
Trigger overmatchtrigger_negative fails, skill activates when it shouldn'tAdd "Do NOT use" clauses, narrow the description
Execution failuregolden.jsonl rubric criteria not metExpand workflow, add missing steps, improve examples
Token budget failureSKILL.md > 250 lines or > 1250 wordsMove content to references/ directory
Coverage gapMissing evals/trigger.jsonl or evals/golden.jsonlGenerate missing eval cases
Adversarial gapNo rephrasing or boundary testsAdd adversarial.jsonl

Step 3: Read SKILL.md

Read the skill's SKILL.md and its current evals to understand the current state.

Step 4: Propose Fixes

For each failure pattern, produce a specific diff proposal:

Trigger failure example:

--- current description
+++ proposed description
-"Use when checking file sizes"
+"Use when checking file sizes, analyzing disk usage, or reporting storage quotas.
+ Do NOT use for network bandwidth monitoring."

Token budget example:

--- Move to references/
+references/deep-workflow.md
 (SKILL.md shrinks from 280 to 210 lines)

Coverage gap example:

--- Missing
+evals/adversarial.jsonl:
+{"case_id":"rephrase_001","type":"rephrasing","input":"..."}

Step 5: Present Diff to User

Format the output as a clear diff:

╔════════════════════════════════════════════╗
║  SKILL IMPROVER — proposal for <skill>    ║
╚════════════════════════════════════════════╝

Diagnosis: 2 trigger failures + 1 coverage gap
Severity: MEDIUM

Changes proposed:
 1. [TRIGGER] Description too narrow
    Add keywords: "disk usage", "storage quotas"
    --- current: "Use when checking file sizes"
    +++ proposed: "Use when checking file sizes, ..."

 2. [COVERAGE] Missing adversarial.jsonl
    Create with 2 cases (1 rephrase, 1 boundary)

→ Apply these changes? (Type "yes" to apply, or request changes)

Step 6: Apply (Only if User Approves)

If user says "yes", write the proposed changes. If user says "no" or requests changes, iterate. Never auto-apply without explicit approval.

Examples

Scenario: run-evals.sh --skill interview-me shows 2 trigger_positive failures

Diagnosis: Description only mentions "interview", but users ask "grill me", "are we sure?"

Proposed fix:

--- Add trigger keywords
+"Triggers on: 'interview me', 'grill me', 'are we sure?', 'stress-test my thinking'"

Anti-Patterns

  • Auto-applying changes without user approval → violates Rule 12
  • Expanding SKILL.md beyond 250 lines → move to references/ instead
  • Fixing eval cases instead of fixing the skill → the skill should pass, not the test
  • Suggesting changes without reading the current SKILL.md first
  • Over-engineering the description for a single failing edge case

References

  • scripts/eval/run-evals.sh — trigger test runner
  • scripts/eval/run-golden.sh — golden dataset runner
  • scripts/eval/run-adversarial.sh — adversarial test runner
  • scripts/eval/trigger-dashboard.sh — trigger accuracy dashboard (flags skills <90%)
  • scripts/eval/run-regression.sh — regression test suite (detects regressions)
  • scripts/eval/run-llm-judge.sh — LLM-as-Judge output quality evaluation
  • scripts/skill-lint.sh — structural validation
  • docs/EVAL-GUIDE.md — complete eval system documentation (format, tiers, coverage, advanced)
  • skills/skill-creator/ — for creating skills from scratch
  • PLAN.md — project roadmap and current phase plan

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.

Reviews can't be read right now.

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.