Skip to content

Commit efb0265

Browse files
authored
Merge pull request #2203 from modelcontextprotocol/v2/docs/2202-skill-eval-tuning
docs: tune skill eval cases and document how to write them
2 parents faada87 + afca8fa commit efb0265

21 files changed

Lines changed: 916 additions & 43 deletions

File tree

‎.claude/skills/board-ops/SKILL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: board-ops
3-
description: gh recipes for the Inspector project boards — add a card, move its Status, set or re-score its Priority, delete a card, and recover from a deleted single-select option. Covers board #28 (v2) and board #11 (v1), their node/field/option IDs, and the option-deletion hazard.
3+
description: "gh recipes for the Inspector project boards — add a card, move its Status, set or re-score its Priority, delete a card, and recover from a deleted single-select option. Covers board #28 (v2) and board #11 (v1), their node/field/option IDs, and the option-deletion hazard."
44
disable-model-invocation: false
55
---
66

‎.claude/skills/board-ops/evals/evals.json‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@
1111
"prompt": "The project board rejected my Status option ID. How do I get the current ones?",
1212
"expect": "board-ops"
1313
},
14+
{
15+
"prompt": "I'm about to edit the options on one of the board's single-select fields. Should I do anything first?",
16+
"expect": "board-ops"
17+
},
18+
{
19+
"prompt": "Several cards lost their Priority value after the field was edited. How do I put it back?",
20+
"expect": "board-ops"
21+
},
1422
{
1523
"prompt": "Explain the difference between TCP and UDP.",
1624
"expect": null

‎.claude/skills/issue-create/evals/evals.json‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@
1111
"prompt": "Before I file this, how do I check nobody has reported it already?",
1212
"expect": "issue-create"
1313
},
14+
{
15+
"prompt": "I found a bug while working on something else. How do I get it tracked in this repo?",
16+
"expect": "issue-create"
17+
},
18+
{
19+
"prompt": "What do I need to do beyond `gh issue create` for a new issue to be properly tracked here?",
20+
"expect": "issue-create"
21+
},
1422
{
1523
"prompt": "What is the chemical symbol for potassium?",
1624
"expect": null

‎.claude/skills/issue-triage/evals/evals.json‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,21 @@
44
"expect": "issue-triage"
55
},
66
{
7-
"prompt": "What Priority should issue 2189 be given?",
7+
"prompt": "How do I decide what Priority an incoming issue deserves?",
88
"expect": "issue-triage"
99
},
1010
{
1111
"prompt": "Audit the project board for anything that has drifted.",
1212
"expect": "issue-triage"
1313
},
14+
{
15+
"prompt": "How do I find the issues that aren't on either board yet?",
16+
"expect": "issue-triage"
17+
},
18+
{
19+
"prompt": "After scoring an issue against the rubric, what do I do with the score?",
20+
"expect": "issue-triage"
21+
},
1422
{
1523
"prompt": "Who wrote the novel Moby-Dick?",
1624
"expect": null

‎.claude/skills/local-dev/SKILL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: local-dev
3-
description: Getting the Inspector running locally, and the reasoning behind its dependency rules. Which install to run and which script starts each client (web, cli, tui, launcher); why v2 is not an npm workspace; how the @inspector/core alias works; and why the placement rules in AGENTS.md are what they are — what each one is defending against, what it looked like when it was violated, and how to tell you have hit one.
3+
description: Install, build and run the Inspector locally, and place a dependency correctly. Use when starting the web, cli, tui or launcher client; when asking whether a build or rebuild is needed before a run script works; when an install, an @inspector/core import or a client bundle fails at run time; when adding or bumping a dependency and choosing which package.json declares it; or when a bundler external, a version skew or a git worktree is the suspect.
44
disable-model-invocation: false
55
---
66

‎.claude/skills/local-dev/evals/evals.json‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
[
22
{
3-
"prompt": "How do I get the web client running locally?",
3+
"prompt": "What is the difference between the launcher-driven run scripts and starting a client directly, and when should I use each?",
44
"expect": "local-dev"
55
},
66
{
7-
"prompt": "I added a dependency and the TUI bundle broke at import time. Where should it have gone?",
7+
"prompt": "I added a package and now one of the client bundles fails at run time. What do I check?",
88
"expect": "local-dev"
99
},
1010
{
@@ -15,6 +15,10 @@
1515
"prompt": "How do I run the CLI from the built launcher in this repo instead of via npx?",
1616
"expect": "local-dev"
1717
},
18+
{
19+
"prompt": "Do I need to do anything special to set this repo up inside a git worktree?",
20+
"expect": "local-dev"
21+
},
1822
{
1923
"prompt": "Write a haiku about autumn.",
2024
"expect": null

‎.claude/skills/pr-flow/evals/evals.json‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@
1111
"prompt": "The DCO check is red on my branch. How do I fix the commits I already pushed?",
1212
"expect": "pr-flow"
1313
},
14+
{
15+
"prompt": "Copilot left a pile of review comments on my PR. How do I answer them so nothing gets lost?",
16+
"expect": "pr-flow"
17+
},
18+
{
19+
"prompt": "My PR is open and green. Walk me through getting it merged and closed out here.",
20+
"expect": "pr-flow"
21+
},
1422
{
1523
"prompt": "What does this regex match? /^[a-z]+$/",
1624
"expect": null

‎.claude/skills/pre-push-gate/evals/evals.json‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,21 @@
44
"expect": "pre-push-gate"
55
},
66
{
7-
"prompt": "The Storybook stage of the gate fails in my worktree even though the tests pass. What is wrong?",
7+
"prompt": "The gate's Storybook stage is failing for me. How do I diagnose it?",
88
"expect": "pre-push-gate"
99
},
1010
{
1111
"prompt": "Everything in the gate started timing out at once. What causes that?",
1212
"expect": "pre-push-gate"
1313
},
14+
{
15+
"prompt": "How do I check whether a stage of the gate really passed?",
16+
"expect": "pre-push-gate"
17+
},
18+
{
19+
"prompt": "The gate failed at the lint stage. How do I work out what is wrong?",
20+
"expect": "pre-push-gate"
21+
},
1422
{
1523
"prompt": "What is 17 multiplied by 23?",
1624
"expect": null

‎.claude/skills/project-structure/evals/evals.json‎

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
11
[
22
{
3-
"prompt": "What lives in clients/web versus @inspector/core?",
3+
"prompt": "Something in the web client's Node backend needs changing but I do not know which piece handles what. How do I work that out?",
44
"expect": "project-structure"
55
},
66
{
7-
"prompt": "I'm adding a helper both the CLI and the web client need. Which directory does it belong in?",
7+
"prompt": "I am adding a module that both the browser side and the Node side need to run. How do I decide where it goes in this repo?",
88
"expect": "project-structure"
99
},
1010
{
11-
"prompt": "Which package owns the OAuth secret storage backends?",
11+
"prompt": "Does browser-only transport code belong in core or in the web client?",
12+
"expect": "project-structure"
13+
},
14+
{
15+
"prompt": "I have a new file and I'm not sure where it goes. How do I decide in this repo?",
16+
"expect": "project-structure"
17+
},
18+
{
19+
"prompt": "I need to find where a feature is implemented but I do not know which client owns it. How do I work that out in this repo?",
1220
"expect": "project-structure"
1321
},
1422
{

‎.claude/skills/test-servers/SKILL.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: test-servers
3-
description: Run a composable MCP test server by hand — pick the showcase config that reproduces a given feature or bug, build test-servers, and connect with the right protocol era. Covers the stale-build hazard.
3+
description: Run a composable MCP test server by hand — pick the showcase config for a feature or bug, build it, and connect with the right protocol era. Use when a change, a PR or a smoke test needs a real server to exercise it; when reproducing a reported bug by hand; when choosing which fixture or protocol era to run; when a fixture keeps serving stale code after an edit; or when the config or preset you need does not exist yet.
44
disable-model-invocation: false
55
---
66

0 commit comments

Comments
 (0)