Skip to content
Agentmart
Submit a tool

optimize-skill

Evaluate and improve one target skill through bounded, controlled experiments.

Skill by gabimoncha

IndexedMIT★ 10
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/gabimoncha-optimize-skill

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Evaluate and improve one target skill through bounded, controlled experiments.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/optimize-skill

What's inside

Skill name
optimize-skill
Description
Evaluate and improve one target skill through bounded, controlled experiments.
License
MIT
Instructions
161 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • files: referenced but missing: references/companion-skills.md

Files (6)

  • SKILL.md
  • openai.yaml · agents/
  • codex-metrics.md · references/
  • experiment-protocol.md · references/
  • codex-rollout-metrics.mjs · scripts/
  • codex-rollout-metrics.test.mjs · scripts/

SKILL.md (first lines)

# Optimize Skill

Treat skill improvement as a falsifiable experiment with two questions: does
the target beat no skill, and does a candidate beat the target? Keep the live
target frozen until one candidate earns adoption.

## 1. Resolve the contracts

1. State the mutation contract and the sole live-target/adoption write owner:
   - `read-only`: evaluate the target and existing frozen variants; create no
     candidate and write only to the experiment workspace;
   - `propose`: allowlisted writers may create disposable candidate copies, a
     proposed eval suite, and experiment artifacts in the workspace, but the
     live target stays unchanged and the result is a patch proposal;
   - `change`: use the same isolation, then let only the adoption owner apply a
     confirmed winner when the original request authorizes it.
2. Resolve the target `SKILL.md`, every active reference and companion, repo
   guidance, current dirty state, and the production invocation path. Record
   whether the agent can invoke the target on its own through its
   `description`, or only a user can.
3. Classify the target as output-only, local-mutating, external-effecting, or
   unsafe, and contain it as the protocol requires. Stop when safe isolation is
   unavailable.
4. Resolve `adversarial-council` from a user-supplied exact path or
   `../adversarial-council/SKILL.md` relative to this file. Verify its
   frontmatter name, then read its complete `SKILL.md` and
   `references/companion-skills.md`. Stop before delegation if the exact
   contract is unavailable. Use the active model-routing policy when present.
5. Read [Experiment Protocol](references/experiment-protocol.md) and
   [Eval Suite](references/eval-suite.md).

Completion criterion: authority, target bundle, invocation path, isolation,
council contract, and the sole write owner are explicit; the live target has
not changed.

## 2. Build the eval suite

Reuse the target's `evals/evals.json` and, for a model-invoked target,
`evals/trigger-evals.json`. Create or extend them until every material branch
has a case.

1. Draw cases from real failures and owner reports first, then add synthetic
   cases for uncovered branches. Each case has a realistic prompt, an answer
   key that two domain experts would accept, and its input files. Include at
   least one boundary case where the skill should hold back.
2. For a model-invoked target, write a balanced trigger set: prompts that need
   the skill and near-misses that share its vocabulary but not its job.
3. Split cases and trigger queries into visible and withheld sets as the
   protocol requires, before any output exists.
4. Pilot each visible case once with the target and once with no skill. Read
   every transcript, then write deterministic checks and assertions from what
   the outputs showed. Write withheld assertions from their answer keys alone.
   A case that fails in both arms for a reason outside the skill is a broken
   task: fix the case, not the skill.

Pilot outputs calibrate the suite; they are never experiment evidence.

Completion criterion: every material branch has a case with an answer key,
checks, and assertions; the split exists; every pilot transcript is read; no
known-broken task remains.

## 3. Freeze the experiment

Fill the experiment card from the protocol before any counted output exists.
Freeze the arms, cases, trials, rubric, grader prompt, environment, practical
improvement rule, tie and regression rules, resource roles, and budget.

Size the budget from the suite: count executor and grader runs per round,
add confirmation and the council, then reserve at least 20%. Default to two
rounds, one challenger per round, two trials per arm and case, and 45 minutes.
Let the user override limits before the first run.

Completion criterion: the card and hashes are frozen before candidate work;
later rubric, case, environment, or threshold changes start a new experiment.

## 4. Measure the baseline

Run the no-skill arm and the target arm on the visible cases and visible
trigger queries under the frozen production-like envelope. Use
`scripts/skill-trials.mjs` as [Eval Suite](references/eval-suite.md)
describes. Record every expected executor and grader in the ledger.

Run deterministic checks first, then the calibrated grader. Read the
transcripts of every failed or divergent trial before trusting a score.

When the target wins no assertion against the no-skill arm and meets no frozen
efficiency target, it adds no measured value on these cases. Report that
before optimizing; a candidate must then earn value, or the recommendation is
to cut or merge the skill.

Completion criterion: both arms are graded, the evaluator detects planted
failures, the target's value over no skill is stated per assertion, and no
unexpected file, tool, network, credential, or external-system effect
occurred.

## 5. Run the visible loop

For each round:

1. Derive one falsifiable hypothesis from failed assertions, transcripts, and
   owner feedback. Fix the general cause rather than the case; prefer
   sharpening or removing instructions over adding rules. One maker may change
   only its isolated candidate; never edit the live target or harness.
2. Compare the target with one candidate at a time, with fresh paired trials
   per arm and case. No executor sees both arms, the opposing output, or the
   hypothesis.
3. Apply deterministic checks before model judgment. Grade the remaining
   assertions and any blind pairwise comparison as the protocol requires.
4. Read [Codex Metrics](references/codex-metrics.md) before making Codex
   token or timing claims. Keep quality, tokens, and time separate; never
   collapse them into one score.
5. Analyze each assertion across arms: an assertion that passes everywhere is
   a regression check, not evidence of skill value; one that fails everywhere
   points to a broken task or assertion. A hard gate must pass in every trial
   (pass^k).
6. Reject a hard-gate regression immediately. Escalate disputed soft evidence
   to four trials only when direction reverses, judges disagree, or the result
   is near the frozen threshold and reserve remains. Mixed evidence is
   inconclusive and keeps the target.

From gabimoncha/skills, MIT.

More from gabimoncha/skills

Signals

Stars
10
Forks
0
Open issues
0
Last commit (this folder)
Jul 27, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from gabimoncha

Cite this page

optimize-skill. Agent Mart. https://agentmart.dev/skills/gabimoncha-optimize-skill (last updated 2026-10-24)