define-hypothesis
Defines a testable hypothesis with clear success metrics and a validation approach. Use when…
Audits an existing pm-skills skill against structural conventions and quality criteria. Produces a structured validation report with pass/fail checks, severity-graded findings, and actionable recommendations. Use when checking whether a skill meets repo standards before shipping
$ npx -y skills add product-on-purpose/pm-skills --skill utility-pm-skill-validate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/utility-pm-skill-validateContext preview
The summary Claude sees to decide when to auto-load this skill.
Audits an existing pm-skills skill against structural conventions and quality criteria. Produces a structured validation report with pass/fail checks, severity-graded findings, and actionable recommendations. Use when checking whether a skill meets repo standards before shipping
name: utility-pm-skill-validate description: Audits an existing pm-skills skill against structural conventions and quality criteria. Produces a structured validation report with pass/fail checks, severity-graded findings, and actionable recommendations. Use when checking whether a skill meets repo standards before shipping or after making changes. license: Apache-2.0 metadata: classification: utility version: "1.2.0" updated: 2026-07-04 category: coordination frameworks: [triple-diamond] author: product-on-purpose
This skill audits an existing pm-skills skill against the repo's structural conventions and quality criteria. It produces a validation report that a human can scan and that `utility-pm-skill-iterate` can consume as input.
The validator checks two tiers:
naming, file presence, description word count.
contract reference the template? Is the example complete? Are checklist items testable?
(this skill is for interactive, deeper-than-CI validation)
When asked to validate a skill, follow these steps:
Accept the skill name in any form:
Resolve to the canonical directory path: `skills/{name}/`.
If the skill directory does not exist, report immediately:
# Validation Report: {input}
Result: FAIL
Skill directory `skills/{input}/` does not exist.**Batch mode:** If the input is `--all`, run Tier 1 structural checks across all skills and produce a summary table (see Step 5). Do not run Tier 2 in batch mode.
Read all files in the skill directory:
| File | Required | Purpose | |------|----------|---------| | `SKILL.md` | yes | Frontmatter + instructions | | `references/TEMPLATE.md` | yes | Output template | | `references/EXAMPLE.md` | yes | Worked example | | `HISTORY.md` | no | Version history (if present) | | `evals/trigger-fixtures.json` | no | Routing-eval fixtures (B-4); present for roster skills | | `evals/output-scenarios/*.md` | no | Output-quality scenarios (B-7); present for evaled skills |
Also read:
If reading files is not possible (MCP/embedded environment), ask the user to paste the content of each file before proceeding (see Degraded Mode).
Run these deterministic checks. Each produces a `PASS` or `FAIL` line.
| Check ID | What to check | Pass condition | |----------|--------------|----------------| | `frontmatter-at-byte-zero` | First line of SKILL.md, references/TEMPLATE.md, references/EXAMPLE.md is exactly `---` | Line 1 is the opening `---` fence with no preceding HTML comment, BOM, or whitespace. Severity: FAIL. Reference: `library/skill-output-samples/SAMPLE_CREATION.md` Section 5. | | `name-match` | Frontmatter `name` matches directory name | Exact string match | | `description-present` | Frontmatter `description` exists | Non-empty value | | `description-length` | Description word count | 20-100 words | | `version-present` | Frontmatter `version` exists | Non-empty, valid SemVer | | `updated-present` | Frontmatter `updated` exists | Non-empty, ISO date | | `license-present` | Frontmatter `license` exists | Non-empty value | | `phase-classification` | Phase/classification consistency | Domain has `phase:`, foundation/utility has `classification:`, not both | | `template-exists` | `references/TEMPLATE.md` exists | File present | | `template-sections` | TEMPLATE.md has sufficient structure | ≥3 `##` level-2 headers | | `example-exists` | `references/EXAMPLE.md` exists | File present | | `command-exists` | Command file exists in `commands/` | File present and references correct skill path | | `agents-entry` | AGENTS.md has an entry for this skill | Entry exists with matching `**Path:**` | | `eval-trigger-fixtures` | Routing fixtures present + well-formed (B-4) | If `evals/trigger-fixtures.json` exists: `schema:1`, `skill` matches dir, >=16 queries, >=8 per class (trigger / no-trigger), >=2 near-misses. If absent: INFO (not in the trigger-eval roster, or fixtures not yet authored). Authoritative gate: `scripts/check-trigger-fixtures.mjs`. | | `eval-output-scenarios` | Output scenarios present + well-formed (B-7) | If `evals/output-scenarios/*.md` exist: each has `scenario`/`skill`/`family` frontmatter, `skill` matches dir, `family` maps to an existing `docs/internal/eval-rubrics/{family}.md`, body >=100 chars. If absent: INFO (not yet output-evaled). Authoritative gate: `scripts/check-output-eval-assets.mjs`. | | `reciprocal-boundary-pointers` | Declared collision pairs cross-point (C-5) | If the skill appears in `COLLISION_PAIRS` (`scripts/check-trigger-fixtures.mjs`): its `When NOT to Use` names each partner AND each partner's `When NOT to Use` names it back. FAIL if a declared pair is one-directional. If
68 plug-and-play, best-practice product management skills for AI agents: 30 Triple Diamond phase + 11 foundation + 12 utility + 15 tool (Foundation Sprint + Design Sprint). Plus 6 sub-agents, workflows, 200+ output samples, guides, and CI-enforced contracts. Apache 2.0.
Repo: product-on-purpose/pm-skills
Defines a testable hypothesis with clear success metrics and a validation approach. Use when…
Creates a Jobs to be Done canvas capturing the functional, emotional, and social dimensions…
Creates an opportunity solution tree connecting a desired outcome to customer opportunities…
Run applicable prioritization frameworks (RICE, ICE, MoSCoW, Weighted Scoring, Kano) against…
Creates a clear problem framing document with user impact, business context, and success…
Generates structured Given/When/Then acceptance criteria for a user story or feature slice,…