Create and evaluate VS Code file-based instructions (.instructions.md files). Use when asked to create, scaffold, or add file-based instructions for Copilot. Generates scoped instructions and a paired Vally harness eval.
69
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
This skill helps you scaffold VS Code file-based instructions (.instructions.md files) that provide background knowledge to Copilot about specific parts of the codebase. These files are applied automatically based on glob patterns or semantic matching, giving Copilot domain-specific context when working on matching files.
.github/copilot-instructions.md or AGENTS.md insteadBuild understanding of the area the instructions should cover. Identify:
Read the repository-wide instruction files that apply to the same paths and make an explicit exclusion list. Do not repeat those rules in the new file, even when they are relevant examples for the scoped area; include only guidance that becomes more specific or materially different at the narrower scope.
If the scope is unclear or overlaps with existing instructions, ask the user for clarification.
Instructions files go in .github/instructions/ by default. Pick a descriptive filename:
.github/instructions/<topic>.instructions.mdExamples: csharp-style.instructions.md, query-pipeline.instructions.md, test-conventions.instructions.md
Create the file with the required YAML frontmatter header:
---
name: '<Display Name>' # Optional. Display name in the UI. Defaults to filename.
description: '<Short description>' # Optional. Shown on hover. Also used for semantic matching.
applyTo: '<glob pattern>' # Optional. Glob pattern relative to workspace root. Omit to require manual attachment or rely on semantic matching only.
---Common applyTo patterns:
**/*.cs — all C# filestest/** — files under a specific folderWrite concise, actionable Markdown content. Follow these principles:
Recommended sections (adapt as needed):
Create eng/harness-evaluation/instructions/<id>/eval.yaml, where <id> is the instruction path relative to .github/instructions/ with its suffix removed and nested path separators replaced by --.
Follow the authoring and validation rules in eng/harness-evaluation/README.md. Exercise guidance distinctive to the instruction and ensure the treatment meaningfully outperforms the omitted-instruction control.
For initial authoring, produce and lint the requested instruction and eval before running behavioral comparisons.
After creating the file, verify:
.github/instructions/ (or a configured instructions folder).instructions.md and only contains lowercase letters, numbers, and hyphensapplyTo glob matches the intended files.github/copilot-instructions.md or under .agents/skills/| Pitfall | Solution |
|---|---|
applyTo too broad | Use specific globs; ** applies to every file and wastes context |
Missing applyTo | Without it, instructions won't auto-apply — they require manual attachment or semantic matching via description |
| Vague guidance | Replace "write good tests" with something like "add both positive and negative test cases using [ConditionalFact] methods" |
dotnet/efcore
c0f183b
Also appears in
last in sync Sep 22, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.