name: skill-creator description: "Meta-skill for creating new DLM diagnostic skills. Use this skill when you need to author a new troubleshooting guide (SKILL.md + reference files) that follows the project's conventions. Produces a complete skill directory structure that can be dropped into .github/skills/ and .claude/skills/."
Skill Creator
Create new diagnostic skills for the DLM Diagnostics MCP server. Each skill is a self-contained directory with a SKILL.md and supporting reference files.
Prerequisites
- Familiarity with the existing skill structure (see
.github/skills/dlm-diagnostics/as the canonical example). - Knowledge of the PowerShell cmdlet allowlist in
src/powershell/allowlist.ts. - Understanding of the project's read-only safety model.
Safety Rules
- Only reference read-only cmdlets — allowed verb prefixes:
Get-*,Test-*,Export-*. - Never include mutating commands in diagnostic steps —
Set-*,New-*,Remove-*,Enable-*,Start-*,Invoke-*must only appear in the "Recommended Actions" output section, clearly marked as manual-review-only. - All cmdlets used in the skill must exist in
src/powershell/allowlist.ts— if a newGet-*cmdlet is needed, add it to the allowlist as a separate change. - No credentials or secrets — never embed tokens, passwords, or connection strings in skill files.
SKILL.md Template
Every skill must have a SKILL.md at its root with the following structure:
---
name: <skill-name>
description: "<One-paragraph description of when to invoke this skill. Include symptom keywords for matching.>"
---
# <Skill Title>
<Brief overview of what this skill investigates.>
## Prerequisites
<Required PowerShell sessions or environment setup.>
## Safety Rules
<Read-only enforcement rules specific to this skill.>
## Decision Tree
| Symptom | Reference |
|---------|-----------|
| <symptom description> | [<filename>.md](references/<filename>.md) |
## Workflow
1. **Identify the symptom** — match user description to the decision tree.
2. **Load the reference file** — read it fully before starting.
3. **Execute diagnostic commands** — step by step using `run_powershell`.
4. **Interpret results** — follow the reference guide's evaluation criteria.
5. **Cross-reference** — load linked references when directed.
6. **Report findings** — summarize using the Output Format below.
7. **Review execution log** — use `get_execution_log` for the audit trail.
## Output Format
<Standard investigation summary template.>
Reference File Structure
Each reference file in references/ should follow this pattern:
# <Issue Title>
## Overview
<Brief description of the issue and when it occurs.>
## Diagnostic Steps
### Step N: <Step Name>
**Command:**
\`\`\`powershell
<Get-* / Test-* / Export-* command>
\`\`\`
**Evaluate:**
- <What to look for in the output>
- <Condition that indicates a problem>
## Root-Cause Table
| Finding | Root Cause | Remediation |
|---------|-----------|-------------|
| <diagnostic finding> | <why it happens> | <fix command or action — marked as manual> |
## Cross-References
- [related-file.md](related-file.md) — <when to follow this link>
Creation Workflow
Follow these steps to create a new skill:
- Name the skill — use kebab-case (e.g.,
edr-diagnostics,compliance-search-triage). - Write the SKILL.md — follow the template above. Start with the YAML frontmatter
nameanddescription. - Build the decision tree — list every symptom the skill can diagnose, each mapping to a reference file.
- Create reference files — one
.mdper symptom in areferences/subdirectory. Each must include diagnostic steps with exact PowerShell commands, evaluation criteria, a root-cause table, and cross-references. - Validate cmdlets — every cmdlet used in diagnostic steps must be in
src/powershell/allowlist.ts. If a new read-only cmdlet is needed, add it to the allowlist. - Test the flow — mentally walk through at least one symptom end-to-end: decision tree → reference file → commands → evaluation → root cause → remediation.
- Write the output format — ensure it matches the standard investigation summary template.
- Mirror the skill — copy the complete skill directory to both locations:
.github/skills/<skill-name>/.claude/skills/<skill-name>/
- Update documentation — if the skill introduces new cmdlets, update
CLAUDE.mdand.github/copilot-instructions.md. - Commit — commit both skill copies and any allowlist changes together.
Validation Checklist
Before finalizing a new skill, verify:
- SKILL.md has valid YAML frontmatter with
nameanddescription - Description includes symptom keywords for AI matching
- Decision tree covers all intended symptoms
- Every decision tree entry links to an existing reference file
- All reference files exist in
references/subdirectory - All diagnostic commands use only
Get-*,Test-*, orExport-*cmdlets - All cmdlets are present in
src/powershell/allowlist.ts - Mutating commands appear only in remediation sections with manual-review warnings
- Reference files include root-cause tables
- Skill is mirrored in both
.github/skills/and.claude/skills/ - Relative
references/links resolve correctly from both locations
Canonical Example
See .github/skills/dlm-diagnostics/ (or .claude/skills/dlm-diagnostics/) for the reference implementation. It demonstrates all conventions: YAML frontmatter, decision tree, 12 reference files, safety rules, workflow, and output format.