pm-skills-mcp 2.5.2 → 2.8.0

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.
Files changed (42) hide show
  1. package/README.md +59 -31
  2. package/dist/config.d.ts +2 -2
  3. package/dist/config.js +2 -2
  4. package/package.json +1 -1
  5. package/pm-skills-source.json +5 -5
  6. package/skills/define-hypothesis/SKILL.md +1 -1
  7. package/skills/define-jtbd-canvas/SKILL.md +1 -1
  8. package/skills/define-opportunity-tree/SKILL.md +1 -1
  9. package/skills/define-problem-statement/SKILL.md +1 -1
  10. package/skills/deliver-acceptance-criteria/SKILL.md +73 -0
  11. package/skills/deliver-acceptance-criteria/references/EXAMPLE.md +92 -0
  12. package/skills/deliver-acceptance-criteria/references/TEMPLATE.md +75 -0
  13. package/skills/deliver-edge-cases/SKILL.md +1 -1
  14. package/skills/deliver-launch-checklist/SKILL.md +1 -1
  15. package/skills/deliver-prd/SKILL.md +1 -1
  16. package/skills/deliver-release-notes/SKILL.md +1 -1
  17. package/skills/deliver-user-stories/SKILL.md +1 -1
  18. package/skills/develop-adr/SKILL.md +1 -1
  19. package/skills/develop-design-rationale/SKILL.md +1 -1
  20. package/skills/develop-solution-brief/SKILL.md +1 -1
  21. package/skills/develop-spike-summary/SKILL.md +1 -1
  22. package/skills/discover-competitive-analysis/SKILL.md +1 -1
  23. package/skills/discover-interview-synthesis/SKILL.md +1 -1
  24. package/skills/discover-stakeholder-summary/SKILL.md +1 -1
  25. package/skills/foundation-persona/SKILL.md +1 -1
  26. package/skills/iterate-lessons-log/SKILL.md +1 -1
  27. package/skills/iterate-pivot-decision/SKILL.md +1 -1
  28. package/skills/iterate-refinement-notes/SKILL.md +1 -1
  29. package/skills/iterate-retrospective/SKILL.md +1 -1
  30. package/skills/measure-dashboard-requirements/SKILL.md +1 -1
  31. package/skills/measure-experiment-design/SKILL.md +1 -1
  32. package/skills/measure-experiment-results/SKILL.md +1 -1
  33. package/skills/measure-instrumentation-spec/SKILL.md +1 -1
  34. package/skills/utility-pm-skill-builder/SKILL.md +283 -0
  35. package/skills/utility-pm-skill-builder/references/EXAMPLE.md +298 -0
  36. package/skills/utility-pm-skill-builder/references/TEMPLATE.md +209 -0
  37. package/skills/utility-pm-skill-iterate/SKILL.md +301 -0
  38. package/skills/utility-pm-skill-iterate/references/EXAMPLE.md +185 -0
  39. package/skills/utility-pm-skill-iterate/references/TEMPLATE.md +41 -0
  40. package/skills/utility-pm-skill-validate/SKILL.md +237 -0
  41. package/skills/utility-pm-skill-validate/references/EXAMPLE.md +58 -0
  42. package/skills/utility-pm-skill-validate/references/TEMPLATE.md +44 -0
