Infra, Ops & WorkflowSûr100100/100

Creating Skills (.NET) — Vstest Github

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.

ou envoie-le directement à ton agent.

Installer dans ton projet

$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs creating-skills__dotnet-dotnet__src-vstest-github-skills-cc8b1cda5e32
.NET
dotnet/dotnet
Contenu à copier
---
name: creating-skills
description: 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.
metadata:
  origin: .NET
---

# Creating GitHub Copilot Agent Skills

This skill teaches you how to create effective GitHub Copilot Agent Skills for this repository.

## Pre-Check: Avoid Duplication

**STOP** and check before creating a new skill:

1. **Does it exist already?**
   - List all skills: `ls -la .github/skills/`
   - Read existing skill frontmatter and content
   - If semantically similar skill exists, STOP

2. **Should an existing skill be expanded?**
   - If frontmatter semantically matches your use case → Update existing skill's description
   - Add keywords to improve discoverability rather than creating duplicate

3. **Should existing skill content change?**
   - If frontmatter matches but content incomplete → Add section to existing skill
   - Enhance with additional examples, procedures, or troubleshooting
   - Update frontmatter only if significantly broadening scope

**Only create new skill if:**
- No semantic overlap with existing skills
- Addresses distinct problem domain
- Has unique triggering conditions

## Skill Structure

### Directory Placement

Skills should be placed in `.github/skills/` directory:
- **Project skills** (repository-specific): `.github/skills/skill-name/`

Each skill must have its own subdirectory with a lowercase, hyphenated name that matches the `name` field in the frontmatter.

### File Requirements

Every skill directory must contain a `SKILL.md` file (case-sensitive) with:

1. **YAML Frontmatter** (required):

2. **Markdown Body** with clear instructions, examples, procedures, guidelines, and references

### Additional Resources

Skills can include:
- Scripts (e.g., `.sh`, `.fsx`, `.ps1`)
- Example files
- Templates
- Reference documentation

## YAML Frontmatter Best Practices

The frontmatter is critical for skill discoverability and token efficiency:

### Required Fields

- **name** (string): Unique identifier, lowercase with hyphens
  - Must match the directory name
  - Should be descriptive but concise
  - Example: `hypothesis-driven-debugging`, `github-actions-failure-debugging`

- **description** (string): When and why to use this skill
  - Should be 1-2 sentences
  - Include trigger keywords that help the AI recognize when to load the skill
  - Example: "Guide for debugging failing GitHub Actions workflows. Use this when asked to debug failing GitHub Actions workflows."
  - **SEO-like optimization for LLMs**: Include key terms that would appear in user requests

### Optional Fields

- **license** (string): License for the skill (e.g., MIT, Apache-2.0)

### Description Guidelines

The description is crucial for skill discoverability. Think of it like SEO for LLMs:

✅ **Good descriptions** (specific, actionable, keyword-rich):
- "Guide for debugging failing GitHub Actions workflows. Use this when asked to debug failing GitHub Actions workflows."
- "Systematic approach to investigating F# compiler performance issues using traces, dumps, and benchmarks."
- "Step-by-step process for analyzing test failures using hypothesis-driven debugging."

❌ **Poor descriptions** (vague, generic):
- "Helps with debugging"
- "Tool for testing"
- "Useful utility"

### Token Efficiency

Skills should be concise to avoid wasting context tokens:
- Keep instructions focused and relevant
- Use bullet points and numbered lists
- Avoid redundant information
- Reference external resources rather than duplicating content
- The agent will only load skills when relevant, so clear descriptions help prevent unnecessary loading

## Skill Content Best Practices

### Structure

1. **Title and Overview**: Brief introduction
2. **When to Use**: Clear triggering conditions
3. **Prerequisites**: Required tools, setup, or knowledge
4. **Step-by-Step Instructions**: Numbered procedures
5. **Examples**: Concrete use cases
6. **Troubleshooting**: Common issues
7. **References**: Links to related documentation

### Writing Style

- Use imperative mood ("Run the test", not "You should run the test")
- Be specific and actionable
- Include command examples with expected output
- Use code blocks with language identifiers
- Highlight warnings and critical information
- Reference tools and APIs that the agent has access to

