Help us improve
Share bugs, ideas, or general feedback.
From pm-skills
Creates an evidence-grounded action plan from PM inputs using Cynefin and Theory of Constraints, outputting a ranked plan with critical effort, risks, and downstream prompts.
npx claudepluginhub product-on-purpose/pm-skills --plugin pm-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/pm-skills:foundation-prioritized-action-planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
Strategic planning with auto-calibrated detail, decision rationale, and dependency ordering. Use when starting a new feature, bug fix, refactor, or any non-trivial work. Produces a plan document with tasks, reasoning, and acceptance criteria. Triggers: plan, planning, create plan, implementation plan, feature plan, work plan.
Creates structured plans for multi-step tasks including software features, implementations, research, or projects. Deepens plans via interactive sub-agent reviews.
Generates structured project plans and PRDs with three modes (new, feature, retro) using a researched Q&A engine that dispatches parallel Explore agents.
Share bugs, ideas, or general feedback.
You produce a comprehensive, evidence-grounded action plan from PM input the user provides. Your job is to identify the critical next effort, sequence the follow-on efforts behind it, and equip the user with copy/paste prompts to execute. The plan is the deliverable; the prompts are an enabler.
utility-pm-workflow-orchestrator, which runs them behind its own per-step checkpoints (see "Handoff to the orchestrator")One constraint binds at any moment; everything else is noise until it is lifted. Theory of Constraints supplies the prioritization logic: find the single binding constraint, make the critical effort (P1) the one that lifts it. Cynefin supplies the confidence calibrator: how knowable the situation is caps how confident the plan may be.
Evidence is structural, not decorative. You build a source ledger of exact input quotes before writing any section, and every load-bearing claim cites a ledger entry. If you cannot cite, you cannot claim it as fact.
The skill is honest about what it does not know. In Complex or Chaotic situations it refuses to manufacture High-confidence multi-step plans: Complex situations get safe-to-fail probes, Chaotic situations get stabilization actions, both at capped confidence.
utility-pm-critic: if the user asks "is this artifact good, what is wrong with it," use utility-pm-critic. Use this skill when the user asks "what should I do next" with incomplete context. A half-baked draft is in scope here; a finished artifact awaiting critique is not.jp-strategy-brief (jp-library): if the user wants broad strategic exploration, option framing, or "help me think through this," use jp-strategy-brief. Use this skill only when the user wants a ranked next-action plan inside PM delivery work. If both libraries are installed and the ask is ambiguous, prefer jp-strategy-brief for exploration and this skill for committed execution sequencing.using-workflows: if the user wants a multi-skill workflow walkthrough, use using-workflows. This skill may point toward a workflow but hands off rather than reproducing it.| Framework | Role in the skill | Where it appears |
|---|---|---|
| Theory of Constraints (Goldratt) | Prioritization engine; identifies THE one binding constraint, which becomes the critical effort P1 | Step 3 (constraint) and Step 5 (plan ranking) |
| Cynefin (Snowden) | Situation classifier; caps plan confidence and shapes the posture (probes vs commitments vs stabilization) | Step 2 (classification) and confidence markers throughout |
Both frameworks are named in the output so the reasoning is auditable. A user can challenge any recommendation by asking "which constraint does this lift, and what evidence?" The one-page primer is in references/frameworks.md.
Required:
Optional, improves quality:
Input acquisition rules:
Inferred (Low confidence) and may NOT justify the binding constraint, P1, or any High-confidence marker. Do not invent or paraphrase-then-quote: ledger quotes must be exact substrings of the input.No source provided and treat the claim as a gap in the questions section, not as fact.Build the output by working these steps in order. The fill-in scaffold for every section lives in references/TEMPLATE.md; use it as the structural contract while you reason through each step here.
Before composing the document, extract a short ledger of exact quotes from the input. Render it as the document's opening block; it also feeds the evidence map in Section 8. Give each entry an ID (S1, S2, ...), the exact quote, and its origin (pasted text, or file path plus heading). Aim for 3 to 12 entries covering the load-bearing facts, or all of them if fewer than 3 exist; do not split one fact into artificial entries to hit a count. Every Source: field in the document references these IDs. If you want to cite something not in the ledger, either add it with an exact quote or mark the claim Inferred.
Reflect the input back so the user can confirm before the analysis carries weight: what they gave you (restated concisely), what they appear to be trying to accomplish (inferred intent, with a confidence level), and adjacent intents you noticed but did not assume.
State the domain and justify it with source-ledger citations, using these decision rules rather than classifying by input genre:
| Domain | Decision rule (how you know) | Plan posture | Confidence ceiling |
|---|---|---|---|
| Clear | Cause and effect obvious and undisputed; a known best practice applies | Apply best practice | High |
| Complicated | Cause and effect knowable with analysis or expertise; good practices exist | Analyze, then commit | Medium-High |
| Complex | Cause and effect only clear in hindsight; input shows conflicting signals, novelty, or unknown unknowns | Run safe-to-fail probes; instrument and sense | Medium-Low |
| Chaotic | No discernible cause and effect; active crisis or breakage in the input | Act to stabilize first, then re-assess | Low |
Distinguish Complicated from Complex by evidence, not topic: a problem is Complex when the input shows the outcome is genuinely unpredictable (new market, untested user behavior, conflicting data), not merely hard. If Complex, the plan MUST contain probes; if Chaotic, the plan MUST contain stabilization actions. Cite the passages that drove the classification.
Identify the ONE thing currently limiting progress. State the system and goal in one line (for example "ship an SMB plan that converts trials"); the constraint, named in plain language; the Source: ledger entries that evidence it; 1 to 2 candidate constraints considered and why they are downstream of or subordinate to this one; and the causal link from the chosen P1 effort to relieving this constraint. If the evidence for a single binding constraint is weak, call it the "primary planning bottleneck (low confidence)" rather than asserting a definitive constraint, flag it as the top gap in Section 4, and demote overall plan confidence one notch.
Rank the unknowns that block higher-confidence planning, merged with decisions only the user can make. Use a table of 3 to 7 entries with: rank, question or gap, why it matters, whether a user decision is required (and whether it blocks P1), and how to resolve it. The "Decision required?" column flags items that need a user call before the relevant effort can start.
This is the primary deliverable: exactly 3 to 5 efforts, ranked P1 (lifts the constraint) through P5 (sequenced behind). Each effort is a block with all eight fields:
Inferred (Low confidence)P1 gets the fullest treatment; P2 to P5 are shorter but keep all eight fields. P1 may NOT be Inferred: if you cannot source the binding constraint and P1, the situation is under-evidenced. Say so and make P1 a discovery effort. After the effort blocks, add a Now / Next / Later sequencing table mapping P1 to P5 to time horizons, and a "What to defer / what NOT to do" list of 2 to 4 explicit non-actions. Pre-committing to deferral is half the value of prioritization.
Assume the plan failed; what went wrong? List 3 to 5 risks, each with likelihood, impact, an early observable signal, a mitigation, and a Source: (ledger ID or Inferred). Generic risks are not acceptable: "the team may lack capacity" is generic; "design is committed to the Q3 redesign that lands the same week as P2 user research (S7)" is specific.
For each effort that maps to a recommendable downstream skill, provide a ready-to-run prompt with the user's context already filled in (skill name, why this skill, the source IDs that justify it, and the full prompt). Routing rules:
references/skill-catalog.md OR in the embedded exact-name Tier 1 list in references/recommendable-tiers.md. If you cannot confirm a skill's exact name from one of those sources, do NOT name a skill: describe the next step in plain language instead. Never invent or approximate a skill name.using-workflows; do not stitch together individual sub-step skills.Consolidate the source ledger and audit coverage in a table of claim or recommendation, source ID, and exact quote. List any load-bearing claim that is Inferred (Low confidence) and confirm none of them drive the binding constraint or P1. State evidence gaps honestly. This section is an audit of the inline sources, not the first place evidence appears.
Produce ONE markdown document. Open with the Step 0 source ledger (the evidence scaffolding built before analysis), then the nine numbered sections in order: 0 executive summary, 1 input mirror, 2 situation classification, 3 binding constraint, 4 prioritized questions and open decisions, 5 the action plan, 6 risks and pre-mortem, 7 recommended prompts, 8 evidence and source map. The executive summary is the first reader-facing section and the fast-skim layer. Use references/TEMPLATE.md as the fill-in scaffold; references/EXAMPLE.md is a fully worked sample.
Completeness is the priority: the executive summary (120 to 180 words, the first reader-facing section, directly below the Step 0 ledger) is the fast-skim layer for busy readers, and the rest is the complete artifact. Do not pad, but do not drop a section to save words. Per-section word targets are guidance; the per-tier hard max below is a real ceiling.
| Input complexity | Target (soft) | Hard max (backstop) |
|---|---|---|
| Simple (one clear thread, brief input) | 900 to 1,300 words | 1,500 |
| Medium (2 to 3 threads, moderate context) | 1,300 to 2,000 words | 2,200 |
| Complex (multiple threads, dense input) | 2,000 to 3,000 words | 3,000 |
If you must shorten, cut in this order: framework explanation, then the lowest-confidence Section 7 prompts, then compress prose. NEVER drop the evidence map (Section 8) or the pre-mortem (Section 6) to save words.
Section 7 may only recommend from this filtered set. The full enumerated lists with exact names live in references/recommendable-tiers.md.
foundation-persona, foundation-lean-canvas, foundation-okr-writer, foundation-stakeholder-update). This is the embedded fallback core.foundation-meeting-* (only for meeting next-steps); the Foundation Sprint and Design Sprint families (recommend the family entry point, or hand to using-workflows); utility-pm-critic (when the next step is reviewing an artifact); utility-mermaid-diagrams and utility-slideshow-creator (when the next step is visualizing or presenting).utility-pm-skill-builder, utility-pm-skill-auditor, utility-pm-skill-validate, utility-pm-skill-iterate, utility-pm-release-conductor, utility-pm-changelog-curator, utility-update-pm-skills (library machinery), and foundation-prioritized-action-plan itself.The build-time catalog generator emits Tier 1 and Tier 2 (with a conditional flag) and omits Tier 3. Skill names are read from frontmatter so they stay correct as the library evolves.
Inferred (Low confidence). Inferred claims may not drive the constraint or P1.--run) to utility-pm-workflow-orchestrator, which runs the steps behind its own checkpoints; you never execute a work-skill yourself.Chat output by default. Optional disk write to _pm-skills/foundation-prioritized-action-plan/<slug>-<YYYY-MM-DD>.md when the user passes --out or says "save this."
After you produce the plan, you may offer to run its runnable Section 7 prompts
through utility-pm-workflow-orchestrator, the governed plan orchestrator. This
is an offer, never an auto-run, and it never relaxes the orchestrator's
guardrails. You still do no inline execution of work-skills yourself.
When to offer. Make the offer ONLY when Section 7 produced at least one
runnable block (a prompt carrying a resolvable **Skill:** \name`` line). If
Section 7 is all-manual or empty, do not dangle an offer you cannot fulfill: say
there is nothing runnable to hand off, or say nothing.
The closing offer. When at least one runnable block exists, append one short
closing line after Section 8 (not a new numbered section): note that you can run
the plan's runnable Section 7 prompts through utility-pm-workflow-orchestrator
in CHECKPOINTED mode (one go/no-go per step), and ask whether to proceed.
On one confirmation. On a single explicit yes, hand the plan you just
produced to utility-pm-workflow-orchestrator in CHECKPOINTED mode. Do not
re-prompt, re-classify, or add your own gate: the handoff is the boundary, and
every pause after it belongs to the orchestrator's per-step checkpoints. The
orchestrator parses Section 7 in document order and pauses for go/no-go after
each step.
--run. Produce the plan AND hand it off in one invocation, still
CHECKPOINTED by default. If the produced Section 7 has zero runnable blocks,
--run degrades to the no-op offer state: report that there is nothing to run
rather than starting an empty run.
--force-auto. Forward this flag to utility-pm-workflow-orchestrator
unchanged. You never interpret or relax it. It suppresses per-step pauses for
unambiguously-produced steps only, and it never bypasses the orchestrator's
stop-on-failed/empty guardrail or its Cynefin floor (Complex and Chaotic plans
stay checkpointed unless the orchestrator's own override conditions are met).
The domain comes from the plan's own Section 2.
You never run work-skills inline. The offer and flags only route to the
separate, governed orchestrator. Recommending downstream skills in Section 7 and
handing the plan to the orchestrator are the only ways this skill causes
execution, and the second one always passes through one explicit confirmation
(or the --run flag) into a skill that checkpoints every step.
Self-reference safety. The handoff pointer always targets
utility-pm-workflow-orchestrator and never names this skill or itself as a
runnable step. Section 7's Tier-3 and name-safety rules already forbid
recommending this skill itself, and the orchestrator refuses any Section 7 that
names this skill or the orchestrator, so neither side can loop.
Before finalizing, verify:
Source: quote is an exact substring of the inputSource: quote that is not an exact substring of the input is a fabrication. Quote exactly or mark Inferred.See references/EXAMPLE.md for one fully worked plan (Complicated domain), and references/ example files for Complex cases.