Skip to main content

make-skill

Create, review, or fix Agent Skills for GitHub Copilot. Use when asked to create, scaffold, improve, or repair a SKILL.md and its paired harness evaluation.

Source facts

Repository
dotnet/efcore
Last source activity
October 8, 2026 at 18:29
Detected SKILL.md language
English
Stars
14,795
Forks
3,435

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
make-skill
description
Create, review, or fix Agent Skills for GitHub Copilot. Use when asked to create, scaffold, improve, or repair a SKILL.md and its paired harness evaluation.
# Create Or Fix A Skill Produce concise, stable task guidance that adds knowledge an agent cannot reliably infer from source alone, together with a paired evaluation that proves the guidance changes behavior. ## Choose The Right Primitive - Use a skill for a task-specific workflow or body of knowledge loaded on demand. - Use file instructions for background guidance scoped to paths. - Use a custom agent when context isolation or distinct tool restrictions are required. - Prefer an existing skill over creating an overlapping one. ## Workflow 1. Read the relevant implementation, tests, repository instructions, and neighboring customizations. 2. Identify repeated mistakes or non-obvious invariants. Do not turn source inventories, line counts, or facts easily rediscovered from code into skill content. 3. Create `.agents/skills/<name>/SKILL.md`. The frontmatter `name` must exactly match the directory; the description must state what the skill does and when natural user requests should trigger it. 4. Mark background domain guidance `user-invocable: false`. Keep user-invocable workflows focused on an outcome a user would deliberately request. 5. Write actionable guidance with observable validation. Explain why edge cases matter; avoid generic engineering advice already present in repository instructions. 6. Create `eng/harness-evaluation/skills/<name>/eval.yaml` and follow `eng/harness-evaluation/README.md`. 7. Lint the customization and inspect both control and treatment artifacts before accepting it. ## Paired Evaluation - The eval root `agent_environment.skills` contains only the target skill. Stimulus inputs belong under each stimulus's `agent_environment.files`. - The runner removes the root skill for control and separately verifies treatment activation. Do not add a `skill-invocation` grader and do not tell the agent to invoke the skill in the shared prompt. - Prompts may identify fixtures, proposed code, fixed IDs, and output paths, but must not reveal the expected diagnosis, owning mechanism, or regression-test design. - Use deterministic graders for observable artifacts, a narrow semantic rubric for behavior, and a `token-budget` grader. Define bounded turns, tokens, and duration plus a committed scoring threshold. - The task must exercise guidance distinctive to the skill. A control that consistently matches treatment means the skill or eval is not useful enough. ## Validation - Frontmatter parses and the name matches the directory. - The skill is concise, stable, and does not duplicate root or scoped instructions. - File references are relative and exist. - Validation steps are observable and task-specific. - The paired eval targets only the skill, has complete bounded grading, and uses a solution-neutral prompt. - `npm run lint` and the harness inventory tests pass. ## Common Pitfalls | Pitfall | Correction | |---|---| | Copying implementation inventories into the skill | Keep only non-obvious invariants and routing decisions | | Exact line counts or volatile metrics | Remove them; point to stable symbols or behavior | | Generic test-folder guidance | Describe the distinctive test shape or omit it | | Eval prompt tells the agent what to find | Move expected facts into the hidden rubric | | Eval root contains repository fixtures | Keep only the target skill at root; stage fixtures per stimulus | | Prompt instructs skill invocation | Let the treatment-only runner gate enforce activation | | Initial scaffold launches multi-model review | First produce and lint the requested artifacts; run expensive behavioral validation separately |
View on GitHub