From bf4fa6b8a13e8c3da6d11510b3bacc549b83923d Mon Sep 17 00:00:00 2001 From: Baptiste LAFOURCADE Date: Wed, 29 Jul 2026 05:44:52 +0200 Subject: [PATCH 1/3] feat(aidd-pm): add product brief discovery skill Product discovery lacked an evidence-bounded artifact before PRD work. Add a lightweight flow that frames, researches, visualizes, shapes, and persists a Product Brief while keeping users in the feedback loop. Refs #349 --- .claude-plugin/marketplace.json | 2 +- README.md | 6 +- aidd_docs/CONTRIBUTING.md | 5 +- aidd_docs/README.md | 6 +- .../headless-test.md | 50 ++++++++++++++ docs/CATALOG.md | 9 +-- .../12-cook/assets/recipes/start-a-project.md | 8 ++- plugins/aidd-pm/.claude-plugin/plugin.json | 10 +-- plugins/aidd-pm/CATALOG.md | 67 ++++++++++++------- plugins/aidd-pm/README.md | 9 +-- plugins/aidd-pm/skills/03-discovery/SKILL.md | 42 ++++++++++++ .../skills/03-discovery/actions/01-frame.md | 28 ++++++++ .../03-discovery/actions/02-discover.md | 30 +++++++++ .../03-discovery/actions/03-visualize.md | 25 +++++++ .../skills/03-discovery/actions/04-shape.md | 28 ++++++++ .../03-discovery/actions/05-finalize.md | 31 +++++++++ .../03-discovery/assets/product-brief.md | 53 +++++++++++++++ .../03-discovery/references/brief-quality.md | 10 +++ .../03-discovery/references/evidence.md | 18 +++++ .../03-discovery/references/persistence.md | 12 ++++ .../03-discovery/references/techniques.md | 12 ++++ .../skills/03-discovery/references/visuals.md | 8 +++ plugins/aidd-pm/skills/03-prd/SKILL.md | 29 -------- .../aidd-pm/skills/03-prd/actions/01-prd.md | 24 ------- plugins/aidd-pm/skills/04-prd/SKILL.md | 31 +++++++++ .../aidd-pm/skills/04-prd/actions/01-prd.md | 28 ++++++++ .../{03-prd => 04-prd}/assets/prd-template.md | 0 .../assets/task-template.md | 0 .../04-prd/references/product-brief-input.md | 21 ++++++ .../skills/{04-spec => 05-spec}/SKILL.md | 2 +- .../{04-spec => 05-spec}/actions/01-build.md | 0 .../{04-spec => 05-spec}/actions/02-refine.md | 0 .../assets/spec-template.md | 0 .../assets/spec-validator.yml | 0 .../skills/{05-spike => 06-spike}/SKILL.md | 2 +- .../actions/01-create.md | 0 .../actions/02-investigate.md | 0 .../actions/03-conclude.md | 0 .../assets/spike-template.md | 0 .../references/capabilities.md | 0 .../references/investigation.md | 0 .../references/lifecycle.md | 0 .../references/persistence.md | 0 .../references/qualification.md | 0 scripts/sync-skill-argument-hints.mjs | 2 +- 45 files changed, 504 insertions(+), 104 deletions(-) create mode 100644 aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md create mode 100644 plugins/aidd-pm/skills/03-discovery/SKILL.md create mode 100644 plugins/aidd-pm/skills/03-discovery/actions/01-frame.md create mode 100644 plugins/aidd-pm/skills/03-discovery/actions/02-discover.md create mode 100644 plugins/aidd-pm/skills/03-discovery/actions/03-visualize.md create mode 100644 plugins/aidd-pm/skills/03-discovery/actions/04-shape.md create mode 100644 plugins/aidd-pm/skills/03-discovery/actions/05-finalize.md create mode 100644 plugins/aidd-pm/skills/03-discovery/assets/product-brief.md create mode 100644 plugins/aidd-pm/skills/03-discovery/references/brief-quality.md create mode 100644 plugins/aidd-pm/skills/03-discovery/references/evidence.md create mode 100644 plugins/aidd-pm/skills/03-discovery/references/persistence.md create mode 100644 plugins/aidd-pm/skills/03-discovery/references/techniques.md create mode 100644 plugins/aidd-pm/skills/03-discovery/references/visuals.md delete mode 100644 plugins/aidd-pm/skills/03-prd/SKILL.md delete mode 100644 plugins/aidd-pm/skills/03-prd/actions/01-prd.md create mode 100644 plugins/aidd-pm/skills/04-prd/SKILL.md create mode 100644 plugins/aidd-pm/skills/04-prd/actions/01-prd.md rename plugins/aidd-pm/skills/{03-prd => 04-prd}/assets/prd-template.md (100%) rename plugins/aidd-pm/skills/{03-prd => 04-prd}/assets/task-template.md (100%) create mode 100644 plugins/aidd-pm/skills/04-prd/references/product-brief-input.md rename plugins/aidd-pm/skills/{04-spec => 05-spec}/SKILL.md (99%) rename plugins/aidd-pm/skills/{04-spec => 05-spec}/actions/01-build.md (100%) rename plugins/aidd-pm/skills/{04-spec => 05-spec}/actions/02-refine.md (100%) rename plugins/aidd-pm/skills/{04-spec => 05-spec}/assets/spec-template.md (100%) rename plugins/aidd-pm/skills/{04-spec => 05-spec}/assets/spec-validator.yml (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/SKILL.md (98%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/actions/01-create.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/actions/02-investigate.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/actions/03-conclude.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/assets/spike-template.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/references/capabilities.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/references/investigation.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/references/lifecycle.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/references/persistence.md (100%) rename plugins/aidd-pm/skills/{05-spike => 06-spike}/references/qualification.md (100%) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index f76db6599..dc99b848e 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -31,7 +31,7 @@ { "name": "aidd-pm", "source": "./plugins/aidd-pm", - "description": "Product management: ticket-info, user-stories, prd, spec", + "description": "Product management: ticket-info, user-stories, discovery, prd, spec, spike", "strict": true, "recommended": true }, diff --git a/README.md b/README.md index b729a5f6d..7796d191a 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ _(Already tested on `Legacy` codebases)_ [![Made in France](https://img.shields.io/badge/made%20in-France-0055A4?labelColor=EF4135)](https://www.ai-driven-dev.fr/)

