agentme 0.35.0 → 0.35.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.xdrs/agentme/bdrs/index.md +1 -1
- package/.xdrs/agentme/bdrs/operations/401-epic-feature-story-planning.md +20 -20
- package/.xdrs/agentme/edrs/principles/skills/150-refine-plan-mode/SKILL.md +7 -3
- package/.xdrs/agentme/edrs/principles/skills/150-refine-plan-mode/SKILL.test.md +25 -1
- package/.xdrs/agentme/edrs/principles/skills/151-refine-user-story/SKILL.md +37 -35
- package/.xdrs/agentme/edrs/principles/skills/151-refine-user-story/SKILL.test.md +33 -32
- package/.xdrs/agentme/index.md +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ Organisational structure, team topology, and strategic alignment concepts.
|
|
|
14
14
|
|
|
15
15
|
Project management workflow and structure for development teams.
|
|
16
16
|
|
|
17
|
-
- [agentme-bdr-401](operations/401-epic-feature-story-planning.md) - **Epic / Feature / User Story planning** — Organize development work as epics, features, and user stories using XDRS
|
|
17
|
+
- [agentme-bdr-401](operations/401-epic-feature-story-planning.md) - **Epic / Feature / User Story planning** — Organize development work as epics, features, and user stories using XDRS initiative documents
|
|
18
18
|
- [agentme-bdr-402](operations/402-digital-product-roles.md) - **Digital product roles — organisation & cross-team** — Defines team purpose, workforce allocation, roles overview, and org-level and cross-team roles (PM, Principal Engineer, Solution Architect)
|
|
19
19
|
- [agentme-bdr-403](operations/403-product-team-composition.md) - **Product team composition** — Defines team composition models, squad structure, squad dynamics, and known structural gaps for Product Teams
|
|
20
20
|
- [agentme-bdr-404](operations/404-team-roles-and-specialists.md) - **Digital product roles — team & specialists** — Defines team-level roles (PO, PjM, BA, AI BA, AI Lead, AI Engineer, Tech Lead, engineers) and shared specialist roles
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agentme-bdr-policy-401-epic-feature-user-story-planning
|
|
3
|
-
description: Defines how to organize software development project management work as epics, features, and user stories using XDRS
|
|
3
|
+
description: Defines how to organize software development project management work as epics, features, and user stories using XDRS initiative documents. Use when creating, reviewing, or navigating epic initiatives, feature milestones, or user story files.
|
|
4
4
|
apply-to: AI coding agents and developers managing software development work in projects that follow agentme standards
|
|
5
5
|
valid-from: 2026-08-28
|
|
6
6
|
---
|
|
@@ -15,7 +15,7 @@ How should software development project management work be organized within an X
|
|
|
15
15
|
|
|
16
16
|
## Decision Outcome
|
|
17
17
|
|
|
18
|
-
**Epics are XDRS
|
|
18
|
+
**Epics are XDRS initiative documents. Features are Milestones inside those initiatives. User stories are key tasks linked to detail files.**
|
|
19
19
|
|
|
20
20
|
### Details
|
|
21
21
|
|
|
@@ -23,19 +23,19 @@ How should software development project management work be organized within an X
|
|
|
23
23
|
|
|
24
24
|
An epic is a group of features that together achieve a well-defined objective. Epics typically span 1–12 months.
|
|
25
25
|
|
|
26
|
-
- Each epic MUST be represented as one XDRS
|
|
27
|
-
`.xdrs/[scope]/bdrs/operations/
|
|
28
|
-
- The
|
|
29
|
-
- NNN is the
|
|
26
|
+
- Each epic MUST be represented as one XDRS initiative document of type BDR, placed at:
|
|
27
|
+
`.xdrs/[scope]/bdrs/operations/initiatives/NNN-epic-slug.md`
|
|
28
|
+
- The initiative heading MUST follow the format: `# [scope]-bdr-initiative-NNN: [Epic Title]`
|
|
29
|
+
- NNN is the initiative's unique number within the `[scope]/bdrs/operations/initiatives/` namespace, assigned sequentially per `_core-adr-policy-007`.
|
|
30
30
|
- The slug MUST be lowercase, hyphen-separated, and descriptive (e.g., `001-epic-improve-checkout.md`).
|
|
31
|
-
- Each epic
|
|
32
|
-
- Epic
|
|
31
|
+
- Each epic initiative MUST include all required sections from `_core-adr-policy-007`: Executive Summary, Context and Problem Statement, Proposed Solution (with Expected end date), and Milestones.
|
|
32
|
+
- Epic initiatives are ephemeral and MUST be deleted after the epic is fully implemented, per `_core-adr-policy-007`.
|
|
33
33
|
|
|
34
34
|
#### 02-feature-as-milestone
|
|
35
35
|
|
|
36
36
|
A feature is a specific activity, tool, or functionality that contributes to the epic's objective. Features typically span 2 weeks to 6 months.
|
|
37
37
|
|
|
38
|
-
- Each feature MUST be represented as one `### Milestone N: [Feature Name]` section inside the epic
|
|
38
|
+
- Each feature MUST be represented as one `### Milestone N: [Feature Name]` section inside the epic initiative.
|
|
39
39
|
- One Milestone per Feature; do not combine unrelated features into a single Milestone.
|
|
40
40
|
- Milestone sections MUST follow the structure defined in `_core-adr-policy-007`:
|
|
41
41
|
- Owner, Due date, Description, optional Acceptance checklist, Key tasks, optional Risks.
|
|
@@ -47,18 +47,18 @@ A user story is a unit of work within a Feature that delivers perceivable value
|
|
|
47
47
|
- Each user story MUST appear as a key task entry inside its parent Milestone's `**Key tasks:**` list, always as a markdown link to its detail file.
|
|
48
48
|
- **Pending (not yet refined):** `- [Brief description — pending]{.assets/userstory-NNN-slug.md}` — file has `**Status:** to-be-refined`
|
|
49
49
|
- **Refined:** `- [Story title]{.assets/userstory-NNN-slug.md}` — no status field in the file
|
|
50
|
-
- NNN is local to the epic
|
|
50
|
+
- NNN is local to the epic initiative's `.assets/` folder; it restarts at 001 for each epic.
|
|
51
51
|
- Story slugs MUST be lowercase and hyphen-separated (e.g., `userstory-001-add-login-page`).
|
|
52
52
|
|
|
53
53
|
#### 04-user-story-detail-file
|
|
54
54
|
|
|
55
55
|
Each refined user story MUST have a detail file placed at:
|
|
56
|
-
`.xdrs/[scope]/bdrs/operations/
|
|
56
|
+
`.xdrs/[scope]/bdrs/operations/initiatives/.assets/userstory-NNN-slug.md`
|
|
57
57
|
|
|
58
58
|
- NNN and slug MUST match the placeholder file that was refined (extracted from its `**Story ID:**` line). For new stories without a placeholder, use the next available NNN in `.assets/` and derive the slug by kebab-casing the story title to at most 7 words.
|
|
59
59
|
- The file MUST begin with a `**Story ID:** userstory-NNN-slug` line. A refined file has no `**Status:**` field; the absence of the status field indicates the story is complete.
|
|
60
60
|
|
|
61
|
-
A **pending placeholder file** is created for every story added to the
|
|
61
|
+
A **pending placeholder file** is created for every story added to the epic initiative before it is refined. It MUST contain:
|
|
62
62
|
```markdown
|
|
63
63
|
**Story ID:** userstory-NNN-slug
|
|
64
64
|
**Status:** to-be-refined
|
|
@@ -117,7 +117,7 @@ As a [role], I want to [action], so that [benefit].
|
|
|
117
117
|
[highly desirable — screenshots, mockups, or diagrams illustrating the feature.]
|
|
118
118
|
- [attachment]
|
|
119
119
|
|
|
120
|
-
**Epic
|
|
120
|
+
**Epic initiative:** [NNN-epic-slug.md](../NNN-epic-slug.md)
|
|
121
121
|
```
|
|
122
122
|
|
|
123
123
|
#### 05-detailed-specs-requirement
|
|
@@ -132,15 +132,15 @@ A user story that lacks enough detail to begin architecture, planning, or implem
|
|
|
132
132
|
#### 06-refinement-workflow
|
|
133
133
|
|
|
134
134
|
Stories MUST be refined using the `151-refine-user-story` skill. The skill:
|
|
135
|
-
- Detects active epic
|
|
135
|
+
- Detects active epic initiative documents and lists pending stories for selection.
|
|
136
136
|
- MUST run a structured 10-phase refinement process including interface/integration spec discovery.
|
|
137
|
-
- MUST write the resulting detail file and update the key task link in the
|
|
138
|
-
- When a story is split, MUST create placeholder files for each deferred slice and add them as pending task links in the
|
|
137
|
+
- MUST write the resulting detail file and update the key task link in the initiative's Milestone.
|
|
138
|
+
- When a story is split, MUST create placeholder files for each deferred slice and add them as pending task links in the initiative.
|
|
139
139
|
|
|
140
140
|
#### 07-ephemeral-lifecycle
|
|
141
141
|
|
|
142
|
-
Epic
|
|
143
|
-
- The epic
|
|
142
|
+
Epic initiatives and their associated user story detail files are ephemeral artifacts. Once an epic is fully implemented:
|
|
143
|
+
- The epic initiative document MUST be deleted.
|
|
144
144
|
- The `.assets/` folder and all user story detail files MUST be deleted with it.
|
|
145
145
|
- The lasting outputs of an epic are the implemented code, decisions, skills, articles, and other artifacts produced during execution.
|
|
146
146
|
|
|
@@ -148,12 +148,12 @@ Epic plans and their associated user story detail files are ephemeral artifacts.
|
|
|
148
148
|
|
|
149
149
|
Epics SHOULD be connected to one or more Tactical OKRs from `agentme-bdr-002` that represent the quarterly goals the epic is helping achieve.
|
|
150
150
|
|
|
151
|
-
- The OKR reference MUST be placed in a `## OKRs` section immediately after the heading line of the epic
|
|
151
|
+
- The OKR reference MUST be placed in a `## OKRs` section immediately after the heading line of the epic initiative document, listing each Tactical OKR by name or identifier.
|
|
152
152
|
- An epic without a linked Tactical OKR MUST document the reason in the `## OKRs` section (e.g., "No Tactical OKR defined for this quarter — tracked as a conscious decision").
|
|
153
153
|
- The relationship is many-to-many: one Tactical OKR MAY drive multiple Epics; one Epic MAY contribute to multiple Tactical OKRs.
|
|
154
154
|
|
|
155
155
|
## References
|
|
156
156
|
|
|
157
|
-
- [`_core-adr-policy-007`](../../../_core/adrs/principles/007-
|
|
157
|
+
- [`_core-adr-policy-007`](../../../_core/adrs/principles/007-initiative-standards.md) — Initiative document standards: structure, lifecycle, and Milestone template
|
|
158
158
|
- [`agentme-bdr-002`](../principles/002-okr-framework.md) — OKR framework: Tactical OKR definition and epic connection rule
|
|
159
159
|
- [`agentme-edr-skill-151`](../../edrs/principles/skills/151-refine-user-story/SKILL.md) — Refine user story skill: structured refinement workflow that produces output following this policy
|
|
@@ -8,7 +8,7 @@ description: >
|
|
|
8
8
|
the XDRS repository even when not directly exposed in the .agents skills folder.
|
|
9
9
|
metadata:
|
|
10
10
|
author: flaviostutz
|
|
11
|
-
version: "2.
|
|
11
|
+
version: "2.9"
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
@@ -254,11 +254,15 @@ Before approving execution, verify ALL items in the checklist below. If any item
|
|
|
254
254
|
Once all items are checked or explicitly marked N/A, present a **brief scenario summary** — a short bulleted list of the most significant scenarios discovered across all phases (aim for 5–10 entries), each showing: the angle or check that surfaced it, what it revealed, and what test case was added to the plan. This makes the depth of analysis visible before handoff.
|
|
255
255
|
|
|
256
256
|
If any features were placed in the **Deferred Features** list during Phase 2 Step 5 (scope split) or explicitly excluded from scope at any point, present a **Deferred Features summary** — a bulleted list of each deferred part with a one-line description of what it covers and why it was deferred. Then use `vscode_askQuestions` with:
|
|
257
|
-
- **"Save to
|
|
258
|
-
- **"Save to a different file"** (open box) — human specifies the file path; append there instead.
|
|
257
|
+
- **"Save to TODO.md"** (recommended) — append an entry under a `## Deferred Features` heading in `TODO.md` at the workspace root (create the file if it does not exist), using the Group/Part template below, so anyone can pick up the work later without losing context.
|
|
258
|
+
- **"Save to a different file"** (open box) — human specifies the file path; append there instead using the same Group/Part template.
|
|
259
259
|
- **"Skip — do not save"** — proceed without saving.
|
|
260
260
|
This step is skipped if no features were deferred.
|
|
261
261
|
|
|
262
|
+
**Deferred Features entry template** — always append a new `### Group:` section per split (never merge with a same-titled prior group); a group can have as few as 1 part:
|
|
263
|
+
- `### Group: [original request title] — deferred [YYYY-MM-DD]` — with **Origin:** `150-refine-plan-mode — Phase 2 Step 5`, **Original objective:** the one-sentence value of the whole request before splitting, and **Split rationale:** why it was split.
|
|
264
|
+
- One `#### [part title]` subsection per deferred part, each with **Objective:** (this part's specific value), **Scope:** (bullet list of what's included), **Context captured so far:** (bullet list of key decisions/answers/constraints already gathered before deferral), and **Suggested prompt to resume:** (a ready-to-paste prompt naming plan mode and summarizing the objective and known constraints so a future session can resume without re-reading the whole conversation).
|
|
265
|
+
|
|
262
266
|
Before the final gate, add a step to the implementation plan to produce a concise feature documentation file. Use `vscode_askQuestions` to ask:
|
|
263
267
|
- **"Save to README.md"** (recommended) — append the documentation to `README.md` in the feature’s directory (create if absent).
|
|
264
268
|
- **"Save to a different file"** (open box) — human specifies the file path.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
skill: 150-refine-plan-mode
|
|
3
|
-
skill-version: "2.
|
|
3
|
+
skill-version: "2.9"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Test Scenarios
|
|
@@ -89,3 +89,27 @@ The skill flags this as a violation of the Questioning rule and the HITL require
|
|
|
89
89
|
- [ ] Skill explicitly frames the question as a clarifying question, not a confirmation request.
|
|
90
90
|
- [ ] Skill waits for the human's answer before continuing to the next angle.
|
|
91
91
|
- [ ] Violation is noted if the agent attempted to self-resolve a subjective decision.
|
|
92
|
+
|
|
93
|
+
### Scenario 5: Feature split — deferred parts saved to TODO.md with Group/Part detail
|
|
94
|
+
|
|
95
|
+
**Trigger / Input**
|
|
96
|
+
|
|
97
|
+
"Build a complete admin dashboard: user management, billing management, and audit log viewer."
|
|
98
|
+
|
|
99
|
+
**Expected Behaviour**
|
|
100
|
+
|
|
101
|
+
Phase 2 Step 4 surfaces roughly 24 distinct in-scope items across the three subsystems. Phase 2 Step 5 judges the request too large — it spans 3 qualitatively different concerns (user management, billing, audit) each needing independent data-model and UI design, and exceeds the ~20-item threshold — and proposes a 3-way split. The human accepts the split and picks "User management" as Part 1. Phases 1–7 run on User management only; the other two parts are recorded in the Deferred Features list. At Phase 7, the skill presents a brief one-line-per-item Deferred Features summary, then uses `vscode_askQuestions` offering "Save to TODO.md" as the recommended option. The human picks it. The skill creates (or appends to) `TODO.md` at the workspace root with a `## Deferred Features` heading containing one `### Group:` section covering both deferred parts (Billing management, Audit log viewer), with Origin/Original objective/Split rationale, and each part as its own `#### ` subsection with Objective, Scope, Context captured so far, and a Suggested prompt to resume.
|
|
102
|
+
|
|
103
|
+
**Simulated Human Responses**
|
|
104
|
+
1. "Accept split — start planning User management"
|
|
105
|
+
2. "Save to TODO.md"
|
|
106
|
+
|
|
107
|
+
**Assertions**
|
|
108
|
+
|
|
109
|
+
- [ ] Skill proposes a 3-way split with a brief rationale for each part's boundary, justified by at least two of the Phase 2 Step 5 size criteria.
|
|
110
|
+
- [ ] Only the chosen part (User management) is planned through Phases 1–7; the other two parts are not further elaborated beyond the deferred entry.
|
|
111
|
+
- [ ] Phase 7 presents a Deferred Features summary as brief one-line bullets before asking where to save.
|
|
112
|
+
- [ ] `vscode_askQuestions` offers "Save to TODO.md" as the recommended option.
|
|
113
|
+
- [ ] TODO.md is created (or appended to) at the workspace root with a `## Deferred Features` heading.
|
|
114
|
+
- [ ] A single `### Group:` heading covers both deferred parts, recording Origin, Original objective, and Split rationale.
|
|
115
|
+
- [ ] Each deferred part appears as its own `#### ` subsection with Objective, Scope, Context captured so far, and a Suggested prompt to resume.
|
|
@@ -7,12 +7,12 @@ description: >
|
|
|
7
7
|
complete, and ready for implementation.
|
|
8
8
|
metadata:
|
|
9
9
|
author: flaviostutz
|
|
10
|
-
version: "4.
|
|
10
|
+
version: "4.1"
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
## Overview
|
|
14
14
|
|
|
15
|
-
Turns a vague request or rough draft into an implementation-ready user story by running a structured 9-phase refinement process: establishing
|
|
15
|
+
Turns a vague request or rough draft into an implementation-ready user story by running a structured 9-phase refinement process: establishing initiative context and gathering external information to ground the analysis (Phase 1), analysing the request and qualifying requirements with a scope size check (Phase 2), researching existing context and drafting a story skeleton (Phase 3), checking consistency and scope completeness (Phase 4), validating visually with a user journey diagram (Phase 5), challenging from 9 user-perspective angles (Phase 6), challenging from 8 implementer-perspective angles (Phase 7), producing a final ready-to-implement story with a readiness checklist (Phase 8), and running a final readiness double-check (Phase 9).
|
|
16
16
|
|
|
17
17
|
Activate when:
|
|
18
18
|
- The request is vague, incomplete, or internally inconsistent.
|
|
@@ -45,21 +45,21 @@ Activate when:
|
|
|
45
45
|
|
|
46
46
|
---
|
|
47
47
|
|
|
48
|
-
### Phase 1:
|
|
48
|
+
### Phase 1: Initiative Document Context & Context Enrichment
|
|
49
49
|
|
|
50
50
|
Before beginning refinement, determine the working context and where output will be saved.
|
|
51
51
|
|
|
52
52
|
**Inline reference — Epic / Feature / User Story structure** (self-contained; no external policy file required to run this skill):
|
|
53
|
-
- **Epic** —
|
|
54
|
-
- **Feature** — A `### Milestone N: [Feature Name]` section inside the epic
|
|
53
|
+
- **Epic** — An initiative document at `[scope]/bdrs/operations/initiatives/NNN-epic-slug.md`. Represents a group of features toward a well-defined objective (1–12 months). Heading: `# [scope]-bdr-initiative-NNN: [Epic Title]`.
|
|
54
|
+
- **Feature** — A `### Milestone N: [Feature Name]` section inside the epic initiative. One Milestone per Feature. Duration: 2 weeks – 6 months.
|
|
55
55
|
- **User Story** — A key task inside a Milestone, always as a link: `- [Brief description]{.assets/userstory-NNN-slug.md}`. Pending stories append ` — pending` to the link text and have `**Status:** to-be-refined` in the file. Refined stories have the full title. Duration: < 2 weeks; stories exceeding this MUST be split.
|
|
56
|
-
- **User story detail file** — `.assets/userstory-NNN-slug.md` inside the epic
|
|
56
|
+
- **User story detail file** — `.assets/userstory-NNN-slug.md` inside the epic initiative's `.assets/` folder. NNN restarts at 001 per epic. Filenames always lowercase.
|
|
57
57
|
|
|
58
58
|
**Step 1 — Detect XDRS scope**
|
|
59
59
|
|
|
60
60
|
Scan the workspace for a `.xdrs/` directory. Proceed to Step 2a, 2b, or 2c based on what is found.
|
|
61
61
|
|
|
62
|
-
**Step 2a —
|
|
62
|
+
**Step 2a — Initiative document explicitly provided or referenced:**
|
|
63
63
|
1. Parse all `### Milestone` sections (Features) and collect all task entries that link to `.assets/userstory-*.md` files.
|
|
64
64
|
2. For each linked file, read it and check for `**Status:** to-be-refined`. Collect only those as pending stories.
|
|
65
65
|
3. Use `vscode_askQuestions` to list all pending stories (by their link text and file name) plus a "New story — I will describe it" option.
|
|
@@ -68,16 +68,16 @@ Scan the workspace for a `.xdrs/` directory. Proceed to Step 2a, 2b, or 2c based
|
|
|
68
68
|
- Use the placeholder's title and notes as the subject for Phase 2.
|
|
69
69
|
5. If the user picks "New story", ask which Milestone to place it in; offer to add the Milestone if it does not exist. The slug and NNN for the new story are assigned in Phase 8.
|
|
70
70
|
|
|
71
|
-
**Step 2b — XDRS scope found but no
|
|
72
|
-
1. Search for files matching `*/bdrs/operations/
|
|
73
|
-
2. Use `vscode_askQuestions` to ask the user to: pick an existing epic
|
|
74
|
-
3. If an existing
|
|
75
|
-
4. If **create a new epic
|
|
71
|
+
**Step 2b — XDRS scope found but no initiative document provided:**
|
|
72
|
+
1. Search for files matching `*/bdrs/operations/initiatives/*-epic-*.md`.
|
|
73
|
+
2. Use `vscode_askQuestions` to ask the user to: pick an existing epic initiative, create a new epic initiative, or start fresh (no initiative context).
|
|
74
|
+
3. If an existing initiative is picked, proceed as Step 2a.
|
|
75
|
+
4. If **create a new epic initiative** is chosen, run a guided Q&A using `vscode_askQuestions` to collect: Epic Title, one-sentence objective, Expected end date (YYYY-MM-DD), and name of the first Feature/Milestone. Then:
|
|
76
76
|
- Derive the epic slug by kebab-casing the title, keeping at most 7 words.
|
|
77
|
-
- Determine the epic NNN by scanning `[scope]/bdrs/operations/
|
|
78
|
-
- Create the file at `.xdrs/[scope]/bdrs/operations/
|
|
77
|
+
- Determine the epic NNN by scanning `[scope]/bdrs/operations/initiatives/` for existing initiative files and using the next available number (start at 001).
|
|
78
|
+
- Create the file at `.xdrs/[scope]/bdrs/operations/initiatives/NNN-epic-slug.md` with the required `_core-adr-policy-007` sections:
|
|
79
79
|
```markdown
|
|
80
|
-
# [scope]-bdr-
|
|
80
|
+
# [scope]-bdr-initiative-NNN: [Epic Title]
|
|
81
81
|
|
|
82
82
|
## Executive Summary
|
|
83
83
|
[To be completed.]
|
|
@@ -98,8 +98,8 @@ Scan the workspace for a `.xdrs/` directory. Proceed to Step 2a, 2b, or 2c based
|
|
|
98
98
|
|
|
99
99
|
**Key tasks:**
|
|
100
100
|
```
|
|
101
|
-
- Proceed as Step 2a (the new
|
|
102
|
-
5. If "start fresh" is chosen, continue to Phase 1 Step 3 (Context Enrichment) with no active
|
|
101
|
+
- Proceed as Step 2a (the new initiative is now the active initiative context, Milestone 1 is the target).
|
|
102
|
+
5. If "start fresh" is chosen, continue to Phase 1 Step 3 (Context Enrichment) with no active initiative context; Phase 8 will handle deferred stories.
|
|
103
103
|
|
|
104
104
|
**Step 2c — No XDRS scope found:**
|
|
105
105
|
Skip Phase 1 Steps 1–2. Proceed directly to Phase 1 Step 3 (Context Enrichment). Phase 8 will ask where to save output.
|
|
@@ -130,7 +130,7 @@ Before beginning analysis, gather factual context about the system, process, or
|
|
|
130
130
|
|
|
131
131
|
---
|
|
132
132
|
|
|
133
|
-
**
|
|
133
|
+
**Initiative context record:** note the active initiative file path (or none), the target Milestone name, and the Context Summary from Step 3; carry these into Phase 8.
|
|
134
134
|
|
|
135
135
|
---
|
|
136
136
|
|
|
@@ -247,7 +247,7 @@ After all checks converge, use `vscode_askQuestions` (per Phase gate UI rule) wi
|
|
|
247
247
|
- **"Add a comment or correction"** (open box) — re-run Phase 5 treating the comment as additional context, then re-present this gate.
|
|
248
248
|
|
|
249
249
|
4. If the diagram reveals gaps or inconsistencies not yet surfaced, return to Phase 4 before continuing.
|
|
250
|
-
5. **Save the confirmed diagram.** Write the Mermaid source to `.assets/userstory-NNN-slug-journey.md` inside the
|
|
250
|
+
5. **Save the confirmed diagram.** Write the Mermaid source to `.assets/userstory-NNN-slug-journey.md` inside the initiative's `.assets/` folder (when an initiative doc is active) or to `userstory-journey.md` at the workspace root otherwise. Record this path to include as a diagram attachment in `## Attachments` when Phase 8 writes the story file.
|
|
251
251
|
|
|
252
252
|
---
|
|
253
253
|
|
|
@@ -360,37 +360,39 @@ Once all items are checked or explicitly marked N/A, **produce the final result*
|
|
|
360
360
|
|
|
361
361
|
If any stories or features were placed in the **Deferred Stories** list during Phase 2 Step 3 (scope split), or any items were recorded as named **Deferred Risks** during a Skip, present a **Deferred Items summary** — a bulleted list of each deferred item with a one-line description of what it covers and why it was deferred.
|
|
362
362
|
|
|
363
|
-
**When an XDRS
|
|
363
|
+
**When an XDRS initiative doc is active** (Phase 1 selected or created an initiative): skip this prompt entirely. Deferred slices are handled as placeholder files with task links in the initiative doc by the Initiative document integration section below.
|
|
364
364
|
|
|
365
|
-
**When no XDRS
|
|
366
|
-
- **"Save to
|
|
367
|
-
- **"Save to a different file"** (open box) — human specifies the file path; append there instead.
|
|
365
|
+
**When no XDRS initiative doc is active**: use `vscode_askQuestions` with:
|
|
366
|
+
- **"Save to TODO.md"** (recommended) — append an entry under a `## Deferred Stories` heading in `TODO.md` at the workspace root (create the file if it does not exist), using the template below.
|
|
367
|
+
- **"Save to a different file"** (open box) — human specifies the file path; append there instead using the same template.
|
|
368
368
|
- **"Skip — do not save"** — proceed without saving.
|
|
369
369
|
|
|
370
370
|
This step is skipped if no stories were deferred and no Deferred Risks were recorded.
|
|
371
371
|
|
|
372
|
-
|
|
372
|
+
**Deferred Stories template**: new `### Group: [title] — deferred [YYYY-MM-DD]` per split (1+ parts, never merged) with **Origin**, **Original objective**, **Split rationale**; one `#### [slice title]` per slice with **Objective**, **Scope**, **Context captured so far**, **Suggested prompt to resume**.
|
|
373
373
|
|
|
374
|
-
|
|
374
|
+
### Initiative document integration
|
|
375
375
|
|
|
376
|
-
|
|
376
|
+
After producing the final story output, persist it according to the active initiative context from Phase 1.
|
|
377
|
+
|
|
378
|
+
**When an XDRS initiative doc is active (Phase 1 selected or created an initiative):**
|
|
377
379
|
1. Determine the NNN and slug for the story detail file:
|
|
378
380
|
- **Placeholder story** (Phase 1 picked a pending story): extract the NNN and slug from the placeholder file's `**Story ID:**` line. Reuse them for the refined file.
|
|
379
|
-
- **New story** (Phase 1 chose "New story" or a new epic was created): use the next available NNN in the
|
|
380
|
-
2. Write the refined story as `.assets/userstory-NNN-slug.md` inside the
|
|
381
|
-
3. In the
|
|
381
|
+
- **New story** (Phase 1 chose "New story" or a new epic was created): use the next available NNN in the initiative's `.assets/` folder (list existing `userstory-NNN-*.md` files, increment the highest; start at 001 if empty). Derive the slug by kebab-casing the refined `## Title`, keeping at most 7 words, e.g. `save-payment-method-future-checkouts`.
|
|
382
|
+
2. Write the refined story as `.assets/userstory-NNN-slug.md` inside the initiative's `.assets/` folder using the output template, including the `**Story ID:** userstory-NNN-slug` line at the top (no `**Status:**` line — absence of the status field indicates a refined story).
|
|
383
|
+
3. In the initiative doc, update the task entry link text in the active Milestone: change `[Brief description — pending]` to `[Refined Story Title]` (keep the same `.assets/userstory-NNN-slug.md` path). For new stories, insert a new task entry `- [Refined Story Title]{.assets/userstory-NNN-slug.md}`.
|
|
382
384
|
4. When splitting: for each non-chosen slice, create a placeholder file at `.assets/userstory-NNN-slug.md` containing:
|
|
383
385
|
- `**Story ID:** userstory-NNN-slug`
|
|
384
386
|
- `**Status:** to-be-refined`
|
|
385
387
|
- A `## Title` with the preliminary description of the slice.
|
|
386
388
|
- A `## Notes from intake` section with any relevant context captured in this session: split rationale, relationship to the current story, any API or business details already known.
|
|
387
389
|
- A `## Related` section linking to the current story being refined.
|
|
388
|
-
Assign NNNs sequentially after the highest existing one in `.assets/` (the current story's file already written by step 2 counts as existing). Insert a task entry `- [Slice description — pending]{.assets/userstory-NNN-slug.md}` in the same Milestone (or a new Milestone if the split reveals a distinct Feature). Do NOT offer
|
|
389
|
-
5. Add a back-link to the epic
|
|
390
|
+
Assign NNNs sequentially after the highest existing one in `.assets/` (the current story's file already written by step 2 counts as existing). Insert a task entry `- [Slice description — pending]{.assets/userstory-NNN-slug.md}` in the same Milestone (or a new Milestone if the split reveals a distinct Feature). Do NOT offer TODO.md for deferred slices.
|
|
391
|
+
5. Add a back-link to the epic initiative at the bottom of the story detail file: `**Epic initiative:** [NNN-epic-slug.md]{../NNN-epic-slug.md}` (the `../` resolves from `.assets/` up to `initiatives/`).
|
|
390
392
|
|
|
391
|
-
**When no XDRS
|
|
393
|
+
**When no XDRS initiative doc is active ("start fresh" or no XDRS scope):**
|
|
392
394
|
- Ask the user where to save the refined story (default: `userstory-NNN-slug.md` at workspace root).
|
|
393
|
-
- If split/deferred stories exist, use `vscode_askQuestions` to ask whether to add them to an existing epic
|
|
395
|
+
- If split/deferred stories exist, use `vscode_askQuestions` to ask whether to add them to an existing epic initiative, create a new epic initiative, or save to `TODO.md` per the template in Phase 8. Apply the chosen action.
|
|
394
396
|
|
|
395
397
|
### Output Template
|
|
396
398
|
|
|
@@ -437,8 +439,8 @@ As a [role], I want to [action], so that [benefit].
|
|
|
437
439
|
[highly desirable — screenshots, mockups, or diagrams illustrating the feature.]
|
|
438
440
|
- [attachment]
|
|
439
441
|
|
|
440
|
-
**Epic
|
|
441
|
-
*(omit when no XDRS
|
|
442
|
+
**Epic initiative:** [NNN-epic-slug.md](../NNN-epic-slug.md)
|
|
443
|
+
*(omit when no XDRS initiative doc is active)*
|
|
442
444
|
```
|
|
443
445
|
|
|
444
446
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
skill: 151-refine-user-story
|
|
3
|
-
skill-version: "
|
|
3
|
+
skill-version: "4.1"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Test Scenarios
|
|
@@ -75,8 +75,8 @@ You are an agent with the `151-refine-user-story` skill loaded. The workspace ha
|
|
|
75
75
|
6. User accepts the split and picks "Registration" as the first slice to refine.
|
|
76
76
|
7. Skill restarts from Phase 1 with the narrower registration scope. The remaining 3 slices are recorded as Deferred Stories.
|
|
77
77
|
8. Phases 1–7 run on the registration slice only. At Phase 8, a Deferred Items summary lists the 3 remaining slices.
|
|
78
|
-
9. Because no
|
|
79
|
-
10. Skill outputs one fully refined story (registration) and appends the 3 deferred slices to
|
|
78
|
+
9. Because no initiative doc is active, skill presents `vscode_askQuestions` asking where to save the deferred slices; user picks TODO.md.
|
|
79
|
+
10. Skill outputs one fully refined story (registration) and appends the 3 deferred slices to TODO.md as a single `### Group:` section with one `#### ` subsection per slice.
|
|
80
80
|
|
|
81
81
|
**Simulated Human Responses**
|
|
82
82
|
1. "Registration: email + password only. Password min 8 chars, at least one digit. Email must be verified before the user can log in."
|
|
@@ -154,10 +154,10 @@ Phases 1–5 are complete. The skill is running Phase 6, angle 1 (User journey c
|
|
|
154
154
|
|
|
155
155
|
---
|
|
156
156
|
|
|
157
|
-
### Scenario 6:
|
|
157
|
+
### Scenario 6: Initiative document with pending placeholder stories — user picks one to refine
|
|
158
158
|
|
|
159
159
|
**Trigger / Input**
|
|
160
|
-
You are an agent with the `151-refine-user-story` skill loaded. The user references an epic
|
|
160
|
+
You are an agent with the `151-refine-user-story` skill loaded. The user references an epic initiative document at `.xdrs/_local/bdrs/operations/initiatives/001-epic-improve-checkout.md`. The initiative contains:
|
|
161
161
|
|
|
162
162
|
```
|
|
163
163
|
### Milestone 1: Payment Speed
|
|
@@ -173,7 +173,7 @@ You are an agent with the `151-refine-user-story` skill loaded. The user referen
|
|
|
173
173
|
Each `.assets/userstory-*.md` file contains `**Status:** to-be-refined` plus any preliminary notes captured when the story was created.
|
|
174
174
|
|
|
175
175
|
**Expected Behaviour**
|
|
176
|
-
1. Skill activates Phase 0, detects the
|
|
176
|
+
1. Skill activates Phase 0, detects the initiative document, and parses all Milestone key tasks.
|
|
177
177
|
2. Skill reads each linked `.assets/userstory-*.md` file and checks for `**Status:** to-be-refined`. Identifies all three as pending.
|
|
178
178
|
3. Skill presents a `vscode_askQuestions` list of the three pending stories plus a "New story" option.
|
|
179
179
|
4. User picks the "Reduce payment steps" story from Milestone 1.
|
|
@@ -188,27 +188,27 @@ Each `.assets/userstory-*.md` file contains `**Status:** to-be-refined` plus any
|
|
|
188
188
|
- [ ] Output shows NNN and slug extracted from the placeholder file's `**Story ID:**` line, not from the task entry text.
|
|
189
189
|
- [ ] Skill overwrites the story detail file with refined content and no `**Status:**` field after Phase 8.
|
|
190
190
|
- [ ] Skill updates the Milestone 1 task entry link text to the refined story title; the file path stays the same.
|
|
191
|
-
- [ ] Skill does NOT offer "Save to
|
|
191
|
+
- [ ] Skill does NOT offer "Save to TODO.md" for deferred items while an initiative doc is active.
|
|
192
192
|
|
|
193
193
|
---
|
|
194
194
|
|
|
195
|
-
### Scenario 7: Refined story output writes asset file and updates
|
|
195
|
+
### Scenario 7: Refined story output writes asset file and updates initiative Milestone link
|
|
196
196
|
|
|
197
197
|
**Trigger / Input**
|
|
198
|
-
You are an agent with the `151-refine-user-story` skill loaded. Phase 0 has detected an active
|
|
198
|
+
You are an agent with the `151-refine-user-story` skill loaded. Phase 0 has detected an active initiative doc at `.xdrs/_local/bdrs/operations/initiatives/002-epic-onboarding.md` with Milestone 1: "First Login Experience". The user is refining a new story to be placed there.
|
|
199
199
|
|
|
200
200
|
After completing Phases 1–6, Phase 8 produces the final story: "Show personalised welcome screen on first login".
|
|
201
201
|
|
|
202
202
|
**Expected Behaviour**
|
|
203
|
-
1. Phase 8 determines the next NNN in the
|
|
204
|
-
2. Skill writes `.assets/userstory-001-welcome-screen-first-login.md` using the output template sections: Title, User Story, Scope, Edge Cases, Out of Scope, Constraints, Detailed Specs, Acceptance Criteria, Attachments, plus a back-link to the epic
|
|
205
|
-
3. Skill inserts `- [Show personalised welcome screen on first login](.assets/userstory-001-welcome-screen-first-login.md)` as a key task in Milestone 1 of the
|
|
203
|
+
1. Phase 8 determines the next NNN in the initiative's `.assets/` folder (no existing userstory files → NNN = 001).
|
|
204
|
+
2. Skill writes `.assets/userstory-001-welcome-screen-first-login.md` using the output template sections: Title, User Story, Scope, Edge Cases, Out of Scope, Constraints, Detailed Specs, Acceptance Criteria, Attachments, plus a back-link to the epic initiative.
|
|
205
|
+
3. Skill inserts `- [Show personalised welcome screen on first login](.assets/userstory-001-welcome-screen-first-login.md)` as a key task in Milestone 1 of the initiative doc.
|
|
206
206
|
|
|
207
207
|
**Assertions**
|
|
208
|
-
- [ ] Skill creates the story detail file at the correct path inside the
|
|
208
|
+
- [ ] Skill creates the story detail file at the correct path inside the initiative's `.assets/` folder.
|
|
209
209
|
- [ ] Output uses all required template sections including `## Constraints` and `## Detailed Specs`.
|
|
210
|
-
- [ ] Output includes a back-link to the parent epic
|
|
211
|
-
- [ ]
|
|
210
|
+
- [ ] Output includes a back-link to the parent epic initiative.
|
|
211
|
+
- [ ] Initiative doc's Milestone 1 key tasks section contains a markdown link entry pointing to the new file.
|
|
212
212
|
- [ ] Output shows NNN as 001 (first story in this epic's `.assets/` folder).
|
|
213
213
|
|
|
214
214
|
---
|
|
@@ -224,13 +224,13 @@ You are an agent with the `151-refine-user-story` skill loaded. The workspace ha
|
|
|
224
224
|
1. Phase 0 finds no XDRS scope and skips to Phase 1 immediately.
|
|
225
225
|
2. Skill runs all phases normally.
|
|
226
226
|
3. At Phase 8, after producing the final story, skill asks via `vscode_askQuestions` where to save the story file, defaulting to `userstory-001-reset-pin-via-sms.md` at the workspace root.
|
|
227
|
-
4. If the story is split, the deferred slices prompt offers: add to existing epic
|
|
227
|
+
4. If the story is split, the deferred slices prompt offers: add to existing epic initiative, create new epic initiative, or save to `TODO.md`.
|
|
228
228
|
|
|
229
229
|
**Assertions**
|
|
230
|
-
- [ ] Skill does not block or present any
|
|
230
|
+
- [ ] Skill does not block or present any initiative-doc questions when no XDRS scope exists.
|
|
231
231
|
- [ ] Skill asks for a save location with a clear default path at Phase 8.
|
|
232
232
|
- [ ] Skill saves the story file to the user-confirmed path.
|
|
233
|
-
- [ ] Skill triggers a destination choice for split deferred stories (not silently writing to
|
|
233
|
+
- [ ] Skill triggers a destination choice for split deferred stories (not silently writing to TODO.md).
|
|
234
234
|
|
|
235
235
|
---
|
|
236
236
|
|
|
@@ -261,23 +261,23 @@ After Phase 2 Step 1, no API endpoints, no payload structures, no documentation
|
|
|
261
261
|
### Scenario 10: XDRS scope active, start fresh, story split — Phase 8 asks where to put deferred slices
|
|
262
262
|
|
|
263
263
|
**Trigger / Input**
|
|
264
|
-
You are an agent with the `151-refine-user-story` skill loaded. Phase 0 detected an XDRS scope with two existing epic
|
|
264
|
+
You are an agent with the `151-refine-user-story` skill loaded. Phase 0 detected an XDRS scope with two existing epic initiatives but the user chose "start fresh — no initiative context". During Phase 2, the story is found to be too large and split into three slices. The user accepts the split and starts refining Slice 1.
|
|
265
265
|
|
|
266
266
|
**Expected Behaviour**
|
|
267
|
-
1. Phase 0 detects XDRS scope, presents epic
|
|
267
|
+
1. Phase 0 detects XDRS scope, presents epic initiative list plus "Start fresh" option, user picks "Start fresh".
|
|
268
268
|
2. Phases 1–7 run normally for Slice 1.
|
|
269
|
-
3. At Phase 8, because the context is "start fresh" (no active
|
|
270
|
-
4. Skill applies the chosen action (e.g., creates placeholder files for the two deferred slices and inserts `- [Slice description — pending](.assets/userstory-NNN-slug.md)` task entries in the chosen epic
|
|
269
|
+
3. At Phase 8, because the context is "start fresh" (no active initiative doc), the two deferred slices trigger a `vscode_askQuestions` prompt: "Where should the deferred story slices go?" with options: add to an existing epic initiative (lists found epics), create a new epic initiative, or save to TODO.md.
|
|
270
|
+
4. Skill applies the chosen action (e.g., creates placeholder files for the two deferred slices and inserts `- [Slice description — pending](.assets/userstory-NNN-slug.md)` task entries in the chosen epic initiative, or appends a Group/Part entry to TODO.md).
|
|
271
271
|
|
|
272
272
|
**Assertions**
|
|
273
|
-
- [ ] Phase 0 presents the XDRS epic
|
|
274
|
-
- [ ] Deferred slices do NOT go silently to
|
|
273
|
+
- [ ] Phase 0 presents the XDRS epic initiative list even in "start fresh" mode.
|
|
274
|
+
- [ ] Deferred slices do NOT go silently to TODO.md when an XDRS scope is present.
|
|
275
275
|
- [ ] Phase 8 presents a `vscode_askQuestions` destination choice for deferred slices.
|
|
276
|
-
- [ ] If an epic
|
|
276
|
+
- [ ] If an epic initiative is chosen, deferred slices are created as placeholder files and inserted as `- [description — pending](.assets/...)` link entries in the correct Milestone.
|
|
277
277
|
|
|
278
278
|
---
|
|
279
279
|
|
|
280
|
-
### Scenario 11: Very large story split into multiple slices — no XDRS scope — deferred slices saved to
|
|
280
|
+
### Scenario 11: Very large story split into multiple slices — no XDRS scope — deferred slices saved to TODO.md
|
|
281
281
|
|
|
282
282
|
**Trigger / Input**
|
|
283
283
|
You are an agent with the `151-refine-user-story` skill loaded. The workspace has no `.xdrs/` directory. The user says:
|
|
@@ -296,11 +296,11 @@ You are an agent with the `151-refine-user-story` skill loaded. The workspace ha
|
|
|
296
296
|
- Slice 6: Post-purchase upsell screen
|
|
297
297
|
4. Skill presents `vscode_askQuestions` asking which slice to refine first; user picks Slice 1.
|
|
298
298
|
5. Phases 1–7 run on Slice 1 only. The remaining 5 slices are tracked as Deferred Stories.
|
|
299
|
-
6. At Phase 8, because no
|
|
300
|
-
- **"Save deferred slices to
|
|
299
|
+
6. At Phase 8, because no initiative doc is active, skill presents `vscode_askQuestions`:
|
|
300
|
+
- **"Save deferred slices to TODO.md"** (recommended)
|
|
301
301
|
- **"Save to a different file"** (open box)
|
|
302
302
|
- **"Skip — do not save"**
|
|
303
|
-
7. User picks "Save deferred slices to
|
|
303
|
+
7. User picks "Save deferred slices to TODO.md". Skill appends a single `### Group: [checkout flow] — deferred [date]` section under a `## Deferred Stories` heading in `TODO.md` at the workspace root (creating the file if needed), recording Origin, Original objective, and Split rationale, followed by one `#### ` subsection per deferred slice (Slices 2–6), each with its own Objective, Scope, Context captured so far, and Suggested prompt to resume.
|
|
304
304
|
8. Skill outputs the refined story for Slice 1 only.
|
|
305
305
|
|
|
306
306
|
**Assertions**
|
|
@@ -310,10 +310,11 @@ You are an agent with the `151-refine-user-story` skill loaded. The workspace ha
|
|
|
310
310
|
- [ ] Only the user-selected slice (Slice 1) is refined through Phases 1–7.
|
|
311
311
|
- [ ] The remaining slices appear in a Deferred Items summary at Phase 8.
|
|
312
312
|
- [ ] `vscode_askQuestions` is used at Phase 8 to ask where to save deferred slices (not silently appended).
|
|
313
|
-
- [ ]
|
|
314
|
-
- [ ]
|
|
313
|
+
- [ ] TODO.md is created (or appended to) at the workspace root with a `## Deferred Stories` section containing a single `### Group:` heading for this split.
|
|
314
|
+
- [ ] The Group heading records the origin (151-refine-user-story, Phase 2 Step 3), the original checkout-flow objective, and the split rationale.
|
|
315
|
+
- [ ] Each of the 5 deferred slices appears as its own `#### ` subsection with Objective, Scope, Context captured so far, and a Suggested prompt to resume.
|
|
315
316
|
- [ ] The final output contains exactly one refined story (Slice 1), not all slices.
|
|
316
|
-
- [ ] Skill does NOT offer
|
|
317
|
+
- [ ] Skill does NOT offer TODO.md for deferred items from an active initiative doc (this scenario has no initiative doc — condition satisfied).
|
|
317
318
|
|
|
318
319
|
---
|
|
319
320
|
|
package/.xdrs/agentme/index.md
CHANGED
|
@@ -27,7 +27,7 @@ The `agentme` EDRs cover project tooling and structure for each supported langua
|
|
|
27
27
|
|
|
28
28
|
### Business decisions
|
|
29
29
|
|
|
30
|
-
The `agentme` BDRs cover software development project management practices: how to organize and track epics, features, and user stories using XDRS
|
|
30
|
+
The `agentme` BDRs cover software development project management practices: how to organize and track epics, features, and user stories using XDRS initiative documents. See the full list in the [BDRs Index](bdrs/index.md).
|
|
31
31
|
|
|
32
32
|
## Type Indexes
|
|
33
33
|
|