### Examples

Always include concrete examples:
- Command invocations with flags and arguments
- Expected output and how to interpret it
- Common variations and edge cases
- Links to real-world usage in the repository

## Testing Your Skill

After creating a skill:

1. Verify the file structure:
   ```bash
   ls -la .github/skills/your-skill-name/
   # Should show SKILL.md and any additional resources
   ```

2. Validate YAML frontmatter:
   - Ensure proper YAML syntax
   - Required fields are present
   - Name matches directory name

3. Test skill invocation:
   - Ask Copilot a question that should trigger the skill
   - Verify the skill is loaded (check response for skill-specific guidance)
   - Ensure instructions are clear and actionable

4. Iterate based on usage:
   - Monitor how often the skill is used
   - Refine description for better discoverability
   - Update instructions based on feedback

## Examples from This Repository

See existing skills in `.github/skills/` for reference:
- `hypothesis-driven-debugging`: Systematic failure investigation
- Additional skills may be added over time

## References

- [GitHub Copilot Agent Skills Documentation](https://docs.github.com/en/copilot/concepts/agents/about-agent-skills)
- [Agent Skills Open Standard](https://github.com/agentskills/agentskills)
- [Community Skills Collection](https://github.com/github/awesome-copilot)
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.

Ce que fait Creating Skills (.NET) — Vstest Github

List all skills: `ls -la .github/skills/`
Read existing skill frontmatter and content
If semantically similar skill exists, STOP
If frontmatter semantically matches your use case → Update existing skill's description

Comment utiliser Creating Skills (.NET) — Vstest Github

1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.

Déclencheurs pour Creating Skills (.NET) — Vstest Github

Dis simplement à ton agent quelque chose comme :

Applique le skill creating-skills__dotnet-dotnet__src-vstest-github-skills-cc8b1cda5e32 à cette tâche
Utilise creating-skills__dotnet-dotnet__src-vstest-github-skills-cc8b1cda5e32 pour améliorer cette implémentation
Passe en revue ce sujet avec creating-skills__dotnet-dotnet__src-vstest-github-skills-cc8b1cda5e32

Skills liés à Creating Skills (.NET) — Vstest Github

Add CLI Command (.NET)
Add or change a dotnet CLI command, subcommand, or option across the relevant CLI projects. USE FOR: adding or changing a dotnet CLI command/subcommand, adding a new Option<T> or Argument<T>, registering a subcommand in the command tree, changing an option's help description or a command's runtime message, wiring a command parser, or updating --help output.
Add Dotnet Aot Command (.NET)
Add, enable, or review a dotnet CLI command or feature in the Native AOT CLI (src/Cli/dotnet-aot) and prove its compatibility. USE FOR: migrating a command or option to AOT, reviewing an AOT migration PR, defining conservative eligibility and managed fallback, changing AotSourceFiles.props or AotDependencies.props, validating AOT/managed parity, NativeAOT-publishing tests, checking binary-size impact, or using the dn harness and separated SDK layout. DO NOT USE FOR: resolving IL trim/AOT analyzer warnings alone (use dotnet-aot-compat), running dotnet.Tests incrementally (use incremental-test), or pure managed CLI work.
Add Net Analyzer (.NET)
Add, port, or change a .NET code analysis rule (CA####) under src/Microsoft.CodeAnalysis.NetAnalyzers. USE FOR: implementing a new CA analyzer and its code fixer, porting a rule or PR from the retired dotnet/roslyn-analyzers repo, allocating a diagnostic ID from DiagnosticCategoryAndIdRanges.txt, choosing RuleLevel/severity/category, wiring resx + xlf strings, recording the rule in AnalyzerReleases.Unshipped.md, regenerating the analyzer documentation/sarif files, and writing MSTest analyzer/code-fix tests with the VerifyCS/VerifyVB harness. DO NOT USE FOR: NETSDK#### MSBuild diagnostics (src/Tasks), CS####/BC#### compiler diagnostics or IDE#### analyzers (dotnet/roslyn), or CONTAINER#### diagnostics (src/Containers).