Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Unify **engineering teams** around **standardized workflows** and **shared best
🧱 **IDE agnostic** · 🏗️ **Legacy systems** · 🌱 **Token-optimized** · 🇫🇷 **Made in France**

<p>
<!--counts:start--><kbd>9 plugins</kbd> · <kbd>51 skills</kbd> · <kbd>2 agents</kbd><!--counts:end-->
<!--counts:start--><kbd>9 plugins</kbd> · <kbd>55 skills</kbd> · <kbd>2 agents</kbd><!--counts:end-->
</p>

[![Open Source](https://img.shields.io/badge/Open_Source-Yes-yellow?logo=open-source-initiative&logoColor=white)](https://opensource.org/)
Expand Down Expand Up @@ -277,7 +277,7 @@ Repo init, commits, pull / merge requests, release tags, issues.

### 📋 [aidd-pm](plugins/aidd-pm/README.md)

`10 skills` · stable
`14 skills` · stable

Three Amigos refinement, Product Briefs, Epics, User Stories, Tasks, Spikes, Defects, PRD, and specs.

Expand Down
15 changes: 12 additions & 3 deletions plugins/aidd-pm/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "aidd-pm",
"version": "2.5.0",
"description": "Product backlog artifacts, refinement, Product Briefs, Epics, User Stories, Tasks, Spikes, Defects, requirements, and specs.",
"description": "Product backlog artifacts, refinement, Product Briefs, Epics, User Stories, Tasks, Spikes, Defects, requirements, specs, user interviews, release notes, data-driven decisions, and roadmaps.",
"author": {
"name": "AI-Driven Dev",
"url": "https://github.com/ai-driven-dev"
Expand All @@ -17,7 +17,11 @@
"./skills/07-epic",
"./skills/08-three-amigos",
"./skills/09-defect",
"./skills/10-task"
"./skills/10-task",
"./skills/11-interview",
"./skills/12-release-notes",
"./skills/13-data-driven-decision",
"./skills/14-roadmap"
],
"keywords": [
"backlog",
Expand All @@ -31,7 +35,12 @@
"specification",
"spikes",
"defects",
"tickets"
"tickets",
"user-interviews",
"discovery",
"release-notes",
"data-driven-decisions",
"roadmap"
],
"repository": "https://github.com/ai-driven-dev/framework",
"homepage": "https://ai-driven.dev",
Expand Down
80 changes: 80 additions & 0 deletions plugins/aidd-pm/CATALOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai
- [`skills/08-three-amigos`](#skills08-three-amigos)
- [`skills/09-defect`](#skills09-defect)
- [`skills/10-task`](#skills10-task)
- [`skills/11-interview`](#skills11-interview)
- [`skills/12-release-notes`](#skills12-release-notes)
- [`skills/13-data-driven-decision`](#skills13-data-driven-decision)
- [`skills/14-roadmap`](#skills14-roadmap)

---

Expand Down Expand Up @@ -172,3 +176,79 @@ Auto-generated index of skills, agents, references and assets shipped by the `ai
| `references` | [relations.md](skills/10-task/references/relations.md) | - |
| `-` | [SKILL.md](skills/10-task/SKILL.md) | `Produces or refines a backlog Task for bounded delivery work without independent user value. Use when the user wants to create, link, order, estimate, transition, or complete one. Not for User Stories, Spikes, Defects, or implementation.` |

#### `skills/11-interview`

| Group | File | Description |
|-------|------|---|
| `actions` | [01-frame.md](skills/11-interview/actions/01-frame.md) | - |
| `actions` | [02-prepare.md](skills/11-interview/actions/02-prepare.md) | - |
| `actions` | [03-synthesize.md](skills/11-interview/actions/03-synthesize.md) | - |
| `actions` | [04-finalize.md](skills/11-interview/actions/04-finalize.md) | - |
| `assets` | [interview-guide.md](skills/11-interview/assets/interview-guide.md) | - |
| `assets` | [interview-synthesis.md](skills/11-interview/assets/interview-synthesis.md) | - |
| `references` | [handoffs.md](skills/11-interview/references/handoffs.md) | - |
| `references` | [insights.md](skills/11-interview/references/insights.md) | - |
| `references` | [persistence.md](skills/11-interview/references/persistence.md) | - |
| `references` | [questions.md](skills/11-interview/references/questions.md) | - |
| `references` | [verbatims.md](skills/11-interview/references/verbatims.md) | - |
| `-` | [SKILL.md](skills/11-interview/SKILL.md) | `Prepares a user interview guide before a meeting, then restructures its raw transcript into a question by question synthesis with exact verbatims. Use when the user wants to prepare or synthesize an interview or client meeting. Not for product decisions.` |

#### `skills/12-release-notes`

| Group | File | Description |
|-------|------|---|
| `actions` | [01-collect.md](skills/12-release-notes/actions/01-collect.md) | - |
| `actions` | [02-draft.md](skills/12-release-notes/actions/02-draft.md) | - |
| `actions` | [03-review.md](skills/12-release-notes/actions/03-review.md) | - |
| `actions` | [04-finalize.md](skills/12-release-notes/actions/04-finalize.md) | - |
| `assets` | [fact-sheet.md](skills/12-release-notes/assets/fact-sheet.md) | - |
| `assets` | [release-notes-template.md](skills/12-release-notes/assets/release-notes-template.md) | - |
| `references` | [audiences.md](skills/12-release-notes/references/audiences.md) | - |
| `references` | [handoffs.md](skills/12-release-notes/references/handoffs.md) | - |
| `references` | [persistence.md](skills/12-release-notes/references/persistence.md) | - |
| `references` | [sources.md](skills/12-release-notes/references/sources.md) | - |
| `references` | [tbd-marker.md](skills/12-release-notes/references/tbd-marker.md) | - |
| `-` | [SKILL.md](skills/12-release-notes/SKILL.md) | `Produces traceable release notes from the tickets and merged changes of a release, with internal and customer variants. Use when the user wants to announce, summarize, or communicate a release. Not for cutting a version tag or writing a changelog entry.` |

#### `skills/13-data-driven-decision`

| Group | File | Description |
|-------|------|---|
| `actions` | [01-interview.md](skills/13-data-driven-decision/actions/01-interview.md) | - |
| `actions` | [02-plan.md](skills/13-data-driven-decision/actions/02-plan.md) | - |
| `actions` | [03-collect.md](skills/13-data-driven-decision/actions/03-collect.md) | - |
| `actions` | [04-dashboard.md](skills/13-data-driven-decision/actions/04-dashboard.md) | - |
| `actions` | [05-memo.md](skills/13-data-driven-decision/actions/05-memo.md) | - |
| `assets` | [dashboard.md](skills/13-data-driven-decision/assets/dashboard.md) | - |
| `assets` | [decision-memo.md](skills/13-data-driven-decision/assets/decision-memo.md) | - |
| `assets` | [evidence-ledger.md](skills/13-data-driven-decision/assets/evidence-ledger.md) | - |
| `assets` | [tracking-plan.md](skills/13-data-driven-decision/assets/tracking-plan.md) | - |
| `references` | [confidence.md](skills/13-data-driven-decision/references/confidence.md) | - |
| `references` | [counting.md](skills/13-data-driven-decision/references/counting.md) | - |
| `references` | [handoffs.md](skills/13-data-driven-decision/references/handoffs.md) | - |
| `references` | [interview.md](skills/13-data-driven-decision/references/interview.md) | - |
| `references` | [persistence.md](skills/13-data-driven-decision/references/persistence.md) | - |
| `references` | [sources.md](skills/13-data-driven-decision/references/sources.md) | - |
| `-` | [SKILL.md](skills/13-data-driven-decision/SKILL.md) | `Produces a reproducible evidence dashboard and decision memo from customer signals for a pending product decision. Use when the user wants to decide, prioritize, or settle a debate with data rather than intuition. Not for analytics setup.` |

#### `skills/14-roadmap`

| Group | File | Description |
|-------|------|---|
| `actions` | [01-frame.md](skills/14-roadmap/actions/01-frame.md) | - |
| `actions` | [02-collect.md](skills/14-roadmap/actions/02-collect.md) | - |
| `actions` | [03-track.md](skills/14-roadmap/actions/03-track.md) | - |
| `actions` | [04-arrange.md](skills/14-roadmap/actions/04-arrange.md) | - |
| `actions` | [05-render.md](skills/14-roadmap/actions/05-render.md) | - |
| `actions` | [06-finalize.md](skills/14-roadmap/actions/06-finalize.md) | - |
| `assets` | [roadmap-template.md](skills/14-roadmap/assets/roadmap-template.md) | - |
| `assets` | [stakeholder-template.md](skills/14-roadmap/assets/stakeholder-template.md) | - |
| `references` | [audiences.md](skills/14-roadmap/references/audiences.md) | - |
| `references` | [handoffs.md](skills/14-roadmap/references/handoffs.md) | - |
| `references` | [persistence.md](skills/14-roadmap/references/persistence.md) | - |
| `references` | [placement.md](skills/14-roadmap/references/placement.md) | - |
| `references` | [progress.md](skills/14-roadmap/references/progress.md) | - |
| `references` | [sources.md](skills/14-roadmap/references/sources.md) | - |
| `references` | [views.md](skills/14-roadmap/references/views.md) | - |
| `-` | [SKILL.md](skills/14-roadmap/SKILL.md) | `Builds or updates a quarterly product roadmap from Epics, Product Briefs, tickets, and decisions, with team and stakeholder views. Use when the user wants to plan a quarter, present its roadmap, or check it against progress. Not for sprint planning.` |

6 changes: 5 additions & 1 deletion plugins/aidd-pm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Product management plugin for the AI-Driven Development framework.

First time? Install with `/plugin install aidd-pm@aidd-framework`, then invoke the artifact skill you need.

Covers backlog artifacts, refinement, lifecycle, Product Briefs, Epics, User Stories, Tasks, Spikes, Defects, requirements, and specs.
Covers backlog artifacts, refinement, lifecycle, Product Briefs, Epics, User Stories, Tasks, Spikes, Defects, requirements, specs, user interviews, release notes, data-driven decisions, and quarterly roadmaps.

## Skills

Expand All @@ -24,3 +24,7 @@ Covers backlog artifacts, refinement, lifecycle, Product Briefs, Epics, User Sto
| [4.8] | [three-amigos](skills/08-three-amigos/SKILL.md) | Assess Epic or Story refinement through product, delivery, and quality lenses. |
| [4.9] | [defect](skills/09-defect/SKILL.md) | Record, assess, and verify an observed product mismatch. |
| [4.10] | [task](skills/10-task/SKILL.md) | Record and manage bounded functional or technical delivery work. |
| [4.11] | [interview](skills/11-interview/SKILL.md) | Prepare a user interview guide, then restructure the transcript into exact verbatims per question. |
| [4.12] | [release-notes](skills/12-release-notes/SKILL.md) | Produce traceable release notes from a release's tickets and merged changes, internal and customer variants. |
| [4.13] | [data-driven-decision](skills/13-data-driven-decision/SKILL.md) | Build a reproducible evidence dashboard and decision memo from customer signals. |
| [4.14] | [roadmap](skills/14-roadmap/SKILL.md) | Build or update a quarterly roadmap with team and stakeholder views. |
42 changes: 42 additions & 0 deletions plugins/aidd-pm/skills/11-interview/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: 11-interview
description: Prepares a user interview guide before a meeting, then restructures its raw transcript into a question by question synthesis with exact verbatims. Use when the user wants to prepare or synthesize an interview or client meeting. Not for product decisions.
argument-hint: meeting | transcript
---

# Interview

```mermaid
flowchart LR
meeting([upcoming meeting]) --> frame
transcript([transcript]) --> frame
frame -->|"before the meeting"| prepare
frame -->|"after the meeting"| synthesize
frame -->|"not an interview"| handoff([capability offered])
prepare --> finalize
synthesize --> finalize
finalize -->|"revise guide"| prepare
finalize -->|"revise synthesis"| synthesize
finalize -->|"authorized"| done([guide or synthesis])
```

## Actions

Run the flow above. Read only the next action file.

| Action | Does |
| ---------- | --------------------------------------------- |
| frame | resolve the route and the meeting context |
| prepare | build an interview guide for one meeting |
| synthesize | restructure one transcript by question asked |
| finalize | revise, anonymize, keep, or persist |

## Transversal rules

- Keep conclusions and product decisions with the user.
- Never invent a quote, figure, name, or context field; ask for it or mark it unknown.
- Anonymize personal data in every output once the user asks for it.
- Accept transcripts as pasted text or files from any meeting or dictation tool; depend on none.
- Emit plain Markdown that pastes into a wiki or ticketing tool unchanged.
- Ask natural questions, one at a time; never expose actions, references, or unchanged state.
- Require explicit approval before any write.
32 changes: 32 additions & 0 deletions plugins/aidd-pm/skills/11-interview/actions/01-frame.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 01 - Frame

Resolve which moment the user is in and the context the interview serves.

## Input

An upcoming meeting, a transcript as pasted text or a file, an existing guide, or the current context.

## Output

The route, `prepare` or `synthesize`, and a confirmed context: participants and their roles, interview goal, the decision it feeds, and any existing guide.

## Process

1. **Route.** Take `prepare` for a meeting still to come and `synthesize` for a supplied transcript; otherwise ask which and wait.
- Neither an interview nor a client meeting: apply [handoffs](../references/handoffs.md) and stop.
2. **Read.** Read the supplied transcript, guide, and any project artifact the user names before asking anything they already answer.
3. **Collect.** Ask for the missing context field that most changes the output and wait.
- `prepare` needs who is met and their role, why the meeting happens, and the decision it feeds.
- `synthesize` needs who spoke and their role, and the interview goal; the decision it feeds is optional.
- Loop on `Collect` while a needed field is missing.
4. **Confirm.** Restate the context in one short block and wait for correction.

## Test

| Case | Pass |
| --- | --- |
| No route inferable | workspace unchanged; exactly one question on before or after the meeting |
| Prepare without a decision | no guide drafted; one question on the decision the meeting feeds |
| Field absent from every input | asked or marked unknown, never filled with an assumed value |
| Transcript supplied | no question asked that the transcript already answers |
| Not an interview | no guide or synthesis; the offered capability returned |
32 changes: 32 additions & 0 deletions plugins/aidd-pm/skills/11-interview/actions/02-prepare.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 02 - Prepare

Build an interview guide for one upcoming meeting.

## Input

The confirmed context from frame.

## Output

A review-ready interview guide kept in context.

## Process

1. **Goal.** State one learning goal tied to the decision the meeting feeds.
2. **Hypotheses.** List the beliefs the meeting can confirm or refute, each with the signal that would refute it.
- The user supplied none: propose candidates from the context, ask which to keep, and wait.
3. **Questions.** Write and order the questions per [questions](../references/questions.md), each hypothesis covered by at least one.
4. **Observe.** List the signals to watch beyond the answers per [questions](../references/questions.md).
5. **Compose.** Fill [the guide template](../assets/interview-guide.md).
6. **Show.** Present the complete draft without persisting it.

## Test

| Case | Pass |
| --- | --- |
| Hypothesis | each has a refuting signal and at least one question that can produce it |
| Question | passes every check in `questions`; none names the product or a solution |
| Order | sections follow the sequence in `questions` |
| Context | goal, participants, and decision trace to frame; none invented |
| Cleanup | no placeholder or template instruction remains |
| Handoff | complete draft shown; workspace unchanged |
37 changes: 37 additions & 0 deletions plugins/aidd-pm/skills/11-interview/actions/03-synthesize.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# 03 - Synthesize

Restructure one raw transcript into a synthesis organized by question asked.

## Input

The transcript, the confirmed context from frame, and the guide when one exists.

## Output

A review-ready synthesis kept in context, with its attribution flags listed.

## Process

1. **Segment.** Split the transcript into the questions actually asked, in the order asked.
- A guide exists: map each asked question to its guide question and list the guide questions never asked.
- A topic raised without a question goes under `Unprompted`.
2. **Attribute.** Assign each turn a speaker per [verbatims](../references/verbatims.md), flagging every uncertain one.
3. **Quote.** Select the verbatims under each question per [verbatims](../references/verbatims.md).
4. **Derive.** Derive pains, needs, and open questions per [insights](../references/insights.md).
5. **Tag.** Tag each insight with a theme per [insights](../references/insights.md), unless the user declined themes.
6. **Verify.** Search the transcript for every verbatim and fix or drop any that is not an exact match.
7. **Compose.** Fill [the synthesis template](../assets/interview-synthesis.md).
8. **Show.** Present the complete draft without persisting it.

## Test

| Case | Pass |
| --- | --- |
| Verbatim | found character for character in the transcript, bar the marks `verbatims` allows |
| Unclear speaker | quote carries a flag listed under attribution flags; no speaker guessed |
| Interviewer speech | never quoted as a verbatim |
| Insight | cites at least one verbatim id |
| Figure or name | present in the transcript or context; none invented |
| Guide present | every guide question appears, answered or listed as not asked |
| Themes declined | no theme column or tag emitted |
| Handoff | complete draft shown; workspace unchanged |
33 changes: 33 additions & 0 deletions plugins/aidd-pm/skills/11-interview/actions/04-finalize.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 04 - Finalize

Let the user revise, anonymize, keep, or persist the guide or synthesis.

## Input

The draft, its sources, and the user's feedback.

## Output

The authorized guide or synthesis, in session or at its resolved path. After writing, report the path and the verification result. Without a write, state that no persisted change occurred.

## Process

1. **Review.** Invite corrections and wait.
- A content correction: return to `prepare` or `synthesize`.
2. **Anonymize.** When the user asked for it, apply the anonymization in [verbatims](../references/verbatims.md).
3. **Authorize.** Ask whether to keep the draft in session or persist it, and wait.
4. **Place.** Apply [persistence](../references/persistence.md) to resolve the file.
5. **Write.** Persist only the authorized file; preserve user edits in an existing one.
6. **Verify.** Read the written file back and check every verbatim still matches the transcript, bar anonymization marks.
7. **Continue.** Apply [handoffs](../references/handoffs.md) to the next move.

## Test

| Case | Pass |
| --- | --- |
| Unauthorized draft | workspace unchanged; response ends with one session-or-persist question |
| Anonymized | no personal identifier from the transcript remains; each one replaced by the same label everywhere |
| Persisted | one file at the standard path; its read-back matches the approved draft |
| Existing file | edits outside the authorized change preserved |
| Handoff | capability offered with what was observed, never invoked |
| No write | response states that no persisted change occurred |
Loading