Audit and improve skill collections with a 9-dimension scoring framework (Knowledge Delta, Mindset, Anti-Patterns, Specification Compliance, Progressive Disclosure, Freedom Calibration, Pattern Recognition, Practical Usability, Eval Validation), duplication detection, remediation planning, baseline comparison, and CI quality gates; use when evaluating skill quality, generating remediation plans, detecting duplicates, validating artifact conventions, or enforcing publication thresholds.
93
89%
Does it follow best practices?
Impact
99%
1.26xAverage score across 5 eval scenarios
Passed
No known issues
Use this as the structural blueprint when authoring or refactoring any SKILL.md file. Copy the sections that apply; omit optional sections only when genuinely not needed.
---
name: {kebab-case-name}
description: "{150-300 char description with domain keywords and trigger phrases. Use when...}"
---
# {Title Case Skill Name}
## When to Use
- {Trigger scenario 1}
- {Trigger scenario 2}
## When Not to Use
- {Anti-trigger scenario 1}
## Principles
1. {Core principle or philosophy — the mental model the agent must adopt}
2. {Second principle}
## Workflow
1. {Step 1} — **Verify:** {how to confirm this succeeded}
2. {Step 2}
3. {Step 3} — **Stop if:** {blockers that require human input}
## Quick Commands
```bash
# {Command description}
{command}
```
Expected result: {what success looks like}
## Anti-Patterns
### NEVER {do X}
**WHY:** {reason this fails}
**BAD:** {concrete example of the anti-pattern}
**GOOD:** {concrete example of the correct approach}
**Consequence:** {what breaks when this anti-pattern is used}
## References
| Topic | Reference | When to Use |
| --- | --- | --- |
| {What this reference covers} | [{Display Name}](references/{file}.md) | {Scenario when agent should load this} |
| {External resource description} | [{Title}](https://example.com) | {When to consult official docs} |---
name: skill-name # Required. Must match directory name. kebab-case only.
description: "..." # Required. 150-300 chars. Include domain keywords + trigger phrases.
---#) is the skill title — title case, human-readablename verbatim; expand itExpected result: on its own linebunx, npx, or language-agnostic paths — no harness-specific prefixes### NEVER <imperative phrase>The ## References section MUST:
Topic, Reference, When to UseReference cell contain a markdown link [text](url) — no bare paths, no bare URLsTopic describe what the reference coversWhen to Use state the concrete scenario that tells an agent to load itOptional H3 sub-headings are allowed to group rows by theme (e.g. ### Generators, ### Executors).
Full example:
## References
### Core
| Topic | Reference | When to Use |
| --- | --- | --- |
| Rule pack options, Aspects API, and suppression patterns | [Implementation Guide](references/implementation-guide.md) | First-time setup or rule pack selection |
| Complete list of AwsSolutions rules and severity levels | [Rule Packs](references/rule-packs.md) | Triaging an unfamiliar finding |
### External
| Topic | Reference | When to Use |
| --- | --- | --- |
| Official cdk-nag rule catalog and release notes | [cdk-nag GitHub](https://github.com/cdklabs/cdk-nag) | Checking rule IDs or upgrade behavior || Mistake | Fix |
|---|---|
Bullet list in ## References instead of table | Convert to Topic | Reference | When to Use table |
Heading ## Resources or ## See Also | Rename to exactly ## References |
Bare URL in Reference column: https://... | Wrap as [Title](https://...) |
Missing When to Use column | Add column — "When to consult" forces actionable descriptions |
## References is not the last H2 | Move it to the end of the file |
| References section appears mid-file before Anti-Patterns | Reorder: Anti-Patterns → References |
assets
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
references
scripts