package/README.md CHANGED
@@ -119,7 +119,7 @@ PM-Skills MCP is built on [pm-skills](https://github.com/product-on-purpose/pm-s
119
119
  **Not sure which to use?** See the [Comparison](#comparison) section below.
120
120
  <!-- ========== END ENHANCED ========== -->
121
121
 
122
- **_One connection. 25 skills. Any MCP client._**
122
+ **_One connection. 27 skills. Any MCP client._**
123
123
 
124
124
  ### Why MCP?
125
125
 
@@ -486,9 +486,9 @@ See the [pm-skills authoring guide](https://github.com/product-on-purpose/pm-ski
486
486
  ├─────────────────────────────────────────────────────────────┤
487
487
  │ │
488
488
  │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
489
- │ │ 38 Tools │ │ Resources │ │ 3 Prompts │ │
489
+ │ │ 40 Tools │ │ Resources │ │ 3 Prompts │ │
490
490
  │ │ │ │ │ │ │ │
491
- │ │ • 25 skills │ │ • templates │ │ • kickoff │ │
491
+ │ │ • 27 skills │ │ • templates │ │ • kickoff │ │
492
492
  │ │ • 5 flows │ │ • examples │ │ • lean │ │
493
493
  │ │ • 8 utils │ │ • skills │ │ • quick-prd │ │
494
494
  │ │ │ │ │ │ │ │
@@ -496,7 +496,7 @@ See the [pm-skills authoring guide](https://github.com/product-on-purpose/pm-ski
496
496
  │ │
497
497
  │ ┌─────────────────────────────────────────────────────┐ │
498
498
  │ │ Embedded PM-Skills Library │ │
499
- │ │ 25 skills × (SKILL.md + TEMPLATE + EXAMPLE) │ │
499
+ │ │ 27 skills × (SKILL.md + TEMPLATE + EXAMPLE) │ │
500
500
  │ └─────────────────────────────────────────────────────┘ │
501
501
  │ │
502
502
  └─────────────────────────────────────────────────────────────┘
@@ -509,7 +509,7 @@ See the [pm-skills authoring guide](https://github.com/product-on-purpose/pm-ski
509
509
 
510
510
  ### Tools
511
511
 
512
- PM-Skills MCP wraps each skill from [pm-skills](https://github.com/product-on-purpose/pm-skills) as an MCP tool. The **25 skill tools** (like `pm_prd`, `pm_hypothesis`) 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.
512
+ 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
513
 
514
514
  Every skill tool accepts these parameters:
515
515
 
@@ -694,7 +694,7 @@ npm install -g pm-skills-mcp
694
694
  **Install a pinned release:**
695
695
 
696
696
  ```bash
697
- npm install -g pm-skills-mcp@2.5.2
697
+ npm install -g pm-skills-mcp@2.7.0
698
698
  ```
699
699
 
700
700
  [![npm version](https://img.shields.io/npm/v/pm-skills-mcp?style=for-the-badge&label=npm)](https://www.npmjs.com/package/pm-skills-mcp)
@@ -703,15 +703,7 @@ npm install -g pm-skills-mcp@2.5.2
703
703
  From `v2.4.0` onward, `pm-skills-mcp` directly tracks `pm-skills` release versions.
704
704
  Pinned source compatibility metadata is declared in `pm-skills-source.json` for each release.
705
705
 
706
- Latest release notes:
707
- - [`docs/releases/Release_v2.5.2.md`](docs/releases/Release_v2.5.2.md)
708
- - [`docs/releases/Release_v2.5.1.md`](docs/releases/Release_v2.5.1.md)
709
- - [`docs/releases/Release_v2.5.0.md`](docs/releases/Release_v2.5.0.md)
710
- - [`docs/releases/Release_v2.4.3.md`](docs/releases/Release_v2.4.3.md)
711
- - [`docs/releases/Release_v2.4.2.md`](docs/releases/Release_v2.4.2.md)
712
- - [`docs/releases/Release_v2.4.1.md`](docs/releases/Release_v2.4.1.md)
713
- - [`docs/releases/Release_v2.4.0.md`](docs/releases/Release_v2.4.0.md)
714
- - Published release tag: [`v2.5.2`](https://github.com/product-on-purpose/pm-skills-mcp/releases/tag/v2.5.2)
706
+ Latest: [`docs/releases/Release_v2.7.0.md`](docs/releases/Release_v2.7.0.md) | [Previous release details](#previous-release-details) | [Full changelog](#changelog)
715
707
 
716
708
  ### Project Structure
717
709
  See [docs/reference/project-structure.md](docs/reference/project-structure.md) for detailed descriptions.
@@ -724,7 +716,7 @@ pm-skills-mcp/
724
716
  │ ├── config.ts # Configuration management
725
717
  │ ├── cache.ts # Skill caching layer
726
718
  │ ├── skills/ # Skill loader and parser
727
- │ ├── tools/ # MCP tool handlers (38 tools)
719
+ │ ├── tools/ # MCP tool handlers (40 tools)
728
720
  │ ├── resources/ # MCP resource handlers (skills/templates/examples + optional personas)
729
721
  │ ├── prompts/ # MCP prompt definitions (3 prompts)
730
722
  │ ├── workflows/ # Workflow bundle logic
@@ -733,7 +725,7 @@ pm-skills-mcp/
733
725
  │ ├── deliver-prd/ # Example: phase-prefixed skill directories
734
726
  │ ├── define-hypothesis/ # Each skill has SKILL.md + references/
735
727
  │ ├── discover-interview-synthesis/
736
- │ └── ... # 25 skills total
728
+ │ └── ... # 27 skills total
737
729
  ├── docs/ # Documentation
738
730
  │ ├── getting-started.md # Complete setup and first-use guide
739
731
  │ ├── integration-guide.md # Client-specific configuration
@@ -758,31 +750,67 @@ pm-skills-mcp/
758
750
 
759
751
 
760
752
 
753
+ ### Previous Release Details
754
+
755
+ <a id="previous-release-details"></a>
756
+
757
+ <details>
758
+ <summary>v2.6.0 - Maintenance: pm-skills v2.6.0 version parity</summary>
759
+
760
+ - Version and source-pin metadata aligned with `pm-skills v2.6.0`.
761
+ - No MCP tool/resource/prompt behavior changes.
762
+ - Release note: [`docs/releases/Release_v2.6.0.md`](docs/releases/Release_v2.6.0.md).
763
+
764
+ </details>
765
+ <details>
766
+ <summary>v2.5.x - Persona tool support + taxonomy contract updates</summary>
767
+
768
+ **v2.5.2** — Public release-doc readability cleanup.
769
+ **v2.5.1** — Canonical `AGENTS/claude` continuity path.
770
+ **v2.5.0** — Persona skill tool (`pm_persona`), two-axis classification model (`phase` + `classification`), embed validation hardening. Tool count: 38.
771
+ - 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).
772
+
773
+ </details>
774
+ <details>
775
+ <summary>v2.4.x - Direct version tracking with pm-skills</summary>
776
+
777
+ **v2.4.3** — Release metadata/link alignment patch.
778
+ **v2.4.2** — Governance + structure-doc alignment.
779
+ **v2.4.1** — Version/pin parity patch.
780
+ **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.
781
+ - 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).
782
+
783
+ </details>
784
+ <details>
785
+ <summary>v2.1.0 and earlier</summary>
786
+
787
+ **v2.1.0** — Flat skill structure alignment with pm-skills v2.x. Resource URIs flattened.
788
+ **v1.1.0** — Comprehensive documentation suite, platform compatibility.
789
+ **v1.0.0** — First stable release: 36 tools, caching, community governance.
790
+ **v0.1.x** — Initial implementation: MCP server, CI/CD, npm packaging.
791
+ - See [CHANGELOG.md](CHANGELOG.md) for full detail.
792
+
793
+ </details>
794
+
761
795
  ### Changelog
762
796
 
763
797
  See [CHANGELOG.md](CHANGELOG.md) for full version history.
764
798
 
765
799
  | Version | Date | Highlights |
766
800
  | --------- | ---------- | ------------------------------------------------------------- |
767
- | **2.5.2** | 2026-03-04 | Public release-doc readability cleanup + 2.5.2 source-pin/runtime parity |
768
- | **2.5.1** | 2026-03-04 | Canonical `AGENTS/claude` continuity path + 2.5.1 source-pin/runtime parity |
769
- | **2.5.0** | 2026-03-02 | Persona tool support + taxonomy contract updates + 2.5.0 pin alignment |
770
- | **2.4.3** | 2026-02-16 | Patch release to include post-`v2.4.2` documentation/release-link updates |
771
- | **2.4.2** | 2026-02-16 | Governance + structure-doc alignment with pm-skills `v2.4.2` |
772
- | **2.4.1** | 2026-02-16 | Patch version/pin parity with pm-skills `v2.4.1` |
773
- | **2.4.0** | 2026-02-16 | Direct version tracking with pm-skills + pinned source metadata |
774
- | **2.1.0** | 2026-01-27 | Flat skill structure alignment with pm-skills v2.x |
775
- | **1.1.0** | 2026-01-21 | Comprehensive documentation suite, platform compatibility |
776
- | **1.0.0** | 2026-01-21 | First stable release baseline with MCP tooling, resources, and caching |
777
- | **0.1.2** | 2026-01-20 | CI/CD infrastructure, branch migration to main |
778
- | **0.1.1** | 2026-01-20 | GitHub Actions CI/CD, ESLint + Prettier, npm package setup |
779
- | **0.1.0** | 2026-01-20 | Initial implementation baseline for PM-skills MCP integration |
801
+ | **2.7.0** | 2026-03-22 | 2 new skill tools (`pm_acceptance_criteria`, `pm_pm_skill_builder`), 27 skills, 40 tools |
802
+ | **2.6.0** | 2026-03-04 | Maintenance: pm-skills v2.6.0 version/source-pin parity |
803
+ | **2.5.0** | 2026-03-02 | Persona tool + taxonomy contract updates + embed hardening |
804
+ | **2.4.0** | 2026-02-16 | Direct version tracking + pinned source metadata |
805
+ | **2.1.0** | 2026-01-27 | Flat skill structure alignment with pm-skills v2.x |
806
+ | **1.0.0** | 2026-01-21 | First stable release: 36 tools, caching, governance |
807
+ | **0.1.0** | 2026-01-20 | Initial MCP server implementation |
780
808
 
781
809
  ### Roadmap
782
810
 
783
811
  See the [open issues](https://github.com/product-on-purpose/pm-skills-mcp/issues) for planned features.
784
812
 
785
- - [x] Core MCP server with all 25 PM skills
813
+ - [x] Core MCP server with all 27 PM skills
786
814
  - [x] Workflow bundle tools
787
815
  - [x] MCP resources for direct skill access
788
816
  - [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.5.2";
15
- readonly description: "MCP server exposing 25 product management skills as tools";
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.5.2',
85
- description: 'MCP server exposing 25 product management skills as tools',
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-skills-mcp",
3
- "version": "2.5.2",
3
+ "version": "2.8.0",
4
4
  "description": "MCP server exposing product management skills as tools, resources, and workflows",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "pmSkillsRepository": "product-on-purpose/pm-skills",
3
- "pmSkillsRef": "v2.5.2",
4
- "pmSkillsVersion": "2.5.2",
5
- "outputContractVersion": "2.5.2",
6
- "configContractVersion": "2.5.2",
7
- "updated": "2026-03-04"
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.
@@ -1,4 +1,3 @@
1
- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
2
1
  ---
3
2
  name: develop-adr
4
3
  description: Creates an Architecture Decision Record following the Nygard format to document significant technical decisions, their context, and consequences. Use when making technical choices that affect system architecture, technology selection, or development patterns.
@@ -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
  # Architecture Decision Record (ADR)
15
15
 
16
16
  An Architecture Decision Record documents a significant technical decision along with its context and consequences. ADRs capture the "why" behind architectural choices so future team members understand the reasoning — especially important when they question why something was done a particular way. This skill follows Michael Nygard's lightweight ADR format.
@@ -1,4 +1,3 @@
1
- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
2
1
  ---
3
2
  name: develop-design-rationale
4
3
  description: Documents the reasoning behind design decisions including alternatives considered, trade-offs evaluated, and principles applied. Use when making significant UX decisions, aligning with stakeholders on design direction, or preserving design context for future reference.
@@ -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
  # Design Rationale
15
15
 
16
16
  A design rationale document captures the "why" behind design decisions—the context, constraints, alternatives considered, and reasoning that led to a particular solution. While designs themselves show what was built, rationale documents preserve institutional knowledge about why it was built that way.
@@ -1,4 +1,3 @@
1
- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
2
1
  ---
3
2
  name: develop-solution-brief
4
3
  description: Creates a concise one-page solution overview that communicates the proposed approach, key decisions, and trade-offs. Use when pitching solutions to stakeholders, aligning teams on approach, or documenting solution intent before detailed specification.
@@ -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
  # Solution Brief
15
15
 
16
16
  A solution brief is a concise, one-page document that communicates the proposed solution to a problem. It serves as the bridge between problem understanding and detailed specification, providing enough context for stakeholders to align on the approach without getting lost in implementation details. The one-page constraint forces clarity and prioritization.
@@ -1,4 +1,3 @@
1
- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
2
1
  ---
3
2
  name: develop-spike-summary
4
3
  description: Documents the results of a time-boxed technical or design exploration (spike). Use after completing a spike to capture learnings, findings, and recommendations for the team.
@@ -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
  # Spike Summary
15
15
 
16
16
  A spike summary documents the results of a time-boxed exploration — a focused investigation to reduce uncertainty before committing to implementation. Spikes answer specific questions like "Can we integrate with this API?" or "Is this technology viable for our use case?" The summary captures findings so the team can make informed decisions without the spike participants needing to repeat explanations.
@@ -1,4 +1,3 @@
1
- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
2
1
  ---
3
2
  name: discover-competitive-analysis
4
3
  description: Creates a structured competitive analysis comparing features, positioning, and strategy across competitors. Use when entering a market, planning differentiation, or understanding the competitive landscape.
@@ -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
  # Competitive Analysis
15
15
 
16
16
  A competitive analysis provides structured insight into the competitive landscape, helping product teams understand where they stand relative to alternatives and identify opportunities for differentiation. Rather than exhaustively cataloging every competitor, an effective analysis focuses on actionable insights that inform product strategy.