$npx -y skills add rianvdm/product-ai-public --skill check-skillUse when the user says "check this skill", "review this skill", "quality check skill", "audit this skill", "skill quality check", "does this skill follow best practices", or provides a path to a SKILL.md file for review. Also triggers on "check skill quality", "skill review", or
| 1 | # Checking Skill Quality |
| 2 | |
| 3 | ## Context Required |
| 4 | |
| 5 | Read the target SKILL.md file before running. If the skill has a folder with supporting |
| 6 | files (templates, examples, scenarios), read those too to assess context binding. |
| 7 | |
| 8 | ## Steps |
| 9 | |
| 10 | 1. Ask for the skill path if not provided |
| 11 | 2. Read the full SKILL.md at that path — do not skim |
| 12 | 3. If a skill folder exists, list its contents and read any supporting files |
| 13 | 4. Check the frontmatter: |
| 14 | - Name: lowercase, hyphens only, max 64 chars, gerund form (verb-ing)? |
| 15 | - Description: starts with "Use when..."? Lists trigger phrases? Written in third person? Loud and specific? |
| 16 | 5. Check for the 5 Skill Killers: |
| 17 | - **Killer 1 — Vague/quiet description**: Is it specific, loud, third-person, with "Use when..." format and edge-case triggers? |
| 18 | - **Killer 2 — Over-defined process**: Is freedom matched to task fragility? Tight for fragile ops, loose for creative? |
| 19 | - **Killer 3 — Stating the obvious**: Does every paragraph add signal the model doesn't already know? Challenge each section. |
| 20 | - **Killer 4 — Missing gotcha section**: Is there a dedicated Gotcha Section with documented failure patterns specific to this skill? |
| 21 | - **Killer 5 — Monolithic blob**: Is the SKILL.md under 500 lines? |
| 22 | 6. Check skill anatomy completeness and quality: |
| 23 | - Steps: numbered list (not prose)? |
| 24 | - Output: literal template/example shown (not just described)? |
| 25 | - Gotcha Section: present and substantive — not empty, not generic? |
| 26 | - Constraints: sharp and specific to this skill (not generic model behavior)? |
| 27 | - Identity/role section: absent? Flag explicitly if present — "Act as a senior X" is always an anti-pattern |
| 28 | 7. Check scoping: |
| 29 | - Can you describe the skill's job in one sentence? |
| 30 | - Does it have two distinct triggers suggesting it should be two skills? |
| 31 | - Would two different people use different halves of it? |
| 32 | 8. Check context binding: |
| 33 | - Are files specific to this skill in the folder? |
| 34 | - Are shared/org-level references pointed to externally (not duplicated)? |
| 35 | - Is any context that should be external being embedded inline? |
| 36 | 9. Classify the skill type: |
| 37 | - **Capability Uplift**: new function the model can't do well alone — note it may become obsolete as models improve |
| 38 | - **Encoded Preference**: your workflow for something the model can do — note it gets more valuable over time |
| 39 | 10. Generate the audit report per the output format below |
| 40 | |
| 41 | ## Output |
| 42 | |
| 43 | ### Skill Quality Audit: `[skill-name]` |
| 44 | |
| 45 | **Type:** Capability Uplift / Encoded Preference |
| 46 | **Overall verdict:** SOLID / NEEDS WORK / RED FLAG |
| 47 | |
| 48 | --- |
| 49 | |
| 50 | **5 Skill Killers Check** |
| 51 | |
| 52 | | # | Killer | Status | Notes | |
| 53 | |---|--------|--------|-------| |
| 54 | | 1 | Vague/quiet description | PASS / FAIL | [specifics] | |
| 55 | | 2 | Over-defined process | PASS / FAIL | [specifics] | |
| 56 | | 3 | Stating the obvious | PASS / FAIL | [specifics] | |
| 57 | | 4 | Missing gotcha section | PASS / FAIL | [specifics] | |
| 58 | | 5 | Monolithic blob | PASS / FAIL | [line count] | |
| 59 | |
| 60 | --- |
| 61 | |
| 62 | **Anatomy Check** |
| 63 | |
| 64 | | Section | Present | Quality | Notes | |
| 65 | |---------|---------|---------|-------| |
| 66 | | Name (gerund, hyphens, ≤64 chars) | Yes/No | Good/Weak/N/A | | |
| 67 | | Description (trigger, loud, 3rd person) | Yes/No | Good/Weak | | |
| 68 | | Context Required | Yes/No | Good/Weak/N/A | | |
| 69 | | Steps (numbered, not prose) | Yes/No | Good/Weak | | |
| 70 | | Output (literal template shown) | Yes/No | Good/Weak | | |
| 71 | | Gotcha Section (substantive) | Yes/No | Good/Weak | | |
| 72 | | Constraints | Yes/No | Good/Weak/N/A | | |
| 73 | | Identity/role section (should be ABSENT) | Absent/Present | — | Flag if present | |
| 74 | |
| 75 | --- |
| 76 | |
| 77 | **Scoping** |
| 78 | - One clear job: [yes/no + one-sentence description of the job] |
| 79 | - Split candidate: [yes/no + reason if yes] |
| 80 | |
| 81 | **Context Binding** |
| 82 | - In-folder files: [list, or "none"] |
| 83 | - External references: [list, or "none"] |
| 84 | - Misplaced context: [yes/no + specifics if yes] |
| 85 | |
| 86 | --- |
| 87 | |
| 88 | **Top Recommended Improvements** |
| 89 | 1. [Most impactful fix — be specific, not generic] |
| 90 | 2. [Second fix] |
| 91 | 3. [Third fix, if applicable] |
| 92 | |
| 93 | **Litmus Test** |
| 94 | After this skill runs, can the output be used directly — or will it need editing and restructuring? [honest assessment based on how precise the steps and output format are] |
| 95 | |
| 96 | --- |
| 97 | |
| 98 | ## Gotcha Section |
| 99 | |
| 100 | - Do not mark a skill SOLID just because all sections are present — check the QUALITY of each section, not just presence |
| 101 | - A description that lists trigger phrases but is vague about what the skill does still fails Killer 1 |
| 102 | - The Gotcha Section is the highest-signal content in any skill — missing or generic gotcha co |