create-update-benchmarklisted
Install: claude install-skill using-system/oddyssey
# Create / Update a Benchmark
`.odd/benchmarks/<name>/` is a **third kind** of `.odd/` content, and it
does **not** inherit the report stores' immutability rule
(`create-observe-run-report`, `create-otel-instrumentation-report`):
`AGENTS.md`'s "the `.odd/` memory is append-only" and
`docs/guide/reports.md`'s "a report is never edited after the fact"
govern the **committed reports** specifically - `observe-run-reports/`,
`otel-instrumentation-reports/`, and `decisions.md`. A benchmark is
living source, not a run record: git history, not file accumulation, is
its memory. Writing and updating is this skill's whole point, not an
exception to some other rule.
## What this skill owns
- **Persisting** the k6 script and manifest `k6-benchmark-expert` hands
it, into `.odd/benchmarks/<name>/` - the directory name is the
benchmark's identity.
- **Recall, two-step**: the target **service** returns the set of
benchmarks that already exist for it (so the agent cannot duplicate
one it never saw); the benchmark **name** identifies the single
artifact an update rewrites. List every benchmark under
`.odd/benchmarks/` and check each manifest's declared target service
before the agent authors anything new.
- **Reviewed diffs, never silent overwrites.** When the agent proposes
updating an existing benchmark, the change is presented as a diff
against the stored version - the maintainer reviews it exactly like
any other committed change, through the normal PR flow. This skill