Skill Factory
Batch-author complete custom Cowork skill packages — SKILL.md plus optional references/, scripts/, and assets/ folders — to a rigorous quality bar, with pre-write template study, tiered structure selection, and post-write verification.
When to Use
- User wants to create one or more new custom skills with supporting files
- User specifies a tier (Standard, Enhanced, Full Package) or needs guidance picking one
- User asks for a "skill package" with references, scripts, or assets
- User provides a batch list of skills to generate in a single request
- User wants skills authored against an explicit quality bar (trigger phrases, tables, troubleshooting rows)
When NOT to Use
- Simple single-skill creation with no supporting files → use the built-in
skills skill
- Editing or tuning an existing skill → use
skills
- Deleting or auditing existing skills → use
skills
- Editing personal instructions (
copilot-instructions.md) → use skills
- Writing non-skill documents (Word, PDF, Excel) → use the corresponding document skill
Quick Start
User: "Create 3 full-package skills: project-retrospective, executive-brief, quarterly-planning."
Steps:
- Study templates — read 3–4 built-in skills at
/opt/workspace-config/.claude/skills/ and the legal-redliner gold-standard at /mnt/user-config/.claude/skills/legal-redliner/
- Check capacity — confirm new skills fit under the 50-skill limit
- Validate names — ensure kebab-case, no shadowing of built-in names
- Draft each package — SKILL.md first, then references/scripts/assets per tier
- Write files —
mkdir -p the skill directory, then Write each file
- Verify —
Glob the skill directory and confirm every declared file exists
- Report — tell the user what was created and that OneDrive sync lands in ~35 seconds
Paths & Sync
| Path |
Purpose |
Writable |
/mnt/user-config/.claude/skills/{name}/ |
Personal skill directory — write here |
Yes, syncs to OneDrive |
/opt/workspace-config/.claude/skills/ |
Built-in skills — study only |
Read-only |
/mnt/user-config/.claude/skills/legal-redliner/ |
Gold-standard full-package example |
Read-only reference |
OneDrive visibility: Files written to /mnt/user-config/.claude/skills/{name}/ appear in the user's OneDrive under Cowork/Skills/{name}/ after ~35 seconds (rclone flush + blob replication).
Limit: 50 skills maximum. Each SKILL.md must stay under 1 MB.
Tier Selection
| Tier |
Folders |
When to Use |
| Standard |
SKILL.md only |
Simple workflows, narrow domain, no lookup tables or static templates required |
| Enhanced |
SKILL.md + references/ |
Dense lookup tables, scoring rubrics, classification frameworks, or heuristics that would bloat SKILL.md |
| Full Package |
SKILL.md + references/ + scripts/ + assets/ |
Deterministic processing (segmentation, scoring engines), pre-approved boilerplate, or complex multi-step pipelines (e.g., legal-redliner) |
If the user does not specify a tier, propose one based on scope — recommend Enhanced for any skill needing frameworks like ADKAR/RACI/RAID, and Full Package when the skill has deterministic computation or verbatim template content.
See references/component-spec.md for exact sizing rules per component.
Authoring Workflow
Phase 1 — Study (MANDATORY before writing)
Before drafting anything, read these references to absorb the house style:
- 3–4 built-in skills at
/opt/workspace-config/.claude/skills/ — e.g. calendar-management/SKILL.md, daily-briefing/SKILL.md, meeting-intel/SKILL.md, stakeholder-comms/SKILL.md
- Legal-redliner at
/mnt/user-config/.claude/skills/legal-redliner/ — the gold-standard Full Package with references, scripts, and assets all cross-linked
- Templates at
/opt/workspace-config/.claude/skills/skills/references/templates.md
Extract and mirror:
- YAML frontmatter shape (
name, multi-line description, optional cowork: block)
- Section ordering (Overview/When to Use/When NOT/Quick Start/Core Instructions/Guardrails/Common Issues)
- Table patterns, trigger-phrase density, tone
Phase 2 — Plan Each Skill
For every skill in the batch, capture:
| Field |
Requirement |
| Name |
kebab-case, ^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,63}$, not shadowing built-ins |
| One-line description |
Outcome-oriented, business language |
| Tier |
Standard / Enhanced / Full Package |
| Trigger phrases |
≥8, phrased as user-quoted actions |
| Frameworks used |
ADKAR, 5 Whys, RACI, RAID, Kotter, OKR, etc. (real, established) |
| Built-in skills leveraged |
docx, xlsx, pptx, pdf, render-ui, email, calendar, etc. |
| Output deliverables |
Each mapped to a specific file skill |
Phase 3 — Draft SKILL.md
Every SKILL.md must contain these sections in order:
- YAML frontmatter —
name, multi-line description with all triggers plus "Do NOT use for…" exclusions, optional cowork: block
- H1 title matching the skill's human name
- When to Use — bullet list of concrete trigger situations
- When NOT to Use — bullet list with delegation to other skills
- Quick Start — one example end-to-end workflow
- Core Instructions / Workflow — detailed steps with tables, templates, or frameworks
- Built-In Skills Used — table mapping each built-in skill to how it's used
- Output Deliverables — table mapping each deliverable to a file skill (docx/xlsx/pptx/pdf) or inline render
- Guardrails — hard rules as bullet list
- Common Issues — troubleshooting table with ≥6 rows
Target 200–400 lines of Markdown. See references/quality-rubric.md for scoring.
Phase 4 — Author Supporting Files (Enhanced / Full Package)
Only for tiers that include them — skip for Standard.
references/ (Enhanced and above)
- Dense lookup tables, scoring algorithms, classification frameworks, heuristics
- 80–200 lines per file
- Loaded on-demand by the skill
- Link from SKILL.md with
[name](references/file.md) using relative paths
scripts/ (Full Package only)
- Pure Python 3, standard library only
- Deterministic processing that should run as code, not AI (text segmentation, data extraction, scoring engines)
- Structured JSON output to stdout
- 150–400 lines per file
- Reference from SKILL.md via
python scripts/filename.py <args>
assets/ (Full Package only)
- Static templates and pre-approved content inserted verbatim at runtime
- Never AI-generated at runtime — stored literal content only
- Use
[PLACEHOLDER_NAME] syntax for variable substitution
- 10–150 lines per file
- Link from SKILL.md with
[name](assets/file.md)
See assets/cover-note-template.md for a ready-to-reuse cover-note template and assets/checklist-template.md for a pre-write QA checklist.
Phase 5 — Write
For each skill in the batch:
mkdir -p /mnt/user-config/.claude/skills/{name}/references /mnt/user-config/.claude/skills/{name}/scripts /mnt/user-config/.claude/skills/{name}/assets
(Omit subfolders that aren't required for the tier.)
Use the Write tool — not echo or cat heredocs — to create each file. Writes must be idempotent: if re-running the batch, confirm before overwriting.
Phase 6 — Verify (DELIVERY GATE)
After writing, for every skill in the batch:
Glob /mnt/user-config/.claude/skills/{name}/**/*
Confirm:
If any file is missing, investigate and re-write before reporting success. Never tell the user "done" before Glob confirms the files.
Phase 7 — Report
Tell the user in plain language:
- What was created (bulleted list with name + one-line description + tier)
- OneDrive sync timing (~35 seconds)
- How to test (invoke with a trigger phrase from the description)
Quality Bar
Every skill produced by this factory must meet these thresholds:
| Metric |
Minimum |
| SKILL.md length |
200 lines |
| SKILL.md length (max) |
400 lines |
| Trigger phrases in description |
8 |
| Tables in SKILL.md |
5 |
| Troubleshooting rows |
6 |
| Frameworks cited (if analytical) |
1+ real/established framework |
| Cross-links from SKILL.md to supporting files |
Every reference/script/asset must be linked |
| Calculations performed by AI |
0 — all calculations must use code tools |
See references/quality-rubric.md for the full scoring breakdown.
Built-In Skills Used
| Built-in Skill |
How It's Used |
| skills |
Name validation, count checks, and delegation for single-skill lifecycle ops |
| Word (docx) |
Skills often declare docx deliverables — this factory verifies the mapping is correct |
| Excel (xlsx) |
Same — checks the skill's output table points to xlsx where tabular data is produced |
| PowerPoint (pptx) |
Same — verifies deck deliverables reference pptx |
| PDF |
Same — verifies PDF deliverables route through the pdf skill |
| render-ui |
Recommended for skills with KPI cards, charts, or 4+ row tables |
| Enterprise Search |
For skills that retrieve M365 content — verifies the retrieval pattern is documented |
| Deep Research |
For skills with verifiable claims — verifies the delegation is declared |
Output Format
| Deliverable |
Location |
File Skill |
| Skill package (SKILL.md + supporting files) |
/mnt/user-config/.claude/skills/{name}/ |
Plain Markdown + Python (written via Write tool) |
| Batch summary |
Inline chat response |
None — plain text |
| Verification report |
Inline chat response |
None — plain text |
This factory does not produce docx/xlsx/pptx/pdf — it produces Markdown + Python source files for the skill runtime.
Guardrails
- Never modify built-in skills:
/opt/workspace-config/.claude/skills/ is read-only
- Never fabricate frameworks: Only cite established frameworks (ADKAR, Kotter, 5 Whys, RACI, RAID, OKR, MoSCoW, SWOT, PESTLE, etc.) — if unsure, omit or use deep-research to verify
- Always study templates first: Never write a skill without reading at least 3 built-in skills in the current session
- Verify before reporting success: Glob the output directory after writing — missing files must block the success message
- Kebab-case names only:
^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,63}$, no shadowing of built-ins (pdf, docx, xlsx, pptx, skills, calendar-management, meeting-intel, stakeholder-comms, daily-briefing, schedule-meeting, deep-reasoning, render-ui)
- Respect the 50-skill limit: Count existing skills before creating; if the batch would exceed the limit, inform the user and ask what to remove
- All calculations via code: Any scoring, counting, or percentage in a generated skill must route to code tools — never instruct the AI to do mental arithmetic
- Cross-link every file: If
references/foo.md exists but SKILL.md doesn't link to it, it is dead weight — either link or delete
- Plain language in descriptions: Use outcome-oriented trigger phrases ("summarize my week") not implementation details ("calls SearchM365 with keyword filter")
Common Issues
| Issue |
Cause |
Fix |
| Skill not triggering after creation |
Description lacks trigger phrases or replication lag |
Confirm ≥8 trigger phrases present; wait 35s; test with exact trigger from description |
| YAML parse error on load |
Unescaped colon in description or bad indentation |
Wrap description in ` |
| Skill name rejected |
Invalid characters, starts with non-alphanumeric, or shadows a built-in |
Regenerate as kebab-case, ensure first char is letter/digit, avoid built-in names |
| Supporting files exist but skill never uses them |
Missing cross-links in SKILL.md |
Add [label](references/foo.md) or python scripts/foo.py references |
| Write succeeds but Glob shows empty directory |
Wrote to wrong path (e.g., /mnt/workspace/ instead of /mnt/user-config/) |
Re-write to /mnt/user-config/.claude/skills/{name}/ and re-verify |
| Batch hits the 50-skill cap |
Too many existing skills |
List current skills, have user pick what to delete before continuing |
| Script in skill fails at runtime |
Non-stdlib import or wrong Python path |
Restrict to Python 3 standard library; test execution path before committing |
| Skill description too broad, triggers on unrelated requests |
Overly generic language |
Add "Do NOT use for…" exclusions and narrow the trigger verbs |
| SKILL.md exceeds 400 lines |
Too much content inline |
Move dense tables/frameworks to references/*.md and cross-link |
| Generated skill has no troubleshooting table |
Draft phase skipped Common Issues |
Always include ≥6 rows — use assets/checklist-template.md as a pre-write checklist |
1---2name: skill-factory3description: Batch-creates complete custom Cowork skill packages (SKILL.md plus optional references/, scripts/, assets/ folders) by first studying built-in skills as templates, then generating skills at a specified tier (Standard, Enhanced, Full Package) with rigorous quality controls, trigger-phrase density, cross-linked supporting files, and post-write verification. Use when the user asks to "create skills", "build a skill package", "generate custom skills", "make multiple skills", "bulk create skills", "spin up a skill package", "build a full skill", "create a tiered skill", "author a skill with references and scripts", "create skills in OneDrive", "skill factory", "batch skill creation", or describes a multi-skill authoring workflow with a quality bar. Do NOT use for single quick skill creation without supporting files — use the built-in `skills` skill for that. Do NOT use for editing, deleting, or auditing existing skills — use `skills` for lifecycle operations.4---56# Skill Factory78Batch-author complete custom Cowork skill packages — SKILL.md plus optional `references/`, `scripts/`, and `assets/` folders — to a rigorous quality bar, with pre-write template study, tiered structure selection, and post-write verification.910## When to Use1112- User wants to create **one or more** new custom skills with supporting files13- User specifies a tier (Standard, Enhanced, Full Package) or needs guidance picking one14- User asks for a "skill package" with references, scripts, or assets15- User provides a batch list of skills to generate in a single request16- User wants skills authored against an explicit quality bar (trigger phrases, tables, troubleshooting rows)1718## When NOT to Use1920- Simple single-skill creation with no supporting files → use the built-in `skills` skill21- Editing or tuning an existing skill → use `skills`22- Deleting or auditing existing skills → use `skills`23- Editing personal instructions (`copilot-instructions.md`) → use `skills`24- Writing non-skill documents (Word, PDF, Excel) → use the corresponding document skill2526---2728## Quick Start2930**User**: "Create 3 full-package skills: project-retrospective, executive-brief, quarterly-planning."3132**Steps**:331. **Study templates** — read 3–4 built-in skills at `/opt/workspace-config/.claude/skills/` and the `legal-redliner` gold-standard at `/mnt/user-config/.claude/skills/legal-redliner/`342. **Check capacity** — confirm new skills fit under the 50-skill limit353. **Validate names** — ensure kebab-case, no shadowing of built-in names364. **Draft each package** — SKILL.md first, then references/scripts/assets per tier375. **Write files** — `mkdir -p` the skill directory, then Write each file386. **Verify** — `Glob` the skill directory and confirm every declared file exists397. **Report** — tell the user what was created and that OneDrive sync lands in ~35 seconds4041---4243## Paths & Sync4445| Path | Purpose | Writable |46|------|---------|----------|47| `/mnt/user-config/.claude/skills/{name}/` | Personal skill directory — **write here** | Yes, syncs to OneDrive |48| `/opt/workspace-config/.claude/skills/` | Built-in skills — **study only** | Read-only |49| `/mnt/user-config/.claude/skills/legal-redliner/` | Gold-standard full-package example | Read-only reference |5051**OneDrive visibility**: Files written to `/mnt/user-config/.claude/skills/{name}/` appear in the user's OneDrive under `Cowork/Skills/{name}/` after ~35 seconds (rclone flush + blob replication).5253**Limit**: 50 skills maximum. Each `SKILL.md` must stay under 1 MB.5455---5657## Tier Selection5859| Tier | Folders | When to Use |60|------|---------|-------------|61| **Standard** | `SKILL.md` only | Simple workflows, narrow domain, no lookup tables or static templates required |62| **Enhanced** | `SKILL.md` + `references/` | Dense lookup tables, scoring rubrics, classification frameworks, or heuristics that would bloat SKILL.md |63| **Full Package** | `SKILL.md` + `references/` + `scripts/` + `assets/` | Deterministic processing (segmentation, scoring engines), pre-approved boilerplate, or complex multi-step pipelines (e.g., legal-redliner) |6465If the user does not specify a tier, propose one based on scope — recommend Enhanced for any skill needing frameworks like ADKAR/RACI/RAID, and Full Package when the skill has deterministic computation or verbatim template content.6667See [references/component-spec.md](references/component-spec.md) for exact sizing rules per component.6869---7071## Authoring Workflow7273### Phase 1 — Study (MANDATORY before writing)7475Before drafting anything, read these references to absorb the house style:76771. **3–4 built-in skills** at `/opt/workspace-config/.claude/skills/` — e.g. `calendar-management/SKILL.md`, `daily-briefing/SKILL.md`, `meeting-intel/SKILL.md`, `stakeholder-comms/SKILL.md`782. **Legal-redliner** at `/mnt/user-config/.claude/skills/legal-redliner/` — the gold-standard Full Package with references, scripts, and assets all cross-linked793. **Templates** at `/opt/workspace-config/.claude/skills/skills/references/templates.md`8081Extract and mirror:82- YAML frontmatter shape (`name`, multi-line `description`, optional `cowork:` block)83- Section ordering (Overview/When to Use/When NOT/Quick Start/Core Instructions/Guardrails/Common Issues)84- Table patterns, trigger-phrase density, tone8586### Phase 2 — Plan Each Skill8788For every skill in the batch, capture:8990| Field | Requirement |91|-------|-------------|92| Name | kebab-case, `^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,63}$`, not shadowing built-ins |93| One-line description | Outcome-oriented, business language |94| Tier | Standard / Enhanced / Full Package |95| Trigger phrases | ≥8, phrased as user-quoted actions |96| Frameworks used | ADKAR, 5 Whys, RACI, RAID, Kotter, OKR, etc. (real, established) |97| Built-in skills leveraged | docx, xlsx, pptx, pdf, render-ui, email, calendar, etc. |98| Output deliverables | Each mapped to a specific file skill |99100### Phase 3 — Draft SKILL.md101102Every SKILL.md must contain these sections in order:1031041. **YAML frontmatter** — `name`, multi-line `description` with all triggers plus "Do NOT use for…" exclusions, optional `cowork:` block1052. **H1 title** matching the skill's human name1063. **When to Use** — bullet list of concrete trigger situations1074. **When NOT to Use** — bullet list with delegation to other skills1085. **Quick Start** — one example end-to-end workflow1096. **Core Instructions / Workflow** — detailed steps with tables, templates, or frameworks1107. **Built-In Skills Used** — table mapping each built-in skill to how it's used1118. **Output Deliverables** — table mapping each deliverable to a file skill (docx/xlsx/pptx/pdf) or inline render1129. **Guardrails** — hard rules as bullet list11310. **Common Issues** — troubleshooting table with ≥6 rows114115Target 200–400 lines of Markdown. See [references/quality-rubric.md](references/quality-rubric.md) for scoring.116117### Phase 4 — Author Supporting Files (Enhanced / Full Package)118119Only for tiers that include them — skip for Standard.120121**references/** (Enhanced and above)122- Dense lookup tables, scoring algorithms, classification frameworks, heuristics123- 80–200 lines per file124- Loaded on-demand by the skill125- Link from SKILL.md with `[name](references/file.md)` using relative paths126127**scripts/** (Full Package only)128- Pure Python 3, standard library only129- Deterministic processing that should run as code, not AI (text segmentation, data extraction, scoring engines)130- Structured JSON output to stdout131- 150–400 lines per file132- Reference from SKILL.md via `python scripts/filename.py <args>`133134**assets/** (Full Package only)135- Static templates and pre-approved content inserted verbatim at runtime136- Never AI-generated at runtime — stored literal content only137- Use `[PLACEHOLDER_NAME]` syntax for variable substitution138- 10–150 lines per file139- Link from SKILL.md with `[name](assets/file.md)`140141See [assets/cover-note-template.md](assets/cover-note-template.md) for a ready-to-reuse cover-note template and [assets/checklist-template.md](assets/checklist-template.md) for a pre-write QA checklist.142143### Phase 5 — Write144145For each skill in the batch:146147```bash148mkdir -p /mnt/user-config/.claude/skills/{name}/references /mnt/user-config/.claude/skills/{name}/scripts /mnt/user-config/.claude/skills/{name}/assets149```150151(Omit subfolders that aren't required for the tier.)152153Use the **Write tool** — not `echo` or `cat` heredocs — to create each file. Writes must be idempotent: if re-running the batch, confirm before overwriting.154155### Phase 6 — Verify (DELIVERY GATE)156157After writing, for every skill in the batch:158159```160Glob /mnt/user-config/.claude/skills/{name}/**/*161```162163Confirm:164- [ ] SKILL.md present165- [ ] Every `references/*.md` declared in SKILL.md exists166- [ ] Every `scripts/*.py` referenced exists167- [ ] Every `assets/*.md` referenced exists168- [ ] No broken relative links in SKILL.md169170If any file is missing, investigate and re-write before reporting success. Never tell the user "done" before `Glob` confirms the files.171172### Phase 7 — Report173174Tell the user in plain language:175- What was created (bulleted list with name + one-line description + tier)176- OneDrive sync timing (~35 seconds)177- How to test (invoke with a trigger phrase from the description)178179---180181## Quality Bar182183Every skill produced by this factory must meet these thresholds:184185| Metric | Minimum |186|--------|---------|187| SKILL.md length | 200 lines |188| SKILL.md length (max) | 400 lines |189| Trigger phrases in description | 8 |190| Tables in SKILL.md | 5 |191| Troubleshooting rows | 6 |192| Frameworks cited (if analytical) | 1+ real/established framework |193| Cross-links from SKILL.md to supporting files | Every reference/script/asset must be linked |194| Calculations performed by AI | 0 — all calculations must use code tools |195196See [references/quality-rubric.md](references/quality-rubric.md) for the full scoring breakdown.197198---199200## Built-In Skills Used201202| Built-in Skill | How It's Used |203|---------------|---------------|204| **skills** | Name validation, count checks, and delegation for single-skill lifecycle ops |205| **Word (docx)** | Skills often declare docx deliverables — this factory verifies the mapping is correct |206| **Excel (xlsx)** | Same — checks the skill's output table points to xlsx where tabular data is produced |207| **PowerPoint (pptx)** | Same — verifies deck deliverables reference pptx |208| **PDF** | Same — verifies PDF deliverables route through the pdf skill |209| **render-ui** | Recommended for skills with KPI cards, charts, or 4+ row tables |210| **Enterprise Search** | For skills that retrieve M365 content — verifies the retrieval pattern is documented |211| **Deep Research** | For skills with verifiable claims — verifies the delegation is declared |212213---214215## Output Format216217| Deliverable | Location | File Skill |218|-------------|----------|-----------|219| Skill package (SKILL.md + supporting files) | `/mnt/user-config/.claude/skills/{name}/` | Plain Markdown + Python (written via Write tool) |220| Batch summary | Inline chat response | None — plain text |221| Verification report | Inline chat response | None — plain text |222223This factory does **not** produce docx/xlsx/pptx/pdf — it produces Markdown + Python source files for the skill runtime.224225---226227## Guardrails228229- **Never modify built-in skills**: `/opt/workspace-config/.claude/skills/` is read-only230- **Never fabricate frameworks**: Only cite established frameworks (ADKAR, Kotter, 5 Whys, RACI, RAID, OKR, MoSCoW, SWOT, PESTLE, etc.) — if unsure, omit or use deep-research to verify231- **Always study templates first**: Never write a skill without reading at least 3 built-in skills in the current session232- **Verify before reporting success**: Glob the output directory after writing — missing files must block the success message233- **Kebab-case names only**: `^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,63}$`, no shadowing of built-ins (pdf, docx, xlsx, pptx, skills, calendar-management, meeting-intel, stakeholder-comms, daily-briefing, schedule-meeting, deep-reasoning, render-ui)234- **Respect the 50-skill limit**: Count existing skills before creating; if the batch would exceed the limit, inform the user and ask what to remove235- **All calculations via code**: Any scoring, counting, or percentage in a generated skill must route to code tools — never instruct the AI to do mental arithmetic236- **Cross-link every file**: If `references/foo.md` exists but SKILL.md doesn't link to it, it is dead weight — either link or delete237- **Plain language in descriptions**: Use outcome-oriented trigger phrases ("summarize my week") not implementation details ("calls SearchM365 with keyword filter")238239---240241## Common Issues242243| Issue | Cause | Fix |244|-------|-------|-----|245| Skill not triggering after creation | Description lacks trigger phrases or replication lag | Confirm ≥8 trigger phrases present; wait 35s; test with exact trigger from description |246| YAML parse error on load | Unescaped colon in description or bad indentation | Wrap description in `|` block scalar; indent consistently with 2 spaces |247| Skill name rejected | Invalid characters, starts with non-alphanumeric, or shadows a built-in | Regenerate as kebab-case, ensure first char is letter/digit, avoid built-in names |248| Supporting files exist but skill never uses them | Missing cross-links in SKILL.md | Add `[label](references/foo.md)` or `python scripts/foo.py` references |249| Write succeeds but Glob shows empty directory | Wrote to wrong path (e.g., `/mnt/workspace/` instead of `/mnt/user-config/`) | Re-write to `/mnt/user-config/.claude/skills/{name}/` and re-verify |250| Batch hits the 50-skill cap | Too many existing skills | List current skills, have user pick what to delete before continuing |251| Script in skill fails at runtime | Non-stdlib import or wrong Python path | Restrict to Python 3 standard library; test execution path before committing |252| Skill description too broad, triggers on unrelated requests | Overly generic language | Add "Do NOT use for…" exclusions and narrow the trigger verbs |253| SKILL.md exceeds 400 lines | Too much content inline | Move dense tables/frameworks to `references/*.md` and cross-link |254| Generated skill has no troubleshooting table | Draft phase skipped Common Issues | Always include ≥6 rows — use [assets/checklist-template.md](assets/checklist-template.md) as a pre-write checklist |