agentleFS
ITSpecialist111ITSpecialist111/Copilot-Cowork-Skills/skill-factory/SKILL.md

skill-factory

Skill48 starsChanged 3 months agoMITView on GitHub

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.

13 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 8 are distinctive, and 6 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the user does not specify a tier, propose one based on scope — recommend Enhanced for any skill needing frameworks like ADKAR/RACI/RAID, …

    line 82
  2. Distinctive:

    Before drafting anything, read these references to absorb the house style:

    line 92
  3. Very specific:

    Every SKILL.md must contain these sections in order:

    line 119
  4. Distinctive:

    Only for tiers that include them — skip for Standard.

    line 136
  5. Distinctive:

    Never AI-generated at runtime — stored literal content only

    line 153
  6. Very specific:

    Use [PLACEHOLDER_NAME] syntax for variable substitution

    line 154
  7. Very specific:

    Use the Write tool — not echo or cat heredocs — to create each file.

    line 170
  8. Distinctive:

    After writing, for every skill in the batch:

    line 174
  9. Very specific:

    If any file is missing, investigate and re-write before reporting success.

    line 187
  10. Distinctive:

    Every skill produced by this factory must meet these thresholds:

    line 200
  11. Distinctive:

    Never fabricate frameworks: Only cite established frameworks (ADKAR, Kotter, 5 Whys, RACI, RAID, OKR, MoSCoW, SWOT, PESTLE, etc.) — if …

    line 247
  12. Distinctive:

    Always study templates first: Never write a skill without reading at least 3 built-in skills in the current session

    line 248
  13. Very specific:

    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

    line 253
  14. Distinctive:

    Plain language in descriptions: Use outcome-oriented trigger phrases ("summarize my week") not implementation details ("calls SearchM365 …

    line 254

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. 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/
  2. Check capacity — confirm new skills fit under the 50-skill limit
  3. Validate names — ensure kebab-case, no shadowing of built-in names
  4. Draft each package — SKILL.md first, then references/scripts/assets per tier
  5. Write files — mkdir -p the skill directory, then Write each file
  6. Verify — Glob the skill directory and confirm every declared file exists
  7. Report — tell the user what was created and that OneDrive sync lands in ~35 seconds

Paths & Sync

PathPurposeWritable
/mnt/user-config/.claude/skills/{name}/Personal skill directory — write hereYes, syncs to OneDrive
/opt/workspace-config/.claude/skills/Built-in skills — study onlyRead-only
/mnt/user-config/.claude/skills/legal-redliner/Gold-standard full-package exampleRead-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

TierFoldersWhen to Use
StandardSKILL.md onlySimple workflows, narrow domain, no lookup tables or static templates required
EnhancedSKILL.md + references/Dense lookup tables, scoring rubrics, classification frameworks, or heuristics that would bloat SKILL.md
Full PackageSKILL.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:

  1. 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
  2. Legal-redliner at /mnt/user-config/.claude/skills/legal-redliner/ — the gold-standard Full Package with references, scripts, and assets all cross-linked
  3. 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:

FieldRequirement
Namekebab-case, ^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,63}$, not shadowing built-ins
One-line descriptionOutcome-oriented, business language
TierStandard / Enhanced / Full Package
Trigger phrases≥8, phrased as user-quoted actions
Frameworks usedADKAR, 5 Whys, RACI, RAID, Kotter, OKR, etc. (real, established)
Built-in skills leverageddocx, xlsx, pptx, pdf, render-ui, email, calendar, etc.
Output deliverablesEach mapped to a specific file skill

Phase 3 — Draft SKILL.md

Every SKILL.md must contain these sections in order:

  1. YAML frontmatter — name, multi-line description with all triggers plus "Do NOT use for…" exclusions, optional cowork: block
  2. H1 title matching the skill's human name
  3. When to Use — bullet list of concrete trigger situations
  4. When NOT to Use — bullet list with delegation to other skills
  5. Quick Start — one example end-to-end workflow
  6. Core Instructions / Workflow — detailed steps with tables, templates, or frameworks
  7. Built-In Skills Used — table mapping each built-in skill to how it's used
  8. Output Deliverables — table mapping each deliverable to a file skill (docx/xlsx/pptx/pdf) or inline render
  9. Guardrails — hard rules as bullet list
  10. 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:

  • SKILL.md present
  • Every references/*.md declared in SKILL.md exists
  • Every scripts/*.py referenced exists
  • Every assets/*.md referenced exists
  • No broken relative links in SKILL.md

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:

MetricMinimum
SKILL.md length200 lines
SKILL.md length (max)400 lines
Trigger phrases in description8
Tables in SKILL.md5
Troubleshooting rows6
Frameworks cited (if analytical)1+ real/established framework
Cross-links from SKILL.md to supporting filesEvery reference/script/asset must be linked
Calculations performed by AI0 — all calculations must use code tools

See references/quality-rubric.md for the full scoring breakdown.


Built-In Skills Used

Built-in SkillHow It's Used
skillsName 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
PDFSame — verifies PDF deliverables route through the pdf skill
render-uiRecommended for skills with KPI cards, charts, or 4+ row tables
Enterprise SearchFor skills that retrieve M365 content — verifies the retrieval pattern is documented
Deep ResearchFor skills with verifiable claims — verifies the delegation is declared

Output Format

DeliverableLocationFile Skill
Skill package (SKILL.md + supporting files)/mnt/user-config/.claude/skills/{name}/Plain Markdown + Python (written via Write tool)
Batch summaryInline chat responseNone — plain text
Verification reportInline chat responseNone — 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

IssueCauseFix
Skill not triggering after creationDescription lacks trigger phrases or replication lagConfirm ≥8 trigger phrases present; wait 35s; test with exact trigger from description
YAML parse error on loadUnescaped colon in description or bad indentationWrap description in `` block scalar; indent consistently with 2 spaces
Skill name rejectedInvalid characters, starts with non-alphanumeric, or shadows a built-inRegenerate as kebab-case, ensure first char is letter/digit, avoid built-in names
Supporting files exist but skill never uses themMissing cross-links in SKILL.mdAdd [label](references/foo.md) or python scripts/foo.py references
Write succeeds but Glob shows empty directoryWrote 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 capToo many existing skillsList current skills, have user pick what to delete before continuing
Script in skill fails at runtimeNon-stdlib import or wrong Python pathRestrict to Python 3 standard library; test execution path before committing
Skill description too broad, triggers on unrelated requestsOverly generic languageAdd "Do NOT use for…" exclusions and narrow the trigger verbs
SKILL.md exceeds 400 linesToo much content inlineMove dense tables/frameworks to references/*.md and cross-link
Generated skill has no troubleshooting tableDraft phase skipped Common IssuesAlways include ≥6 rows — use assets/checklist-template.md as a pre-write checklist

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.