- 7 plugins · 41 skills · 2 agents · MIT + 7 plugins · 42 skills · 2 agents · MIT

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) @@ -243,9 +243,9 @@ Repo init, commits, pull / merge requests, release tags, issues. ### 📋 [aidd-pm](plugins/aidd-pm/README.md) -`5 skills` · stable +`6 skills` · stable -Ticket info, user stories, PRD, spec drafting, spike investigations. +Ticket info, user stories, discovery, PRD, spec drafting, spike investigations. diff --git a/aidd_docs/CONTRIBUTING.md b/aidd_docs/CONTRIBUTING.md index 7145ed993..c03024338 100644 --- a/aidd_docs/CONTRIBUTING.md +++ b/aidd_docs/CONTRIBUTING.md @@ -22,8 +22,9 @@ All templates live alongside the skill that owns them, under `plugins//s | `aidd-context:03-context-generate/assets/skills/` | `SKILL.md`, action templates | | `aidd-context:03-context-generate/assets/agents/` | Agent file template | | `aidd-context:03-context-generate/assets/rules/` | Rule file template | -| `aidd-pm:03-prd/assets/` | PRD body template | -| `aidd-pm:04-spec/assets/` | Spec template and validator | +| `aidd-pm:03-discovery/assets/` | Product Brief template | +| `aidd-pm:04-prd/assets/` | PRD body template | +| `aidd-pm:05-spec/assets/` | Spec template and validator | | `aidd-dev:01-plan/assets/` | Plan and master-plan templates | | `aidd-vcs:01-commit/assets/` | Conventional commit message template | | `aidd-vcs:02-pull-request/assets/` | Pull/merge request body template, contributing example | diff --git a/aidd_docs/README.md b/aidd_docs/README.md index aac1bf1e0..6c30238a3 100644 --- a/aidd_docs/README.md +++ b/aidd_docs/README.md @@ -39,7 +39,7 @@ Skills are grouped into plugins by domain. Install only the plugins you need. | ----------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------- | | aidd-context | Bootstrap, project init, generation of context artifacts (skills, agents, rules, commands, hooks, plugins, marketplaces), mermaid diagrams, learn, discovery | `02-project-memory`, `03-context-generate`, `09-mermaid` | | aidd-refine | Meta-cognition: brainstorm, challenge prior work, condensed communication mode | `01-brainstorm`, `02-challenge`, `03-condense` | -| aidd-pm | Product management: ticket info, user stories, PRD, spec | `01-ticket-info`, `02-user-stories`, `03-prd`, `04-spec` | +| aidd-pm | Product management: ticket info, user stories, discovery, PRD, spec, spikes | `01-ticket-info`, `02-user-stories`, `03-discovery`, `04-prd`, `05-spec`, `06-spike` | | aidd-dev | Code transformation: Dev SDLC orchestrator, plan, implement, assert, audit, review, test, refactor, debug, for-sure | `00-sdlc`, `01-plan`, `02-implement`, `05-review`, `06-test` | | aidd-vcs | VCS workflows: commit, pull/merge request, release tag, issue creation | `01-commit`, `02-pull-request`, `04-issue-create` | | aidd-orchestrator | Async orchestration of the SDLC on labeled issues (optional, extra) | `00-async-dev` (router with setup / run / review sub-flows) | @@ -104,7 +104,7 @@ AIDD is delivered as a plugin marketplace. Pick what you need; do not install ev | aidd-refine | 01-brainstorm, 02-challenge, 03-condense, 04-shadow-areas, 05-fact-check | | aidd-dev | 00-sdlc, 01-plan, 02-implement, 03-assert, 04-audit, 05-review, 06-test, 07-refactor, 08-debug, 09-for-sure | | aidd-vcs | 01-commit, 02-pull-request, 03-release-tag, 04-issue-create | -| aidd-pm | 01-ticket-info, 02-user-stories, 03-prd, 04-spec | +| aidd-pm | 01-ticket-info, 02-user-stories, 03-discovery, 04-prd, 05-spec, 06-spike | Each plugin is independently installable; install incrementally. Smaller surface, fewer triggers competing. @@ -114,7 +114,7 @@ A typical change cycles through skills from several plugins. The order below is 1. **Bootstrap** (only for a brand-new project): `aidd-context:01-bootstrap` imagines the stack and architecture, comparing candidate stacks and writing an `INSTALL.md`. Skip this step on an existing project. 2. **Project init** (once per project, re-runnable to refresh): `aidd-context:02-project-memory` scaffolds `aidd_docs/`, the memory bank, and the AI context files for the tools you use. Re-running later refreshes the scaffold without overwriting your customizations. -3. **Frame the request**: `aidd-refine:01-brainstorm` to clarify, `aidd-pm:01-ticket-info` to pull tracker data, `aidd-pm:02-user-stories` and `aidd-pm:03-prd` or `aidd-pm:04-spec` to formalize scope. +3. **Frame the request**: `aidd-refine:01-brainstorm` to clarify, `aidd-pm:03-discovery` to frame a product, then `aidd-pm:02-user-stories`, `aidd-pm:04-prd`, or `aidd-pm:05-spec` to formalize scope. 4. **Plan**: `aidd-dev:01-plan` produces the technical plan, component behavior model, or design-image extraction. 5. **Implement and assert**: `aidd-dev:02-implement` writes code against the plan; `aidd-dev:03-assert` verifies the result. 6. **Review**: `aidd-dev:05-review` for code and functional review; `aidd-refine:02-challenge` to stress-test the result. diff --git a/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md b/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md new file mode 100644 index 000000000..8a0efe816 --- /dev/null +++ b/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md @@ -0,0 +1,50 @@ +# Discovery Skill Headless Test + +Date: 2026-07-28 to 2026-07-29 +Runner: Codex `gpt-5.5` and `gpt-5.6-sol`, medium reasoning, isolated workspaces + +## Result + +The baseline passed 33 scenarios and 104/104 assertions. The final installed-skill regression passed 9 scenarios and 39/39 assertions. Critical routing branches passed three consecutive runs. + +| Area | Cases | Result | +| --- | --- | --- | +| Frame | implicit trigger, no idea, sparse idea, existing product, conflicting or ambiguous sources | Pass | +| Discover | assumptions, correction loop, declined research, unsupported claim, external official research, new evidence | Pass | +| Visualize | omit when useless, Mermaid, ASCII wireframe, comparison table, visual revision | Pass | +| Shape | required headings, optional sections, feedback loop, no invented metric, no placeholders | Pass | +| Finalize | unapproved, content-only approval, session-only, approved create or update, write failure | Pass | +| Metadata | initial current brief, in-place update, reciprocal supersession, omitted optional relations | Pass | +| Integration | multi-turn discovery, visual and approval loops, PRD handoff, partial or missing source, installed trigger | Pass | +| Loading | blank, non-visual and persisted routes read only their required files | Pass | + +## Findings Fixed + +1. A comparison table initially created `## Alternatives` and renamed required sections. Visuals are now constrained to `Product View`; required headings and order are explicit. +2. The installed no-idea route initially requested a field checklist. `frame` now asks only for the idea in plain language. +3. Some responses exposed action labels or stopped on a draft. User-facing workflow labels are hidden and every draft now reaches the open feedback step. +4. Content approval could silently become session-only. The skill now asks separately whether to persist. +5. An incompatible wireframe request could produce a substitute pseudo-screen. The visual route now stops when the product has no relevant interface. +6. Two current briefs could be resolved by date. Authority selection now belongs to `frame`; date is not evidence. + +All failing cases passed after their fixes. + +## Independent Checks + +- Generated Mermaid parsed with `mmdc`. +- Approved creation wrote exactly one `product-brief.md` with no placeholders. +- Approved update preserved the custom `Team Notes` section and changed only the approved boundary. +- Unapproved, ambiguous, failed-write and session-only cases wrote no files. +- Existing brief ambiguity stopped before modifying either file. +- New interview evidence reopened discovery and challenged the previous hypothesis. +- A corrected audience and pain replaced, rather than accumulated with, obsolete assumptions. +- External research used official EU sources and kept the legal implication as a hypothesis. +- PRD consumed `product-brief.md` directly and preserved uncertainty under dependencies and open questions. +- A partial Product Brief became a PRD with explicit open questions; a missing brief stopped the handoff. +- Blank invocation loaded only the router, `frame`, and its evidence reference. Non-visual and session-only routes skipped unrelated references. +- Markdown links: 0 broken in 561 files. +- `git diff --check`: pass. + +## Reference Cleanup + +The references were reduced from 803 to 537 words and separated by responsibility. The final regression covers evidence, shaping, technique selection, visuals, persistence metadata, supersession, and PRD handoff. diff --git a/docs/CATALOG.md b/docs/CATALOG.md index d3689e80d..c8704e93a 100644 --- a/docs/CATALOG.md +++ b/docs/CATALOG.md @@ -52,15 +52,16 @@ The development SDLC: plan, implement, assert, audit, review, test, refactor, de ## 📋 aidd-pm -Product management: ticket retrieval, user stories, PRD, spec, spikes. +Product management: ticket retrieval, user stories, discovery, PRD, spec, spikes. | Skill | Role | Actions | | ------------------------- | ---------------------------------------------------------- | -------------------------------- | | `01-ticket-info` | Retrieve and display ticket information | `01-ticket-info` | | `02-user-stories` | Prioritized, estimated INVEST user-story backlog | `01-clarify-scope`, `02-split-epic`, `03-draft-stories`, `04-estimate-impact`, `05-prioritize`, `06-sync-tracker` | -| `03-prd` | Generate a structured Product Requirements Document | `01-prd` | -| `04-spec` | Generate or refine a normalized project spec | `01-build`, `02-refine` | -| `05-spike` | Record or investigate a decision-blocking uncertainty | `01-create`, `02-investigate`, `03-conclude` | +| `03-discovery` | Produce a Product Brief before requirements | `01-frame` to `05-finalize` | +| `04-prd` | Generate a structured Product Requirements Document | `01-prd` | +| `05-spec` | Generate or refine a normalized project spec | `01-build`, `02-refine` | +| `06-spike` | Record or investigate a decision-blocking uncertainty | `01-create`, `02-investigate`, `03-conclude` | ## 🪞 aidd-refine diff --git a/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md b/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md index 85fe9c4d8..42a333145 100644 --- a/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md +++ b/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md @@ -20,14 +20,16 @@ Brainstorming sharpens the raw idea into a precise request. /aidd-refine:01-brainstorm ``` -#### 2) 📄 Draft the PRD +#### 2) 📄 Discover the product and draft the PRD The PRD turns the idea into structured product requirements. -1. Run `/aidd-pm:03-prd`. +1. Run `/aidd-pm:03-discovery`. +2. Pass its folder to `/aidd-pm:04-prd`. ```text -/aidd-pm:03-prd +/aidd-pm:03-discovery +/aidd-pm:04-prd ``` #### 3) 🏗️ Design the architecture diff --git a/plugins/aidd-pm/.claude-plugin/plugin.json b/plugins/aidd-pm/.claude-plugin/plugin.json index fd01d18a1..58f5e7d9c 100644 --- a/plugins/aidd-pm/.claude-plugin/plugin.json +++ b/plugins/aidd-pm/.claude-plugin/plugin.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", "name": "aidd-pm", "version": "2.2.1", - "description": "Product management: ticket-info, user-stories, prd, spec, spike", + "description": "Product management: ticket-info, user-stories, discovery, prd, spec, spike", "author": { "name": "AI-Driven Dev", "url": "https://github.com/ai-driven-dev" @@ -10,12 +10,14 @@ "skills": [ "./skills/01-ticket-info", "./skills/02-user-stories", - "./skills/03-prd", - "./skills/04-spec", - "./skills/05-spike" + "./skills/03-discovery", + "./skills/04-prd", + "./skills/05-spec", + "./skills/06-spike" ], "keywords": [ "product-management", + "discovery", "user-stories", "prd", "specification", diff --git a/plugins/aidd-pm/CATALOG.md b/plugins/aidd-pm/CATALOG.md index deaf21870..1cca4e526 100644 --- a/plugins/aidd-pm/CATALOG.md +++ b/plugins/aidd-pm/CATALOG.md @@ -10,9 +10,10 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai - [`skills`](#skills) - [`skills/01-ticket-info`](#skills01-ticket-info) - [`skills/02-user-stories`](#skills02-user-stories) - - [`skills/03-prd`](#skills03-prd) - - [`skills/04-spec`](#skills04-spec) - - [`skills/05-spike`](#skills05-spike) + - [`skills/03-discovery`](#skills03-discovery) + - [`skills/04-prd`](#skills04-prd) + - [`skills/05-spec`](#skills05-spec) + - [`skills/06-spike`](#skills06-spike) --- @@ -45,36 +46,54 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai | `references` | [rating.md](skills/02-user-stories/references/rating.md) | - | | `-` | [SKILL.md](skills/02-user-stories/SKILL.md) | `Turn a feature or epic into a prioritized, estimated, INVEST-compliant user-story backlog in the tracker. Use when the user wants to create, split, estimate, or prioritize user stories. Not for source code or a PRD.` | -#### `skills/03-prd` +#### `skills/03-discovery` | Group | File | Description | |-------|------|---| -| `actions` | [01-prd.md](skills/03-prd/actions/01-prd.md) | - | -| `assets` | [prd-template.md](skills/03-prd/assets/prd-template.md) | - | -| `assets` | [task-template.md](skills/03-prd/assets/task-template.md) | `Task tracking system to ensure all tasks are categorized and addressed` | -| `-` | [SKILL.md](skills/03-prd/SKILL.md) | `Generate a structured Product Requirements Document from a need, idea, or brainstorm, confirmed before save. Use when the user wants to draft or generate a PRD or product requirements. Not for user stories or a technical plan.` | +| `actions` | [01-frame.md](skills/03-discovery/actions/01-frame.md) | - | +| `actions` | [02-discover.md](skills/03-discovery/actions/02-discover.md) | - | +| `actions` | [03-visualize.md](skills/03-discovery/actions/03-visualize.md) | - | +| `actions` | [04-shape.md](skills/03-discovery/actions/04-shape.md) | - | +| `actions` | [05-finalize.md](skills/03-discovery/actions/05-finalize.md) | - | +| `assets` | [product-brief.md](skills/03-discovery/assets/product-brief.md) | - | +| `references` | [brief-quality.md](skills/03-discovery/references/brief-quality.md) | - | +| `references` | [evidence.md](skills/03-discovery/references/evidence.md) | - | +| `references` | [persistence.md](skills/03-discovery/references/persistence.md) | - | +| `references` | [techniques.md](skills/03-discovery/references/techniques.md) | - | +| `references` | [visuals.md](skills/03-discovery/references/visuals.md) | - | +| `-` | [SKILL.md](skills/03-discovery/SKILL.md) | `Produces a concise Product Brief before requirements. Use when the user wants to frame or revisit a product opportunity and how it will be validated. Not for requirements, technical design, or planning.` | + +#### `skills/04-prd` -#### `skills/04-spec` +| Group | File | Description | +|-------|------|---| +| `actions` | [01-prd.md](skills/04-prd/actions/01-prd.md) | - | +| `assets` | [prd-template.md](skills/04-prd/assets/prd-template.md) | - | +| `assets` | [task-template.md](skills/04-prd/assets/task-template.md) | `Task tracking system to ensure all tasks are categorized and addressed` | +| `references` | [product-brief-input.md](skills/04-prd/references/product-brief-input.md) | - | +| `-` | [SKILL.md](skills/04-prd/SKILL.md) | `Generates a structured Product Requirements Document from a request, user stories, or a Product Brief. Use when the user wants to draft product requirements. Not for product discovery, technical design, or implementation planning.` | + +#### `skills/05-spec` | Group | File | Description | |-------|------|---| -| `actions` | [01-build.md](skills/04-spec/actions/01-build.md) | - | -| `actions` | [02-refine.md](skills/04-spec/actions/02-refine.md) | - | -| `assets` | [spec-template.md](skills/04-spec/assets/spec-template.md) | - | -| `-` | [SKILL.md](skills/04-spec/SKILL.md) | `Generate or refine a spec, a feature's immutable contract, from a request, a PRD, or review findings. Use to draft or refine a spec. Do NOT use to write code, a full PRD, or change a locked spec.` | +| `actions` | [01-build.md](skills/05-spec/actions/01-build.md) | - | +| `actions` | [02-refine.md](skills/05-spec/actions/02-refine.md) | - | +| `assets` | [spec-template.md](skills/05-spec/assets/spec-template.md) | - | +| `-` | [SKILL.md](skills/05-spec/SKILL.md) | `Generate or refine a spec, a feature's immutable contract, from a request, a PRD, or review findings. Use to draft or refine a spec. Do NOT use to write code, a full PRD, or change a locked spec.` | -#### `skills/05-spike` +#### `skills/06-spike` | Group | File | Description | |-------|------|---| -| `actions` | [01-create.md](skills/05-spike/actions/01-create.md) | - | -| `actions` | [02-investigate.md](skills/05-spike/actions/02-investigate.md) | - | -| `actions` | [03-conclude.md](skills/05-spike/actions/03-conclude.md) | - | -| `assets` | [spike-template.md](skills/05-spike/assets/spike-template.md) | - | -| `references` | [capabilities.md](skills/05-spike/references/capabilities.md) | - | -| `references` | [investigation.md](skills/05-spike/references/investigation.md) | - | -| `references` | [lifecycle.md](skills/05-spike/references/lifecycle.md) | - | -| `references` | [persistence.md](skills/05-spike/references/persistence.md) | - | -| `references` | [qualification.md](skills/05-spike/references/qualification.md) | - | -| `-` | [SKILL.md](skills/05-spike/SKILL.md) | `Produces an evidence-bounded spike for an uncertainty blocking estimation, feasibility, or design. Use when the user wants to frame, investigate, resume, or conclude one. Not for general research or implementation.` | +| `actions` | [01-create.md](skills/06-spike/actions/01-create.md) | - | +| `actions` | [02-investigate.md](skills/06-spike/actions/02-investigate.md) | - | +| `actions` | [03-conclude.md](skills/06-spike/actions/03-conclude.md) | - | +| `assets` | [spike-template.md](skills/06-spike/assets/spike-template.md) | - | +| `references` | [capabilities.md](skills/06-spike/references/capabilities.md) | - | +| `references` | [investigation.md](skills/06-spike/references/investigation.md) | - | +| `references` | [lifecycle.md](skills/06-spike/references/lifecycle.md) | - | +| `references` | [persistence.md](skills/06-spike/references/persistence.md) | - | +| `references` | [qualification.md](skills/06-spike/references/qualification.md) | - | +| `-` | [SKILL.md](skills/06-spike/SKILL.md) | `Produces an evidence-bounded spike for an uncertainty blocking estimation, feasibility, or design. Use when the user wants to frame, investigate, resume, or conclude one. Not for general research or implementation.` | diff --git a/plugins/aidd-pm/README.md b/plugins/aidd-pm/README.md index 1129969a5..5e5f95274 100644 --- a/plugins/aidd-pm/README.md +++ b/plugins/aidd-pm/README.md @@ -8,7 +8,7 @@ Product management plugin for the AI-Driven Development framework. First time? Install with `/plugin install aidd-pm@aidd-framework`, then run `aidd-pm:01-ticket-info`. -Covers ticket retrieval, user stories, product requirements, specs, and bounded spike investigations. +Covers ticket retrieval, user stories, product discovery, requirements, specs, and bounded spike investigations. ## Skills @@ -16,6 +16,7 @@ Covers ticket retrieval, user stories, product requirements, specs, and bounded |---|---|---| | [4.1] | [ticket-info](skills/01-ticket-info/SKILL.md) | Retrieve and display ticket information from the configured ticketing tool. | | [4.2] | [user-stories](skills/02-user-stories/SKILL.md) | Turn a feature or epic into a prioritized, estimated, INVEST-compliant user-story backlog. | -| [4.3] | [prd](skills/03-prd/SKILL.md) | Generate a structured Product Requirements Document. | -| [4.4] | [spec](skills/04-spec/SKILL.md) | Generate and refine a project spec from a free-form human request. The spec is the immutable target a planner consumes. | -| [4.5] | [spike](skills/05-spike/SKILL.md) | Record or investigate an uncertainty that blocks estimation, feasibility, or design. | +| [4.3] | [discovery](skills/03-discovery/SKILL.md) | Produce one evidence-aware Product Brief. | +| [4.4] | [prd](skills/04-prd/SKILL.md) | Generate a structured Product Requirements Document. | +| [4.5] | [spec](skills/05-spec/SKILL.md) | Generate and refine a project spec from a free-form human request. The spec is the immutable target a planner consumes. | +| [4.6] | [spike](skills/06-spike/SKILL.md) | Record or investigate an uncertainty that blocks estimation, feasibility, or design. | diff --git a/plugins/aidd-pm/skills/03-discovery/SKILL.md b/plugins/aidd-pm/skills/03-discovery/SKILL.md new file mode 100644 index 000000000..3b3d5fdf2 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/SKILL.md @@ -0,0 +1,42 @@ +--- +name: 03-discovery +description: Produces a concise Product Brief before requirements. Use when the user wants to frame or revisit a product opportunity and how it will be validated. Not for requirements, technical design, or planning. +argument-hint: idea | product +--- + +# Discovery + +```mermaid +flowchart LR + start([idea or product]) --> frame + frame --> discover + discover -->|"open decision"| discover + discover -->|"ready or assumptions accepted"| shape + discover -->|"visual helps"| visualize + visualize -->|"revise"| visualize + visualize -->|"accepted or skipped"| shape + shape -->|"evidence gap"| discover + shape --> finalize + finalize -->|"learn more"| discover + finalize -->|"change visual"| visualize + finalize -->|"revise brief"| shape + finalize -->|"approved"| done([Product Brief]) +``` + +## Actions + +Run the flow above. Read only the next action's file before running it. + +| Action | Does | +| --------- | ------------------------------------ | +| frame | establish scope and evidence path | +| discover | research, question, and challenge | +| visualize | clarify with an optional product view | +| shape | compose one Product Brief | +| finalize | refine, approve, and persist | + +## Transversal rules + +- Separate evidence, decisions, and assumptions. +- Keep product decisions with the user. +- Keep actions and technique names out of user-facing text. diff --git a/plugins/aidd-pm/skills/03-discovery/actions/01-frame.md b/plugins/aidd-pm/skills/03-discovery/actions/01-frame.md new file mode 100644 index 000000000..77ceaaeb3 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/actions/01-frame.md @@ -0,0 +1,28 @@ +# 01 - Frame + +Establish what product is being framed and where useful evidence can come from. + +## Input + +An idea, an existing product, or the current context. + +## Output + +The product scope and evidence path. + +## Process + +1. **Resolve.** Infer the product from current context; otherwise ask for the idea in plain language and wait. +2. **Ground.** Apply [evidence](../references/evidence.md) to available sources. +3. **Scope.** State the opportunity. +4. **Confirm.** Ask about any ambiguity that could change it and wait. +5. **Focus.** Name only project inspection or external research that could resolve a live claim. + +## Test + +| Case | Pass | +| --- | --- | +| Product not identifiable | workspace unchanged; exactly one open question for the idea; no field list | +| Existing product | relevant project evidence inspected before asking what it answers | +| Several current matches | workspace unchanged; one authority-selection question; no date-based choice | +| Research proposed | each path names the claim it may change | diff --git a/plugins/aidd-pm/skills/03-discovery/actions/02-discover.md b/plugins/aidd-pm/skills/03-discovery/actions/02-discover.md new file mode 100644 index 000000000..716393da0 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/actions/02-discover.md @@ -0,0 +1,30 @@ +# 02 - Discover + +Build an evidence-aware understanding of the product opportunity. + +## Input + +The framed product, evidence path, and user feedback. + +## Output + +The current opportunity, audience, product bet, evidence, assumptions, and success direction. + +## Process + +1. **Inspect.** Read the selected available sources. +2. **Research.** Run only the selected external research. +3. **Choose.** Apply [techniques](../references/techniques.md) only to unresolved claims. +4. **Challenge.** Surface contradictions that could change the product. +5. **Probe.** Ask one question about the highest-impact gap and wait. +6. **Integrate.** Fold the answer into affected claims. +7. **Repeat.** Return to `Probe` while an unaccepted consequential gap remains. + +## Test + +| Case | Pass | +| --- | --- | +| Unsupported product claim | labeled assumption, never evidence or decision | +| Lens selected | matches the stated uncertainty in `techniques`; creates no artifact | +| Next question | exactly one unanswered, product-changing question; no answered question repeated | +| Consequential gap | no draft unless the user accepts it as an assumption | diff --git a/plugins/aidd-pm/skills/03-discovery/actions/03-visualize.md b/plugins/aidd-pm/skills/03-discovery/actions/03-visualize.md new file mode 100644 index 000000000..1d5736197 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/actions/03-visualize.md @@ -0,0 +1,25 @@ +# 03 - Visualize + +Clarify a product relationship, journey, comparison, or screen structure when prose is weaker. + +## Input + +The current product understanding. + +## Output + +One optional table, Mermaid diagram, or low-fidelity wireframe. + +## Process + +1. **Create.** Apply [visuals](../references/visuals.md) to the current understanding. +2. **Show.** Present the visual and wait. +3. **Revise.** Fold user corrections into the visual. + +## Test + +| Case | Pass | +| --- | --- | +| No matching view | no `Product View` produced | +| Mermaid | syntax parses | +| Produced view | exactly one format; its format and `Any view` contracts pass | diff --git a/plugins/aidd-pm/skills/03-discovery/actions/04-shape.md b/plugins/aidd-pm/skills/03-discovery/actions/04-shape.md new file mode 100644 index 000000000..d7005e687 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/actions/04-shape.md @@ -0,0 +1,28 @@ +# 04 - Shape + +Turn the current understanding into one coherent Product Brief. + +## Input + +The discovered product understanding and any approved visual. + +## Output + +A review-ready Product Brief kept in context. + +## Process + +1. **Compose.** Fill [the template](../assets/product-brief.md). +2. **Check.** Apply [brief quality](../references/brief-quality.md). +3. **Show.** Present the complete draft without persisting it. + +## Test + +| Case | Pass | +| --- | --- | +| Frontmatter | non-empty `objective`; `status: current`; relation fields absent unless backed by a replacement | +| Structure | template order unchanged; only empty optional sections omitted | +| Cleanup | no comment, placeholder, or `TODO` remains | +| Claims | every consequential claim has a status and basis or next check | +| Quality | every `brief-quality` row passes | +| Handoff | complete draft shown; workspace unchanged; finalization follows | diff --git a/plugins/aidd-pm/skills/03-discovery/actions/05-finalize.md b/plugins/aidd-pm/skills/03-discovery/actions/05-finalize.md new file mode 100644 index 000000000..1da13e912 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/actions/05-finalize.md @@ -0,0 +1,31 @@ +# 05 - Finalize + +Let the user refine, extend, keep, or persist the Product Brief. + +## Input + +The draft and its sources. + +## Output + +An approved Product Brief in session or at its resolved path. + +## Process + +1. **Ask.** Invite revision, further discovery, session approval, or persistence in one open question. +2. **Clarify.** After content-only approval, ask session or persist and wait. +3. **Place.** Apply [persistence](../references/persistence.md) to resolve approved files. +4. **Confirm.** For a replacement, show both changes and wait. +5. **Write.** Persist approved files; preserve user edits. +6. **Verify.** Read back every changed brief. + +## Test + +| Case | Pass | +| --- | --- | +| Unapproved draft | workspace unchanged; response ends with one open feedback question | +| Content approval only | workspace unchanged; session or persistence requested | +| Initial persistence | one `current` brief created; relation fields absent | +| Existing persistence | one `current` brief changed; unapproved edits preserved | +| Replacement | two briefs changed; statuses and project-relative relation paths are reciprocal | +| Report | written path exists, matches the standard path, and is usable by PRD | diff --git a/plugins/aidd-pm/skills/03-discovery/assets/product-brief.md b/plugins/aidd-pm/skills/03-discovery/assets/product-brief.md new file mode 100644 index 000000000..c5138ec45 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/assets/product-brief.md @@ -0,0 +1,53 @@ +--- +objective: "" +status: current +--- + + + +# Product Brief: + + + +## Opportunity + + + +## Audience and Context + + + +## Product Bet + + + +## Evidence and Assumptions + +| Claim | Status | Basis or next check | +| --- | --- | --- | +| | | | + +## Boundaries + +- Addresses: +- Leaves out: + +## Success + + + +## Validation and Feedback + + + +## Product View + + + + + +## Open Decisions + + + +- diff --git a/plugins/aidd-pm/skills/03-discovery/references/brief-quality.md b/plugins/aidd-pm/skills/03-discovery/references/brief-quality.md new file mode 100644 index 000000000..6b4878d07 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/references/brief-quality.md @@ -0,0 +1,10 @@ +# Brief Quality + +| Check | Pass when | +| --- | --- | +| Coherence | opportunity, audience, and product bet form one falsifiable claim | +| Boundary | the brief stays outside requirements | +| Success | user value can confirm or challenge the bet | +| Validation | the next check targets the riskiest assumption | +| Feedback | a post-use signal can change a product decision | +| Decisions | consequential open choices are explicit and accepted | diff --git a/plugins/aidd-pm/skills/03-discovery/references/evidence.md b/plugins/aidd-pm/skills/03-discovery/references/evidence.md new file mode 100644 index 000000000..2085ede04 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/references/evidence.md @@ -0,0 +1,18 @@ +# Evidence + +Use each source only for what it can support. + +| Source | Can support | Cannot establish | +| --- | --- | --- | +| Conversation | intent and decisions | observed user or market behavior | +| Interviews, support, analytics | behavior, pain, and outcomes | every target user | +| Product docs and interface | promised and visible behavior | actual use or value | +| Code and tests | implemented behavior | motivation or value | +| Existing discovery | claims to re-check | current truth | +| Competitors, reviews, forums | public claims and reported experience | target-user truth | + +| Case | Handling | +| --- | --- | +| Untested greenfield claim | assumption | +| Consequential external claim | cite an authoritative or firsthand source; label inference | +| Several matching current artifacts | ask which is authoritative; date is not evidence | diff --git a/plugins/aidd-pm/skills/03-discovery/references/persistence.md b/plugins/aidd-pm/skills/03-discovery/references/persistence.md new file mode 100644 index 000000000..ea01b924a --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/references/persistence.md @@ -0,0 +1,12 @@ +# Persistence + +Write `product-brief.md` under `aidd_docs/tasks//_/`. +Every changed brief has a non-empty `objective` and one listed status. + +| Situation | Files | Frontmatter | +| --- | --- | --- | +| No brief matches | create one | `status: current`; omit both relation fields | +| Revise the current brief | update one | keep `status: current` and any existing `supersedes`; omit `superseded_by` | +| Replace the current brief | create new, update old | new: `current` + `supersedes`; old: `superseded` + `superseded_by` | + +Relation values are project-relative paths. diff --git a/plugins/aidd-pm/skills/03-discovery/references/techniques.md b/plugins/aidd-pm/skills/03-discovery/references/techniques.md new file mode 100644 index 000000000..f48ad674a --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/references/techniques.md @@ -0,0 +1,12 @@ +# Discovery Techniques + +Choose a lens only when it resolves a live uncertainty. + +| Uncertainty | Lens | Useful result | +| --- | --- | --- | +| Motivation or progress | Jobs To Be Done | situation, desired progress, outcome, and current alternative | +| Meaningful user differences | Behavioral personas | evidence-backed groups that can change a product decision | +| Customer value | Value proposition | jobs, pains, gains, and the product bet that addresses them | +| Product success | North Star | an earned metric for recurring user value, with guardrails if needed | +| Opportunity space | Opportunity mapping | desired outcome and evidence-backed opportunities | +| Existing experience | Journey mapping | observed steps, friction, and feedback points | diff --git a/plugins/aidd-pm/skills/03-discovery/references/visuals.md b/plugins/aidd-pm/skills/03-discovery/references/visuals.md new file mode 100644 index 000000000..c7f44cda6 --- /dev/null +++ b/plugins/aidd-pm/skills/03-discovery/references/visuals.md @@ -0,0 +1,8 @@ +# Product Views + +| View | Use for | Contract | +| --- | --- | --- | +| Any view | structure clearer than prose | derived from the brief, under `Product View`, no new claim, replaces redundant prose | +| Compact table | alternatives, groups, claims, or signals | comparison only | +| Mermaid | sequences, relationships, boundaries, or opportunities | small, directional, and valid | +| ASCII wireframe | a concrete product screen | structure only; no styling or final copy | diff --git a/plugins/aidd-pm/skills/03-prd/SKILL.md b/plugins/aidd-pm/skills/03-prd/SKILL.md deleted file mode 100644 index bdf3c79ab..000000000 --- a/plugins/aidd-pm/skills/03-prd/SKILL.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: 03-prd -description: Generate a structured Product Requirements Document from a need, idea, or brainstorm, confirmed before save. Use when the user wants to draft or generate a PRD or product requirements. Not for user stories or a technical plan. ---- - -# PRD - -Drafts a structured Product Requirements Document covering scope, goals, and acceptance criteria. - -## Actions - -| # | Action | Role | Input | -| --- | ------- | ---------------------------------------------------- | ----------------------------------------------- | -| 01 | `prd` | Parse input, draft per template, validate, save | feature_description, user_stories (optional) | - -Before running an action, read its file in `actions/`, not only the table or assets. - -## Transversal rules - -- Focus on what and why; never include technical implementation detail. -- Sections stay concise and actionable. -- Always wait for explicit user validation before saving. -- Save path: `aidd_docs/tasks//--prd.md`. -- Source of truth for structure: `assets/prd-template.md`. - -## Assets - -- `assets/prd-template.md`: PRD body template. -- `assets/task-template.md`: Lightweight task template referenced from the PRD when needed. diff --git a/plugins/aidd-pm/skills/03-prd/actions/01-prd.md b/plugins/aidd-pm/skills/03-prd/actions/01-prd.md deleted file mode 100644 index 2ad3ec9ec..000000000 --- a/plugins/aidd-pm/skills/03-prd/actions/01-prd.md +++ /dev/null @@ -1,24 +0,0 @@ -# 01 - PRD - -Parse the feature input, draft a structured PRD from the template, validate with the user, then save the file under `aidd_docs/tasks/`. - -## Input - -A feature description (required), and optionally existing user stories (ids or text) to anchor the PRD. - -## Output - -The saved PRD at `aidd_docs/tasks//--prd.md`, carrying all eight sections. - -## Process - -1. **Parse.** Extract the feature scope, goals, and constraints from the description and any user stories. -2. **Draft.** Fill `@../assets/prd-template.md` with its eight sections: overview, problem statement, goals, non-goals, user stories, acceptance criteria, dependencies, open questions. -3. **Validate.** Show the full draft, wait for explicit approval, and re-show after each revision. -4. **Save.** Write the approved PRD to its dated path, creating the month directory when missing. - -## Test - -- The PRD file exists on disk after the action completes. -- It contains the eight headings: Overview, Problem Statement, Goals, Non-Goals, User Stories, Acceptance Criteria, Dependencies, Open Questions. -- It has no solution detail: no tech-stack, data-model, or architecture section, no `## Implementation` heading, and no source code. diff --git a/plugins/aidd-pm/skills/04-prd/SKILL.md b/plugins/aidd-pm/skills/04-prd/SKILL.md new file mode 100644 index 000000000..1185a282b --- /dev/null +++ b/plugins/aidd-pm/skills/04-prd/SKILL.md @@ -0,0 +1,31 @@ +--- +name: 04-prd +description: Generates a structured Product Requirements Document from a request, user stories, or a Product Brief. Use when the user wants to draft product requirements. Not for product discovery, technical design, or implementation planning. +--- + +# PRD + +```mermaid +flowchart LR + source([request or discovery]) --> draft --> approve --> write + approve -->|"revise"| draft +``` + +## Actions + +| Action | Does | +| ------ | ---------------------------------- | +| prd | draft, confirm, and save the PRD | + +Read the action file before running it. + +## Transversal rules + +- Focus on what and why; never include technical implementation detail. +- Require explicit approval before saving. +- Preserve user edits and touch only the resolved task folder. + +## Assets + +- `assets/prd-template.md`: PRD body template. +- `assets/task-template.md`: Lightweight task template referenced from the PRD when needed. diff --git a/plugins/aidd-pm/skills/04-prd/actions/01-prd.md b/plugins/aidd-pm/skills/04-prd/actions/01-prd.md new file mode 100644 index 000000000..f9c5a97b9 --- /dev/null +++ b/plugins/aidd-pm/skills/04-prd/actions/01-prd.md @@ -0,0 +1,28 @@ +# 01 - PRD + +Turn product evidence into approved requirements. + +## Input + +A request, a Product Brief, or user stories. + +## Output + +An approved PRD at the resolved path. + +## Process + +1. **Resolve.** A Product Brief targets its sibling `prd.md`. Other input keeps `aidd_docs/tasks//--prd.md`. +2. **Read.** When the source is a Product Brief, apply [Product Brief input](../references/product-brief-input.md). Otherwise extract the problem, outcomes, audience, scope, and constraints from the request and stories. +3. **Draft.** Fill [PRD template](../assets/prd-template.md), omitting no required section. +4. **Confirm.** Show the full draft and wait. Fold corrections and show it again. +5. **Write.** Save the approved content at the resolved path. + +## Test + +- Without approval, no PRD changes. +- A Product Brief is consumed directly without asking the user to reformat it. +- A superseded Product Brief resolves to its current replacement. +- The approved PRD exists at the resolved path. +- It contains the eight headings: Overview, Problem Statement, Goals, Non-Goals, User Stories, Acceptance Criteria, Dependencies, Open Questions. +- It has no solution detail: no tech-stack, data-model, or architecture section, no `## Implementation` heading, and no source code. diff --git a/plugins/aidd-pm/skills/03-prd/assets/prd-template.md b/plugins/aidd-pm/skills/04-prd/assets/prd-template.md similarity index 100% rename from plugins/aidd-pm/skills/03-prd/assets/prd-template.md rename to plugins/aidd-pm/skills/04-prd/assets/prd-template.md diff --git a/plugins/aidd-pm/skills/03-prd/assets/task-template.md b/plugins/aidd-pm/skills/04-prd/assets/task-template.md similarity index 100% rename from plugins/aidd-pm/skills/03-prd/assets/task-template.md rename to plugins/aidd-pm/skills/04-prd/assets/task-template.md diff --git a/plugins/aidd-pm/skills/04-prd/references/product-brief-input.md b/plugins/aidd-pm/skills/04-prd/references/product-brief-input.md new file mode 100644 index 000000000..a6262cb6f --- /dev/null +++ b/plugins/aidd-pm/skills/04-prd/references/product-brief-input.md @@ -0,0 +1,21 @@ +# Product Brief Input + +Resolve one approved `product-brief.md`: + +| Status | Use | +| --- | --- | +| `current` | consume it | +| `superseded` | follow `superseded_by`; stop if missing | +| absent | consume as a legacy current brief | + +Then map it into the PRD: + +| Product Brief | PRD | +| --- | --- | +| Opening, Opportunity | Overview, Problem Statement | +| Audience and Context, Product Bet | User Stories, Goals | +| Boundaries | Non-Goals | +| Success | Goals, Acceptance Criteria | +| Evidence and Assumptions, Open Decisions | Dependencies, Open Questions | + +Preserve assumptions as open questions or dependencies, never requirements. Ignore its optional visual when it adds no requirement evidence. diff --git a/plugins/aidd-pm/skills/04-spec/SKILL.md b/plugins/aidd-pm/skills/05-spec/SKILL.md similarity index 99% rename from plugins/aidd-pm/skills/04-spec/SKILL.md rename to plugins/aidd-pm/skills/05-spec/SKILL.md index 7614169e9..93f6fc456 100644 --- a/plugins/aidd-pm/skills/04-spec/SKILL.md +++ b/plugins/aidd-pm/skills/05-spec/SKILL.md @@ -1,5 +1,5 @@ --- -name: 04-spec +name: 05-spec description: Generate or refine a spec, a feature's immutable contract, from a request, a PRD, or review findings. Use to draft or refine a spec. Do NOT use to write code, a full PRD, or change a locked spec. argument-hint: build | refine --- diff --git a/plugins/aidd-pm/skills/04-spec/actions/01-build.md b/plugins/aidd-pm/skills/05-spec/actions/01-build.md similarity index 100% rename from plugins/aidd-pm/skills/04-spec/actions/01-build.md rename to plugins/aidd-pm/skills/05-spec/actions/01-build.md diff --git a/plugins/aidd-pm/skills/04-spec/actions/02-refine.md b/plugins/aidd-pm/skills/05-spec/actions/02-refine.md similarity index 100% rename from plugins/aidd-pm/skills/04-spec/actions/02-refine.md rename to plugins/aidd-pm/skills/05-spec/actions/02-refine.md diff --git a/plugins/aidd-pm/skills/04-spec/assets/spec-template.md b/plugins/aidd-pm/skills/05-spec/assets/spec-template.md similarity index 100% rename from plugins/aidd-pm/skills/04-spec/assets/spec-template.md rename to plugins/aidd-pm/skills/05-spec/assets/spec-template.md diff --git a/plugins/aidd-pm/skills/04-spec/assets/spec-validator.yml b/plugins/aidd-pm/skills/05-spec/assets/spec-validator.yml similarity index 100% rename from plugins/aidd-pm/skills/04-spec/assets/spec-validator.yml rename to plugins/aidd-pm/skills/05-spec/assets/spec-validator.yml diff --git a/plugins/aidd-pm/skills/05-spike/SKILL.md b/plugins/aidd-pm/skills/06-spike/SKILL.md similarity index 98% rename from plugins/aidd-pm/skills/05-spike/SKILL.md rename to plugins/aidd-pm/skills/06-spike/SKILL.md index c6515a05c..c19e9d7ac 100644 --- a/plugins/aidd-pm/skills/05-spike/SKILL.md +++ b/plugins/aidd-pm/skills/06-spike/SKILL.md @@ -1,5 +1,5 @@ --- -name: 05-spike +name: 06-spike description: Produces an evidence-bounded spike for an uncertainty blocking estimation, feasibility, or design. Use when the user wants to frame, investigate, resume, or conclude one. Not for general research or implementation. argument-hint: question | spike --- diff --git a/plugins/aidd-pm/skills/05-spike/actions/01-create.md b/plugins/aidd-pm/skills/06-spike/actions/01-create.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/actions/01-create.md rename to plugins/aidd-pm/skills/06-spike/actions/01-create.md diff --git a/plugins/aidd-pm/skills/05-spike/actions/02-investigate.md b/plugins/aidd-pm/skills/06-spike/actions/02-investigate.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/actions/02-investigate.md rename to plugins/aidd-pm/skills/06-spike/actions/02-investigate.md diff --git a/plugins/aidd-pm/skills/05-spike/actions/03-conclude.md b/plugins/aidd-pm/skills/06-spike/actions/03-conclude.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/actions/03-conclude.md rename to plugins/aidd-pm/skills/06-spike/actions/03-conclude.md diff --git a/plugins/aidd-pm/skills/05-spike/assets/spike-template.md b/plugins/aidd-pm/skills/06-spike/assets/spike-template.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/assets/spike-template.md rename to plugins/aidd-pm/skills/06-spike/assets/spike-template.md diff --git a/plugins/aidd-pm/skills/05-spike/references/capabilities.md b/plugins/aidd-pm/skills/06-spike/references/capabilities.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/references/capabilities.md rename to plugins/aidd-pm/skills/06-spike/references/capabilities.md diff --git a/plugins/aidd-pm/skills/05-spike/references/investigation.md b/plugins/aidd-pm/skills/06-spike/references/investigation.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/references/investigation.md rename to plugins/aidd-pm/skills/06-spike/references/investigation.md diff --git a/plugins/aidd-pm/skills/05-spike/references/lifecycle.md b/plugins/aidd-pm/skills/06-spike/references/lifecycle.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/references/lifecycle.md rename to plugins/aidd-pm/skills/06-spike/references/lifecycle.md diff --git a/plugins/aidd-pm/skills/05-spike/references/persistence.md b/plugins/aidd-pm/skills/06-spike/references/persistence.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/references/persistence.md rename to plugins/aidd-pm/skills/06-spike/references/persistence.md diff --git a/plugins/aidd-pm/skills/05-spike/references/qualification.md b/plugins/aidd-pm/skills/06-spike/references/qualification.md similarity index 100% rename from plugins/aidd-pm/skills/05-spike/references/qualification.md rename to plugins/aidd-pm/skills/06-spike/references/qualification.md diff --git a/scripts/sync-skill-argument-hints.mjs b/scripts/sync-skill-argument-hints.mjs index ae89a24c5..a75ef693c 100755 --- a/scripts/sync-skill-argument-hints.mjs +++ b/scripts/sync-skill-argument-hints.mjs @@ -95,7 +95,7 @@ function syncArgumentHint(content, hint) { // Skills whose argument-hint is written by hand, because it names the user's // entrypoint or cases rather than one token per action. The hook leaves these // untouched. This is the base pattern for a pipeline or case-based router. -const MANUAL_ARGUMENT_HINT = new Set(["01-brainstorm", "02-project-memory", "04-skill-generate", "05-spike"]); +const MANUAL_ARGUMENT_HINT = new Set(["01-brainstorm", "02-project-memory", "03-discovery", "04-skill-generate", "06-spike"]); const stale = []; for (const dir of await skillDirs()) { From 702520736eccec903fe466142ef48906fc2a18ed Mon Sep 17 00:00:00 2001 From: Baptiste LAFOURCADE Date: Wed, 29 Jul 2026 06:06:16 +0200 Subject: [PATCH 2/3] fix(aidd-pm): preserve stable skill identities Existing numbered skill names are public commands and stable references. Add Product Brief at the next free identifier without changing PRD, Spec, or Spike. Refs #349 --- .claude-plugin/marketplace.json | 2 +- README.md | 2 +- aidd_docs/CONTRIBUTING.md | 6 +- aidd_docs/README.md | 6 +- .../headless-test.md | 6 +- docs/CATALOG.md | 10 +-- .../12-cook/assets/recipes/start-a-project.md | 8 +- plugins/aidd-pm/.claude-plugin/plugin.json | 12 +-- plugins/aidd-pm/CATALOG.md | 81 +++++++++---------- plugins/aidd-pm/README.md | 8 +- plugins/aidd-pm/skills/03-prd/SKILL.md | 29 +++++++ .../aidd-pm/skills/03-prd/actions/01-prd.md | 24 ++++++ .../{04-prd => 03-prd}/assets/prd-template.md | 0 .../assets/task-template.md | 0 plugins/aidd-pm/skills/04-prd/SKILL.md | 31 ------- .../aidd-pm/skills/04-prd/actions/01-prd.md | 28 ------- .../04-prd/references/product-brief-input.md | 21 ----- .../skills/{05-spec => 04-spec}/SKILL.md | 2 +- .../{05-spec => 04-spec}/actions/01-build.md | 0 .../{05-spec => 04-spec}/actions/02-refine.md | 0 .../assets/spec-template.md | 0 .../assets/spec-validator.yml | 0 .../skills/{06-spike => 05-spike}/SKILL.md | 2 +- .../actions/01-create.md | 0 .../actions/02-investigate.md | 0 .../actions/03-conclude.md | 0 .../assets/spike-template.md | 0 .../references/capabilities.md | 0 .../references/investigation.md | 0 .../references/lifecycle.md | 0 .../references/persistence.md | 0 .../references/qualification.md | 0 .../SKILL.md | 4 +- .../actions/01-frame.md | 0 .../actions/02-discover.md | 0 .../actions/03-visualize.md | 0 .../actions/04-shape.md | 0 .../actions/05-finalize.md | 0 .../assets/product-brief.md | 0 .../references/brief-quality.md | 0 .../references/evidence.md | 0 .../references/persistence.md | 0 .../references/techniques.md | 0 .../references/visuals.md | 0 scripts/sync-skill-argument-hints.mjs | 2 +- 45 files changed, 129 insertions(+), 155 deletions(-) create mode 100644 plugins/aidd-pm/skills/03-prd/SKILL.md create mode 100644 plugins/aidd-pm/skills/03-prd/actions/01-prd.md rename plugins/aidd-pm/skills/{04-prd => 03-prd}/assets/prd-template.md (100%) rename plugins/aidd-pm/skills/{04-prd => 03-prd}/assets/task-template.md (100%) delete mode 100644 plugins/aidd-pm/skills/04-prd/SKILL.md delete mode 100644 plugins/aidd-pm/skills/04-prd/actions/01-prd.md delete mode 100644 plugins/aidd-pm/skills/04-prd/references/product-brief-input.md rename plugins/aidd-pm/skills/{05-spec => 04-spec}/SKILL.md (99%) rename plugins/aidd-pm/skills/{05-spec => 04-spec}/actions/01-build.md (100%) rename plugins/aidd-pm/skills/{05-spec => 04-spec}/actions/02-refine.md (100%) rename plugins/aidd-pm/skills/{05-spec => 04-spec}/assets/spec-template.md (100%) rename plugins/aidd-pm/skills/{05-spec => 04-spec}/assets/spec-validator.yml (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/SKILL.md (98%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/actions/01-create.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/actions/02-investigate.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/actions/03-conclude.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/assets/spike-template.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/references/capabilities.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/references/investigation.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/references/lifecycle.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/references/persistence.md (100%) rename plugins/aidd-pm/skills/{06-spike => 05-spike}/references/qualification.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/SKILL.md (97%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/actions/01-frame.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/actions/02-discover.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/actions/03-visualize.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/actions/04-shape.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/actions/05-finalize.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/assets/product-brief.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/references/brief-quality.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/references/evidence.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/references/persistence.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/references/techniques.md (100%) rename plugins/aidd-pm/skills/{03-discovery => 06-product-brief}/references/visuals.md (100%) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index dc99b848e..1d9586da5 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -31,7 +31,7 @@ { "name": "aidd-pm", "source": "./plugins/aidd-pm", - "description": "Product management: ticket-info, user-stories, discovery, prd, spec, spike", + "description": "Product management: ticket-info, user-stories, product-brief, prd, spec, spike", "strict": true, "recommended": true }, diff --git a/README.md b/README.md index 7796d191a..eba3b8ff7 100644 --- a/README.md +++ b/README.md @@ -245,7 +245,7 @@ Repo init, commits, pull / merge requests, release tags, issues. `6 skills` · stable -Ticket info, user stories, discovery, PRD, spec drafting, spike investigations. +Ticket info, user stories, Product Briefs, PRD, spec drafting, spike investigations. diff --git a/aidd_docs/CONTRIBUTING.md b/aidd_docs/CONTRIBUTING.md index c03024338..922e16909 100644 --- a/aidd_docs/CONTRIBUTING.md +++ b/aidd_docs/CONTRIBUTING.md @@ -22,9 +22,9 @@ All templates live alongside the skill that owns them, under `plugins//s | `aidd-context:03-context-generate/assets/skills/` | `SKILL.md`, action templates | | `aidd-context:03-context-generate/assets/agents/` | Agent file template | | `aidd-context:03-context-generate/assets/rules/` | Rule file template | -| `aidd-pm:03-discovery/assets/` | Product Brief template | -| `aidd-pm:04-prd/assets/` | PRD body template | -| `aidd-pm:05-spec/assets/` | Spec template and validator | +| `aidd-pm:03-prd/assets/` | PRD body template | +| `aidd-pm:04-spec/assets/` | Spec template and validator | +| `aidd-pm:06-product-brief/assets/` | Product Brief template | | `aidd-dev:01-plan/assets/` | Plan and master-plan templates | | `aidd-vcs:01-commit/assets/` | Conventional commit message template | | `aidd-vcs:02-pull-request/assets/` | Pull/merge request body template, contributing example | diff --git a/aidd_docs/README.md b/aidd_docs/README.md index 6c30238a3..130b053bb 100644 --- a/aidd_docs/README.md +++ b/aidd_docs/README.md @@ -39,7 +39,7 @@ Skills are grouped into plugins by domain. Install only the plugins you need. | ----------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------- | | aidd-context | Bootstrap, project init, generation of context artifacts (skills, agents, rules, commands, hooks, plugins, marketplaces), mermaid diagrams, learn, discovery | `02-project-memory`, `03-context-generate`, `09-mermaid` | | aidd-refine | Meta-cognition: brainstorm, challenge prior work, condensed communication mode | `01-brainstorm`, `02-challenge`, `03-condense` | -| aidd-pm | Product management: ticket info, user stories, discovery, PRD, spec, spikes | `01-ticket-info`, `02-user-stories`, `03-discovery`, `04-prd`, `05-spec`, `06-spike` | +| aidd-pm | Product management: ticket info, user stories, Product Briefs, PRD, spec, spikes | `01-ticket-info`, `02-user-stories`, `03-prd`, `04-spec`, `05-spike`, `06-product-brief` | | aidd-dev | Code transformation: Dev SDLC orchestrator, plan, implement, assert, audit, review, test, refactor, debug, for-sure | `00-sdlc`, `01-plan`, `02-implement`, `05-review`, `06-test` | | aidd-vcs | VCS workflows: commit, pull/merge request, release tag, issue creation | `01-commit`, `02-pull-request`, `04-issue-create` | | aidd-orchestrator | Async orchestration of the SDLC on labeled issues (optional, extra) | `00-async-dev` (router with setup / run / review sub-flows) | @@ -104,7 +104,7 @@ AIDD is delivered as a plugin marketplace. Pick what you need; do not install ev | aidd-refine | 01-brainstorm, 02-challenge, 03-condense, 04-shadow-areas, 05-fact-check | | aidd-dev | 00-sdlc, 01-plan, 02-implement, 03-assert, 04-audit, 05-review, 06-test, 07-refactor, 08-debug, 09-for-sure | | aidd-vcs | 01-commit, 02-pull-request, 03-release-tag, 04-issue-create | -| aidd-pm | 01-ticket-info, 02-user-stories, 03-discovery, 04-prd, 05-spec, 06-spike | +| aidd-pm | 01-ticket-info, 02-user-stories, 03-prd, 04-spec, 05-spike, 06-product-brief | Each plugin is independently installable; install incrementally. Smaller surface, fewer triggers competing. @@ -114,7 +114,7 @@ A typical change cycles through skills from several plugins. The order below is 1. **Bootstrap** (only for a brand-new project): `aidd-context:01-bootstrap` imagines the stack and architecture, comparing candidate stacks and writing an `INSTALL.md`. Skip this step on an existing project. 2. **Project init** (once per project, re-runnable to refresh): `aidd-context:02-project-memory` scaffolds `aidd_docs/`, the memory bank, and the AI context files for the tools you use. Re-running later refreshes the scaffold without overwriting your customizations. -3. **Frame the request**: `aidd-refine:01-brainstorm` to clarify, `aidd-pm:03-discovery` to frame a product, then `aidd-pm:02-user-stories`, `aidd-pm:04-prd`, or `aidd-pm:05-spec` to formalize scope. +3. **Frame the request**: `aidd-refine:01-brainstorm` to clarify, `aidd-pm:06-product-brief` to align the product, then `aidd-pm:02-user-stories`, `aidd-pm:03-prd`, or `aidd-pm:04-spec` to formalize scope. 4. **Plan**: `aidd-dev:01-plan` produces the technical plan, component behavior model, or design-image extraction. 5. **Implement and assert**: `aidd-dev:02-implement` writes code against the plan; `aidd-dev:03-assert` verifies the result. 6. **Review**: `aidd-dev:05-review` for code and functional review; `aidd-refine:02-challenge` to stress-test the result. diff --git a/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md b/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md index 8a0efe816..2c4f3872b 100644 --- a/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md +++ b/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md @@ -1,4 +1,4 @@ -# Discovery Skill Headless Test +# Product Brief Skill Headless Test Date: 2026-07-28 to 2026-07-29 Runner: Codex `gpt-5.5` and `gpt-5.6-sol`, medium reasoning, isolated workspaces @@ -42,7 +42,9 @@ All failing cases passed after their fixes. - PRD consumed `product-brief.md` directly and preserved uncertainty under dependencies and open questions. - A partial Product Brief became a PRD with explicit open questions; a missing brief stopped the handoff. - Blank invocation loaded only the router, `frame`, and its evidence reference. Non-visual and session-only routes skipped unrelated references. -- Markdown links: 0 broken in 561 files. +- The installed `06-product-brief` blank route asked one natural question and wrote no file. +- Installed `03-prd`, `04-spec`, and `05-spike` kept their names and source hashes. +- Markdown links: 0 broken in 560 files. - `git diff --check`: pass. ## Reference Cleanup diff --git a/docs/CATALOG.md b/docs/CATALOG.md index c8704e93a..9ed5e4ccc 100644 --- a/docs/CATALOG.md +++ b/docs/CATALOG.md @@ -52,16 +52,16 @@ The development SDLC: plan, implement, assert, audit, review, test, refactor, de ## 📋 aidd-pm -Product management: ticket retrieval, user stories, discovery, PRD, spec, spikes. +Product management: ticket retrieval, user stories, Product Briefs, PRD, spec, spikes. | Skill | Role | Actions | | ------------------------- | ---------------------------------------------------------- | -------------------------------- | | `01-ticket-info` | Retrieve and display ticket information | `01-ticket-info` | | `02-user-stories` | Prioritized, estimated INVEST user-story backlog | `01-clarify-scope`, `02-split-epic`, `03-draft-stories`, `04-estimate-impact`, `05-prioritize`, `06-sync-tracker` | -| `03-discovery` | Produce a Product Brief before requirements | `01-frame` to `05-finalize` | -| `04-prd` | Generate a structured Product Requirements Document | `01-prd` | -| `05-spec` | Generate or refine a normalized project spec | `01-build`, `02-refine` | -| `06-spike` | Record or investigate a decision-blocking uncertainty | `01-create`, `02-investigate`, `03-conclude` | +| `03-prd` | Generate a structured Product Requirements Document | `01-prd` | +| `04-spec` | Generate or refine a normalized project spec | `01-build`, `02-refine` | +| `05-spike` | Record or investigate a decision-blocking uncertainty | `01-create`, `02-investigate`, `03-conclude` | +| `06-product-brief` | Produce a Product Brief before requirements | `01-frame` to `05-finalize` | ## 🪞 aidd-refine diff --git a/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md b/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md index 42a333145..f9f029064 100644 --- a/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md +++ b/plugins/aidd-context/skills/12-cook/assets/recipes/start-a-project.md @@ -24,12 +24,12 @@ Brainstorming sharpens the raw idea into a precise request. The PRD turns the idea into structured product requirements. -1. Run `/aidd-pm:03-discovery`. -2. Pass its folder to `/aidd-pm:04-prd`. +1. Run `/aidd-pm:06-product-brief`. +2. Pass its brief to `/aidd-pm:03-prd`. ```text -/aidd-pm:03-discovery -/aidd-pm:04-prd +/aidd-pm:06-product-brief +/aidd-pm:03-prd ``` #### 3) 🏗️ Design the architecture diff --git a/plugins/aidd-pm/.claude-plugin/plugin.json b/plugins/aidd-pm/.claude-plugin/plugin.json index 58f5e7d9c..e72791981 100644 --- a/plugins/aidd-pm/.claude-plugin/plugin.json +++ b/plugins/aidd-pm/.claude-plugin/plugin.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", "name": "aidd-pm", "version": "2.2.1", - "description": "Product management: ticket-info, user-stories, discovery, prd, spec, spike", + "description": "Product management: ticket-info, user-stories, product-brief, prd, spec, spike", "author": { "name": "AI-Driven Dev", "url": "https://github.com/ai-driven-dev" @@ -10,14 +10,14 @@ "skills": [ "./skills/01-ticket-info", "./skills/02-user-stories", - "./skills/03-discovery", - "./skills/04-prd", - "./skills/05-spec", - "./skills/06-spike" + "./skills/03-prd", + "./skills/04-spec", + "./skills/05-spike", + "./skills/06-product-brief" ], "keywords": [ "product-management", - "discovery", + "product-brief", "user-stories", "prd", "specification", diff --git a/plugins/aidd-pm/CATALOG.md b/plugins/aidd-pm/CATALOG.md index 1cca4e526..e3a29ad63 100644 --- a/plugins/aidd-pm/CATALOG.md +++ b/plugins/aidd-pm/CATALOG.md @@ -10,10 +10,10 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai - [`skills`](#skills) - [`skills/01-ticket-info`](#skills01-ticket-info) - [`skills/02-user-stories`](#skills02-user-stories) - - [`skills/03-discovery`](#skills03-discovery) - - [`skills/04-prd`](#skills04-prd) - - [`skills/05-spec`](#skills05-spec) - - [`skills/06-spike`](#skills06-spike) + - [`skills/03-prd`](#skills03-prd) + - [`skills/04-spec`](#skills04-spec) + - [`skills/05-spike`](#skills05-spike) + - [`skills/06-product-brief`](#skills06-product-brief) --- @@ -46,54 +46,53 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai | `references` | [rating.md](skills/02-user-stories/references/rating.md) | - | | `-` | [SKILL.md](skills/02-user-stories/SKILL.md) | `Turn a feature or epic into a prioritized, estimated, INVEST-compliant user-story backlog in the tracker. Use when the user wants to create, split, estimate, or prioritize user stories. Not for source code or a PRD.` | -#### `skills/03-discovery` +#### `skills/03-prd` | Group | File | Description | |-------|------|---| -| `actions` | [01-frame.md](skills/03-discovery/actions/01-frame.md) | - | -| `actions` | [02-discover.md](skills/03-discovery/actions/02-discover.md) | - | -| `actions` | [03-visualize.md](skills/03-discovery/actions/03-visualize.md) | - | -| `actions` | [04-shape.md](skills/03-discovery/actions/04-shape.md) | - | -| `actions` | [05-finalize.md](skills/03-discovery/actions/05-finalize.md) | - | -| `assets` | [product-brief.md](skills/03-discovery/assets/product-brief.md) | - | -| `references` | [brief-quality.md](skills/03-discovery/references/brief-quality.md) | - | -| `references` | [evidence.md](skills/03-discovery/references/evidence.md) | - | -| `references` | [persistence.md](skills/03-discovery/references/persistence.md) | - | -| `references` | [techniques.md](skills/03-discovery/references/techniques.md) | - | -| `references` | [visuals.md](skills/03-discovery/references/visuals.md) | - | -| `-` | [SKILL.md](skills/03-discovery/SKILL.md) | `Produces a concise Product Brief before requirements. Use when the user wants to frame or revisit a product opportunity and how it will be validated. Not for requirements, technical design, or planning.` | - -#### `skills/04-prd` +| `actions` | [01-prd.md](skills/03-prd/actions/01-prd.md) | - | +| `assets` | [prd-template.md](skills/03-prd/assets/prd-template.md) | - | +| `assets` | [task-template.md](skills/03-prd/assets/task-template.md) | `Task tracking system to ensure all tasks are categorized and addressed` | +| `-` | [SKILL.md](skills/03-prd/SKILL.md) | `Generate a structured Product Requirements Document from a need, idea, or brainstorm, confirmed before save. Use when the user wants to draft or generate a PRD or product requirements. Not for user stories or a technical plan.` | + +#### `skills/04-spec` | Group | File | Description | |-------|------|---| -| `actions` | [01-prd.md](skills/04-prd/actions/01-prd.md) | - | -| `assets` | [prd-template.md](skills/04-prd/assets/prd-template.md) | - | -| `assets` | [task-template.md](skills/04-prd/assets/task-template.md) | `Task tracking system to ensure all tasks are categorized and addressed` | -| `references` | [product-brief-input.md](skills/04-prd/references/product-brief-input.md) | - | -| `-` | [SKILL.md](skills/04-prd/SKILL.md) | `Generates a structured Product Requirements Document from a request, user stories, or a Product Brief. Use when the user wants to draft product requirements. Not for product discovery, technical design, or implementation planning.` | +| `actions` | [01-build.md](skills/04-spec/actions/01-build.md) | - | +| `actions` | [02-refine.md](skills/04-spec/actions/02-refine.md) | - | +| `assets` | [spec-template.md](skills/04-spec/assets/spec-template.md) | - | +| `-` | [SKILL.md](skills/04-spec/SKILL.md) | `Generate or refine a spec, a feature's immutable contract, from a request, a PRD, or review findings. Use to draft or refine a spec. Do NOT use to write code, a full PRD, or change a locked spec.` | -#### `skills/05-spec` +#### `skills/05-spike` | Group | File | Description | |-------|------|---| -| `actions` | [01-build.md](skills/05-spec/actions/01-build.md) | - | -| `actions` | [02-refine.md](skills/05-spec/actions/02-refine.md) | - | -| `assets` | [spec-template.md](skills/05-spec/assets/spec-template.md) | - | -| `-` | [SKILL.md](skills/05-spec/SKILL.md) | `Generate or refine a spec, a feature's immutable contract, from a request, a PRD, or review findings. Use to draft or refine a spec. Do NOT use to write code, a full PRD, or change a locked spec.` | - -#### `skills/06-spike` +| `actions` | [01-create.md](skills/05-spike/actions/01-create.md) | - | +| `actions` | [02-investigate.md](skills/05-spike/actions/02-investigate.md) | - | +| `actions` | [03-conclude.md](skills/05-spike/actions/03-conclude.md) | - | +| `assets` | [spike-template.md](skills/05-spike/assets/spike-template.md) | - | +| `references` | [capabilities.md](skills/05-spike/references/capabilities.md) | - | +| `references` | [investigation.md](skills/05-spike/references/investigation.md) | - | +| `references` | [lifecycle.md](skills/05-spike/references/lifecycle.md) | - | +| `references` | [persistence.md](skills/05-spike/references/persistence.md) | - | +| `references` | [qualification.md](skills/05-spike/references/qualification.md) | - | +| `-` | [SKILL.md](skills/05-spike/SKILL.md) | `Produces an evidence-bounded spike for an uncertainty blocking estimation, feasibility, or design. Use when the user wants to frame, investigate, resume, or conclude one. Not for general research or implementation.` | + +#### `skills/06-product-brief` | Group | File | Description | |-------|------|---| -| `actions` | [01-create.md](skills/06-spike/actions/01-create.md) | - | -| `actions` | [02-investigate.md](skills/06-spike/actions/02-investigate.md) | - | -| `actions` | [03-conclude.md](skills/06-spike/actions/03-conclude.md) | - | -| `assets` | [spike-template.md](skills/06-spike/assets/spike-template.md) | - | -| `references` | [capabilities.md](skills/06-spike/references/capabilities.md) | - | -| `references` | [investigation.md](skills/06-spike/references/investigation.md) | - | -| `references` | [lifecycle.md](skills/06-spike/references/lifecycle.md) | - | -| `references` | [persistence.md](skills/06-spike/references/persistence.md) | - | -| `references` | [qualification.md](skills/06-spike/references/qualification.md) | - | -| `-` | [SKILL.md](skills/06-spike/SKILL.md) | `Produces an evidence-bounded spike for an uncertainty blocking estimation, feasibility, or design. Use when the user wants to frame, investigate, resume, or conclude one. Not for general research or implementation.` | +| `actions` | [01-frame.md](skills/06-product-brief/actions/01-frame.md) | - | +| `actions` | [02-discover.md](skills/06-product-brief/actions/02-discover.md) | - | +| `actions` | [03-visualize.md](skills/06-product-brief/actions/03-visualize.md) | - | +| `actions` | [04-shape.md](skills/06-product-brief/actions/04-shape.md) | - | +| `actions` | [05-finalize.md](skills/06-product-brief/actions/05-finalize.md) | - | +| `assets` | [product-brief.md](skills/06-product-brief/assets/product-brief.md) | - | +| `references` | [brief-quality.md](skills/06-product-brief/references/brief-quality.md) | - | +| `references` | [evidence.md](skills/06-product-brief/references/evidence.md) | - | +| `references` | [persistence.md](skills/06-product-brief/references/persistence.md) | - | +| `references` | [techniques.md](skills/06-product-brief/references/techniques.md) | - | +| `references` | [visuals.md](skills/06-product-brief/references/visuals.md) | - | +| `-` | [SKILL.md](skills/06-product-brief/SKILL.md) | `Produces a concise Product Brief before requirements. Use when the user wants to frame or revisit a product opportunity and how it will be validated. Not for requirements, technical design, or planning.` | diff --git a/plugins/aidd-pm/README.md b/plugins/aidd-pm/README.md index 5e5f95274..edbe52dbd 100644 --- a/plugins/aidd-pm/README.md +++ b/plugins/aidd-pm/README.md @@ -16,7 +16,7 @@ Covers ticket retrieval, user stories, product discovery, requirements, specs, a |---|---|---| | [4.1] | [ticket-info](skills/01-ticket-info/SKILL.md) | Retrieve and display ticket information from the configured ticketing tool. | | [4.2] | [user-stories](skills/02-user-stories/SKILL.md) | Turn a feature or epic into a prioritized, estimated, INVEST-compliant user-story backlog. | -| [4.3] | [discovery](skills/03-discovery/SKILL.md) | Produce one evidence-aware Product Brief. | -| [4.4] | [prd](skills/04-prd/SKILL.md) | Generate a structured Product Requirements Document. | -| [4.5] | [spec](skills/05-spec/SKILL.md) | Generate and refine a project spec from a free-form human request. The spec is the immutable target a planner consumes. | -| [4.6] | [spike](skills/06-spike/SKILL.md) | Record or investigate an uncertainty that blocks estimation, feasibility, or design. | +| [4.3] | [prd](skills/03-prd/SKILL.md) | Generate a structured Product Requirements Document. | +| [4.4] | [spec](skills/04-spec/SKILL.md) | Generate and refine a project spec from a free-form human request. The spec is the immutable target a planner consumes. | +| [4.5] | [spike](skills/05-spike/SKILL.md) | Record or investigate an uncertainty that blocks estimation, feasibility, or design. | +| [4.6] | [product-brief](skills/06-product-brief/SKILL.md) | Produce one evidence-aware Product Brief. | diff --git a/plugins/aidd-pm/skills/03-prd/SKILL.md b/plugins/aidd-pm/skills/03-prd/SKILL.md new file mode 100644 index 000000000..bdf3c79ab --- /dev/null +++ b/plugins/aidd-pm/skills/03-prd/SKILL.md @@ -0,0 +1,29 @@ +--- +name: 03-prd +description: Generate a structured Product Requirements Document from a need, idea, or brainstorm, confirmed before save. Use when the user wants to draft or generate a PRD or product requirements. Not for user stories or a technical plan. +--- + +# PRD + +Drafts a structured Product Requirements Document covering scope, goals, and acceptance criteria. + +## Actions + +| # | Action | Role | Input | +| --- | ------- | ---------------------------------------------------- | ----------------------------------------------- | +| 01 | `prd` | Parse input, draft per template, validate, save | feature_description, user_stories (optional) | + +Before running an action, read its file in `actions/`, not only the table or assets. + +## Transversal rules + +- Focus on what and why; never include technical implementation detail. +- Sections stay concise and actionable. +- Always wait for explicit user validation before saving. +- Save path: `aidd_docs/tasks//--prd.md`. +- Source of truth for structure: `assets/prd-template.md`. + +## Assets + +- `assets/prd-template.md`: PRD body template. +- `assets/task-template.md`: Lightweight task template referenced from the PRD when needed. diff --git a/plugins/aidd-pm/skills/03-prd/actions/01-prd.md b/plugins/aidd-pm/skills/03-prd/actions/01-prd.md new file mode 100644 index 000000000..2ad3ec9ec --- /dev/null +++ b/plugins/aidd-pm/skills/03-prd/actions/01-prd.md @@ -0,0 +1,24 @@ +# 01 - PRD + +Parse the feature input, draft a structured PRD from the template, validate with the user, then save the file under `aidd_docs/tasks/`. + +## Input + +A feature description (required), and optionally existing user stories (ids or text) to anchor the PRD. + +## Output + +The saved PRD at `aidd_docs/tasks//--prd.md`, carrying all eight sections. + +## Process + +1. **Parse.** Extract the feature scope, goals, and constraints from the description and any user stories. +2. **Draft.** Fill `@../assets/prd-template.md` with its eight sections: overview, problem statement, goals, non-goals, user stories, acceptance criteria, dependencies, open questions. +3. **Validate.** Show the full draft, wait for explicit approval, and re-show after each revision. +4. **Save.** Write the approved PRD to its dated path, creating the month directory when missing. + +## Test + +- The PRD file exists on disk after the action completes. +- It contains the eight headings: Overview, Problem Statement, Goals, Non-Goals, User Stories, Acceptance Criteria, Dependencies, Open Questions. +- It has no solution detail: no tech-stack, data-model, or architecture section, no `## Implementation` heading, and no source code. diff --git a/plugins/aidd-pm/skills/04-prd/assets/prd-template.md b/plugins/aidd-pm/skills/03-prd/assets/prd-template.md similarity index 100% rename from plugins/aidd-pm/skills/04-prd/assets/prd-template.md rename to plugins/aidd-pm/skills/03-prd/assets/prd-template.md diff --git a/plugins/aidd-pm/skills/04-prd/assets/task-template.md b/plugins/aidd-pm/skills/03-prd/assets/task-template.md similarity index 100% rename from plugins/aidd-pm/skills/04-prd/assets/task-template.md rename to plugins/aidd-pm/skills/03-prd/assets/task-template.md diff --git a/plugins/aidd-pm/skills/04-prd/SKILL.md b/plugins/aidd-pm/skills/04-prd/SKILL.md deleted file mode 100644 index 1185a282b..000000000 --- a/plugins/aidd-pm/skills/04-prd/SKILL.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -name: 04-prd -description: Generates a structured Product Requirements Document from a request, user stories, or a Product Brief. Use when the user wants to draft product requirements. Not for product discovery, technical design, or implementation planning. ---- - -# PRD - -```mermaid -flowchart LR - source([request or discovery]) --> draft --> approve --> write - approve -->|"revise"| draft -``` - -## Actions - -| Action | Does | -| ------ | ---------------------------------- | -| prd | draft, confirm, and save the PRD | - -Read the action file before running it. - -## Transversal rules - -- Focus on what and why; never include technical implementation detail. -- Require explicit approval before saving. -- Preserve user edits and touch only the resolved task folder. - -## Assets - -- `assets/prd-template.md`: PRD body template. -- `assets/task-template.md`: Lightweight task template referenced from the PRD when needed. diff --git a/plugins/aidd-pm/skills/04-prd/actions/01-prd.md b/plugins/aidd-pm/skills/04-prd/actions/01-prd.md deleted file mode 100644 index f9c5a97b9..000000000 --- a/plugins/aidd-pm/skills/04-prd/actions/01-prd.md +++ /dev/null @@ -1,28 +0,0 @@ -# 01 - PRD - -Turn product evidence into approved requirements. - -## Input - -A request, a Product Brief, or user stories. - -## Output - -An approved PRD at the resolved path. - -## Process - -1. **Resolve.** A Product Brief targets its sibling `prd.md`. Other input keeps `aidd_docs/tasks//--prd.md`. -2. **Read.** When the source is a Product Brief, apply [Product Brief input](../references/product-brief-input.md). Otherwise extract the problem, outcomes, audience, scope, and constraints from the request and stories. -3. **Draft.** Fill [PRD template](../assets/prd-template.md), omitting no required section. -4. **Confirm.** Show the full draft and wait. Fold corrections and show it again. -5. **Write.** Save the approved content at the resolved path. - -## Test - -- Without approval, no PRD changes. -- A Product Brief is consumed directly without asking the user to reformat it. -- A superseded Product Brief resolves to its current replacement. -- The approved PRD exists at the resolved path. -- It contains the eight headings: Overview, Problem Statement, Goals, Non-Goals, User Stories, Acceptance Criteria, Dependencies, Open Questions. -- It has no solution detail: no tech-stack, data-model, or architecture section, no `## Implementation` heading, and no source code. diff --git a/plugins/aidd-pm/skills/04-prd/references/product-brief-input.md b/plugins/aidd-pm/skills/04-prd/references/product-brief-input.md deleted file mode 100644 index a6262cb6f..000000000 --- a/plugins/aidd-pm/skills/04-prd/references/product-brief-input.md +++ /dev/null @@ -1,21 +0,0 @@ -# Product Brief Input - -Resolve one approved `product-brief.md`: - -| Status | Use | -| --- | --- | -| `current` | consume it | -| `superseded` | follow `superseded_by`; stop if missing | -| absent | consume as a legacy current brief | - -Then map it into the PRD: - -| Product Brief | PRD | -| --- | --- | -| Opening, Opportunity | Overview, Problem Statement | -| Audience and Context, Product Bet | User Stories, Goals | -| Boundaries | Non-Goals | -| Success | Goals, Acceptance Criteria | -| Evidence and Assumptions, Open Decisions | Dependencies, Open Questions | - -Preserve assumptions as open questions or dependencies, never requirements. Ignore its optional visual when it adds no requirement evidence. diff --git a/plugins/aidd-pm/skills/05-spec/SKILL.md b/plugins/aidd-pm/skills/04-spec/SKILL.md similarity index 99% rename from plugins/aidd-pm/skills/05-spec/SKILL.md rename to plugins/aidd-pm/skills/04-spec/SKILL.md index 93f6fc456..7614169e9 100644 --- a/plugins/aidd-pm/skills/05-spec/SKILL.md +++ b/plugins/aidd-pm/skills/04-spec/SKILL.md @@ -1,5 +1,5 @@ --- -name: 05-spec +name: 04-spec description: Generate or refine a spec, a feature's immutable contract, from a request, a PRD, or review findings. Use to draft or refine a spec. Do NOT use to write code, a full PRD, or change a locked spec. argument-hint: build | refine --- diff --git a/plugins/aidd-pm/skills/05-spec/actions/01-build.md b/plugins/aidd-pm/skills/04-spec/actions/01-build.md similarity index 100% rename from plugins/aidd-pm/skills/05-spec/actions/01-build.md rename to plugins/aidd-pm/skills/04-spec/actions/01-build.md diff --git a/plugins/aidd-pm/skills/05-spec/actions/02-refine.md b/plugins/aidd-pm/skills/04-spec/actions/02-refine.md similarity index 100% rename from plugins/aidd-pm/skills/05-spec/actions/02-refine.md rename to plugins/aidd-pm/skills/04-spec/actions/02-refine.md diff --git a/plugins/aidd-pm/skills/05-spec/assets/spec-template.md b/plugins/aidd-pm/skills/04-spec/assets/spec-template.md similarity index 100% rename from plugins/aidd-pm/skills/05-spec/assets/spec-template.md rename to plugins/aidd-pm/skills/04-spec/assets/spec-template.md diff --git a/plugins/aidd-pm/skills/05-spec/assets/spec-validator.yml b/plugins/aidd-pm/skills/04-spec/assets/spec-validator.yml similarity index 100% rename from plugins/aidd-pm/skills/05-spec/assets/spec-validator.yml rename to plugins/aidd-pm/skills/04-spec/assets/spec-validator.yml diff --git a/plugins/aidd-pm/skills/06-spike/SKILL.md b/plugins/aidd-pm/skills/05-spike/SKILL.md similarity index 98% rename from plugins/aidd-pm/skills/06-spike/SKILL.md rename to plugins/aidd-pm/skills/05-spike/SKILL.md index c19e9d7ac..c6515a05c 100644 --- a/plugins/aidd-pm/skills/06-spike/SKILL.md +++ b/plugins/aidd-pm/skills/05-spike/SKILL.md @@ -1,5 +1,5 @@ --- -name: 06-spike +name: 05-spike description: Produces an evidence-bounded spike for an uncertainty blocking estimation, feasibility, or design. Use when the user wants to frame, investigate, resume, or conclude one. Not for general research or implementation. argument-hint: question | spike --- diff --git a/plugins/aidd-pm/skills/06-spike/actions/01-create.md b/plugins/aidd-pm/skills/05-spike/actions/01-create.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/actions/01-create.md rename to plugins/aidd-pm/skills/05-spike/actions/01-create.md diff --git a/plugins/aidd-pm/skills/06-spike/actions/02-investigate.md b/plugins/aidd-pm/skills/05-spike/actions/02-investigate.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/actions/02-investigate.md rename to plugins/aidd-pm/skills/05-spike/actions/02-investigate.md diff --git a/plugins/aidd-pm/skills/06-spike/actions/03-conclude.md b/plugins/aidd-pm/skills/05-spike/actions/03-conclude.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/actions/03-conclude.md rename to plugins/aidd-pm/skills/05-spike/actions/03-conclude.md diff --git a/plugins/aidd-pm/skills/06-spike/assets/spike-template.md b/plugins/aidd-pm/skills/05-spike/assets/spike-template.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/assets/spike-template.md rename to plugins/aidd-pm/skills/05-spike/assets/spike-template.md diff --git a/plugins/aidd-pm/skills/06-spike/references/capabilities.md b/plugins/aidd-pm/skills/05-spike/references/capabilities.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/references/capabilities.md rename to plugins/aidd-pm/skills/05-spike/references/capabilities.md diff --git a/plugins/aidd-pm/skills/06-spike/references/investigation.md b/plugins/aidd-pm/skills/05-spike/references/investigation.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/references/investigation.md rename to plugins/aidd-pm/skills/05-spike/references/investigation.md diff --git a/plugins/aidd-pm/skills/06-spike/references/lifecycle.md b/plugins/aidd-pm/skills/05-spike/references/lifecycle.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/references/lifecycle.md rename to plugins/aidd-pm/skills/05-spike/references/lifecycle.md diff --git a/plugins/aidd-pm/skills/06-spike/references/persistence.md b/plugins/aidd-pm/skills/05-spike/references/persistence.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/references/persistence.md rename to plugins/aidd-pm/skills/05-spike/references/persistence.md diff --git a/plugins/aidd-pm/skills/06-spike/references/qualification.md b/plugins/aidd-pm/skills/05-spike/references/qualification.md similarity index 100% rename from plugins/aidd-pm/skills/06-spike/references/qualification.md rename to plugins/aidd-pm/skills/05-spike/references/qualification.md diff --git a/plugins/aidd-pm/skills/03-discovery/SKILL.md b/plugins/aidd-pm/skills/06-product-brief/SKILL.md similarity index 97% rename from plugins/aidd-pm/skills/03-discovery/SKILL.md rename to plugins/aidd-pm/skills/06-product-brief/SKILL.md index 3b3d5fdf2..b089a90aa 100644 --- a/plugins/aidd-pm/skills/03-discovery/SKILL.md +++ b/plugins/aidd-pm/skills/06-product-brief/SKILL.md @@ -1,10 +1,10 @@ --- -name: 03-discovery +name: 06-product-brief description: Produces a concise Product Brief before requirements. Use when the user wants to frame or revisit a product opportunity and how it will be validated. Not for requirements, technical design, or planning. argument-hint: idea | product --- -# Discovery +# Product Brief ```mermaid flowchart LR diff --git a/plugins/aidd-pm/skills/03-discovery/actions/01-frame.md b/plugins/aidd-pm/skills/06-product-brief/actions/01-frame.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/actions/01-frame.md rename to plugins/aidd-pm/skills/06-product-brief/actions/01-frame.md diff --git a/plugins/aidd-pm/skills/03-discovery/actions/02-discover.md b/plugins/aidd-pm/skills/06-product-brief/actions/02-discover.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/actions/02-discover.md rename to plugins/aidd-pm/skills/06-product-brief/actions/02-discover.md diff --git a/plugins/aidd-pm/skills/03-discovery/actions/03-visualize.md b/plugins/aidd-pm/skills/06-product-brief/actions/03-visualize.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/actions/03-visualize.md rename to plugins/aidd-pm/skills/06-product-brief/actions/03-visualize.md diff --git a/plugins/aidd-pm/skills/03-discovery/actions/04-shape.md b/plugins/aidd-pm/skills/06-product-brief/actions/04-shape.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/actions/04-shape.md rename to plugins/aidd-pm/skills/06-product-brief/actions/04-shape.md diff --git a/plugins/aidd-pm/skills/03-discovery/actions/05-finalize.md b/plugins/aidd-pm/skills/06-product-brief/actions/05-finalize.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/actions/05-finalize.md rename to plugins/aidd-pm/skills/06-product-brief/actions/05-finalize.md diff --git a/plugins/aidd-pm/skills/03-discovery/assets/product-brief.md b/plugins/aidd-pm/skills/06-product-brief/assets/product-brief.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/assets/product-brief.md rename to plugins/aidd-pm/skills/06-product-brief/assets/product-brief.md diff --git a/plugins/aidd-pm/skills/03-discovery/references/brief-quality.md b/plugins/aidd-pm/skills/06-product-brief/references/brief-quality.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/references/brief-quality.md rename to plugins/aidd-pm/skills/06-product-brief/references/brief-quality.md diff --git a/plugins/aidd-pm/skills/03-discovery/references/evidence.md b/plugins/aidd-pm/skills/06-product-brief/references/evidence.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/references/evidence.md rename to plugins/aidd-pm/skills/06-product-brief/references/evidence.md diff --git a/plugins/aidd-pm/skills/03-discovery/references/persistence.md b/plugins/aidd-pm/skills/06-product-brief/references/persistence.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/references/persistence.md rename to plugins/aidd-pm/skills/06-product-brief/references/persistence.md diff --git a/plugins/aidd-pm/skills/03-discovery/references/techniques.md b/plugins/aidd-pm/skills/06-product-brief/references/techniques.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/references/techniques.md rename to plugins/aidd-pm/skills/06-product-brief/references/techniques.md diff --git a/plugins/aidd-pm/skills/03-discovery/references/visuals.md b/plugins/aidd-pm/skills/06-product-brief/references/visuals.md similarity index 100% rename from plugins/aidd-pm/skills/03-discovery/references/visuals.md rename to plugins/aidd-pm/skills/06-product-brief/references/visuals.md diff --git a/scripts/sync-skill-argument-hints.mjs b/scripts/sync-skill-argument-hints.mjs index a75ef693c..be3cdc145 100755 --- a/scripts/sync-skill-argument-hints.mjs +++ b/scripts/sync-skill-argument-hints.mjs @@ -95,7 +95,7 @@ function syncArgumentHint(content, hint) { // Skills whose argument-hint is written by hand, because it names the user's // entrypoint or cases rather than one token per action. The hook leaves these // untouched. This is the base pattern for a pipeline or case-based router. -const MANUAL_ARGUMENT_HINT = new Set(["01-brainstorm", "02-project-memory", "03-discovery", "04-skill-generate", "06-spike"]); +const MANUAL_ARGUMENT_HINT = new Set(["01-brainstorm", "02-project-memory", "04-skill-generate", "05-spike", "06-product-brief"]); const stale = []; for (const dir of await skillDirs()) { From 10da78d0bf45217140404481e065f330dd311094 Mon Sep 17 00:00:00 2001 From: Baptiste LAFOURCADE Date: Wed, 29 Jul 2026 06:09:45 +0200 Subject: [PATCH 3/3] chore(aidd-pm): remove headless test report Keep execution evidence outside the shipped framework change. Refs #349 --- .../headless-test.md | 52 ------------------- 1 file changed, 52 deletions(-) delete mode 100644 aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md diff --git a/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md b/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md deleted file mode 100644 index 2c4f3872b..000000000 --- a/aidd_docs/tasks/2026_07/2026_07_28_discovery-skill/headless-test.md +++ /dev/null @@ -1,52 +0,0 @@ -# Product Brief Skill Headless Test - -Date: 2026-07-28 to 2026-07-29 -Runner: Codex `gpt-5.5` and `gpt-5.6-sol`, medium reasoning, isolated workspaces - -## Result - -The baseline passed 33 scenarios and 104/104 assertions. The final installed-skill regression passed 9 scenarios and 39/39 assertions. Critical routing branches passed three consecutive runs. - -| Area | Cases | Result | -| --- | --- | --- | -| Frame | implicit trigger, no idea, sparse idea, existing product, conflicting or ambiguous sources | Pass | -| Discover | assumptions, correction loop, declined research, unsupported claim, external official research, new evidence | Pass | -| Visualize | omit when useless, Mermaid, ASCII wireframe, comparison table, visual revision | Pass | -| Shape | required headings, optional sections, feedback loop, no invented metric, no placeholders | Pass | -| Finalize | unapproved, content-only approval, session-only, approved create or update, write failure | Pass | -| Metadata | initial current brief, in-place update, reciprocal supersession, omitted optional relations | Pass | -| Integration | multi-turn discovery, visual and approval loops, PRD handoff, partial or missing source, installed trigger | Pass | -| Loading | blank, non-visual and persisted routes read only their required files | Pass | - -## Findings Fixed - -1. A comparison table initially created `## Alternatives` and renamed required sections. Visuals are now constrained to `Product View`; required headings and order are explicit. -2. The installed no-idea route initially requested a field checklist. `frame` now asks only for the idea in plain language. -3. Some responses exposed action labels or stopped on a draft. User-facing workflow labels are hidden and every draft now reaches the open feedback step. -4. Content approval could silently become session-only. The skill now asks separately whether to persist. -5. An incompatible wireframe request could produce a substitute pseudo-screen. The visual route now stops when the product has no relevant interface. -6. Two current briefs could be resolved by date. Authority selection now belongs to `frame`; date is not evidence. - -All failing cases passed after their fixes. - -## Independent Checks - -- Generated Mermaid parsed with `mmdc`. -- Approved creation wrote exactly one `product-brief.md` with no placeholders. -- Approved update preserved the custom `Team Notes` section and changed only the approved boundary. -- Unapproved, ambiguous, failed-write and session-only cases wrote no files. -- Existing brief ambiguity stopped before modifying either file. -- New interview evidence reopened discovery and challenged the previous hypothesis. -- A corrected audience and pain replaced, rather than accumulated with, obsolete assumptions. -- External research used official EU sources and kept the legal implication as a hypothesis. -- PRD consumed `product-brief.md` directly and preserved uncertainty under dependencies and open questions. -- A partial Product Brief became a PRD with explicit open questions; a missing brief stopped the handoff. -- Blank invocation loaded only the router, `frame`, and its evidence reference. Non-visual and session-only routes skipped unrelated references. -- The installed `06-product-brief` blank route asked one natural question and wrote no file. -- Installed `03-prd`, `04-spec`, and `05-spike` kept their names and source hashes. -- Markdown links: 0 broken in 560 files. -- `git diff --check`: pass. - -## Reference Cleanup - -The references were reduced from 803 to 537 words and separated by responsibility. The final regression covers evidence, shaping, technique selection, visuals, persistence metadata, supersession, and PRD handoff.