skill-authoring-workflow
deanpeters/product-manager-skills
Turn raw PM content into compliant, publish-ready skills without breaking repo standards.
What is skill-authoring-workflow?
A workflow for creating or updating PM skills that ensures compliance with repo standards and validation requirements. Use this when authoring new skills from notes or updating existing ones to maintain consistency and avoid common pitfalls.
- Search for overlapping skills before starting to avoid duplication
- Generate skill drafts from source material or guided prompts using repo scripts
- Validate skills against structural, metadata, and trigger requirements
- Tighten prose for clarity, examples, and anti-patterns
- Update README catalog entries and counts when adding new skills
- Package skills for Claude custom skill upload with preset options
How to install skill-authoring-workflow
npx skills add https://github.com/deanpeters/product-manager-skills --skill skill-authoring-workflow- Access to the repo with scripts directory (find-a-skill.sh, add-a-skill.sh, build-a-skill.sh, test-a-skill.sh, check-skill-metadata.py)
- Source material or rough notes if using content-first generation path
- Familiarity with repo structure and README catalog format
How to use skill-authoring-workflow
- 1.Run find-a-skill.sh with your topic keyword to check for overlapping skills
- 2.Choose a creation path: guided wizard (build-a-skill.sh) for ideas, content-first (add-a-skill.sh) for existing material, or manual edit for updates
- 3.Review and tighten the draft for clear 'when to use' guidance, concrete examples, and explicit anti-patterns
- 4.Run validation: test-a-skill.sh --smoke, check-skill-metadata.py, and check-skill-triggers.py
- 5.Update README category tables with new skill entries and verify link resolution
- 6.Optionally package the skill using zip-a-skill.sh with category or preset options
Use cases
- Converting workshop notes or framework documentation into a new interactive skill
- Updating an existing skill while maintaining repo standards and validation
- Authoring a skill from scratch using guided prompts when source material is unavailable
- Validating a completed skill before commit to catch metadata and structural issues
- Packaging multiple skills by category or preset for distribution
- Product managers creating skills for their team
- Skill repository maintainers ensuring quality and consistency
- Contributors adding new skills to an established repo
- Teams using Claude with custom skill uploads
skill-authoring-workflow FAQ
Use build-a-skill.sh when you have an idea but not final prose and want guided prompts. Use add-a-skill.sh when you already have source content (notes, frameworks, documentation) to convert into a skill.
A skill is done when: frontmatter is valid (name, description, intent, type), section order is compliant, metadata limits are respected, description explains both what it does and when to use it, intent carries the fuller summary, cross-references resolve, and README catalog is updated if adding/removing skills.
Component (one artifact/template), Interactive (3-5 adaptive questions with numbered options), and Workflow (multi-phase orchestration).
Description must say both what the skill does and when Claude should trigger it, within 200 characters. Intent carries the fuller repo-facing summary. A weak description that only explains what the skill is will confuse users about when to use it.
You risk broken references, inconsistent catalog numbers, metadata limit violations, and confusion for contributors and users. Always run test-a-skill.sh, check-skill-metadata.py, and check-skill-triggers.py before committing.
Full instructions (SKILL.md)
Source of truth, from deanpeters/product-manager-skills.
name: skill-authoring-workflow
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.
Key Concepts
Dogfood First
Use repo-native tools and standards before inventing a custom process:
scripts/find-a-skill.shscripts/add-a-skill.shscripts/build-a-skill.shscripts/test-a-skill.shscripts/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:
- Frontmatter is valid (
name,description,intent,type) - Section order is compliant
- Metadata limits are respected (
name<= 64 chars,description<= 200 chars) - Description says both what the skill does and when to use it
- Intent carries the fuller repo-facing summary without replacing the trigger-oriented description
- Cross-references resolve
- 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 as the interaction protocol.
It defines:
- session heads-up + entry mode (Guided, Context dump, Best guess)
- one-question turns with plain-language prompts
- progress labels (for example, Context Qx/8 and Scoring Qx/5)
- interruption handling and pause/resume behavior
- numbered recommendations at decision points
- quick-select numbered response options for regular questions (include
Other (specify)when useful)
This file defines the workflow sequence and domain-specific outputs. If there is a conflict, follow this file's workflow logic.
Application
Phase 1: Preflight (Avoid Duplicate Work)
- Search for overlapping skills:
./scripts/find-a-skill.sh --keyword "<topic>"
- Decide type:
- Component: one artifact/template
- Interactive: 3-5 adaptive questions + numbered options
- Workflow: multi-phase orchestration
Phase 2: Generate Draft
If you have source material:
./scripts/add-a-skill.sh research/your-framework.md
If you want guided prompts:
./scripts/build-a-skill.sh
Phase 3: Tighten the Skill
Manually review for:
- Clear "when to use" guidance
- One concrete example
- One explicit anti-pattern
- No filler or vague consultant-speak
Phase 4: Validate Hard
Run strict checks before thinking about commit:
./scripts/test-a-skill.sh --skill <skill-name> --smoke
python3 scripts/check-skill-metadata.py skills/<skill-name>/SKILL.md
python3 scripts/check-skill-triggers.py skills/<skill-name>/SKILL.md --show-cases
Phase 5: Integrate with Repo Docs
If this is a new skill:
- Add it to the correct README category table
- Update skill totals and category counts
- Verify link paths resolve
Phase 6: Optional Packaging
If targeting Claude custom skill upload:
./scripts/zip-a-skill.sh --skill <skill-name>
# or zip one category:
./scripts/zip-a-skill.sh --type component --output dist/skill-zips
# or use a curated starter preset:
./scripts/zip-a-skill.sh --preset core-pm --output dist/skill-zips
Examples
Example: Turn Workshop Notes into a Skill
Input: research/pricing-workshop-notes.md
Goal: new interactive advisor
./scripts/add-a-skill.sh research/pricing-workshop-notes.md
./scripts/test-a-skill.sh --skill <new-skill-name> --smoke
python3 scripts/check-skill-metadata.py skills/<new-skill-name>/SKILL.md
Expected result:
- New skill folder exists
- Skill passes structural and metadata checks
- README catalog entry added/updated
Anti-Pattern Example
"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
workflowwhen 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
intentbecome 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.mdAGENTS.mdCLAUDE.mddocs/Building PM Skills.mddocs/Add-a-Skill Utility Guide.md- Anthropic's Complete Guide to Building Skills for Claude
scripts/add-a-skill.shscripts/build-a-skill.shscripts/find-a-skill.shscripts/test-a-skill.shscripts/check-skill-metadata.pyscripts/check-skill-triggers.pyscripts/zip-a-skill.sh
Related skills
More from deanpeters/product-manager-skills and the wider catalog.

storyboard
Create a 6-frame visual narrative showing a user's journey from problem to solution for fast stakeholder alignment.

tam-sam-som-calculator
Calculate defensible TAM, SAM, and SOM estimates backed by data and citations for market validation.

user-story
Create user stories with Mike Cohn format and Gherkin acceptance criteria for development-ready work.

user-story-mapping
Visualize user journeys as hierarchical maps to align teams, prioritize features, and plan releases around how users accomplish goals.

user-story-mapping-workshop
Organize product workflows into visual story maps with adaptive questions and structured backbone-task-release planning.

user-story-splitting
Break large stories into smaller, independently deliverable pieces using 8 systematic splitting patterns.