pm-skills-mcp 2.6.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -43
- package/dist/config.d.ts +2 -2
- package/dist/config.js +2 -2
- package/package.json +1 -1
- package/pm-skills-source.json +5 -5
- package/skills/define-hypothesis/SKILL.md +1 -1
- package/skills/define-jtbd-canvas/SKILL.md +1 -1
- package/skills/define-opportunity-tree/SKILL.md +1 -1
- package/skills/define-problem-statement/SKILL.md +1 -1
- package/skills/deliver-acceptance-criteria/SKILL.md +73 -0
- package/skills/deliver-acceptance-criteria/references/EXAMPLE.md +92 -0
- package/skills/deliver-acceptance-criteria/references/TEMPLATE.md +75 -0
- package/skills/deliver-edge-cases/SKILL.md +1 -1
- package/skills/deliver-launch-checklist/SKILL.md +1 -1
- package/skills/deliver-prd/SKILL.md +1 -1
- package/skills/deliver-release-notes/SKILL.md +1 -1
- package/skills/deliver-user-stories/SKILL.md +1 -1
- package/skills/develop-adr/SKILL.md +1 -1
- package/skills/develop-design-rationale/SKILL.md +1 -1
- package/skills/develop-solution-brief/SKILL.md +1 -1
- package/skills/develop-spike-summary/SKILL.md +1 -1
- package/skills/discover-competitive-analysis/SKILL.md +1 -1
- package/skills/discover-interview-synthesis/SKILL.md +1 -1
- package/skills/discover-stakeholder-summary/SKILL.md +1 -1
- package/skills/foundation-persona/SKILL.md +1 -1
- package/skills/iterate-lessons-log/SKILL.md +1 -1
- package/skills/iterate-pivot-decision/SKILL.md +1 -1
- package/skills/iterate-refinement-notes/SKILL.md +1 -1
- package/skills/iterate-retrospective/SKILL.md +1 -1
- package/skills/measure-dashboard-requirements/SKILL.md +1 -1
- package/skills/measure-experiment-design/SKILL.md +1 -1
- package/skills/measure-experiment-results/SKILL.md +1 -1
- package/skills/measure-instrumentation-spec/SKILL.md +1 -1
- package/skills/utility-pm-skill-builder/SKILL.md +283 -0
- package/skills/utility-pm-skill-builder/references/EXAMPLE.md +298 -0
- package/skills/utility-pm-skill-builder/references/TEMPLATE.md +209 -0
- package/skills/utility-pm-skill-iterate/SKILL.md +301 -0
- package/skills/utility-pm-skill-iterate/references/EXAMPLE.md +185 -0
- package/skills/utility-pm-skill-iterate/references/TEMPLATE.md +41 -0
- package/skills/utility-pm-skill-validate/SKILL.md +237 -0
- package/skills/utility-pm-skill-validate/references/EXAMPLE.md +58 -0
- package/skills/utility-pm-skill-validate/references/TEMPLATE.md +44 -0
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<br>
|
|
6
6
|
</h1>
|
|
7
7
|
|
|
8
|
-
<h4 align="center">Open-source MCP
|
|
8
|
+
<h4 align="center">Open-source MCP server exposing 29 best-practice product management skills plus workflows and lifecycle tools, instantly accessible to any AI via Model Context Protocol.</h4>
|
|
9
9
|
|
|
10
10
|
<p align="center">
|
|
11
11
|
<a href="https://github.com/product-on-purpose/pm-skills-mcp/issues/new?labels=bug">Report a Bug</a>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<img src="https://img.shields.io/npm/v/pm-skills-mcp?style=flat-square&color=blue" alt="npm version">
|
|
25
25
|
</a>
|
|
26
26
|
<a href="#tools">
|
|
27
|
-
<img src="https://img.shields.io/badge/tools-
|
|
27
|
+
<img src="https://img.shields.io/badge/tools-42-brightgreen.svg?style=flat-square" alt="Tools">
|
|
28
28
|
</a>
|
|
29
29
|
<a href="https://modelcontextprotocol.io">
|
|
30
30
|
<img src="https://img.shields.io/badge/protocol-MCP-purple.svg?style=flat-square" alt="MCP">
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
</p>
|
|
39
39
|
|
|
40
40
|
<!-- ========== NEW: Skill Library Cross-Reference Callout ========== -->
|
|
41
|
-
> **Want to customize skills or use slash commands?** This server is powered by [pm-skills](https://github.com/product-on-purpose/pm-skills)—the open-source skill library you can fork and modify.
|
|
41
|
+
> **Want to customize skills or use slash commands?** This server is powered by [pm-skills](https://github.com/product-on-purpose/pm-skills)—the open-source skill library you can fork and modify. Browse the full catalog, interactive showcase, and setup guides at [product-on-purpose.github.io/pm-skills](https://product-on-purpose.github.io/pm-skills/).
|
|
42
42
|
|
|
43
43
|
<!-- ========== END NEW ========== -->
|
|
44
44
|
|
|
@@ -111,15 +111,13 @@ npm install -g pm-skills-mcp
|
|
|
111
111
|
|
|
112
112
|
## The Big Idea
|
|
113
113
|
|
|
114
|
-
**PM-Skills MCP** is an MCP server that transforms [PM-Skills](https://github.com/product-on-purpose/pm-skills)
|
|
114
|
+
**PM-Skills MCP** is an MCP server that transforms [PM-Skills](https://github.com/product-on-purpose/pm-skills) — a collection of 29 best-practice product management skills — into programmatically accessible tools, resources, and prompts for any AI assistant that speaks the Model Context Protocol.
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
PM-Skills MCP is built on [pm-skills](https://github.com/product-on-purpose/pm-skills), an open-source collection of 25 battle-tested product management skills. While pm-skills offers file-based access with slash commands and AGENTS.md discovery, pm-skills-mcp wraps those same skills in an MCP server for programmatic access.
|
|
116
|
+
PM-Skills MCP is built on [pm-skills](https://github.com/product-on-purpose/pm-skills), an open-source collection of 29 PM skills organized by the Triple Diamond framework. While pm-skills offers file-based access with slash commands and AGENTS.md discovery, pm-skills-mcp wraps those same skills in an MCP server for programmatic access. The pm-skills library now includes **lifecycle tools** (Create, Validate, Iterate) and a [documentation site](https://product-on-purpose.github.io/pm-skills/) with an interactive showcase.
|
|
118
117
|
|
|
119
|
-
**Not sure which to use?** See the [Comparison](#comparison) section below.
|
|
120
|
-
<!-- ========== END ENHANCED ========== -->
|
|
118
|
+
**Not sure which to use?** See the [Comparison](#comparison-pm-skills-mcp-this-repo-vs-pm-skills) section below, or the [MCP Setup Guide](https://product-on-purpose.github.io/pm-skills/guides/mcp-setup/) on the docs site.
|
|
121
119
|
|
|
122
|
-
**_One connection.
|
|
120
|
+
**_One connection. 29 skills. Any MCP client._**
|
|
123
121
|
|
|
124
122
|
### Why MCP?
|
|
125
123
|
|
|
@@ -138,7 +136,7 @@ The [Model Context Protocol](https://modelcontextprotocol.io) is an open standar
|
|
|
138
136
|
|
|
139
137
|
### Key Features
|
|
140
138
|
|
|
141
|
-
- **
|
|
139
|
+
- **42 MCP Tools** - 29 PM skills + 5 workflow bundles + 8 utility tools
|
|
142
140
|
- **MCP Resources** - Skill instructions, templates, and examples via URI, with optional persona resources when enabled
|
|
143
141
|
- **3 MCP Prompts** - Guided conversation starters for common workflows
|
|
144
142
|
- **5 Workflow Bundles** - Pre-built multi-skill workflows for common scenarios
|
|
@@ -164,7 +162,7 @@ The [Model Context Protocol](https://modelcontextprotocol.io) is an open standar
|
|
|
164
162
|
</p>
|
|
165
163
|
|
|
166
164
|
- **[Model Context Protocol](https://modelcontextprotocol.io)** - Open standard for AI tool connectivity
|
|
167
|
-
- **[PM-Skills](https://github.com/product-on-purpose/pm-skills)** - The
|
|
165
|
+
- **[PM-Skills](https://github.com/product-on-purpose/pm-skills)** - The 29 PM skills this server exposes ([docs site](https://product-on-purpose.github.io/pm-skills/))
|
|
168
166
|
- **[TypeScript](https://www.typescriptlang.org/)** - Type-safe implementation
|
|
169
167
|
- **[Vitest](https://vitest.dev/)** - Fast, modern testing framework
|
|
170
168
|
|
|
@@ -486,9 +484,9 @@ See the [pm-skills authoring guide](https://github.com/product-on-purpose/pm-ski
|
|
|
486
484
|
├─────────────────────────────────────────────────────────────┤
|
|
487
485
|
│ │
|
|
488
486
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
489
|
-
│ │
|
|
487
|
+
│ │ 40 Tools │ │ Resources │ │ 3 Prompts │ │
|
|
490
488
|
│ │ │ │ │ │ │ │
|
|
491
|
-
│ │ •
|
|
489
|
+
│ │ • 27 skills │ │ • templates │ │ • kickoff │ │
|
|
492
490
|
│ │ • 5 flows │ │ • examples │ │ • lean │ │
|
|
493
491
|
│ │ • 8 utils │ │ • skills │ │ • quick-prd │ │
|
|
494
492
|
│ │ │ │ │ │ │ │
|
|
@@ -496,7 +494,7 @@ See the [pm-skills authoring guide](https://github.com/product-on-purpose/pm-ski
|
|
|
496
494
|
│ │
|
|
497
495
|
│ ┌─────────────────────────────────────────────────────┐ │
|
|
498
496
|
│ │ Embedded PM-Skills Library │ │
|
|
499
|
-
│ │
|
|
497
|
+
│ │ 27 skills × (SKILL.md + TEMPLATE + EXAMPLE) │ │
|
|
500
498
|
│ └─────────────────────────────────────────────────────┘ │
|
|
501
499
|
│ │
|
|
502
500
|
└─────────────────────────────────────────────────────────────┘
|
|
@@ -509,7 +507,7 @@ See the [pm-skills authoring guide](https://github.com/product-on-purpose/pm-ski
|
|
|
509
507
|
|
|
510
508
|
### Tools
|
|
511
509
|
|
|
512
|
-
PM-Skills MCP wraps each skill from [pm-skills](https://github.com/product-on-purpose/pm-skills) as an MCP tool. The **
|
|
510
|
+
PM-Skills MCP wraps each skill from [pm-skills](https://github.com/product-on-purpose/pm-skills) as an MCP tool. The **27 skill tools** (like `pm_prd`, `pm_hypothesis`, `pm_acceptance_criteria`, `pm_pm_skill_builder`) generate PM artifacts, while **5 workflow tools** and **8 utility tools** help you orchestrate and validate skill usage. See the [Comparison](#comparison) section for when to use MCP tools vs file-based slash commands.
|
|
513
511
|
|
|
514
512
|
Every skill tool accepts these parameters:
|
|
515
513
|
|
|
@@ -694,7 +692,7 @@ npm install -g pm-skills-mcp
|
|
|
694
692
|
**Install a pinned release:**
|
|
695
693
|
|
|
696
694
|
```bash
|
|
697
|
-
npm install -g pm-skills-mcp@2.
|
|
695
|
+
npm install -g pm-skills-mcp@2.7.0
|
|
698
696
|
```
|
|
699
697
|
|
|
700
698
|
[](https://www.npmjs.com/package/pm-skills-mcp)
|
|
@@ -703,16 +701,7 @@ npm install -g pm-skills-mcp@2.6.0
|
|
|
703
701
|
From `v2.4.0` onward, `pm-skills-mcp` directly tracks `pm-skills` release versions.
|
|
704
702
|
Pinned source compatibility metadata is declared in `pm-skills-source.json` for each release.
|
|
705
703
|
|
|
706
|
-
Latest release
|
|
707
|
-
- [`docs/releases/Release_v2.6.0.md`](docs/releases/Release_v2.6.0.md)
|
|
708
|
-
- [`docs/releases/Release_v2.5.2.md`](docs/releases/Release_v2.5.2.md)
|
|
709
|
-
- [`docs/releases/Release_v2.5.1.md`](docs/releases/Release_v2.5.1.md)
|
|
710
|
-
- [`docs/releases/Release_v2.5.0.md`](docs/releases/Release_v2.5.0.md)
|
|
711
|
-
- [`docs/releases/Release_v2.4.3.md`](docs/releases/Release_v2.4.3.md)
|
|
712
|
-
- [`docs/releases/Release_v2.4.2.md`](docs/releases/Release_v2.4.2.md)
|
|
713
|
-
- [`docs/releases/Release_v2.4.1.md`](docs/releases/Release_v2.4.1.md)
|
|
714
|
-
- [`docs/releases/Release_v2.4.0.md`](docs/releases/Release_v2.4.0.md)
|
|
715
|
-
- Published release tag: [`v2.6.0`](https://github.com/product-on-purpose/pm-skills-mcp/releases/tag/v2.6.0)
|
|
704
|
+
Latest: [`docs/releases/Release_v2.7.0.md`](docs/releases/Release_v2.7.0.md) | [Previous release details](#previous-release-details) | [Full changelog](#changelog)
|
|
716
705
|
|
|
717
706
|
### Project Structure
|
|
718
707
|
See [docs/reference/project-structure.md](docs/reference/project-structure.md) for detailed descriptions.
|
|
@@ -725,7 +714,7 @@ pm-skills-mcp/
|
|
|
725
714
|
│ ├── config.ts # Configuration management
|
|
726
715
|
│ ├── cache.ts # Skill caching layer
|
|
727
716
|
│ ├── skills/ # Skill loader and parser
|
|
728
|
-
│ ├── tools/ # MCP tool handlers (
|
|
717
|
+
│ ├── tools/ # MCP tool handlers (40 tools)
|
|
729
718
|
│ ├── resources/ # MCP resource handlers (skills/templates/examples + optional personas)
|
|
730
719
|
│ ├── prompts/ # MCP prompt definitions (3 prompts)
|
|
731
720
|
│ ├── workflows/ # Workflow bundle logic
|
|
@@ -734,7 +723,7 @@ pm-skills-mcp/
|
|
|
734
723
|
│ ├── deliver-prd/ # Example: phase-prefixed skill directories
|
|
735
724
|
│ ├── define-hypothesis/ # Each skill has SKILL.md + references/
|
|
736
725
|
│ ├── discover-interview-synthesis/
|
|
737
|
-
│ └── ... #
|
|
726
|
+
│ └── ... # 27 skills total
|
|
738
727
|
├── docs/ # Documentation
|
|
739
728
|
│ ├── getting-started.md # Complete setup and first-use guide
|
|
740
729
|
│ ├── integration-guide.md # Client-specific configuration
|
|
@@ -759,32 +748,67 @@ pm-skills-mcp/
|
|
|
759
748
|
|
|
760
749
|
|
|
761
750
|
|
|
751
|
+
### Previous Release Details
|
|
752
|
+
|
|
753
|
+
<a id="previous-release-details"></a>
|
|
754
|
+
|
|
755
|
+
<details>
|
|
756
|
+
<summary>v2.6.0 - Maintenance: pm-skills v2.6.0 version parity</summary>
|
|
757
|
+
|
|
758
|
+
- Version and source-pin metadata aligned with `pm-skills v2.6.0`.
|
|
759
|
+
- No MCP tool/resource/prompt behavior changes.
|
|
760
|
+
- Release note: [`docs/releases/Release_v2.6.0.md`](docs/releases/Release_v2.6.0.md).
|
|
761
|
+
|
|
762
|
+
</details>
|
|
763
|
+
<details>
|
|
764
|
+
<summary>v2.5.x - Persona tool support + taxonomy contract updates</summary>
|
|
765
|
+
|
|
766
|
+
**v2.5.2** — Public release-doc readability cleanup.
|
|
767
|
+
**v2.5.1** — Canonical `AGENTS/claude` continuity path.
|
|
768
|
+
**v2.5.0** — Persona skill tool (`pm_persona`), two-axis classification model (`phase` + `classification`), embed validation hardening. Tool count: 38.
|
|
769
|
+
- Release notes: [`Release_v2.5.0.md`](docs/releases/Release_v2.5.0.md) through [`Release_v2.5.2.md`](docs/releases/Release_v2.5.2.md).
|
|
770
|
+
|
|
771
|
+
</details>
|
|
772
|
+
<details>
|
|
773
|
+
<summary>v2.4.x - Direct version tracking with pm-skills</summary>
|
|
774
|
+
|
|
775
|
+
**v2.4.3** — Release metadata/link alignment patch.
|
|
776
|
+
**v2.4.2** — Governance + structure-doc alignment.
|
|
777
|
+
**v2.4.1** — Version/pin parity patch.
|
|
778
|
+
**v2.4.0** — Adopted direct version tracking with `pm-skills`. Added `pm-skills-source.json` for reproducible embeds. Resource URI contract tests. Tool count: 36.
|
|
779
|
+
- Release notes: [`Release_v2.4.0.md`](docs/releases/Release_v2.4.0.md) through [`Release_v2.4.3.md`](docs/releases/Release_v2.4.3.md).
|
|
780
|
+
|
|
781
|
+
</details>
|
|
782
|
+
<details>
|
|
783
|
+
<summary>v2.1.0 and earlier</summary>
|
|
784
|
+
|
|
785
|
+
**v2.1.0** — Flat skill structure alignment with pm-skills v2.x. Resource URIs flattened.
|
|
786
|
+
**v1.1.0** — Comprehensive documentation suite, platform compatibility.
|
|
787
|
+
**v1.0.0** — First stable release: 36 tools, caching, community governance.
|
|
788
|
+
**v0.1.x** — Initial implementation: MCP server, CI/CD, npm packaging.
|
|
789
|
+
- See [CHANGELOG.md](CHANGELOG.md) for full detail.
|
|
790
|
+
|
|
791
|
+
</details>
|
|
792
|
+
|
|
762
793
|
### Changelog
|
|
763
794
|
|
|
764
795
|
See [CHANGELOG.md](CHANGELOG.md) for full version history.
|
|
765
796
|
|
|
766
797
|
| Version | Date | Highlights |
|
|
767
798
|
| --------- | ---------- | ------------------------------------------------------------- |
|
|
768
|
-
| **2.
|
|
769
|
-
| **2.
|
|
770
|
-
| **2.5.
|
|
771
|
-
| **2.
|
|
772
|
-
| **2.
|
|
773
|
-
| **
|
|
774
|
-
| **
|
|
775
|
-
| **2.4.0** | 2026-02-16 | Direct version tracking with pm-skills + pinned source metadata |
|
|
776
|
-
| **2.1.0** | 2026-01-27 | Flat skill structure alignment with pm-skills v2.x |
|
|
777
|
-
| **1.1.0** | 2026-01-21 | Comprehensive documentation suite, platform compatibility |
|
|
778
|
-
| **1.0.0** | 2026-01-21 | First stable release baseline with MCP tooling, resources, and caching |
|
|
779
|
-
| **0.1.2** | 2026-01-20 | CI/CD infrastructure, branch migration to main |
|
|
780
|
-
| **0.1.1** | 2026-01-20 | GitHub Actions CI/CD, ESLint + Prettier, npm package setup |
|
|
781
|
-
| **0.1.0** | 2026-01-20 | Initial implementation baseline for PM-skills MCP integration |
|
|
799
|
+
| **2.7.0** | 2026-03-22 | 2 new skill tools (`pm_acceptance_criteria`, `pm_pm_skill_builder`), 27 skills, 40 tools |
|
|
800
|
+
| **2.6.0** | 2026-03-04 | Maintenance: pm-skills v2.6.0 version/source-pin parity |
|
|
801
|
+
| **2.5.0** | 2026-03-02 | Persona tool + taxonomy contract updates + embed hardening |
|
|
802
|
+
| **2.4.0** | 2026-02-16 | Direct version tracking + pinned source metadata |
|
|
803
|
+
| **2.1.0** | 2026-01-27 | Flat skill structure alignment with pm-skills v2.x |
|
|
804
|
+
| **1.0.0** | 2026-01-21 | First stable release: 36 tools, caching, governance |
|
|
805
|
+
| **0.1.0** | 2026-01-20 | Initial MCP server implementation |
|
|
782
806
|
|
|
783
807
|
### Roadmap
|
|
784
808
|
|
|
785
809
|
See the [open issues](https://github.com/product-on-purpose/pm-skills-mcp/issues) for planned features.
|
|
786
810
|
|
|
787
|
-
- [x] Core MCP server with all
|
|
811
|
+
- [x] Core MCP server with all 27 PM skills
|
|
788
812
|
- [x] Workflow bundle tools
|
|
789
813
|
- [x] MCP resources for direct skill access
|
|
790
814
|
- [x] MCP prompts for guided workflows
|
package/dist/config.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export declare function loadConfig(): ServerConfig;
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const SERVER_INFO: {
|
|
13
13
|
readonly name: "pm-skills-mcp";
|
|
14
|
-
readonly version: "2.
|
|
15
|
-
readonly description: "MCP server exposing
|
|
14
|
+
readonly version: "2.7.0";
|
|
15
|
+
readonly description: "MCP server exposing 27 product management skills as tools";
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
* Tool naming configuration
|
package/dist/config.js
CHANGED
|
@@ -81,8 +81,8 @@ export function loadConfig() {
|
|
|
81
81
|
*/
|
|
82
82
|
export const SERVER_INFO = {
|
|
83
83
|
name: 'pm-skills-mcp',
|
|
84
|
-
version: '2.
|
|
85
|
-
description: 'MCP server exposing
|
|
84
|
+
version: '2.7.0',
|
|
85
|
+
description: 'MCP server exposing 27 product management skills as tools',
|
|
86
86
|
};
|
|
87
87
|
/**
|
|
88
88
|
* Tool naming configuration
|
package/package.json
CHANGED
package/pm-skills-source.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pmSkillsRepository": "product-on-purpose/pm-skills",
|
|
3
|
-
"pmSkillsRef": "v2.
|
|
4
|
-
"pmSkillsVersion": "2.
|
|
5
|
-
"outputContractVersion": "2.
|
|
6
|
-
"configContractVersion": "2.
|
|
7
|
-
"updated": "2026-03
|
|
3
|
+
"pmSkillsRef": "v2.8.0",
|
|
4
|
+
"pmSkillsVersion": "2.8.0",
|
|
5
|
+
"outputContractVersion": "2.8.0",
|
|
6
|
+
"configContractVersion": "2.8.0",
|
|
7
|
+
"updated": "2026-04-03"
|
|
8
8
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: define-hypothesis
|
|
4
3
|
description: Defines a testable hypothesis with clear success metrics and validation approach. Use when forming assumptions to test, designing experiments, or aligning team on what success looks like.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Hypothesis
|
|
15
15
|
|
|
16
16
|
A hypothesis is a testable prediction about how a change will affect user behavior or business outcomes. It transforms assumptions into explicit statements that can be validated or invalidated through experimentation. Well-formed hypotheses prevent teams from building features based on untested beliefs and create shared understanding of what success looks like.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: define-jtbd-canvas
|
|
4
3
|
description: Creates a Jobs to be Done canvas capturing the functional, emotional, and social dimensions of a customer job. Use when deeply understanding customer motivations, designing for jobs, or reframing product positioning.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Jobs to be Done Canvas
|
|
15
15
|
|
|
16
16
|
A Jobs to be Done (JTBD) canvas captures the complete picture of why customers "hire" products to make progress in their lives. Based on Clayton Christensen's framework, JTBD goes beyond features and demographics to understand the underlying motivations—functional, emotional, and social—that drive customer behavior.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: define-opportunity-tree
|
|
4
3
|
description: Creates an opportunity solution tree mapping desired outcomes to opportunities and potential solutions. Use for outcome-driven product discovery, prioritization, or communicating product strategy.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Opportunity Solution Tree
|
|
15
15
|
|
|
16
16
|
An Opportunity Solution Tree (OST) is a visual framework for product discovery that connects business outcomes to customer opportunities and potential solutions. Developed by Teresa Torres, it prevents the common trap of jumping straight to solutions by ensuring every feature idea traces back to a customer need and measurable outcome.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: define-problem-statement
|
|
4
3
|
description: Creates a clear problem framing document with user impact, business context, and success criteria. Use when starting a new initiative, realigning a drifted project, or communicating up to leadership.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Problem Statement
|
|
15
15
|
|
|
16
16
|
A problem statement is a concise document that frames the problem you're solving, articulates the impact on users and the business, and defines clear success criteria. It serves as the foundation for all subsequent product work by ensuring alignment on *what* problem to solve before jumping to *how* to solve it.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deliver-acceptance-criteria
|
|
3
|
+
description: Generates structured Given/When/Then acceptance criteria for a user story or feature slice. Use when translating product requirements into testable scenarios that cover the happy path, edge cases, error states, and non-functional expectations for engineering handoff and QA.
|
|
4
|
+
phase: deliver
|
|
5
|
+
version: "1.0.0"
|
|
6
|
+
updated: 2026-03-22
|
|
7
|
+
license: Apache-2.0
|
|
8
|
+
metadata:
|
|
9
|
+
category: specification
|
|
10
|
+
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
11
|
+
author: product-on-purpose
|
|
12
|
+
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
|
+
# Acceptance Criteria
|
|
15
|
+
|
|
16
|
+
Acceptance criteria define the observable behavior that must be true for a story or feature to be considered done. This skill turns feature context into concise, testable Given/When/Then scenarios that engineers and QA can verify without guessing intent.
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
- After a user story, PRD section, or feature slice is defined
|
|
21
|
+
- When a team needs clear pass/fail conditions for implementation
|
|
22
|
+
- When writing QA-ready criteria for sprint planning or handoff
|
|
23
|
+
- When a story has edge cases, error paths, or non-functional expectations that should be explicit
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
When asked to create acceptance criteria, follow these steps:
|
|
28
|
+
|
|
29
|
+
1. **Confirm the story or feature scope**
|
|
30
|
+
Identify the exact slice of work. If the scope is unclear, ask for the user story, PRD section, or feature description before drafting criteria.
|
|
31
|
+
|
|
32
|
+
2. **Separate the happy path from exceptions**
|
|
33
|
+
Start with the primary success flow, then add edge cases and error states that are likely or costly if missed.
|
|
34
|
+
|
|
35
|
+
3. **Write each criterion as an observable scenario**
|
|
36
|
+
Use Given/When/Then language only. Keep each criterion independently testable and avoid implementation details.
|
|
37
|
+
|
|
38
|
+
4. **Cover recovery and failure behavior**
|
|
39
|
+
Describe what the user sees or can do when validation fails, a dependency is unavailable, or a save action cannot complete.
|
|
40
|
+
|
|
41
|
+
5. **Include non-functional expectations**
|
|
42
|
+
Add criteria for performance, accessibility, security, reliability, or auditability when they matter to the story.
|
|
43
|
+
|
|
44
|
+
6. **Avoid duplication and overlap**
|
|
45
|
+
Each criterion should test one outcome. If two criteria describe the same behavior, merge or split them until the intent is clear.
|
|
46
|
+
|
|
47
|
+
7. **Review for testability**
|
|
48
|
+
Ensure a reviewer can pass or fail each criterion without interpretation. If a statement is subjective, rewrite it into a measurable outcome.
|
|
49
|
+
|
|
50
|
+
## Output Contract
|
|
51
|
+
|
|
52
|
+
Use `references/TEMPLATE.md` as the output format. A complete response should:
|
|
53
|
+
|
|
54
|
+
- Restate the feature or story context
|
|
55
|
+
- Group criteria into happy path, edge cases, error states, and non-functional criteria
|
|
56
|
+
- Use explicit Given/When/Then statements for each criterion
|
|
57
|
+
- Note assumptions or open questions when context is incomplete
|
|
58
|
+
|
|
59
|
+
## Quality Checklist
|
|
60
|
+
|
|
61
|
+
Before finalizing, verify:
|
|
62
|
+
|
|
63
|
+
- [ ] The criteria map to a specific story or feature slice
|
|
64
|
+
- [ ] The happy path is covered first
|
|
65
|
+
- [ ] Edge cases are explicit, not implied
|
|
66
|
+
- [ ] Error states include user-visible recovery behavior
|
|
67
|
+
- [ ] Non-functional criteria are included when relevant
|
|
68
|
+
- [ ] Each criterion is testable and has one clear outcome
|
|
69
|
+
- [ ] No implementation details leak into the acceptance criteria
|
|
70
|
+
|
|
71
|
+
## Examples
|
|
72
|
+
|
|
73
|
+
See `references/EXAMPLE.md` for a completed example based on a realistic e-commerce checkout flow.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: acceptance-criteria
|
|
3
|
+
version: "1.0"
|
|
4
|
+
created: 2026-03-22
|
|
5
|
+
status: complete
|
|
6
|
+
context: Acceptance criteria for a guest checkout flow in an e-commerce storefront
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Acceptance Criteria: Guest Checkout
|
|
10
|
+
|
|
11
|
+
This example describes the acceptance criteria for a guest checkout flow that lets shoppers buy items without creating an account.
|
|
12
|
+
|
|
13
|
+
## Story Context
|
|
14
|
+
|
|
15
|
+
The checkout experience must let a shopper complete an order as a guest, enter shipping and payment details, and receive a confirmation after payment succeeds. The criteria below focus on the behavior a reviewer can observe in the UI and system responses.
|
|
16
|
+
|
|
17
|
+
## Happy Path
|
|
18
|
+
|
|
19
|
+
### AC-1: Guest Checkout Form Loads
|
|
20
|
+
|
|
21
|
+
**Given** I have items in my cart and I am not signed in
|
|
22
|
+
|
|
23
|
+
**When** I open the checkout page
|
|
24
|
+
|
|
25
|
+
**Then** I can enter shipping information, delivery method, and payment details without being prompted to create an account
|
|
26
|
+
|
|
27
|
+
### AC-2: Order Completes Successfully
|
|
28
|
+
|
|
29
|
+
**Given** I have entered valid shipping and payment details
|
|
30
|
+
|
|
31
|
+
**When** I submit the order
|
|
32
|
+
|
|
33
|
+
**Then** I see an order confirmation page with an order number and estimated delivery date
|
|
34
|
+
|
|
35
|
+
## Edge Cases
|
|
36
|
+
|
|
37
|
+
### AC-3: Promo Code Can Be Applied
|
|
38
|
+
|
|
39
|
+
**Given** I am on checkout and my cart qualifies for a discount
|
|
40
|
+
|
|
41
|
+
**When** I enter a valid promo code and apply it
|
|
42
|
+
|
|
43
|
+
**Then** the order summary updates to show the discount before I submit payment
|
|
44
|
+
|
|
45
|
+
### AC-4: Shipping Address Validation Supports International Formats
|
|
46
|
+
|
|
47
|
+
**Given** I enter a shipping address for a supported non-US destination
|
|
48
|
+
|
|
49
|
+
**When** I continue to the next step
|
|
50
|
+
|
|
51
|
+
**Then** the form accepts the address if it matches the country-specific validation rules
|
|
52
|
+
|
|
53
|
+
## Error States
|
|
54
|
+
|
|
55
|
+
### AC-5: Invalid Card Is Rejected
|
|
56
|
+
|
|
57
|
+
**Given** I have entered shipping information but the payment card is invalid
|
|
58
|
+
|
|
59
|
+
**When** I attempt to place the order
|
|
60
|
+
|
|
61
|
+
**Then** I see a clear inline error message and the order is not created
|
|
62
|
+
|
|
63
|
+
### AC-6: Inventory Changes During Checkout
|
|
64
|
+
|
|
65
|
+
**Given** an item in my cart becomes out of stock before I submit payment
|
|
66
|
+
|
|
67
|
+
**When** I place the order
|
|
68
|
+
|
|
69
|
+
**Then** I am shown which item failed, my cart remains available, and I can remove the item or choose a different variant
|
|
70
|
+
|
|
71
|
+
## Non-Functional Criteria
|
|
72
|
+
|
|
73
|
+
### AC-7: Checkout Responds Within the Performance Budget
|
|
74
|
+
|
|
75
|
+
**Given** I submit a valid order during normal operating conditions
|
|
76
|
+
|
|
77
|
+
**When** the checkout request is processed
|
|
78
|
+
|
|
79
|
+
**Then** the confirmation response is returned within 3 seconds for at least 95 percent of requests
|
|
80
|
+
|
|
81
|
+
### AC-8: Checkout Errors Are Accessible
|
|
82
|
+
|
|
83
|
+
**Given** a validation or payment error occurs
|
|
84
|
+
|
|
85
|
+
**When** the error message is shown
|
|
86
|
+
|
|
87
|
+
**Then** the message is announced by screen readers and the field with the error receives focus when applicable
|
|
88
|
+
|
|
89
|
+
## Notes
|
|
90
|
+
|
|
91
|
+
- Payment processor and inventory service availability are external dependencies.
|
|
92
|
+
- Fraud review and manual review flows are out of scope for this example.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
artifact: acceptance-criteria
|
|
3
|
+
version: "1.0"
|
|
4
|
+
created: <YYYY-MM-DD>
|
|
5
|
+
status: draft
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Acceptance Criteria: [Feature or Story Title]
|
|
9
|
+
|
|
10
|
+
## Story Context
|
|
11
|
+
|
|
12
|
+
<!-- Briefly restate the story, feature slice, or PRD section this criteria set supports. -->
|
|
13
|
+
|
|
14
|
+
[Describe the user need, scope boundary, and any assumptions that matter for testing.]
|
|
15
|
+
|
|
16
|
+
## Happy Path
|
|
17
|
+
|
|
18
|
+
<!-- Capture the primary success flow first. Each criterion should be independently testable. -->
|
|
19
|
+
|
|
20
|
+
### AC-1: [Happy Path Title]
|
|
21
|
+
|
|
22
|
+
**Given** [initial context or precondition]
|
|
23
|
+
|
|
24
|
+
**When** [user action or trigger]
|
|
25
|
+
|
|
26
|
+
**Then** [expected observable outcome]
|
|
27
|
+
|
|
28
|
+
### AC-2: [Happy Path Title]
|
|
29
|
+
|
|
30
|
+
**Given** [initial context or precondition]
|
|
31
|
+
|
|
32
|
+
**When** [user action or trigger]
|
|
33
|
+
|
|
34
|
+
**Then** [expected observable outcome]
|
|
35
|
+
|
|
36
|
+
## Edge Cases
|
|
37
|
+
|
|
38
|
+
<!-- Document boundary conditions and alternate inputs that should still behave correctly. -->
|
|
39
|
+
|
|
40
|
+
### AC-3: [Edge Case Title]
|
|
41
|
+
|
|
42
|
+
**Given** [boundary condition or alternate state]
|
|
43
|
+
|
|
44
|
+
**When** [user action or trigger]
|
|
45
|
+
|
|
46
|
+
**Then** [expected observable outcome]
|
|
47
|
+
|
|
48
|
+
## Error States
|
|
49
|
+
|
|
50
|
+
<!-- Describe failures, validation issues, and dependency problems with recovery behavior. -->
|
|
51
|
+
|
|
52
|
+
### AC-4: [Error State Title]
|
|
53
|
+
|
|
54
|
+
**Given** [failure condition]
|
|
55
|
+
|
|
56
|
+
**When** [user action or trigger]
|
|
57
|
+
|
|
58
|
+
**Then** [expected observable outcome and recovery path]
|
|
59
|
+
|
|
60
|
+
## Non-Functional Criteria
|
|
61
|
+
|
|
62
|
+
<!-- Capture performance, accessibility, security, reliability, or audit requirements. -->
|
|
63
|
+
|
|
64
|
+
### AC-5: [Non-Functional Title]
|
|
65
|
+
|
|
66
|
+
**Given** [relevant system or user context]
|
|
67
|
+
|
|
68
|
+
**When** [measurement or action]
|
|
69
|
+
|
|
70
|
+
**Then** [expected measurable constraint or guarantee]
|
|
71
|
+
|
|
72
|
+
## Notes
|
|
73
|
+
|
|
74
|
+
- [Assumption or dependency]
|
|
75
|
+
- [Open question if the source story is incomplete]
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: deliver-edge-cases
|
|
4
3
|
description: Documents edge cases, error states, boundary conditions, and recovery paths for a feature. Use during specification to ensure comprehensive coverage, or during QA planning to identify test scenarios.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Edge Cases
|
|
15
15
|
|
|
16
16
|
An edge cases document systematically catalogs the unusual, boundary, and error scenarios for a feature. While happy-path flows are typically well-specified, edge cases often get discovered in production — causing bugs, poor user experience, and support burden. Documenting edge cases upfront ensures engineering handles them intentionally and QA knows what to test.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: deliver-launch-checklist
|
|
4
3
|
description: Creates a comprehensive pre-launch checklist covering engineering, design, marketing, support, legal, and operations readiness. Use before releasing features, products, or major updates to ensure nothing is missed.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Launch Checklist
|
|
15
15
|
|
|
16
16
|
A launch checklist is a comprehensive verification document that ensures all functions are ready before releasing a feature or product. It coordinates across engineering, QA, design, marketing, support, legal, and operations to prevent launch-day surprises. Good launch checklists surface blockers early and create shared accountability for launch readiness.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: deliver-prd
|
|
4
3
|
description: Creates a comprehensive Product Requirements Document that aligns stakeholders on what to build, why, and how success will be measured. Use when specifying features, epics, or product initiatives for engineering handoff.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Product Requirements Document (PRD)
|
|
15
15
|
|
|
16
16
|
A Product Requirements Document is the primary specification artifact that communicates what to build and why. It bridges the gap between problem understanding and engineering implementation by providing clear requirements, success criteria, and scope boundaries. A good PRD enables engineering to build the right thing while maintaining flexibility on implementation details.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: deliver-release-notes
|
|
4
3
|
description: Creates user-facing release notes that communicate new features, improvements, and fixes in clear, benefit-focused language. Use when shipping updates to communicate changes to users, customers, or stakeholders.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# Release Notes
|
|
15
15
|
|
|
16
16
|
Release notes communicate product changes to users in a way that highlights value and builds excitement. Unlike changelogs (which document what changed technically), release notes translate changes into user benefits. Good release notes help users discover new capabilities, understand improvements, and trust that issues are being addressed.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
2
1
|
---
|
|
3
2
|
name: deliver-user-stories
|
|
4
3
|
description: Generates user stories with clear acceptance criteria from product requirements or feature descriptions. Use when breaking down features for sprint planning, writing tickets, or communicating requirements to engineering.
|
|
@@ -11,6 +10,7 @@ metadata:
|
|
|
11
10
|
frameworks: [triple-diamond, lean-startup, design-thinking]
|
|
12
11
|
author: product-on-purpose
|
|
13
12
|
---
|
|
13
|
+
<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
|
|
14
14
|
# User Stories
|
|
15
15
|
|
|
16
16
|
User stories are concise descriptions of functionality from the user's perspective. They capture who needs something, what they need, and why — without prescribing how to build it. Good user stories enable teams to break large features into estimable, deliverable increments while maintaining focus on user value.
|