Creator · dotnet
Last updated · Sep 1, 2026
Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml sche
Creator · dotnet
Last updated · Sep 1, 2026
Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml sche
Creator · dotnet
Last updated · Sep 1, 2026
Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml sche
Creator · dotnet
Last updated · Sep 1, 2026
Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml sche
Sandbox only
Install targets
Codex install prompt
Install the "create-skill-test" agent skill from https://github.com/dotnet/skills/tree/main/.agents/skills/create-skill-test. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"dotnet-create-skill-test","task":"Install create-skill-test","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add dotnet/skills --skill create-skill-test
Maintenance
fresh
3d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
5.3K
84/100 Quality · 83/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Quality score needs review
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
5.3K GitHub stars
Repo activity
5.3K stars, 403 forks
Maintenance
3d since push
License
MIT
Install
npx skills add dotnet/skills --skill create-skill-test
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add dotnet/skills --skill create-skill-testDo not use when
Alternative
1.9K Stars
npx skills add yanliudesign/mono-color-skill --skill mono-color
Alternative
61.0K Stars
npx skills add mvanhorn/last30days-skill -g
Alternative
38.4K Stars
npx skills add Imbad0202/academic-research-skills
Alternative
28.0K Stars
npx skills add assafelovic/gpt-researcher
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/dotnet-create-skill-test/install
Agent should check
Copy prompt
Task: Use create-skill-test in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install
Install command: npx skills add dotnet/skills --skill create-skill-test
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/dotnet-create-skill-test/install
LLM text format
/api/skills/dotnet-create-skill-test/install?format=text
Find alternatives
/api/skills/search?q=create-skill-test&limit=3
Agent prompt
Use create-skill-test for this task. Review https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install, then install with: npx skills add dotnet/skills --skill create-skill-testRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/dotnet-create-skill-test
LLM text
/api/registry/manifest/dotnet-create-skill-test?format=text
Install alias
/api/registry/install/dotnet-create-skill-test
Recommend
/api/registry/recommend?task=Use%20create-skill-test%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
PASS5.3K GitHub stars
Stars/forks activity
PASS5.3K stars, 403 forks; issue activity unavailable in current metadata
Recent maintenance
PASS3d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
Academic Research Skills for Claude Code: research → write → review → revise → finalize
Run autonomous deep research over web and local sources
--- name: create-skill-test description: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). ---
# Create Skill Test
Scaffold an evaluation spec (`eval.yaml`) for a skill or agent so it conforms to the Vally schema, passes `skill-validator check` and `check_eval_quality.py`, is powerful enough to return a verdict, and does not overfit to the skill's own wording.
## When to Use
- Creating a new `eval.yaml` for a skill or agent - Adding stimuli to an existing eval - Sizing an eval so the pass gate can actually be reached - Setting up or repairing fixture files alongside an eval - Reviewing whether rubric items and graders risk overfitting
## When Not to Use
- Diagnosing a failing or regressed eval — use `improve-skill-quality` - Modifying the skill-validator or the evaluation workflows - Creating or editing `SKILL.md` files — use `create-skill`
## Inputs
| Input | Required | Description | |-------|----------|-------------| | Skill or agent name | Yes | Must exist under `plugins/<plugin>/skills/` or `plugins/<plugin>/agents/` | | Plugin name | Yes | e.g. `dotnet-msbuild` | | Skill content | Yes | Read it — you cannot write non-overfitted rubric items without it | | Failure modes to discriminate | Recommended | Each becomes one stimulus |
## Workflow
### Step 1: Locate the target and the test directory
```text tests/<plugin>/<skill-name>/eval.yaml # skills tests/<plugin>/agent.<agent-name>/eval.yaml # agents (the agent. prefix disambiguates) ```
Verify the target exists at `plugins/<plugin>/skills/<skill-name>/SKILL.md` or `plugins/<plugin>/agents/<agent-name>.agent.md`, and read it.
**Agent evals sit outside the verdict flow.** The canonical experiment declares `evals: tests/*/!(agent.*)/eval.yaml`, so `agent.*` specs are excluded: no verdict is ever computed for them, the stimulus floor does not apply, and `./eng/run-skill-evals.sh` drops them even when you name one explicitly (its `--eval-filter` is intersected with that glob). The distinct-stimulus floor therefore applies to **skill** evals only. Author agent evals for the scenario coverage and the deterministic graders, and run them as described in Step 10.
**Be careful with a skill that sets `disable-model-invocation: true`.** The model cannot invoke it, so the skill is absent from the model-facing skilled arm and any direct eval compares two identical arms. Answer-content graders do not create a difference between those arms. The honest coverage for such skills is dependency-level — through the outcome evals of the skills that load them, and through the plugin arm. For example, `filter-syntax` is covered by the filtered-command scenarios in `tests/dotnet-test/run-tests/eval.yaml`.
### Step 2: Write the spec skeleton
The spec is Vally format. Every eval in this repo uses `stimuli:` and `graders:`; `scenarios:` and `assertions:` are a pre-Vally format that no longer loads.
```yaml name: <skill-name> description: Evaluates the <plugin>/<skill-name> skill type: capability defaults: timeout: 5m runs: 1 stimuli: - name: <what the agent must accomplish> prompt: <natural developer request> environment: files: - src: fixtures/<case>/Project.csproj dest: Project.csproj graders: - type: output-matches config: pattern: (root cause|underlying issue) - type: exit-success - type: prompt rubric: - <outcome the agent should have reached> ```
> **`defaults:` replaces `config:` — it does not join it.** `config` is a deprecated alias for the > same block and vally **throws** on a spec declaring both. Some existing evals still open with > `config:`; when you change settings, replace it with one `defaults:` block. The failure is > invisible otherwise: the job exits 0 with no verdicts and the PR comment > blames "transient infrastructure".
### Step 3: Size the eval for power before writing content
The gate gives each distinct stimulus one vote. Repeated runs for one stimulus collapse to one majority-direction vote and remain available as reliability evidence.
1. **Distinct stimuli ≥ 5**, else the verdict is `underpowered` — never a pass, never a regression. 2. **p ≤ 0.05 on an exact one-sided sign test over *discordant* (non-tie) stimulus votes.** Ties are not discarded; they hold the discordant count down.
| discordant stimulus votes | records that pass | p | |---:|---|---:| | ≤ 4 | none | ≥ 0.0625 | | 5–7 | zero losses only (5W/0L) | 0.031 | | 8 | one loss survivable (7W/1L) | 0.035 |
At exactly 5 stimuli, one tie is fatal because it leaves 4 discordant votes. At 6 stimuli one tie is survivable; at 7, up to two are. A loss is not. Five is an **eligibility floor**, not adequate power. For example, 80% power needs 8 discordant votes only for a true 90% conditional win rate; it needs 18 at 80%, 37 at 70%, and 158 at 60%. Size for the effect and tie rate you need to detect.
Use `runs` for reliability, not task breadth. Vally recommends 3 runs in CI and 5–10 nightly for pass rate, pass@k, pass^k, and flakiness. Extra runs never clear the five-stimulus floor.
Do not set `runs` in `dotnet-skills.experiment.yaml`; experiment overrides overwrite every eval's own value rather than defaulting it.
### Step 4: Write stimuli
- **Name** describes *what* is tested, not *how*. - **Prompt** is a natural developer request. Never mention the skill, the agent, or its vocabulary — cued prompts inflate the overfit score and bias the baseline. - Each stimulus should discriminate a **different** property of the skill. Five stimuli covering one property give arithmetic, not evidence. - Give every stimulus a stable, unique `name`. Vally pairs comparison trajectories by `(stimulus name, trial index)`; duplicate names make slot identity ambiguous. - Include a boundary / no-op stimulus for any skill that migrates or rewrites code, proving it leaves already-correct input alone.
### Step 5: Configure the environment
```yaml environment: files: - src: fixtures/broken-build/App.csproj # path relative to eval.yaml dest: App.csproj # path in the agent's working directory - src: fixtures/broken-build # a directory dest: . commands: - dotnet build -bl || exit 0 # guard intentional failures ```
**Do not set `environment.skills` in a skill eval.** The experiment declares `vary: /environment/skills` and supplies the value itself — `[]` for the baseline arm and `plugins/<plugin>/skills/<skill>` for the skilled arm — so anything the eval declares is replaced, in every arm. It cannot add a skill to one arm only. `environment.skills` is meaningful only in an `agent.*` eval, which the experiment does not vary; there it is the set of skills the agent may invoke. Copy the shape from an existing agent eval such as `tests/dotnet-test/agent.test-quality-auditor/eval.yaml` rather than reproducing a remembered form — the specs in this repo are not consistent about how they spell those entries.
Fixture rules — each one has already cost a real result:
- **Every referenced fixture must be tracked by git.** `.gitignore` (e.g. `coverage*.xml`) has silently swallowed a committed fixture: the eval passed locally and failed at setup in CI. Verify with `git ls-files`, not by looking at the working tree. - **Every fixture must behave as its stimulus assumes.** A fixture meant to be healthy must build; a fixture meant to be broken must fail for the exact reason the stimulus is about, and no other. Judges penalize agents for unrelated "pre-existing build issues" that the fixture author introduced. - **Every fixture must reproduce the bug its stimulus is named for.** If it does not, the baseline scores well and the skill has nothing to add. - **Coverage fixtures must be internally consistent.** A Cobertura report whose declared `line-rate`, summary totals (`lines-covered`/`lines-valid`), and `<line>` elements disagree lets the two arms read different truths, and the loss is the fixture's fault. Update any rubric item or prompt that quotes a figure in the same change. - **Do not wire duplicate fixtures** to raise `n`; rename leftovers add trials without evidence. - A setup command that is *expected* to fail while still producing its artifact must be guarded (`|| exit 0`), or vally drops the trial. - A cleanup command that strips sources must skip directories containing `SKILL.md` — the staged skill lives there, and deleting it aborts only the skilled arm.
### Step 6: Write graders
Graders are hard pass/fail checks evaluated on every arm.
| Type | Required config | Purpose | |------|-----------------|---------| | `output-matches` / `output-not-matches` | `pattern` | Regex over agent output | | `output-contains` / `output-not-contains` | `substring` | Literal text in output | | `file-exists` / `file-not-exists` | `path` | Glob against the work directory | | `file-contains` / `file-not-contains` | `path`, `value` | Content of a produced file | | `run-command` | `command` (plus optional `expected_exit_code`, `timeout`, `stdout_matches`) | Verify produced code actually builds/runs | | `exit-success` | — | Agent produced non-empty output | | `prompt` | — | Runs the LLM judge against the `rubric` |
Rules:
- A grader whose `config` is absent or missing its required key parses fine and **enforces nothing**. The usual cause is an indentation slip during an edit; `check_eval_quality.py` blocks it. - Prefer broad patterns that several valid approaches satisfy: `(root cause|primary error|underlying issue)`. - **If the skill mandates an output shape, assert on it.** A skill required to emit a decisive `Recommendation:` line can silently stop doing so while the eval still passes. - Use `file-not-contains` / `file-not-exists` to prove the agent avoided an incorrect action.
### Step 7: Write rubric items
Rubric items are judged pairwise (baseline vs. skilled). The overfitting judge classifies each item:
| Classification | Description | Goal | |---------------|-------------|------| | **outcome** | Whether the agent reached a correct result — WHAT, not HOW | Target this | | **technique** | Whether the agent used a skill-specific procedure | Minimize | | **vocabulary** | Whether the agent used the skill's terminology | Avoid |
1. Test outcomes, not methods: "Identified the root cause of the build failure", not "Replayed the binlog using `dotnet build /flp`". 2. Accept any valid approach. 3. Never reference the skill by name, and never reuse `SKILL.md` phrasing. 4. Never reward using the skill — the harness reports activation separately, so a rubric item that does this measures nothing and inflates the overfit score. 5. Do not test knowledge the model already has; it adds no delta. 6. Keep each item independently evaluable. 7. Do not reward raw volume (test count, report length); judges will compare it when both arms act.
**Good:**
```yaml rubric: - Correctly identified the missing NuGet package as the root cause of the build failure - Recognized that downstream failures cascaded from that root cause - Suggested a concrete fix that resolves it ```
**Overfitted:**
```yaml rubric: - Replayed the binary log using 'dotnet build /flp:v=diag' # technique - Measured cold, warm, and no-op build scenarios # vocabulary - Used the template-comparison skill # rewards activation ```
### Step 8: Add constraints sparingly
```yaml constraints: expect_tools: [bash] reject_tools: [edit, create] reject_skills: [s
Source provenance
Decision snapshot
5,312 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for create-skill-test, ready for a manual X post.
A practical pick for source-backed research: create-skill-test: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writi... 5.3K stars https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x
Listing + install path for create-skill-test: https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x Install: npx skills add dotnet/skills --skill create-skill-test
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to dotnet but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test/audit)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)dotnet
@dotnet
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
mono-color
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
1.9K StarsLast30days Skill
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
61.0K StarsAcademic Research Skills
Academic Research Skills for Claude Code: research → write → review → revise → finalize
38.4K StarsGPT Researcher
Run autonomous deep research over web and local sources
28.0K StarsSandbox only
Install targets
Codex install prompt
Install the "create-skill-test" agent skill from https://github.com/dotnet/skills/tree/main/.agents/skills/create-skill-test. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"dotnet-create-skill-test","task":"Install create-skill-test","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add dotnet/skills --skill create-skill-test
Maintenance
fresh
3d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
5.3K
84/100 Quality · 83/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Quality score needs review
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
5.3K GitHub stars
Repo activity
5.3K stars, 403 forks
Maintenance
3d since push
License
MIT
Install
npx skills add dotnet/skills --skill create-skill-test
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add dotnet/skills --skill create-skill-testDo not use when
Alternative
1.9K Stars
npx skills add yanliudesign/mono-color-skill --skill mono-color
Alternative
61.0K Stars
npx skills add mvanhorn/last30days-skill -g
Alternative
38.4K Stars
npx skills add Imbad0202/academic-research-skills
Alternative
28.0K Stars
npx skills add assafelovic/gpt-researcher
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/dotnet-create-skill-test/install
Agent should check
Copy prompt
Task: Use create-skill-test in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install
Install command: npx skills add dotnet/skills --skill create-skill-test
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/dotnet-create-skill-test/install
LLM text format
/api/skills/dotnet-create-skill-test/install?format=text
Find alternatives
/api/skills/search?q=create-skill-test&limit=3
Agent prompt
Use create-skill-test for this task. Review https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install, then install with: npx skills add dotnet/skills --skill create-skill-testRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/dotnet-create-skill-test
LLM text
/api/registry/manifest/dotnet-create-skill-test?format=text
Install alias
/api/registry/install/dotnet-create-skill-test
Recommend
/api/registry/recommend?task=Use%20create-skill-test%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
PASS5.3K GitHub stars
Stars/forks activity
PASS5.3K stars, 403 forks; issue activity unavailable in current metadata
Recent maintenance
PASS3d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
Academic Research Skills for Claude Code: research → write → review → revise → finalize
Run autonomous deep research over web and local sources
--- name: create-skill-test description: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). ---
# Create Skill Test
Scaffold an evaluation spec (`eval.yaml`) for a skill or agent so it conforms to the Vally schema, passes `skill-validator check` and `check_eval_quality.py`, is powerful enough to return a verdict, and does not overfit to the skill's own wording.
## When to Use
- Creating a new `eval.yaml` for a skill or agent - Adding stimuli to an existing eval - Sizing an eval so the pass gate can actually be reached - Setting up or repairing fixture files alongside an eval - Reviewing whether rubric items and graders risk overfitting
## When Not to Use
- Diagnosing a failing or regressed eval — use `improve-skill-quality` - Modifying the skill-validator or the evaluation workflows - Creating or editing `SKILL.md` files — use `create-skill`
## Inputs
| Input | Required | Description | |-------|----------|-------------| | Skill or agent name | Yes | Must exist under `plugins/<plugin>/skills/` or `plugins/<plugin>/agents/` | | Plugin name | Yes | e.g. `dotnet-msbuild` | | Skill content | Yes | Read it — you cannot write non-overfitted rubric items without it | | Failure modes to discriminate | Recommended | Each becomes one stimulus |
## Workflow
### Step 1: Locate the target and the test directory
```text tests/<plugin>/<skill-name>/eval.yaml # skills tests/<plugin>/agent.<agent-name>/eval.yaml # agents (the agent. prefix disambiguates) ```
Verify the target exists at `plugins/<plugin>/skills/<skill-name>/SKILL.md` or `plugins/<plugin>/agents/<agent-name>.agent.md`, and read it.
**Agent evals sit outside the verdict flow.** The canonical experiment declares `evals: tests/*/!(agent.*)/eval.yaml`, so `agent.*` specs are excluded: no verdict is ever computed for them, the stimulus floor does not apply, and `./eng/run-skill-evals.sh` drops them even when you name one explicitly (its `--eval-filter` is intersected with that glob). The distinct-stimulus floor therefore applies to **skill** evals only. Author agent evals for the scenario coverage and the deterministic graders, and run them as described in Step 10.
**Be careful with a skill that sets `disable-model-invocation: true`.** The model cannot invoke it, so the skill is absent from the model-facing skilled arm and any direct eval compares two identical arms. Answer-content graders do not create a difference between those arms. The honest coverage for such skills is dependency-level — through the outcome evals of the skills that load them, and through the plugin arm. For example, `filter-syntax` is covered by the filtered-command scenarios in `tests/dotnet-test/run-tests/eval.yaml`.
### Step 2: Write the spec skeleton
The spec is Vally format. Every eval in this repo uses `stimuli:` and `graders:`; `scenarios:` and `assertions:` are a pre-Vally format that no longer loads.
```yaml name: <skill-name> description: Evaluates the <plugin>/<skill-name> skill type: capability defaults: timeout: 5m runs: 1 stimuli: - name: <what the agent must accomplish> prompt: <natural developer request> environment: files: - src: fixtures/<case>/Project.csproj dest: Project.csproj graders: - type: output-matches config: pattern: (root cause|underlying issue) - type: exit-success - type: prompt rubric: - <outcome the agent should have reached> ```
> **`defaults:` replaces `config:` — it does not join it.** `config` is a deprecated alias for the > same block and vally **throws** on a spec declaring both. Some existing evals still open with > `config:`; when you change settings, replace it with one `defaults:` block. The failure is > invisible otherwise: the job exits 0 with no verdicts and the PR comment > blames "transient infrastructure".
### Step 3: Size the eval for power before writing content
The gate gives each distinct stimulus one vote. Repeated runs for one stimulus collapse to one majority-direction vote and remain available as reliability evidence.
1. **Distinct stimuli ≥ 5**, else the verdict is `underpowered` — never a pass, never a regression. 2. **p ≤ 0.05 on an exact one-sided sign test over *discordant* (non-tie) stimulus votes.** Ties are not discarded; they hold the discordant count down.
| discordant stimulus votes | records that pass | p | |---:|---|---:| | ≤ 4 | none | ≥ 0.0625 | | 5–7 | zero losses only (5W/0L) | 0.031 | | 8 | one loss survivable (7W/1L) | 0.035 |
At exactly 5 stimuli, one tie is fatal because it leaves 4 discordant votes. At 6 stimuli one tie is survivable; at 7, up to two are. A loss is not. Five is an **eligibility floor**, not adequate power. For example, 80% power needs 8 discordant votes only for a true 90% conditional win rate; it needs 18 at 80%, 37 at 70%, and 158 at 60%. Size for the effect and tie rate you need to detect.
Use `runs` for reliability, not task breadth. Vally recommends 3 runs in CI and 5–10 nightly for pass rate, pass@k, pass^k, and flakiness. Extra runs never clear the five-stimulus floor.
Do not set `runs` in `dotnet-skills.experiment.yaml`; experiment overrides overwrite every eval's own value rather than defaulting it.
### Step 4: Write stimuli
- **Name** describes *what* is tested, not *how*. - **Prompt** is a natural developer request. Never mention the skill, the agent, or its vocabulary — cued prompts inflate the overfit score and bias the baseline. - Each stimulus should discriminate a **different** property of the skill. Five stimuli covering one property give arithmetic, not evidence. - Give every stimulus a stable, unique `name`. Vally pairs comparison trajectories by `(stimulus name, trial index)`; duplicate names make slot identity ambiguous. - Include a boundary / no-op stimulus for any skill that migrates or rewrites code, proving it leaves already-correct input alone.
### Step 5: Configure the environment
```yaml environment: files: - src: fixtures/broken-build/App.csproj # path relative to eval.yaml dest: App.csproj # path in the agent's working directory - src: fixtures/broken-build # a directory dest: . commands: - dotnet build -bl || exit 0 # guard intentional failures ```
**Do not set `environment.skills` in a skill eval.** The experiment declares `vary: /environment/skills` and supplies the value itself — `[]` for the baseline arm and `plugins/<plugin>/skills/<skill>` for the skilled arm — so anything the eval declares is replaced, in every arm. It cannot add a skill to one arm only. `environment.skills` is meaningful only in an `agent.*` eval, which the experiment does not vary; there it is the set of skills the agent may invoke. Copy the shape from an existing agent eval such as `tests/dotnet-test/agent.test-quality-auditor/eval.yaml` rather than reproducing a remembered form — the specs in this repo are not consistent about how they spell those entries.
Fixture rules — each one has already cost a real result:
- **Every referenced fixture must be tracked by git.** `.gitignore` (e.g. `coverage*.xml`) has silently swallowed a committed fixture: the eval passed locally and failed at setup in CI. Verify with `git ls-files`, not by looking at the working tree. - **Every fixture must behave as its stimulus assumes.** A fixture meant to be healthy must build; a fixture meant to be broken must fail for the exact reason the stimulus is about, and no other. Judges penalize agents for unrelated "pre-existing build issues" that the fixture author introduced. - **Every fixture must reproduce the bug its stimulus is named for.** If it does not, the baseline scores well and the skill has nothing to add. - **Coverage fixtures must be internally consistent.** A Cobertura report whose declared `line-rate`, summary totals (`lines-covered`/`lines-valid`), and `<line>` elements disagree lets the two arms read different truths, and the loss is the fixture's fault. Update any rubric item or prompt that quotes a figure in the same change. - **Do not wire duplicate fixtures** to raise `n`; rename leftovers add trials without evidence. - A setup command that is *expected* to fail while still producing its artifact must be guarded (`|| exit 0`), or vally drops the trial. - A cleanup command that strips sources must skip directories containing `SKILL.md` — the staged skill lives there, and deleting it aborts only the skilled arm.
### Step 6: Write graders
Graders are hard pass/fail checks evaluated on every arm.
| Type | Required config | Purpose | |------|-----------------|---------| | `output-matches` / `output-not-matches` | `pattern` | Regex over agent output | | `output-contains` / `output-not-contains` | `substring` | Literal text in output | | `file-exists` / `file-not-exists` | `path` | Glob against the work directory | | `file-contains` / `file-not-contains` | `path`, `value` | Content of a produced file | | `run-command` | `command` (plus optional `expected_exit_code`, `timeout`, `stdout_matches`) | Verify produced code actually builds/runs | | `exit-success` | — | Agent produced non-empty output | | `prompt` | — | Runs the LLM judge against the `rubric` |
Rules:
- A grader whose `config` is absent or missing its required key parses fine and **enforces nothing**. The usual cause is an indentation slip during an edit; `check_eval_quality.py` blocks it. - Prefer broad patterns that several valid approaches satisfy: `(root cause|primary error|underlying issue)`. - **If the skill mandates an output shape, assert on it.** A skill required to emit a decisive `Recommendation:` line can silently stop doing so while the eval still passes. - Use `file-not-contains` / `file-not-exists` to prove the agent avoided an incorrect action.
### Step 7: Write rubric items
Rubric items are judged pairwise (baseline vs. skilled). The overfitting judge classifies each item:
| Classification | Description | Goal | |---------------|-------------|------| | **outcome** | Whether the agent reached a correct result — WHAT, not HOW | Target this | | **technique** | Whether the agent used a skill-specific procedure | Minimize | | **vocabulary** | Whether the agent used the skill's terminology | Avoid |
1. Test outcomes, not methods: "Identified the root cause of the build failure", not "Replayed the binlog using `dotnet build /flp`". 2. Accept any valid approach. 3. Never reference the skill by name, and never reuse `SKILL.md` phrasing. 4. Never reward using the skill — the harness reports activation separately, so a rubric item that does this measures nothing and inflates the overfit score. 5. Do not test knowledge the model already has; it adds no delta. 6. Keep each item independently evaluable. 7. Do not reward raw volume (test count, report length); judges will compare it when both arms act.
**Good:**
```yaml rubric: - Correctly identified the missing NuGet package as the root cause of the build failure - Recognized that downstream failures cascaded from that root cause - Suggested a concrete fix that resolves it ```
**Overfitted:**
```yaml rubric: - Replayed the binary log using 'dotnet build /flp:v=diag' # technique - Measured cold, warm, and no-op build scenarios # vocabulary - Used the template-comparison skill # rewards activation ```
### Step 8: Add constraints sparingly
```yaml constraints: expect_tools: [bash] reject_tools: [edit, create] reject_skills: [s
Source provenance
Decision snapshot
5,312 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for create-skill-test, ready for a manual X post.
A practical pick for source-backed research: create-skill-test: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writi... 5.3K stars https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x
Listing + install path for create-skill-test: https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x Install: npx skills add dotnet/skills --skill create-skill-test
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to dotnet but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test/audit)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)dotnet
@dotnet
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
mono-color
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
1.9K StarsLast30days Skill
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
61.0K StarsAcademic Research Skills
Academic Research Skills for Claude Code: research → write → review → revise → finalize
38.4K StarsGPT Researcher
Run autonomous deep research over web and local sources
28.0K StarsSandbox only
Install targets
Codex install prompt
Install the "create-skill-test" agent skill from https://github.com/dotnet/skills/tree/main/.agents/skills/create-skill-test. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"dotnet-create-skill-test","task":"Install create-skill-test","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add dotnet/skills --skill create-skill-test
Maintenance
fresh
3d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
5.3K
84/100 Quality · 83/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Quality score needs review
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
5.3K GitHub stars
Repo activity
5.3K stars, 403 forks
Maintenance
3d since push
License
MIT
Install
npx skills add dotnet/skills --skill create-skill-test
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add dotnet/skills --skill create-skill-testDo not use when
Alternative
1.9K Stars
npx skills add yanliudesign/mono-color-skill --skill mono-color
Alternative
61.0K Stars
npx skills add mvanhorn/last30days-skill -g
Alternative
38.4K Stars
npx skills add Imbad0202/academic-research-skills
Alternative
28.0K Stars
npx skills add assafelovic/gpt-researcher
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/dotnet-create-skill-test/install
Agent should check
Copy prompt
Task: Use create-skill-test in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install
Install command: npx skills add dotnet/skills --skill create-skill-test
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/dotnet-create-skill-test/install
LLM text format
/api/skills/dotnet-create-skill-test/install?format=text
Find alternatives
/api/skills/search?q=create-skill-test&limit=3
Agent prompt
Use create-skill-test for this task. Review https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install, then install with: npx skills add dotnet/skills --skill create-skill-testRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/dotnet-create-skill-test
LLM text
/api/registry/manifest/dotnet-create-skill-test?format=text
Install alias
/api/registry/install/dotnet-create-skill-test
Recommend
/api/registry/recommend?task=Use%20create-skill-test%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
PASS5.3K GitHub stars
Stars/forks activity
PASS5.3K stars, 403 forks; issue activity unavailable in current metadata
Recent maintenance
PASS3d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
Academic Research Skills for Claude Code: research → write → review → revise → finalize
Run autonomous deep research over web and local sources
--- name: create-skill-test description: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). ---
# Create Skill Test
Scaffold an evaluation spec (`eval.yaml`) for a skill or agent so it conforms to the Vally schema, passes `skill-validator check` and `check_eval_quality.py`, is powerful enough to return a verdict, and does not overfit to the skill's own wording.
## When to Use
- Creating a new `eval.yaml` for a skill or agent - Adding stimuli to an existing eval - Sizing an eval so the pass gate can actually be reached - Setting up or repairing fixture files alongside an eval - Reviewing whether rubric items and graders risk overfitting
## When Not to Use
- Diagnosing a failing or regressed eval — use `improve-skill-quality` - Modifying the skill-validator or the evaluation workflows - Creating or editing `SKILL.md` files — use `create-skill`
## Inputs
| Input | Required | Description | |-------|----------|-------------| | Skill or agent name | Yes | Must exist under `plugins/<plugin>/skills/` or `plugins/<plugin>/agents/` | | Plugin name | Yes | e.g. `dotnet-msbuild` | | Skill content | Yes | Read it — you cannot write non-overfitted rubric items without it | | Failure modes to discriminate | Recommended | Each becomes one stimulus |
## Workflow
### Step 1: Locate the target and the test directory
```text tests/<plugin>/<skill-name>/eval.yaml # skills tests/<plugin>/agent.<agent-name>/eval.yaml # agents (the agent. prefix disambiguates) ```
Verify the target exists at `plugins/<plugin>/skills/<skill-name>/SKILL.md` or `plugins/<plugin>/agents/<agent-name>.agent.md`, and read it.
**Agent evals sit outside the verdict flow.** The canonical experiment declares `evals: tests/*/!(agent.*)/eval.yaml`, so `agent.*` specs are excluded: no verdict is ever computed for them, the stimulus floor does not apply, and `./eng/run-skill-evals.sh` drops them even when you name one explicitly (its `--eval-filter` is intersected with that glob). The distinct-stimulus floor therefore applies to **skill** evals only. Author agent evals for the scenario coverage and the deterministic graders, and run them as described in Step 10.
**Be careful with a skill that sets `disable-model-invocation: true`.** The model cannot invoke it, so the skill is absent from the model-facing skilled arm and any direct eval compares two identical arms. Answer-content graders do not create a difference between those arms. The honest coverage for such skills is dependency-level — through the outcome evals of the skills that load them, and through the plugin arm. For example, `filter-syntax` is covered by the filtered-command scenarios in `tests/dotnet-test/run-tests/eval.yaml`.
### Step 2: Write the spec skeleton
The spec is Vally format. Every eval in this repo uses `stimuli:` and `graders:`; `scenarios:` and `assertions:` are a pre-Vally format that no longer loads.
```yaml name: <skill-name> description: Evaluates the <plugin>/<skill-name> skill type: capability defaults: timeout: 5m runs: 1 stimuli: - name: <what the agent must accomplish> prompt: <natural developer request> environment: files: - src: fixtures/<case>/Project.csproj dest: Project.csproj graders: - type: output-matches config: pattern: (root cause|underlying issue) - type: exit-success - type: prompt rubric: - <outcome the agent should have reached> ```
> **`defaults:` replaces `config:` — it does not join it.** `config` is a deprecated alias for the > same block and vally **throws** on a spec declaring both. Some existing evals still open with > `config:`; when you change settings, replace it with one `defaults:` block. The failure is > invisible otherwise: the job exits 0 with no verdicts and the PR comment > blames "transient infrastructure".
### Step 3: Size the eval for power before writing content
The gate gives each distinct stimulus one vote. Repeated runs for one stimulus collapse to one majority-direction vote and remain available as reliability evidence.
1. **Distinct stimuli ≥ 5**, else the verdict is `underpowered` — never a pass, never a regression. 2. **p ≤ 0.05 on an exact one-sided sign test over *discordant* (non-tie) stimulus votes.** Ties are not discarded; they hold the discordant count down.
| discordant stimulus votes | records that pass | p | |---:|---|---:| | ≤ 4 | none | ≥ 0.0625 | | 5–7 | zero losses only (5W/0L) | 0.031 | | 8 | one loss survivable (7W/1L) | 0.035 |
At exactly 5 stimuli, one tie is fatal because it leaves 4 discordant votes. At 6 stimuli one tie is survivable; at 7, up to two are. A loss is not. Five is an **eligibility floor**, not adequate power. For example, 80% power needs 8 discordant votes only for a true 90% conditional win rate; it needs 18 at 80%, 37 at 70%, and 158 at 60%. Size for the effect and tie rate you need to detect.
Use `runs` for reliability, not task breadth. Vally recommends 3 runs in CI and 5–10 nightly for pass rate, pass@k, pass^k, and flakiness. Extra runs never clear the five-stimulus floor.
Do not set `runs` in `dotnet-skills.experiment.yaml`; experiment overrides overwrite every eval's own value rather than defaulting it.
### Step 4: Write stimuli
- **Name** describes *what* is tested, not *how*. - **Prompt** is a natural developer request. Never mention the skill, the agent, or its vocabulary — cued prompts inflate the overfit score and bias the baseline. - Each stimulus should discriminate a **different** property of the skill. Five stimuli covering one property give arithmetic, not evidence. - Give every stimulus a stable, unique `name`. Vally pairs comparison trajectories by `(stimulus name, trial index)`; duplicate names make slot identity ambiguous. - Include a boundary / no-op stimulus for any skill that migrates or rewrites code, proving it leaves already-correct input alone.
### Step 5: Configure the environment
```yaml environment: files: - src: fixtures/broken-build/App.csproj # path relative to eval.yaml dest: App.csproj # path in the agent's working directory - src: fixtures/broken-build # a directory dest: . commands: - dotnet build -bl || exit 0 # guard intentional failures ```
**Do not set `environment.skills` in a skill eval.** The experiment declares `vary: /environment/skills` and supplies the value itself — `[]` for the baseline arm and `plugins/<plugin>/skills/<skill>` for the skilled arm — so anything the eval declares is replaced, in every arm. It cannot add a skill to one arm only. `environment.skills` is meaningful only in an `agent.*` eval, which the experiment does not vary; there it is the set of skills the agent may invoke. Copy the shape from an existing agent eval such as `tests/dotnet-test/agent.test-quality-auditor/eval.yaml` rather than reproducing a remembered form — the specs in this repo are not consistent about how they spell those entries.
Fixture rules — each one has already cost a real result:
- **Every referenced fixture must be tracked by git.** `.gitignore` (e.g. `coverage*.xml`) has silently swallowed a committed fixture: the eval passed locally and failed at setup in CI. Verify with `git ls-files`, not by looking at the working tree. - **Every fixture must behave as its stimulus assumes.** A fixture meant to be healthy must build; a fixture meant to be broken must fail for the exact reason the stimulus is about, and no other. Judges penalize agents for unrelated "pre-existing build issues" that the fixture author introduced. - **Every fixture must reproduce the bug its stimulus is named for.** If it does not, the baseline scores well and the skill has nothing to add. - **Coverage fixtures must be internally consistent.** A Cobertura report whose declared `line-rate`, summary totals (`lines-covered`/`lines-valid`), and `<line>` elements disagree lets the two arms read different truths, and the loss is the fixture's fault. Update any rubric item or prompt that quotes a figure in the same change. - **Do not wire duplicate fixtures** to raise `n`; rename leftovers add trials without evidence. - A setup command that is *expected* to fail while still producing its artifact must be guarded (`|| exit 0`), or vally drops the trial. - A cleanup command that strips sources must skip directories containing `SKILL.md` — the staged skill lives there, and deleting it aborts only the skilled arm.
### Step 6: Write graders
Graders are hard pass/fail checks evaluated on every arm.
| Type | Required config | Purpose | |------|-----------------|---------| | `output-matches` / `output-not-matches` | `pattern` | Regex over agent output | | `output-contains` / `output-not-contains` | `substring` | Literal text in output | | `file-exists` / `file-not-exists` | `path` | Glob against the work directory | | `file-contains` / `file-not-contains` | `path`, `value` | Content of a produced file | | `run-command` | `command` (plus optional `expected_exit_code`, `timeout`, `stdout_matches`) | Verify produced code actually builds/runs | | `exit-success` | — | Agent produced non-empty output | | `prompt` | — | Runs the LLM judge against the `rubric` |
Rules:
- A grader whose `config` is absent or missing its required key parses fine and **enforces nothing**. The usual cause is an indentation slip during an edit; `check_eval_quality.py` blocks it. - Prefer broad patterns that several valid approaches satisfy: `(root cause|primary error|underlying issue)`. - **If the skill mandates an output shape, assert on it.** A skill required to emit a decisive `Recommendation:` line can silently stop doing so while the eval still passes. - Use `file-not-contains` / `file-not-exists` to prove the agent avoided an incorrect action.
### Step 7: Write rubric items
Rubric items are judged pairwise (baseline vs. skilled). The overfitting judge classifies each item:
| Classification | Description | Goal | |---------------|-------------|------| | **outcome** | Whether the agent reached a correct result — WHAT, not HOW | Target this | | **technique** | Whether the agent used a skill-specific procedure | Minimize | | **vocabulary** | Whether the agent used the skill's terminology | Avoid |
1. Test outcomes, not methods: "Identified the root cause of the build failure", not "Replayed the binlog using `dotnet build /flp`". 2. Accept any valid approach. 3. Never reference the skill by name, and never reuse `SKILL.md` phrasing. 4. Never reward using the skill — the harness reports activation separately, so a rubric item that does this measures nothing and inflates the overfit score. 5. Do not test knowledge the model already has; it adds no delta. 6. Keep each item independently evaluable. 7. Do not reward raw volume (test count, report length); judges will compare it when both arms act.
**Good:**
```yaml rubric: - Correctly identified the missing NuGet package as the root cause of the build failure - Recognized that downstream failures cascaded from that root cause - Suggested a concrete fix that resolves it ```
**Overfitted:**
```yaml rubric: - Replayed the binary log using 'dotnet build /flp:v=diag' # technique - Measured cold, warm, and no-op build scenarios # vocabulary - Used the template-comparison skill # rewards activation ```
### Step 8: Add constraints sparingly
```yaml constraints: expect_tools: [bash] reject_tools: [edit, create] reject_skills: [s
Source provenance
Decision snapshot
5,312 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for create-skill-test, ready for a manual X post.
A practical pick for source-backed research: create-skill-test: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writi... 5.3K stars https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x
Listing + install path for create-skill-test: https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x Install: npx skills add dotnet/skills --skill create-skill-test
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to dotnet but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test/audit)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)dotnet
@dotnet
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
mono-color
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
1.9K StarsLast30days Skill
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
61.0K StarsAcademic Research Skills
Academic Research Skills for Claude Code: research → write → review → revise → finalize
38.4K StarsGPT Researcher
Run autonomous deep research over web and local sources
28.0K StarsSandbox only
Install targets
Codex install prompt
Install the "create-skill-test" agent skill from https://github.com/dotnet/skills/tree/main/.agents/skills/create-skill-test. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"dotnet-create-skill-test","task":"Install create-skill-test","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add dotnet/skills --skill create-skill-test
Maintenance
fresh
3d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
5.3K
84/100 Quality · 83/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Quality score needs review
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
5.3K GitHub stars
Repo activity
5.3K stars, 403 forks
Maintenance
3d since push
License
MIT
Install
npx skills add dotnet/skills --skill create-skill-test
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add dotnet/skills --skill create-skill-testDo not use when
Alternative
1.9K Stars
npx skills add yanliudesign/mono-color-skill --skill mono-color
Alternative
61.0K Stars
npx skills add mvanhorn/last30days-skill -g
Alternative
38.4K Stars
npx skills add Imbad0202/academic-research-skills
Alternative
28.0K Stars
npx skills add assafelovic/gpt-researcher
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/dotnet-create-skill-test/install
Agent should check
Copy prompt
Task: Use create-skill-test in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20create-skill-test%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install
Install command: npx skills add dotnet/skills --skill create-skill-test
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/dotnet-create-skill-test/install
LLM text format
/api/skills/dotnet-create-skill-test/install?format=text
Find alternatives
/api/skills/search?q=create-skill-test&limit=3
Agent prompt
Use create-skill-test for this task. Review https://www.openagentskill.com/api/skills/dotnet-create-skill-test/install, then install with: npx skills add dotnet/skills --skill create-skill-testRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/dotnet-create-skill-test
LLM text
/api/registry/manifest/dotnet-create-skill-test?format=text
Install alias
/api/registry/install/dotnet-create-skill-test
Recommend
/api/registry/recommend?task=Use%20create-skill-test%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
PASS5.3K GitHub stars
Stars/forks activity
PASS5.3K stars, 403 forks; issue activity unavailable in current metadata
Recent maintenance
PASS3d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Build and ship code
I need a coding agent that can understand a repository, edit code, and review pull requests.
Manage repositories
I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.
Workflow fit
Inspect, patch, and verify code
A workflow for software agents that inspect repositories, review pull requests, generate tests, and turn findings into shippable patches.
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
Academic Research Skills for Claude Code: research → write → review → revise → finalize
Run autonomous deep research over web and local sources
--- name: create-skill-test description: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill). ---
# Create Skill Test
Scaffold an evaluation spec (`eval.yaml`) for a skill or agent so it conforms to the Vally schema, passes `skill-validator check` and `check_eval_quality.py`, is powerful enough to return a verdict, and does not overfit to the skill's own wording.
## When to Use
- Creating a new `eval.yaml` for a skill or agent - Adding stimuli to an existing eval - Sizing an eval so the pass gate can actually be reached - Setting up or repairing fixture files alongside an eval - Reviewing whether rubric items and graders risk overfitting
## When Not to Use
- Diagnosing a failing or regressed eval — use `improve-skill-quality` - Modifying the skill-validator or the evaluation workflows - Creating or editing `SKILL.md` files — use `create-skill`
## Inputs
| Input | Required | Description | |-------|----------|-------------| | Skill or agent name | Yes | Must exist under `plugins/<plugin>/skills/` or `plugins/<plugin>/agents/` | | Plugin name | Yes | e.g. `dotnet-msbuild` | | Skill content | Yes | Read it — you cannot write non-overfitted rubric items without it | | Failure modes to discriminate | Recommended | Each becomes one stimulus |
## Workflow
### Step 1: Locate the target and the test directory
```text tests/<plugin>/<skill-name>/eval.yaml # skills tests/<plugin>/agent.<agent-name>/eval.yaml # agents (the agent. prefix disambiguates) ```
Verify the target exists at `plugins/<plugin>/skills/<skill-name>/SKILL.md` or `plugins/<plugin>/agents/<agent-name>.agent.md`, and read it.
**Agent evals sit outside the verdict flow.** The canonical experiment declares `evals: tests/*/!(agent.*)/eval.yaml`, so `agent.*` specs are excluded: no verdict is ever computed for them, the stimulus floor does not apply, and `./eng/run-skill-evals.sh` drops them even when you name one explicitly (its `--eval-filter` is intersected with that glob). The distinct-stimulus floor therefore applies to **skill** evals only. Author agent evals for the scenario coverage and the deterministic graders, and run them as described in Step 10.
**Be careful with a skill that sets `disable-model-invocation: true`.** The model cannot invoke it, so the skill is absent from the model-facing skilled arm and any direct eval compares two identical arms. Answer-content graders do not create a difference between those arms. The honest coverage for such skills is dependency-level — through the outcome evals of the skills that load them, and through the plugin arm. For example, `filter-syntax` is covered by the filtered-command scenarios in `tests/dotnet-test/run-tests/eval.yaml`.
### Step 2: Write the spec skeleton
The spec is Vally format. Every eval in this repo uses `stimuli:` and `graders:`; `scenarios:` and `assertions:` are a pre-Vally format that no longer loads.
```yaml name: <skill-name> description: Evaluates the <plugin>/<skill-name> skill type: capability defaults: timeout: 5m runs: 1 stimuli: - name: <what the agent must accomplish> prompt: <natural developer request> environment: files: - src: fixtures/<case>/Project.csproj dest: Project.csproj graders: - type: output-matches config: pattern: (root cause|underlying issue) - type: exit-success - type: prompt rubric: - <outcome the agent should have reached> ```
> **`defaults:` replaces `config:` — it does not join it.** `config` is a deprecated alias for the > same block and vally **throws** on a spec declaring both. Some existing evals still open with > `config:`; when you change settings, replace it with one `defaults:` block. The failure is > invisible otherwise: the job exits 0 with no verdicts and the PR comment > blames "transient infrastructure".
### Step 3: Size the eval for power before writing content
The gate gives each distinct stimulus one vote. Repeated runs for one stimulus collapse to one majority-direction vote and remain available as reliability evidence.
1. **Distinct stimuli ≥ 5**, else the verdict is `underpowered` — never a pass, never a regression. 2. **p ≤ 0.05 on an exact one-sided sign test over *discordant* (non-tie) stimulus votes.** Ties are not discarded; they hold the discordant count down.
| discordant stimulus votes | records that pass | p | |---:|---|---:| | ≤ 4 | none | ≥ 0.0625 | | 5–7 | zero losses only (5W/0L) | 0.031 | | 8 | one loss survivable (7W/1L) | 0.035 |
At exactly 5 stimuli, one tie is fatal because it leaves 4 discordant votes. At 6 stimuli one tie is survivable; at 7, up to two are. A loss is not. Five is an **eligibility floor**, not adequate power. For example, 80% power needs 8 discordant votes only for a true 90% conditional win rate; it needs 18 at 80%, 37 at 70%, and 158 at 60%. Size for the effect and tie rate you need to detect.
Use `runs` for reliability, not task breadth. Vally recommends 3 runs in CI and 5–10 nightly for pass rate, pass@k, pass^k, and flakiness. Extra runs never clear the five-stimulus floor.
Do not set `runs` in `dotnet-skills.experiment.yaml`; experiment overrides overwrite every eval's own value rather than defaulting it.
### Step 4: Write stimuli
- **Name** describes *what* is tested, not *how*. - **Prompt** is a natural developer request. Never mention the skill, the agent, or its vocabulary — cued prompts inflate the overfit score and bias the baseline. - Each stimulus should discriminate a **different** property of the skill. Five stimuli covering one property give arithmetic, not evidence. - Give every stimulus a stable, unique `name`. Vally pairs comparison trajectories by `(stimulus name, trial index)`; duplicate names make slot identity ambiguous. - Include a boundary / no-op stimulus for any skill that migrates or rewrites code, proving it leaves already-correct input alone.
### Step 5: Configure the environment
```yaml environment: files: - src: fixtures/broken-build/App.csproj # path relative to eval.yaml dest: App.csproj # path in the agent's working directory - src: fixtures/broken-build # a directory dest: . commands: - dotnet build -bl || exit 0 # guard intentional failures ```
**Do not set `environment.skills` in a skill eval.** The experiment declares `vary: /environment/skills` and supplies the value itself — `[]` for the baseline arm and `plugins/<plugin>/skills/<skill>` for the skilled arm — so anything the eval declares is replaced, in every arm. It cannot add a skill to one arm only. `environment.skills` is meaningful only in an `agent.*` eval, which the experiment does not vary; there it is the set of skills the agent may invoke. Copy the shape from an existing agent eval such as `tests/dotnet-test/agent.test-quality-auditor/eval.yaml` rather than reproducing a remembered form — the specs in this repo are not consistent about how they spell those entries.
Fixture rules — each one has already cost a real result:
- **Every referenced fixture must be tracked by git.** `.gitignore` (e.g. `coverage*.xml`) has silently swallowed a committed fixture: the eval passed locally and failed at setup in CI. Verify with `git ls-files`, not by looking at the working tree. - **Every fixture must behave as its stimulus assumes.** A fixture meant to be healthy must build; a fixture meant to be broken must fail for the exact reason the stimulus is about, and no other. Judges penalize agents for unrelated "pre-existing build issues" that the fixture author introduced. - **Every fixture must reproduce the bug its stimulus is named for.** If it does not, the baseline scores well and the skill has nothing to add. - **Coverage fixtures must be internally consistent.** A Cobertura report whose declared `line-rate`, summary totals (`lines-covered`/`lines-valid`), and `<line>` elements disagree lets the two arms read different truths, and the loss is the fixture's fault. Update any rubric item or prompt that quotes a figure in the same change. - **Do not wire duplicate fixtures** to raise `n`; rename leftovers add trials without evidence. - A setup command that is *expected* to fail while still producing its artifact must be guarded (`|| exit 0`), or vally drops the trial. - A cleanup command that strips sources must skip directories containing `SKILL.md` — the staged skill lives there, and deleting it aborts only the skilled arm.
### Step 6: Write graders
Graders are hard pass/fail checks evaluated on every arm.
| Type | Required config | Purpose | |------|-----------------|---------| | `output-matches` / `output-not-matches` | `pattern` | Regex over agent output | | `output-contains` / `output-not-contains` | `substring` | Literal text in output | | `file-exists` / `file-not-exists` | `path` | Glob against the work directory | | `file-contains` / `file-not-contains` | `path`, `value` | Content of a produced file | | `run-command` | `command` (plus optional `expected_exit_code`, `timeout`, `stdout_matches`) | Verify produced code actually builds/runs | | `exit-success` | — | Agent produced non-empty output | | `prompt` | — | Runs the LLM judge against the `rubric` |
Rules:
- A grader whose `config` is absent or missing its required key parses fine and **enforces nothing**. The usual cause is an indentation slip during an edit; `check_eval_quality.py` blocks it. - Prefer broad patterns that several valid approaches satisfy: `(root cause|primary error|underlying issue)`. - **If the skill mandates an output shape, assert on it.** A skill required to emit a decisive `Recommendation:` line can silently stop doing so while the eval still passes. - Use `file-not-contains` / `file-not-exists` to prove the agent avoided an incorrect action.
### Step 7: Write rubric items
Rubric items are judged pairwise (baseline vs. skilled). The overfitting judge classifies each item:
| Classification | Description | Goal | |---------------|-------------|------| | **outcome** | Whether the agent reached a correct result — WHAT, not HOW | Target this | | **technique** | Whether the agent used a skill-specific procedure | Minimize | | **vocabulary** | Whether the agent used the skill's terminology | Avoid |
1. Test outcomes, not methods: "Identified the root cause of the build failure", not "Replayed the binlog using `dotnet build /flp`". 2. Accept any valid approach. 3. Never reference the skill by name, and never reuse `SKILL.md` phrasing. 4. Never reward using the skill — the harness reports activation separately, so a rubric item that does this measures nothing and inflates the overfit score. 5. Do not test knowledge the model already has; it adds no delta. 6. Keep each item independently evaluable. 7. Do not reward raw volume (test count, report length); judges will compare it when both arms act.
**Good:**
```yaml rubric: - Correctly identified the missing NuGet package as the root cause of the build failure - Recognized that downstream failures cascaded from that root cause - Suggested a concrete fix that resolves it ```
**Overfitted:**
```yaml rubric: - Replayed the binary log using 'dotnet build /flp:v=diag' # technique - Measured cold, warm, and no-op build scenarios # vocabulary - Used the template-comparison skill # rewards activation ```
### Step 8: Add constraints sparingly
```yaml constraints: expect_tools: [bash] reject_tools: [edit, create] reject_skills: [s
Source provenance
Decision snapshot
5,312 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for create-skill-test, ready for a manual X post.
A practical pick for source-backed research: create-skill-test: Scaffolds eval.yaml evaluation specs for agent skills in the dotnet/skills repository. Use when creating skill tests, writi... 5.3K stars https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x
Listing + install path for create-skill-test: https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=x Install: npx skills add dotnet/skills --skill create-skill-test
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to dotnet but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test/audit)
[](https://www.openagentskill.com/skills/dotnet-create-skill-test?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)dotnet
@dotnet
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
mono-color
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo. Always use this skill when the user asks for 单色海报、双色印刷、单色调视觉、蓝色/绿色孔版印刷、risograph、网点照片、复古或当代编辑排版、zine poster, monochrome editorial poster, duotone print, or asks to use the mono-color style. It uses an adaptive white, gray, or pale-beige substrate, no more than two printing inks, active negative space, terse human language, and strong serif/grotesk/mono typography without making retro styling the default or copying a source composition, wording, logo, or artwork. Produce both the final generation prompt and the generated raster image unless the user explicitly asks for prompt only.
1.9K StarsLast30days Skill
Research the last 30 days across Reddit, X, YouTube, Hacker News, Polymarket, GitHub, and the web, then synthesize a grounded brief for an AI agent.
61.0K StarsAcademic Research Skills
Academic Research Skills for Claude Code: research → write → review → revise → finalize
38.4K StarsGPT Researcher
Run autonomous deep research over web and local sources
28.0K StarsPermission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness