<What it does, one line>. Trigger phrases: <phrases>.
日本語の概要は準備中です。原文の説明を表示しています。
**MEASUREMENT SKILL** — Benchmark framework for measuring skill effectiveness. A/B tests agent outputs with and without a target skill, scoring correctness, completeness, and pattern adherence. USE FOR: validating skill quality, comparing before/after skill changes, proving skill ROI with data. DO NOT USE FOR: general testing, unit tests, CI pipelines.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
You are a benchmark orchestrator. Your job is to measure whether a target skill actually improves agent output quality through controlled A/B testing.
The core idea: run identical tasks with and without the skill injected, score both outputs against a rubric, and produce a comparative report. If the skill works, the "with skill" outputs should consistently score higher.
┌─────────────┐ ┌──────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────┐
│ 1. Read Skill│────▶│ 2. Provision │────▶│ 3. Execute │────▶│ 4. Evaluate │────▶│ 5. Report│
│ (parse) │ │ (gen tasks) │ │ (A/B test) │ │ (score) │ │ (HTML) │
└─────────────┘ └──────────────┘ └─────────────┘ └──────────────┘ └──────────┘
Pipeline: Read → Provision → Execute → Evaluate → Report
All scripts live in this skill's scripts/ directory. Treat them as black boxes — run --help to learn usage, do NOT read their source code.
Parse the target skill's SKILL.md to understand what it teaches:
SKILL.md file at the path provided by the user.name — skill identifierdescription — what the skill teachesStore this analysis — you'll use it in Step 2 to generate relevant tasks.
Before running any scripts, create the output directory structure.
The output dir name follows the pattern: bench-{skill-name}-{YYYYMMDD-HHmmss}/
The timestamp MUST be the real current date+time (to the second) — never replace it with labels like "runs3", "final", or any other suffix. The seconds-precision timestamp is what guarantees uniqueness.
Default location: current working directory.
Custom location: if the user specifies a directory, use that as the parent for the bench dir.
skill-kit internal evaluations: always use skill-benchmarks/ at the skill-kit repo root.
Create the directories:
<output-dir>/bench-{skill-name}-{YYYYMMDD-HHmmss}/
data/
results/
All subsequent commands will use explicit paths into this structure.
Generate benchmark tasks that test whether the skill's knowledge makes a real difference.
python scripts/provision.py --skill-path <path-to-SKILL.md> --count <N> --output <bench-dir>/data/benchmark.json
This reads the SKILL.md, extracts metadata and key topics, and outputs a benchmark.json template with skeleton tasks.
The script outputs a template — you must fill it with concrete, realistic tasks. For each task:
prompt that a developer might actually askTask design principles:
✅ Good tasks test knowledge the skill provides:
❌ Bad tasks are too generic or don't need the skill:
Each task must include a rubric with scoring criteria. Use the 4 default dimensions (see references/rubric-guide.md):
| Dimension | What it measures |
|---|---|
correctness | Is the output technically correct? |
completeness | Does it cover all relevant aspects? |
pattern_adherence | Does it follow the patterns the skill teaches? |
edge_cases | Does it handle edge cases the skill warns about? |
Write each rubric criterion as a specific, evaluable statement tied to what the skill teaches. Example:
{
"correctness": "Uses connection pooling instead of per-request connections",
"completeness": "Includes error handling, retry logic, and graceful degradation",
"pattern_adherence": "Follows the circuit-breaker pattern described in the skill",
"edge_cases": "Handles timeout, connection refused, and partial failure scenarios"
}
Save the completed benchmark.json to <bench-dir>/data/.
For each task in benchmark.json, dispatch two sub-agents that produce outputs independently.
By default, each task runs once (--runs 1). For statistical significance, use --runs N (recommended: 3):
The --runs value is passed to evaluate.py prepare later. Plan your file naming accordingly.
Results go in the <bench-dir>/results/ directory (already created in the Output Directory step).
Sub-agent A (WITH skill):
prompt field<bench-dir>/results/task-{id}-with.md<bench-dir>/results/task-{id}-run-{N}-with.mdSub-agent B (WITHOUT skill):
prompt<bench-dir>/results/task-{id}-without.md<bench-dir>/results/task-{id}-run-{N}-without.mdUse whatever sub-agent mechanism is available in your environment. The key contract:
For runs=1 (default):
Sub-agent A: system=<SKILL.md> user=<prompt> → results/task-{id}-with.md
Sub-agent B: system=(default) user=<prompt> → results/task-{id}-without.md
For runs=N (N>1):
For each run 1..N:
Sub-agent A: system=<SKILL.md> user=<prompt> → results/task-{id}-run-{N}-with.md
Sub-agent B: system=(default) user=<prompt> → results/task-{id}-run-{N}-without.md
Score each pair of outputs against the task's rubric.
python scripts/evaluate.py prepare --benchmark <bench-dir>/data/benchmark.json --results-dir <bench-dir>/results/ --output <bench-dir>/data/evaluation.json --runs <N>
The --runs flag (default: 1) tells the script how many runs to expect per task. It reads the matching result files and produces an evaluation.json with structured comparisons for you to score. Each task contains a runs array with per-run outputs.
For each task in evaluation.json, you'll see both outputs side-by-side with the rubric criteria. Assign a score from 0.0 to 1.0 for each dimension, for each variant:
| Score | Meaning |
|---|---|
| 0.0 | Completely fails the criterion |
| 0.25 | Barely addresses it |
| 0.5 | Partially meets the criterion |
| 0.75 | Mostly meets it with minor gaps |
| 1.0 | Fully satisfies the criterion |
Scoring discipline:
✅ Score based ONLY on the rubric criteria — not general quality ✅ Score both variants before moving to the next task (avoids drift) ✅ Be consistent — same quality = same score regardless of variant
❌ Do NOT give bonus points for style, verbosity, or unrelated quality ❌ Do NOT let the order (with/without) bias your scoring ❌ Do NOT assume "with skill" should always score higher — measure, don't confirm
Fill the scores directly in <bench-dir>/data/evaluation.json.
python scripts/evaluate.py finalize --evaluation <bench-dir>/data/evaluation.json --output <bench-dir>/data/scores.json
This computes aggregate scores, deltas, and statistical summary.
python scripts/report.py --scores <bench-dir>/data/scores.json --template assets/report-template.html --output <bench-dir>/report.html --lang <language-code>
The --lang flag sets the report language. Supported: en (English, default), pt (Portuguese), es (Spanish). Always use the user's native language.
This produces a self-contained HTML dashboard with:
Open the generated report.html in a browser to view results.
Default: 5 tasks. Override with --count:
python scripts/provision.py --skill-path <path> --count 10 --output benchmark.json
Guidelines:
Default: 1 run. Override with --runs in the evaluate.py prepare step:
python scripts/evaluate.py prepare --benchmark benchmark.json --results-dir results/ --output evaluation.json --runs 3
Each run produces independent sub-agent calls (with + without skill), so total calls = tasks × runs × 2.
Guidelines:
When using multiple runs, name result files as task-{id}-run-{N}-with.md / task-{id}-run-{N}-without.md.
For single-run mode (--runs 1 or omitted), the old format task-{id}-with.md still works.
Add custom rubric dimensions beyond the default 4. In the benchmark.json, add fields to the rubric object:
{
"rubric": {
"correctness": "...",
"completeness": "...",
"pattern_adherence": "...",
"edge_cases": "...",
"performance": "Custom: considers runtime/complexity implications",
"security": "Custom: handles input validation and injection risks"
}
}
The evaluation pipeline handles any number of dimensions — they flow through scoring and into the report automatically.
To compare across separate benchmark runs (different benchmarks, not within-task runs), the report script accepts multiple score files:
python scripts/report.py --scores scores-run-1.json scores-run-2.json --output report.html
This averages aggregates across files and shows cross-benchmark variance.
This skill can benchmark itself. Point it at its own SKILL.md and measure whether the skill-benchmark instructions actually help an agent produce better benchmarks.
If skill-benchmark is effective, an agent with these instructions should produce higher-quality benchmark tasks, more precise rubrics, and more insightful score interpretations than an agent without them. Self-evaluation proves (or disproves) this with data.
python scripts/provision.py --self-evaluate --output <bench-dir>/data/benchmark.json
This generates a benchmark.json with 5 pre-filled tasks specifically designed to test benchmarking ability:
These tasks are pre-filled — no manual TODO completion needed. The --count flag is ignored in self-evaluate mode.
The rest of the pipeline works exactly the same:
# Execute A/B tests (Step 3) — save to <bench-dir>/results/
# Evaluate outputs (Step 4)
python scripts/evaluate.py prepare --benchmark <bench-dir>/data/benchmark.json --results-dir <bench-dir>/results/ --output <bench-dir>/data/evaluation.json
# ... score comparisons ...
python scripts/evaluate.py finalize --evaluation <bench-dir>/data/evaluation.json --output <bench-dir>/data/scores.json
# Generate report (Step 5)
python scripts/report.py --scores <bench-dir>/data/scores.json --template assets/report-template.html --output <bench-dir>/report.html --lang <language-code>
When benchmarking skills that are part of the skill-kit repo itself (dogfooding), results go in a fixed location:
<skill-kit-repo-root>/skill-benchmarks/bench-{skill-name}-{YYYYMMDD-HHmmss}/
These results are committed to the repo so users can see comparative benchmark data.
For each dimension, the delta = score_with_skill − score_without_skill.
| Delta | Interpretation |
|---|---|
| > 0.3 | Strong impact — the skill meaningfully improves output |
| 0.1 – 0.3 | Moderate impact — the skill helps but isn't transformative |
| -0.1 – 0.1 | No significant impact — the skill doesn't change output quality |
| < -0.1 | Negative impact — the skill may be confusing or misleading |
Percentage of tasks where the "with skill" variant scored higher overall. A good skill should have win rate > 70%.
Look at which dimensions improve most:
⚠️ Delta < 0 on any dimension: the skill may be teaching something counterproductive ⚠️ High variance across runs: the skill's impact is inconsistent (prompt-dependent) ⚠️ High correctness but negative completeness: the skill narrows focus too much
User provides skill path or requests self-evaluation
│
├─ Is this a self-evaluation? (--self-evaluate flag or user asks to "evaluate yourself")
│ └─ YES → Run provision.py --self-evaluate, skip Step 2b (tasks are pre-filled)
│
├─ Does SKILL.md exist at path?
│ ├─ NO → Report error, ask for correct path
│ └─ YES → Parse frontmatter + body
│
├─ Run provision.py
│ ├─ Script error → Check --help, fix args, retry once
│ └─ Success → Review template
│
├─ Complete benchmark.json with concrete tasks
│ ├─ < 3 meaningful tasks → Warn: may not be statistically useful
│ └─ Tasks ready → Proceed to execution
│
├─ Execute A/B tests
│ ├─ Sub-agent failure → Record failure, continue with remaining
│ └─ All complete → Check results/ directory
│
├─ Evaluate outputs
│ ├─ Run evaluate.py prepare
│ ├─ Score each comparison (0.0–1.0 per dimension)
│ └─ Run evaluate.py finalize
│
└─ Generate report
├─ Run report.py
└─ Present summary + link to report.html
After a complete benchmark run, the output directory contains:
bench-{skill-name}-{YYYYMMDD-HHmmss}/
report.html ← Visual dashboard (at the root)
data/
benchmark.json ← Task definitions + rubrics
evaluation.json ← Scored comparisons
scores.json ← Computed aggregates
results/
task-01-with.md ← Sub-agent A output (runs=1 format)
task-01-without.md ← Sub-agent B output (runs=1 format)
task-01-run-1-with.md ← Sub-agent A output (runs>1 format)
task-01-run-1-without.md ← Sub-agent B output (runs>1 format)
task-01-run-2-with.md
task-01-run-2-without.md
...
❌ Designing tasks that don't need the skill → Every task must test knowledge the skill specifically teaches. Generic coding tasks won't show a delta.
❌ Vague rubric criteria → "Output should be good" is not evaluable. Write criteria tied to specific behaviors: "Uses parameterized queries instead of string concatenation for SQL."
❌ Scoring bias → Score both outputs before comparing. Don't let expectations about "with skill should be better" influence scores.
❌ Too few tasks → 1–2 tasks can't establish a pattern. Use at least 3, ideally 5+.
❌ Ignoring negative deltas → If "with skill" scores lower on some dimension, that's valuable signal — the skill may need revision.
✅ Good benchmark = specific tasks + specific rubrics + honest scoring
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
<What it does, one line>. Trigger phrases: <phrases>.
日本語の概要は準備中です。原文の説明を表示しています。
Use this skill whenever the user wants to create or improve a presentation for an academic context — conference papers, seminar talks, thesis defenses, grant briefings, lab meetings, invited lectures, or any presentation where the audience will evaluate reasoning and evidence. Triggers include: 'conference talk', 'seminar slides', 'thesis defense', 'research presentation', 'academic deck', 'academic presentation'. Also triggers when the user asks to 'make slides' in combination with academic content (e.g., 'make slides for my paper on X', 'create a presentation for my dissertation defense', 'build a deck for my grant proposal'). This skill governs CONTENT and STRUCTURE decisions. For the technical work of creating or editing the .pptx file itself, also read the pptx SKILL.md.
日本語の概要は準備中です。原文の説明を表示しています。
Shortest English alias for web-adapt / universal-web-adaptation. Use this when adapting an unfamiliar public website generically before creating any site-specific rules.
日本語の概要は準備中です。原文の説明を表示しています。
Use this skill to audit CLI adapter projects (like opencli) for missing output fields, then batch-generate fixes and submit PRs. Turns AI agents into adapter quality reviewers.
日本語の概要は準備中です。原文の説明を表示しています。
Operate professional paid advertising across Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, Apple, Amazon, Reddit, Pinterest, Snapchat, and X. Use for account intake, source-grounded audits, strategy, budget and measurement planning, creative production, experiments, reporting, monitoring, and explicitly approved campaign changes. Also trigger on PPC, paid social, retail media, attribution, tracking, landing pages, cross-platform conversion totals, negative keywords or search terms, beta-feature scoring, stale platform claims, API-token or credential setup, campaign deletion, and safe Claude Ads installation or uninstall.
日本語の概要は準備中です。原文の説明を表示しています。
Audit Amazon Ads profiles, regions, Sponsored Products, Sponsored Brands, Sponsored Display, DSP, portfolios, targeting, search terms, retail readiness, creative, budgets, ACOS, TACOS, reporting, and policy. Use for Amazon Ads, sponsored ads, Amazon PPC, ACOS, TACOS, ASIN advertising, Amazon DSP, or retail-media optimization.
日本語の概要は準備中です。原文の説明を表示しています。