一键导入
mk-benchmark
Experimental/manual harness canary procedure. It records benchmark manifests and scores but does not provide a fully automated runner.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Experimental/manual harness canary procedure. It records benchmark manifests and scores but does not provide a fully automated runner.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Workflow navigation assistant. Scans project state (plans, reviews, tests, git) and recommends the next step in the 7-phase pipeline. Use when asked "what should I do next?", "where am I?", "help", or at session start. NOT for domain complexity routing (see mk:scale-routing); NOT for skill discovery (descriptions handle that automatically).
Workflow navigator: scans project state (plans, reviews, tests, git) and recommends the next pipeline step. Use for 'what next?' or 'where am I?'. NOT for complexity routing (mk:scale-routing).
Workflow navigator: scans project state (plans, reviews, tests, git) and recommends the next pipeline step. Use for 'what next?' or 'where am I?'. NOT for complexity routing (mk:scale-routing).
Routing skill — recommends the correct mk:confluence-* leaf for any Confluence Cloud task. Triggers: 'confluence', 'wiki page', 'spec page', ambiguous Confluence intent. NOT an executor — every actual operation forks via a leaf skill.
Retrieve up-to-date library, framework, and project documentation using scripts + MCP tools (Context7, Context Hub) with intelligent fallback. Use this skill whenever the user or agent needs documentation for any library, framework, API, SDK, or internal project spec. Triggers on "docs for [X]", "how does [library] work", "find documentation", "API reference for", "look up [feature] in [library]", "latest docs", "what's the API for", "find our [internal spec]", or any request that requires current, accurate documentation rather than relying on training data. Always prefer this skill over raw WebSearch for documentation retrieval — it returns structured, context-efficient results.
Ticket/PRD intake: product area classification, completeness scoring, RCA, technical assessment. Works with Jira (via mk:jira-issue / jira-as), Linear (via MCP), GitHub (via gh CLI), or manual paste. Triggers: 'analyze ticket', 'intake PRD', 'triage issue', 'classify ticket', 'check ticket'.
| name | mk-benchmark |
| description | Experimental/manual harness canary procedure. It records benchmark manifests and scores but does not provide a fully automated runner. |
Measures harness performance against a small set of ground-truth tasks. Provides the empirical signal that the dead-weight audit consumes to make load-bearing decisions about each harness component.
Activate when:
the benchmark skill run (default = quick tier, 5 tasks, ≤$5)the benchmark skill run --full (quick tier + 1 heavy task, ≤$30)the benchmark skill compare <run-id-a> <run-id-b> (delta table)Skip when:
--full is opt-in. The heavy task (06-small-app-build) requires explicit --full flag because it triggers mk:autobuild which can run for hours. Refuses to run without the flag.event=benchmark_result records, tagged with benchmark_version + harness_version + model_version.| Subcommand | Purpose | Tier | Cost cap |
|---|---|---|---|
run | Execute the quick tier (5 tasks) and record scores | quick | $5 |
run --full | Execute quick + heavy tier (6 tasks total) | full | $30 |
compare <a> <b> | Show per-task delta between two prior runs | — | (free, reads cache) |
.codex/benchmarks/
├── README.md ← how to use + add tasks
├── canary/
│ ├── quick/ ← default tier (5 tasks, ≤$5)
│ │ ├── 01-react-component-spec.md
│ │ ├── 02-api-endpoint-spec.md
│ │ ├── 03-bug-fix-spec.md
│ │ ├── 04-refactor-spec.md
│ │ └── 05-tdd-feature-spec.md
│ └── full/ ← --full only (1 task, ~$25)
│ └── 06-small-app-build-spec.md
└── results/ ← per-run JSON dumps
the benchmark skill run
Outputs:
.codex/benchmarks/results/{run-id}.json AND trace-log.jsonlthe benchmark skill run --full
Same as quick, plus the heavy 06-small-app-build task. Refuses to run without --full to prevent accidental cost burn.
the benchmark skill compare 260408-1430 260408-1530
Outputs a delta table:
| Task | Run A score | Run B score | Δ |
|---|---|---|---|
| 01-react-component | 0.92 | 0.88 | -0.04 |
| 02-api-endpoint | 0.85 | 0.91 | +0.06 |
| 03-bug-fix | 1.00 | 1.00 | 0.00 |
| ... | ... | ... | ... |
| TOTAL | 0.89 | 0.91 | +0.02 |
Each benchmark run writes a JSON dump to .codex/benchmarks/results/{run-id}.json:
{
"run_id": "260408-1430-bench",
"tier": "quick",
"started": "2026-04-08T14:30:00Z",
"ended": "2026-04-08T14:42:00Z",
"harness_version": "3.0.0",
"model": "codex-opus-4-6",
"total_cost_usd": 4.20,
"total_duration_seconds": 720,
"tasks": [
{
"spec": "01-react-component-spec.md",
"verdict": "PASS",
"weighted_score": 0.92,
"duration_seconds": 145,
"cost_usd": 0.85,
"rubric_preset": "frontend-app"
},
...
],
"summary": {
"passed": 4,
"warned": 1,
"failed": 0,
"average_score": 0.89
}
}
scripts/git-index-audit.sh records a reproducible git tracked-state fingerprint as a
JSON artifact — independent of the canary benchmark loop. Use it to verify two checkouts
of a repo are identical, or to snapshot tracked state over time.
# single-repo snapshot
bash .agents/skills/benchmark/scripts/git-index-audit.sh [repo-path]
# comparison (adds local/remote-only counts + recursive diff status)
bash .agents/skills/benchmark/scripts/git-index-audit.sh <local> <remote>
Artifact location: .codex/benchmarks/audits/{YYMMDD-HHMMSS}-audit.json — a SIBLING
of results/, NOT inside it. compare-runs.sh prefix-globs results/*.json and assumes a
tier key; an audit artifact placed in results/ would crash it. Every audit artifact
carries a top-level "type": "audit" discriminator. Override the output dir with
MEOWKIT_AUDIT_OUT_DIR.
Artifact schema: type, run_id, ts, repo, tracked_file_count,
directory_count_excl_git, tracked_path_sha256, tracked_index_sha256, comparison
(null in single-repo mode), working_tree_clean. A best-effort audit_result trace event
is appended via append-trace.sh.
Index-hash definition (toolkit canonical): tracked_index_sha256 = sha256(sort(git ls-files -s)). The -s flag includes mode + blob hash + stage, so the index hash captures
tracked CONTENT, not just paths; tracked_path_sha256 = sha256(sort(git ls-files)) captures
paths only. The source method did not specify an index-hash command — this definition is
the toolkit's, documented here and in the script header so future comparisons are reproducible.
run-canary.sh is an orchestrator-driven runner for the model-in-loop canary. It writes a manifest with PENDING tasks then prints orchestrator instructions. The script CANNOT itself invoke mk:autobuild per task because each invocation requires a fresh sub-task context, which only an orchestrator agent can spawn — not a shell process. The agent invoking this skill MUST follow the printed instructions to fill in each task's results. Failure to do so leaves the manifest as a stub.{costUsd,…} receipt to the run's .ledger.jsonl and runs run-canary.sh check-cap <ledger> <cap>; exit 2 means the cap was reached and the run STOPS. Thresholds follow harness-rules.md Rule 6 (warn at $30, halt at the effective cap; --budget N / MEOWKIT_BUDGET_CAP override the tier cap). This mirrors the TypeScript cost-ledger the deferred live backends inherit.packages/mewkit/src/journey-validation) — migration → target validation → route/artifact/denied-token/side-effect oracles — with no model calls. Only the model-in-loop (live) canary above still needs the orchestrator handoff.mk:autobuild. This skill invokes mk:autobuild per task. If a harness bug is exactly what the dead-weight audit is trying to find, the audit can fail to even start. The manual fallback: run individual canary specs via the cook skill <spec.md> and score by hand.--full for the dead-weight audit. The audit needs the heavy task to detect issues that only manifest in real product builds.| File | Purpose |
|---|---|
scripts/run-canary.sh | Emits a task manifest + a cost-ledger path; prints orchestrator instructions for the per-task harness runs. Does NOT invoke mk:autobuild directly (needs a fresh sub-task context only the orchestrator can spawn). run-canary.sh check-cap <ledger> <cap> enforces the Rule 6 cost cap between tasks (exit 2 = halt). |
scripts/compare-runs.sh | Reads two prior run JSONs, emits delta table |
../../benchmarks/README.md | How to add new canary tasks |
../../benchmarks/canary/ | Spec files |
../../benchmarks/results/ | Per-run JSON dumps |
../../memory/trace-log.jsonl | Append-only trace store (benchmark results land here too) |
..the autobuild skill/SKILL.md | The harness skill that benchmark invokes per spec |
..the trace-analyze skill/SKILL.md | The consumer of benchmark results for the dead-weight audit |
For run: scripts/run-canary.sh [--full].
For compare: scripts/compare-runs.sh <run-id-a> <run-id-b>.
After each completed benchmark run, append the baseline to .meowkit/telemetry/cost-log.json (top-level array). Create the file with [] if it does not exist.
{"run_id": "{id}", "date": "{ISO-date}", "tier": "quick|full", "pass_rate": N, "avg_score": N, "total_cost_usd": N}
Use mkdir -p .meowkit/memory before the append. This persists baselines for compare-runs.sh and the dead-weight audit.