---name: skill-authoring-workflow
argument-hint: "[source content or skill to update]"
description: Turn raw PM content into a compliant, publish-ready skill. Use when creating or updating a repo skill without breaking standards.
intent: >-
Create or update PM skills without chaos. This workflow turns rough notes, workshop content, or half-baked prompt dumps into compliant `skills/<skill-name>/SKILL.md` assets that actually pass validation and belong in this repo.
type: workflow
best_for:
- "Creating a new repo skill from notes or source material"
- "Updating an existing skill while keeping standards intact"
- "Running the full authoring and validation workflow before commit"
scenarios:
- "Help me turn these workshop notes into a new PM skill"
- "I need to update an existing skill without breaking the repo standards"
- "What workflow should I use to author a new skill in this repo?"
---## Purpose
Create or update PM skills without chaos. This workflow turns rough notes, workshop content, or half-baked prompt dumps into compliant `skills/<skill-name>/SKILL.md` assets that actually pass validation and belong in this repo.
Use it when you want to ship a new skill without "looks good to me" roulette.
## Input
Bring the raw material and the intent โ rough is fine; the workflow exists to get it the rest of the way:
- **Works best with:** the source content (notes, transcript, framework, prompt sequence) or the existing skill you want to update
- **Also useful:** the intended skill type (component/interactive/workflow), target audience, and any naming preference
If you supply this inline with your request (e.g., "turn `research/pricing-workshop-notes.md` into an interactive advisor"), the workflow starts at Phase 1 with that context โ it won't re-ask for what you already gave. If you provide nothing, it opens by asking what content you want to turn into a skill and offers the entry modes from the facilitation protocol.
Example: `Use skill-authoring-workflow: convert research/pricing-workshop-notes.md into an interactive pricing advisor.`
## Key Concepts
### Dogfood First
Use repo-native tools and standards before inventing a custom process:
- `scripts/find-a-skill.sh`
- `scripts/add-a-skill.sh`
- `scripts/build-a-skill.sh`
- `scripts/test-a-skill.sh`
- `scripts/check-skill-metadata.py`
### Pick the Right Creation Path
- **Guided wizard (`build-a-skill.sh`)**: Best when you have an idea but not final prose.
- **Content-first generator (`add-a-skill.sh`)**: Best when you already have source content.
- **Manual edit + validate**: Best for tightening an existing skill.
### Definition of Done (No Exceptions)
A skill is done only when:
1. Frontmatter is valid (`name`, `description`, `intent`, `type`)
2. Section order is compliant (Purpose, Input, Key Concepts, Application, Examples, Common Pitfalls, References)
4. Description says both what the skill does and when to use it
5. The Input section says what the user can bring, shows an example invocation, tells the agent to use inline input instead of re-asking, and makes clear that arriving with partial or zero input is fine โ in plain language, never runtime template syntax like `$ARGUMENTS` (rationale: CONTRIBUTING.md, "Why We Don't Use `$ARGUMENTS`")
6. Intent carries the fuller repo-facing summary without replacing the trigger-oriented description
7. Cross-references resolve
8. README catalog counts and tables are updated (if adding/removing skills)
### Facilitation Source of Truth
When running this workflow as a guided conversation, use [`workshop-facilitation`](../workshop-facilitation/SKILL.md) as the interaction protocol.
- One concrete example โ optimally two, from different business domains (one SaaS, one industrial/non-SaaS), so the framework visibly generalizes; reuse the repo's fictional universes (Fieldlight/Wrenchline for SaaS, Helix/Northfield/Corvid for industrial) and suffix the second file by domain (`sample-industrial.md`)
- A `template.md` when the skill produces an artifact โ the output schema as a copy/paste fill-in with quality checks
"We wrote a cool skill, skipped validation, forgot README counts, and shipped anyway."
Result:
- Broken references
- Inconsistent catalog numbers
- Confusion for contributors and users
## Common Pitfalls
- Shipping vibes, not standards.
- Choosing `workflow` when the task is really a component template.
- Bloated descriptions that exceed upload limits.
- Descriptions that say what the skill is but not when Claude should trigger it.
- Descriptions that silently hit the 200-char limit and get cut off mid-thought.
- Letting `intent` become a substitute for a weak trigger description.
- Forgetting to update README counts after adding a skill.
- Treating generated output as final without review.
## References
- `README.md`
- `AGENTS.md`
- `CLAUDE.md`
- `docs/Building PM Skills.md`
- `docs/Add-a-Skill Utility Guide.md`
- Anthropic's [Complete Guide to Building Skills for Claude](https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf)