skills/utility-pm-skill-builder/SKILL.md
Guides contributors from a PM skill idea to a complete Skill Implementation Packet aligned with pm-skills conventions. Runs gap analysis, validates through a Why Gate, classifies by type and phase, generates draft files, and writes to a staging area for review before promotion.
npx skillsauth add product-on-purpose/pm-skills utility-pm-skill-builderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill creates new PM skills for the pm-skills library. It produces a Skill Implementation Packet - a complete design document with draft files in a staging area for review before promotion to canonical locations.
When asked to create a new PM skill, follow these steps:
Accept the idea in either form:
Both entry points produce the same downstream flow. If the user provides one form, do not ask for the other - extract what you need and proceed.
If the idea is vague, ask ONE follow-up question to clarify the artifact type and target audience before proceeding.
Check ALL existing skills for overlap. Use the Current Library Reference
table below AND scan the skills/ directory for the latest inventory.
Present findings with specificity:
Why Gate (triggers when overlap is found): Ask the user: "Name 2-3 specific prompts or scenarios where the existing skills fail to produce what you need."
Kill Gate: If the user cannot articulate convincing gaps, recommend an alternative:
Do not proceed past the kill gate without either convincing evidence of a gap or explicit user override.
Evaluate whether the idea should be ONE skill or MULTIPLE skills.
Splitting signals:
If splitting is warranted, present the recommendation: "This seems to cover two distinct PM activities:
Determine the skill's classification and naming:
Domain skills (phase-specific PM activities):
{phase}-{skill-name}phase: {phase} (required), no classification fieldFoundation skills (cross-cutting, used across phases):
foundation-{skill-name}classification: foundation (required), no phase fieldUtility skills (meta-skills, repo tooling):
utility-{skill-name}classification: utility (required), no phase fieldExemplar selection: Identify 1-2 existing skills that are the closest structural match:
Present the classification and exemplar selection for user confirmation.
Produce the complete packet using references/TEMPLATE.md as the format.
The packet includes:
--- at byte 0 of the file (no preceding content of any kind, including HTML comments, BOM, or whitespace). Place any attribution comment AFTER the closing --- fence, never before. Reference: library/skill-output-samples/SAMPLE_CREATION.md Section 5.Write all generated files to the staging area:
_staging/pm-skill-builder/{skill-name}/
├── SKILL.md ← draft skill file
├── references/
│ ├── TEMPLATE.md ← draft template
│ └── EXAMPLE.md ← draft example
└── command.md ← draft command
Note:
_staging/is gitignored - draft artifacts never ship in releases. The staging folder is discarded after promotion.
Report what was written and where.
Ask: "Review the packet above. When ready, I'll promote the files to their canonical locations. Proceed? [yes/no]"
If yes, promote by copying each file from staging to its canonical path:
| Staging file | Canonical location |
|--------------|--------------------|
| _staging/pm-skill-builder/{skill-name}/SKILL.md | skills/{dir-name}/SKILL.md |
| _staging/pm-skill-builder/{skill-name}/references/TEMPLATE.md | skills/{dir-name}/references/TEMPLATE.md |
| _staging/pm-skill-builder/{skill-name}/references/EXAMPLE.md | skills/{dir-name}/references/EXAMPLE.md |
| _staging/pm-skill-builder/{skill-name}/command.md | commands/{command-name}.md |
Where {dir-name} is the classification-prefixed directory (e.g., deliver-change-communication).
Then:
skills/{dir-name}/references/bash scripts/lint-skills-frontmatter.sh && bash scripts/validate-agents-md.sh && bash scripts/validate-commands.sh_staging/pm-skill-builder/{skill-name}/Design rationale lives in the GitHub issue, PR, or effort brief - not in a permanent packet file.
Provide post-promotion guidance:
bash scripts/lint-skills-frontmatter.sh"/{command-name} with a realistic scenario"Use this table for gap analysis - it reflects the current skill inventory.
Also scan the skills/ directory for the latest authoritative count.
| Phase | Skill | Category | Description | |-------|-------|----------|-------------| | discover | competitive-analysis | research | Structured competitive landscape analysis | | discover | interview-synthesis | research | User research interview synthesis | | discover | stakeholder-summary | research | Stakeholder needs and influence mapping | | define | hypothesis | ideation | Testable hypothesis with success metrics | | define | jtbd-canvas | problem-framing | Jobs to Be Done canvas | | define | opportunity-tree | problem-framing | Opportunity solution tree | | define | problem-statement | problem-framing | Clear problem statement with success criteria | | develop | adr | specification | Architecture Decision Record | | develop | design-rationale | specification | Design decision reasoning | | develop | solution-brief | ideation | One-page solution overview | | develop | spike-summary | coordination | Technical/design spike results | | deliver | acceptance-criteria | specification | Given/When/Then acceptance criteria | | deliver | edge-cases | specification | Edge cases and error states | | deliver | launch-checklist | coordination | Pre-launch checklist | | deliver | prd | specification | Product Requirements Document | | deliver | release-notes | coordination | User-facing release notes | | deliver | user-stories | specification | User stories with acceptance criteria | | measure | dashboard-requirements | validation | Analytics dashboard spec | | measure | experiment-design | validation | A/B test or experiment design | | measure | experiment-results | reflection | Experiment results and learnings | | measure | instrumentation-spec | validation | Event tracking specification | | measure | okr-grader | reflection | OKR cycle-close scoring at the KR level | | iterate | lessons-log | reflection | Structured lessons learned | | iterate | pivot-decision | reflection | Pivot or persevere decision | | iterate | refinement-notes | coordination | Backlog refinement outcomes | | iterate | retrospective | reflection | Team retrospective |
| Skill | Category | Description | |-------|----------|-------------| | lean-canvas | problem-framing | One-page lean canvas across nine interlocking blocks | | meeting-agenda | meeting | Attendee-facing pre-meeting agenda | | meeting-brief | meeting | Private pre-meeting strategic preparation | | meeting-recap | meeting | Post-meeting summary with decisions and actions | | meeting-synthesize | meeting | Cross-meeting pattern synthesis from multiple recaps | | okr-writer | coordination | Outcome-based OKR set authoring with coaching | | persona | research | Evidence-calibrated product or marketing persona | | stakeholder-update | meeting | Async stakeholder communication for non-attendees |
| Skill | Category | Description | |-------|----------|-------------| | mermaid-diagrams | documentation | Mermaid diagram authoring with syntax validation | | pm-skill-builder | coordination | This skill | | pm-skill-iterate | coordination | Targeted improvements to an existing skill | | pm-skill-validate | coordination | Audit a skill against structural conventions and quality criteria | | slideshow-creator | communication | JSON-spec presentation generation across 18 slide types | | update-pm-skills | coordination | Check for and apply pm-skills releases locally |
The builder MUST produce draft files for the new skill:
SKILL.md - full skill instructionsreferences/TEMPLATE.md - output template with guidance commentsreferences/EXAMPLE.md - complete worked example (150-300 lines)command.md - slash command fileAll drafts are written to _staging/pm-skill-builder/{skill-name}/ (gitignored).
On promotion, files are copied to canonical locations, AGENTS.md is updated, and the staging folder is discarded.
Before finalizing the packet, verify all items in both tiers:
name matches directory nameversion, updated, license all presentphase:, foundation/utility → classification:){phase/classification}-{skill-name}## sections#### + **Path:** formatSee references/EXAMPLE.md for a completed Skill Implementation Packet
demonstrating a realistic domain skill creation.
tools
Guides a contributor from a workflow idea to a complete Workflow Implementation Packet (draft workflow file, draft workflow command, cross-cutting update checklist) in a staging area for review. Runs overlap analysis against the existing workflows with a Why Gate, then helps select and sequence skills with authored handoffs. Use when creating a new multi-skill workflow or promoting a repeated ad-hoc chain into a durable one. To build a single skill instead, use utility-pm-skill-builder; to run a sequence without authoring anything, use the chain command or utility-pm-workflow-orchestrator.
tools
Run an ordered sequence of pm-skills against one input, pausing for go/no-go and stopping on a failed or empty step. Accepts a saved prioritized action plan (Mode A) or an ad-hoc named chain (Mode B; the chain command routes here). Explicit invocation only; run --dry-run first while the native path is EXPERIMENTAL. To author a durable workflow instead, use utility-pm-workflow-builder.
tools
Run a repo-wide cross-cutting governance audit via the pm-skill-auditor sub-agent. Aggregates the enforcing validator suite, re-derives aggregate counters, and surfaces cross-cutting issues no single validator catches, graded P0/P1/P2/P3 with a machine-readable status. Use for pre-release readiness checks or a periodic repo health audit.
tools
Walk the guided 6-gate release runbook (G0 readiness, G1 adversarial review, G2 version bump and CHANGELOG, G2.5 commit and re-verify, G3 tag and push, G4 post-tag hygiene) via the pm-release-conductor sub-agent. Refuses gate bypasses and tags only the re-verified SHA. Use when cutting a pm-skills release.