.github/skills/creating-skills/SKILL.md
Create custom agent capabilities when discovering novel tools, receiving task-agnostic tips from reviewers, or after researching specialized workflows not covered in existing instructions. Teaches structure, YAML optimization for LLM discoverability, and token efficiency.
npx skillsauth add microsoft/vstest creating-skillsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill teaches you how to create effective GitHub Copilot Agent Skills for this repository.
STOP and check before creating a new skill:
Does it exist already?
ls -la .github/skills/Should an existing skill be expanded?
Should existing skill content change?
Only create new skill if:
Skills should be placed in .github/skills/ directory:
.github/skills/skill-name/Each skill must have its own subdirectory with a lowercase, hyphenated name that matches the name field in the frontmatter.
Every skill directory must contain a SKILL.md file (case-sensitive) with:
YAML Frontmatter (required):
Markdown Body with clear instructions, examples, procedures, guidelines, and references
Skills can include:
.sh, .fsx, .ps1)The frontmatter is critical for skill discoverability and token efficiency:
name (string): Unique identifier, lowercase with hyphens
hypothesis-driven-debugging, github-actions-failure-debuggingdescription (string): When and why to use this skill
The description is crucial for skill discoverability. Think of it like SEO for LLMs:
✅ Good descriptions (specific, actionable, keyword-rich):
❌ Poor descriptions (vague, generic):
Skills should be concise to avoid wasting context tokens:
Always include concrete examples:
After creating a skill:
Verify the file structure:
ls -la .github/skills/your-skill-name/
# Should show SKILL.md and any additional resources
Validate YAML frontmatter:
Test skill invocation:
Iterate based on usage:
See existing skills in .github/skills/ for reference:
hypothesis-driven-debugging: Systematic failure investigationdevelopment
Best practices for writing MSTest 3.x/4.x unit tests. Use when the user needs to write, improve, fix, or review MSTest tests, including modern assertions, data-driven tests, test lifecycle, and common anti-patterns. Also use when fixing test issues like swapped Assert.AreEqual arguments, incorrect assertion usage, or modernizing legacy test code. Covers MSTest.Sdk, sealed classes, Assert.Throws, DynamicData with ValueTuples, TestContext, and conditional execution.
development
Build, test, and validate changes in the vstest repository. Use when building vstest projects, running unit tests, smoke tests, or acceptance tests, or when deploying locally built vstest.console for manual testing.
development
Validate that commands documented in skill files actually work. Use when creating, updating, or reviewing skills to ensure all documented commands exit with code 0.
testing
Parse and analyze Visual Studio TRX test result files. Use when asked about slow tests, test durations, test frequency, flaky tests, failure analysis, or test execution patterns from TRX files.