define-hypothesis
Defines a testable hypothesis with clear success metrics and a validation approach. Use when…
Applies targeted improvements to an existing pm-skills skill based on feedback, validation reports, or convention changes. Reads current files, previews proposed changes, writes on confirmation, and suggests a version bump. Use when improving a skill after validation or feedback.
$ npx -y skills add product-on-purpose/pm-skills --skill utility-pm-skill-iterate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/utility-pm-skill-iterateContext preview
The summary Claude sees to decide when to auto-load this skill.
Applies targeted improvements to an existing pm-skills skill based on feedback, validation reports, or convention changes. Reads current files, previews proposed changes, writes on confirmation, and suggests a version bump. Use when improving a skill after validation or feedback.
name: utility-pm-skill-iterate description: Applies targeted improvements to an existing pm-skills skill based on feedback, validation reports, or convention changes. Reads current files, previews proposed changes, writes on confirmation, and suggests a version bump. Use when improving a skill after validation or feedback. license: Apache-2.0 metadata: classification: utility version: "1.0.0" updated: 2026-04-03 category: coordination frameworks: [triple-diamond] author: product-on-purpose
This skill improves an existing pm-skills skill by applying targeted changes based on input you provide. It reads the current skill files, proposes changes as before/after previews grouped by file, and writes them on your confirmation. After applying changes, it suggests a version bump class and offers to update HISTORY.md.
The iterator accepts any of these as input:
When asked to iterate on 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, stop and report: "Skill directory `skills/{name}/` does not exist. Use `utility-pm-skill-builder` to create it."
Read all files in the skill directory:
| File | Required | Purpose | |------|----------|---------| | `SKILL.md` | yes | Frontmatter + instructions (the primary edit target) | | `references/TEMPLATE.md` | yes | Output template | | `references/EXAMPLE.md` | yes | Worked example | | `HISTORY.md` | no | Version history (needed for Step 7) |
Record the exact content of each file at this point. You will compare against this content before writing in Step 5 (stale-preview guard).
If reading files is not possible (MCP/embedded environment), ask the user to paste the relevant file contents before proceeding (see Degraded Mode).
Regardless of input type, extract a structured list of intended changes before generating any edits. This normalization step is what makes the unified flow work consistently across all input types.
**If the input is a validation report** (from `utility-pm-skill-validate`):
schema version, warn: "This report uses an unrecognized schema. I'll do my best but may miss structured fields."
**If the input is free text** (feedback, convention change, improvement request):
Present the normalized list for user confirmation:
Intended changes:
1. Target: skills/{name}/SKILL.md -> {section}
Change: {what will change}
Source: {validation report check ID | user feedback | convention change}
2. Target: skills/{name}/references/EXAMPLE.md -> {section}
Change: {what will change}
Source: {source}If the user wants to modify the list (add, remove, or change items), adjust and re-present before proceeding.
For each intended change, generate the proposed edit and present it as a before/after block grouped by file:
### skills/{name}/SKILL.md
**{Section name} -- before:**
> {exact current content of the section being changed}
**{Section name} -- after:**
> {proposed new content for this section}
### skills/{name}/references/EXAMPLE.md
**{Section name} -- before:**
> {exact current content}
**{Section name} -- after:**
> {proposed new content}**Preview rules:**
and the first/last few lines of before, then the full after.
Ask: "Apply these changes? [yes / no]"
If the user says no, ask what to adjust and return to Step 3 or Step 4.
**Before writing any file**, re-read each target file and compare its content to what you recorded in Step 2.
**If any target file has changed since Step 2:**
Regenerating preview with current content."
**If all target files match:**
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,…