siesa-agents 2.1.32 → 2.1.34
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/bmad-core/agents/po.md +1 -0
- package/bmad-core/tasks/create-user-guide.md +605 -0
- package/bmad-core/tasks/sync-epic-files-to-jira.md +205 -86
- package/claude/commands/BMad/agents/pm.md +3 -0
- package/claude/commands/BMad/agents/po.md +1 -0
- package/github/chatmodes/pm.chatmode.md +3 -0
- package/package.json +1 -1
package/bmad-core/agents/po.md
CHANGED
|
@@ -80,6 +80,7 @@ commands:
|
|
|
80
80
|
- sync-epic-to-jira {epic-number}: Find all stories matching pattern {epic-number}.*.story.md in docs/stories/, then for EACH story execute the full sync-story-to-jira workflow creating all Jira subtasks (task sync-stories-batch-to-jira with scope epic-{epic-number})
|
|
81
81
|
- update-epic-status {epic-number}: Batch update status of all stories in an epic (task update-epic-stories-jira-status)
|
|
82
82
|
- validate-story-draft {story}: run the task validate-next-story against the provided story file
|
|
83
|
+
- create-user-guide: Run the task create-user-guide
|
|
83
84
|
- yolo: Toggle Yolo Mode off on - on will skip doc section confirmations
|
|
84
85
|
- exit: Exit (confirm)
|
|
85
86
|
dependencies:
|
|
@@ -0,0 +1,605 @@
|
|
|
1
|
+
<!-- Powered by BMAD" Core -->
|
|
2
|
+
|
|
3
|
+
# Create User Guide Task
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
To generate a comprehensive, user-facing guide that explains how to use the system from an end-user perspective. This guide should be written in clear, non-technical language and focus on practical usage instructions, workflows, and common scenarios. Unlike technical documentation (README, architecture docs), this guide is intended for the final user of the application.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- PRD documents exist in `docs/prd/`
|
|
12
|
+
- Core workflows are defined in `docs/architecture/core-workflows.md`
|
|
13
|
+
- The system has functional features ready for end-user documentation
|
|
14
|
+
|
|
15
|
+
## Language Requirements
|
|
16
|
+
|
|
17
|
+
**IMPORTANT:** When executing this task, the agent **MUST** interact with the user in **Spanish**, regardless of the language used in previous conversations. All questions, clarifications, and status updates should be in Spanish.
|
|
18
|
+
|
|
19
|
+
**Output Languages:** This task produces user guides in TWO languages:
|
|
20
|
+
- **Spanish** (`es/`) - Primary version
|
|
21
|
+
- **English** (`en/`) - Translated version
|
|
22
|
+
|
|
23
|
+
Both versions must have identical content and structure, differing only in language.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## SEQUENTIAL Task Execution (Do not proceed until current Task is complete)
|
|
28
|
+
|
|
29
|
+
### 1. Load Core Configuration and Gather Context
|
|
30
|
+
|
|
31
|
+
#### 1.1 Load Configuration
|
|
32
|
+
|
|
33
|
+
- Load `.bmad-core/core-config.yaml` from the project root
|
|
34
|
+
- If the file does not exist, ask the user for the documentation output location (default: `docs/user-guide/`)
|
|
35
|
+
- Extract key configurations: `prd.*`, `architecture.*`
|
|
36
|
+
|
|
37
|
+
#### 1.2 Identify Target Audience
|
|
38
|
+
|
|
39
|
+
Ask the user to clarify the target audience (in Spanish):
|
|
40
|
+
|
|
41
|
+
- "¿Cuál es la audiencia principal para esta guía de usuario?"
|
|
42
|
+
- Usuarios finales (clientes que usan la aplicación)
|
|
43
|
+
- Administradores (usuarios que gestionan el sistema)
|
|
44
|
+
- Ambos (usuarios finales y administradores)
|
|
45
|
+
- Consumidores de API (desarrolladores que integran con el sistema)
|
|
46
|
+
|
|
47
|
+
#### 1.3 Check for Existing User Guides
|
|
48
|
+
|
|
49
|
+
Before proceeding, check for existing user guide files:
|
|
50
|
+
|
|
51
|
+
1. Scan the documentation directory (default: `docs/`) for existing user guides:
|
|
52
|
+
- `docs/user-guide.md`
|
|
53
|
+
- `docs/user-guide/*.md`
|
|
54
|
+
- `docs/user-guide/es/*.md` (Spanish guides)
|
|
55
|
+
- `docs/user-guide/en/*.md` (English guides)
|
|
56
|
+
- `docs/user-guide-*.md` (e.g., `user-guide-admin.md`, `user-guide-enduser.md`)
|
|
57
|
+
- Any files matching pattern `*user*guide*.md`
|
|
58
|
+
|
|
59
|
+
2. If existing user guides are found, present them to the user (in Spanish):
|
|
60
|
+
- "He encontrado las siguientes guías de usuario existentes: [listar archivos con su audiencia objetivo si es identificable]"
|
|
61
|
+
- Preguntar: "¿Cómo desea proceder?"
|
|
62
|
+
- **Crear una nueva guía separada** - Crear una nueva guía con un nombre distintivo para la audiencia seleccionada
|
|
63
|
+
- **Actualizar una guía existente** - Modificar una de las guías existentes (especificar cuál)
|
|
64
|
+
- **Reemplazar una guía existente** - Sobrescribir una guía existente (requiere confirmación explícita)
|
|
65
|
+
- **Cancelar** - Detener y revisar la documentación existente primero
|
|
66
|
+
|
|
67
|
+
3. If user chooses to create a new separate guide:
|
|
68
|
+
- **Automatically select** the filename based on target audience (do NOT ask for confirmation):
|
|
69
|
+
- End users: `user-guide/es/enduser-guide.md` + `user-guide/en/enduser-guide.md`
|
|
70
|
+
- Administrators: `user-guide/es/admin-guide.md` + `user-guide/en/admin-guide.md`
|
|
71
|
+
- API consumers: `user-guide/es/api-guide.md` + `user-guide/en/api-guide.md`
|
|
72
|
+
- Mixed: `user-guide/es/complete-guide.md` + `user-guide/en/complete-guide.md`
|
|
73
|
+
- Inform the user of the selected filename: "Se utilizará el nombre de archivo: [filename]"
|
|
74
|
+
|
|
75
|
+
4. If user chooses to replace an existing guide:
|
|
76
|
+
- Require explicit confirmation (in Spanish): "¿Está seguro de que desea reemplazar [filename]? Esta acción no se puede deshacer. (sí/no)"
|
|
77
|
+
- Only proceed with explicit "sí" or "yes" confirmation
|
|
78
|
+
|
|
79
|
+
5. Record the chosen action and target filename for use in step 7
|
|
80
|
+
|
|
81
|
+
### 2. Gather Product Information
|
|
82
|
+
|
|
83
|
+
#### 2.1 Identify Available Epics and Select Scope
|
|
84
|
+
|
|
85
|
+
Before reading documentation, identify and present available epics to the user:
|
|
86
|
+
|
|
87
|
+
1. Scan the `docs/prd/` directory for epic files (e.g., `epic-1.md`, `epic-2.md`, etc.)
|
|
88
|
+
|
|
89
|
+
2. Present the list of available epics to the user (in Spanish):
|
|
90
|
+
- "He encontrado las siguientes épicas en el proyecto:"
|
|
91
|
+
- List each epic with its number and title (extracted from the file)
|
|
92
|
+
- Example format:
|
|
93
|
+
```
|
|
94
|
+
- Epic 1: [Título del épico]
|
|
95
|
+
- Epic 2: [Título del épico]
|
|
96
|
+
- Epic 3: [Título del épico]
|
|
97
|
+
...
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
3. Ask the user which epics to include (in Spanish):
|
|
101
|
+
- "¿Cuáles épicas desea incluir en la guía de usuario? Puede seleccionar:"
|
|
102
|
+
- **Todas las épicas** - Incluir todas las funcionalidades documentadas
|
|
103
|
+
- **Épicas específicas** - Seleccionar épicas individuales (proporcionar números separados por comas, ej: 1, 3, 5)
|
|
104
|
+
- **Excluir épicas específicas** - Incluir todos excepto las especificadas
|
|
105
|
+
|
|
106
|
+
4. Record the selected epics for use in subsequent steps
|
|
107
|
+
- Only read and document features from the selected epics
|
|
108
|
+
- Stories from non-selected epics should be ignored
|
|
109
|
+
|
|
110
|
+
#### 2.2 Review PRD Documents
|
|
111
|
+
|
|
112
|
+
Based on `prdSharded` from config and the **selected epics from step 2.1**, locate and read PRD documents to understand:
|
|
113
|
+
|
|
114
|
+
- **Product Overview**: Goals, background, and purpose from `docs/prd/goals-and-background-context.md`
|
|
115
|
+
- **Requirements**: Functional requirements from `docs/prd/requirements.md`
|
|
116
|
+
- **User Interface**: UI design goals from `docs/prd/user-interface-design-goals.md`
|
|
117
|
+
- **Epic Definitions**: Feature sets from **selected epic files only** (as determined in step 2.1)
|
|
118
|
+
|
|
119
|
+
Extract:
|
|
120
|
+
- System purpose and value proposition (in user terms)
|
|
121
|
+
- Key features and capabilities
|
|
122
|
+
- User roles and permissions
|
|
123
|
+
- Primary use cases
|
|
124
|
+
|
|
125
|
+
#### 2.2 Review Core Workflows
|
|
126
|
+
|
|
127
|
+
Read `docs/architecture/core-workflows.md` to understand:
|
|
128
|
+
|
|
129
|
+
- Primary user journeys
|
|
130
|
+
- Step-by-step processes users will follow
|
|
131
|
+
- Decision points and branching paths
|
|
132
|
+
- Expected outcomes for each workflow
|
|
133
|
+
|
|
134
|
+
#### 2.3 Review UI Components (if applicable)
|
|
135
|
+
|
|
136
|
+
If frontend exists, review `docs/architecture/components.md` to understand:
|
|
137
|
+
|
|
138
|
+
- Available screens and pages
|
|
139
|
+
- Navigation structure
|
|
140
|
+
- Key UI elements users will interact with
|
|
141
|
+
|
|
142
|
+
### 3. Elicit Additional Information
|
|
143
|
+
|
|
144
|
+
Present findings to the user and ask clarifying questions (in Spanish):
|
|
145
|
+
|
|
146
|
+
1. "Basándome en las épicas seleccionadas ([listar épicas]), he identificado estas funcionalidades principales: [lista]. ¿Hay alguna funcionalidad que deba excluirse de la guía de usuario?"
|
|
147
|
+
2. "¿Hay escenarios o casos de uso específicos que sean particularmente importantes de documentar?"
|
|
148
|
+
3. "¿Cuál es el nivel de competencia técnica esperado de sus usuarios?" (Novato / Intermedio / Mixto)
|
|
149
|
+
4. "¿Hay limitaciones conocidas o advertencias que los usuarios deban conocer?"
|
|
150
|
+
5. "¿Debería incluir la guía secciones de solución de problemas?"
|
|
151
|
+
|
|
152
|
+
### 4. Structure the User Guide
|
|
153
|
+
|
|
154
|
+
Create the user guide with the following structure:
|
|
155
|
+
|
|
156
|
+
```markdown
|
|
157
|
+
# [Product Name] User Guide
|
|
158
|
+
|
|
159
|
+
## Introduction
|
|
160
|
+
- What is [Product Name]?
|
|
161
|
+
- Who is this guide for?
|
|
162
|
+
- How to use this guide
|
|
163
|
+
|
|
164
|
+
## Getting Started
|
|
165
|
+
- Prerequisites (what users need before starting)
|
|
166
|
+
- First-time setup (if applicable)
|
|
167
|
+
- Accessing the system
|
|
168
|
+
- Overview of the interface
|
|
169
|
+
|
|
170
|
+
## Core Concepts
|
|
171
|
+
- Key terminology
|
|
172
|
+
- Understanding [main concepts relevant to the product]
|
|
173
|
+
- User roles and permissions (if applicable)
|
|
174
|
+
|
|
175
|
+
## Features and How to Use Them
|
|
176
|
+
|
|
177
|
+
### [Feature 1]
|
|
178
|
+
- What it does
|
|
179
|
+
- **Diagram**: [Feature diagram showing key components/flow]
|
|
180
|
+
- [Screenshot: FEATURE_NAME - Brief description of what to capture]
|
|
181
|
+
- Step-by-step instructions
|
|
182
|
+
- Tips and best practices
|
|
183
|
+
- Common scenarios
|
|
184
|
+
|
|
185
|
+
### [Feature 2]
|
|
186
|
+
...
|
|
187
|
+
|
|
188
|
+
## Common Workflows
|
|
189
|
+
|
|
190
|
+
### [Workflow 1: e.g., "Managing Your First Application"]
|
|
191
|
+
- **Workflow Diagram**: [Flowchart or sequence diagram showing the complete workflow]
|
|
192
|
+
- [Screenshot: WORKFLOW_STEP_1 - Description of key step to capture]
|
|
193
|
+
1. Step-by-step walkthrough
|
|
194
|
+
- [Screenshot: WORKFLOW_STEP_N - Description for each key step]
|
|
195
|
+
2. Expected results
|
|
196
|
+
3. What to do if something goes wrong
|
|
197
|
+
|
|
198
|
+
### [Workflow 2]
|
|
199
|
+
...
|
|
200
|
+
|
|
201
|
+
## Troubleshooting (if requested)
|
|
202
|
+
- Common issues and solutions
|
|
203
|
+
- Error messages and what they mean
|
|
204
|
+
- When to contact support
|
|
205
|
+
|
|
206
|
+
## FAQ
|
|
207
|
+
- Frequently asked questions based on requirements
|
|
208
|
+
|
|
209
|
+
## Glossary
|
|
210
|
+
- Terms and definitions
|
|
211
|
+
|
|
212
|
+
## Appendix (if needed)
|
|
213
|
+
- Quick reference tables
|
|
214
|
+
- Keyboard shortcuts
|
|
215
|
+
- Additional resources
|
|
216
|
+
|
|
217
|
+
## Screenshot Index
|
|
218
|
+
|
|
219
|
+
This section lists all screenshots that need to be added to this guide. Once a screenshot is added, update the corresponding placeholder with the actual image.
|
|
220
|
+
|
|
221
|
+
| ID | Location | Description | Status |
|
|
222
|
+
|----|----------|-------------|--------|
|
|
223
|
+
| FEATURE_NAME_1 | Section X.X | Brief description of what the screenshot should show | Pending |
|
|
224
|
+
| WORKFLOW_STEP_1 | Section Y.Y | Brief description of the workflow step to capture | Pending |
|
|
225
|
+
| ... | ... | ... | ... |
|
|
226
|
+
|
|
227
|
+
**Instructions for adding screenshots:**
|
|
228
|
+
1. Capture the screenshot as described in the "Description" column
|
|
229
|
+
2. Save the image in `docs/user-guide/[lang]/images/` with the ID as filename (e.g., `FEATURE_NAME_1.png`)
|
|
230
|
+
3. Replace the placeholder `[Screenshot: ID]` with ``
|
|
231
|
+
4. Update the "Status" column to "Added"
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### 5. Generate User Guide Content
|
|
235
|
+
|
|
236
|
+
#### 5.1 Writing Guidelines
|
|
237
|
+
|
|
238
|
+
When writing content, follow these principles:
|
|
239
|
+
|
|
240
|
+
- **Use plain language**: Avoid technical jargon; explain concepts in terms users understand
|
|
241
|
+
- **Be task-oriented**: Focus on what users want to accomplish, not how the system works internally
|
|
242
|
+
- **Use active voice**: "Click the Submit button" not "The Submit button should be clicked"
|
|
243
|
+
- **Include visual cues**: Reference UI elements by their labels (bold text for buttons, menus)
|
|
244
|
+
- **Provide context**: Explain WHY users might want to do something, not just HOW
|
|
245
|
+
- **Use numbered steps**: For sequential instructions, use numbered lists
|
|
246
|
+
- **Include examples**: Where helpful, provide concrete examples of inputs/outputs
|
|
247
|
+
- **Note prerequisites**: Before each task, list what the user needs to have ready
|
|
248
|
+
|
|
249
|
+
#### 5.2 Content Generation Rules
|
|
250
|
+
|
|
251
|
+
- **DO NOT** include technical implementation details (API endpoints, database schemas, code)
|
|
252
|
+
- **DO NOT** reference internal architecture or system design
|
|
253
|
+
- **DO NOT** include developer-focused information (build steps, environment setup for development)
|
|
254
|
+
- **DO NOT** invent or assume feature behaviors - every description must be backed by documentation
|
|
255
|
+
- **DO** focus on user goals and outcomes
|
|
256
|
+
- **DO** explain error messages in user-friendly terms
|
|
257
|
+
- **DO** include "what happens next" after each major action
|
|
258
|
+
- **DO** cite source documents for ALL feature descriptions, definitions, and workflows (see 5.3)
|
|
259
|
+
|
|
260
|
+
#### 5.3 Source Citation Requirements (MANDATORY)
|
|
261
|
+
|
|
262
|
+
Every feature definition, workflow explanation, or capability description **MUST** include a source citation. This ensures accuracy and traceability.
|
|
263
|
+
|
|
264
|
+
**Citation Format:**
|
|
265
|
+
- For epic-level information: `[Source: Epic X]`
|
|
266
|
+
- For story-level information: `[Source: Epic X Story Y]`
|
|
267
|
+
- For PRD sections: `[Source: PRD - {section-name}]`
|
|
268
|
+
- For multiple sources: `[Source: Epic X Story Y, Epic Z Story W]`
|
|
269
|
+
|
|
270
|
+
**What Requires Citation:**
|
|
271
|
+
- Feature descriptions and what they do
|
|
272
|
+
- Workflow steps and expected behaviors
|
|
273
|
+
- User role definitions and permissions
|
|
274
|
+
- System capabilities and limitations
|
|
275
|
+
- Error scenarios and their meanings
|
|
276
|
+
|
|
277
|
+
**Example:**
|
|
278
|
+
```markdown
|
|
279
|
+
### Managing Credentials
|
|
280
|
+
|
|
281
|
+
Users can create, view, update, and delete credentials through the Credentials
|
|
282
|
+
Management interface. Each credential is associated with a specific application
|
|
283
|
+
and can be configured with custom expiration policies. [Source: Epic 2 Story 3]
|
|
284
|
+
|
|
285
|
+
#### Creating a New Credential
|
|
286
|
+
|
|
287
|
+
1. Navigate to **Credentials** > **New Credential**
|
|
288
|
+
2. Select the target application from the dropdown
|
|
289
|
+
3. Enter the credential details...
|
|
290
|
+
[Source: Epic 2 Story 3, Epic 2 Story 4]
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
**Verification:**
|
|
294
|
+
- Before writing any feature or workflow content, first locate the corresponding epic/story file
|
|
295
|
+
- Read the acceptance criteria and requirements from the source file
|
|
296
|
+
- Only document behaviors explicitly stated in the source
|
|
297
|
+
- If no source can be found for a feature, flag it to the user: "I could not find documentation for [feature]. Please provide the source or confirm this should be excluded."
|
|
298
|
+
|
|
299
|
+
#### 5.4 Diagram Requirements (MANDATORY)
|
|
300
|
+
|
|
301
|
+
Every feature and workflow **MUST** include a diagram to visually explain the concept. Diagrams help users understand complex processes at a glance.
|
|
302
|
+
|
|
303
|
+
**Diagram Format:**
|
|
304
|
+
- Use Mermaid syntax for all diagrams (compatible with most markdown renderers)
|
|
305
|
+
- Diagrams must be in the same language as the surrounding content (Spanish for `es/`, English for `en/`)
|
|
306
|
+
|
|
307
|
+
**Diagram Types by Content:**
|
|
308
|
+
|
|
309
|
+
| Content Type | Recommended Diagram | Purpose |
|
|
310
|
+
|--------------|---------------------|---------|
|
|
311
|
+
| Feature overview | `flowchart` or `block-beta` | Show main components and relationships |
|
|
312
|
+
| User workflow | `flowchart TD` | Show step-by-step process with decision points |
|
|
313
|
+
| Sequential process | `sequenceDiagram` | Show interactions between user and system |
|
|
314
|
+
| State changes | `stateDiagram-v2` | Show how data/entities change states |
|
|
315
|
+
| User journey | `journey` | Show user experience across touchpoints |
|
|
316
|
+
|
|
317
|
+
**Example - Feature Diagram:**
|
|
318
|
+
```markdown
|
|
319
|
+
### Gestión de Credenciales
|
|
320
|
+
|
|
321
|
+
Esta funcionalidad permite crear, ver, actualizar y eliminar credenciales.
|
|
322
|
+
|
|
323
|
+
```mermaid
|
|
324
|
+
flowchart LR
|
|
325
|
+
A[Usuario] --> B{Acción}
|
|
326
|
+
B --> C[Crear]
|
|
327
|
+
B --> D[Ver]
|
|
328
|
+
B --> E[Actualizar]
|
|
329
|
+
B --> F[Eliminar]
|
|
330
|
+
C --> G[(Base de Datos)]
|
|
331
|
+
D --> G
|
|
332
|
+
E --> G
|
|
333
|
+
F --> G
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
[Source: Epic 2 Story 3]
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**Example - Workflow Diagram:**
|
|
340
|
+
```markdown
|
|
341
|
+
### Flujo de Autenticación
|
|
342
|
+
|
|
343
|
+
```mermaid
|
|
344
|
+
sequenceDiagram
|
|
345
|
+
actor U as Usuario
|
|
346
|
+
participant A as Aplicación
|
|
347
|
+
participant S as Servidor
|
|
348
|
+
|
|
349
|
+
U->>A: Ingresa credenciales
|
|
350
|
+
A->>S: Envía solicitud de login
|
|
351
|
+
S-->>A: Retorna token JWT
|
|
352
|
+
A-->>U: Muestra dashboard
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
[Source: Epic 1 Story 2]
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
**Diagram Guidelines:**
|
|
359
|
+
- Keep diagrams simple and focused (max 10-12 nodes for flowcharts)
|
|
360
|
+
- Use clear, descriptive labels in user-friendly language
|
|
361
|
+
- Include decision points (diamonds) for conditional flows
|
|
362
|
+
- Show error paths when relevant to the user
|
|
363
|
+
- Ensure diagram accurately reflects the documented behavior from epic/story sources
|
|
364
|
+
|
|
365
|
+
**What NOT to include in diagrams:**
|
|
366
|
+
- Technical implementation details (database schemas, API internals)
|
|
367
|
+
- System architecture components invisible to users
|
|
368
|
+
- Code-level abstractions
|
|
369
|
+
|
|
370
|
+
#### 5.5 Screenshot Placeholder Requirements (MANDATORY)
|
|
371
|
+
|
|
372
|
+
The agent must include screenshot placeholders throughout the document to guide reviewers on what visual aids to add. Screenshots will be added later by the person reviewing the guide.
|
|
373
|
+
|
|
374
|
+
**Placeholder Format:**
|
|
375
|
+
```
|
|
376
|
+
[Screenshot: IDENTIFIER - Description of what to capture]
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**Identifier Naming Convention:**
|
|
380
|
+
- Use UPPER_SNAKE_CASE for identifiers
|
|
381
|
+
- Prefix with context: `FEATURE_`, `WORKFLOW_`, `UI_`, `ERROR_`
|
|
382
|
+
- Make identifiers unique and descriptive
|
|
383
|
+
- Examples:
|
|
384
|
+
- `[Screenshot: FEATURE_CREDENTIALS_LIST - Vista de la lista de credenciales con filtros aplicados]`
|
|
385
|
+
- `[Screenshot: WORKFLOW_LOGIN_STEP2 - Pantalla de verificación de dos factores]`
|
|
386
|
+
- `[Screenshot: UI_DASHBOARD_MAIN - Panel principal después de iniciar sesión]`
|
|
387
|
+
- `[Screenshot: ERROR_INVALID_TOKEN - Mensaje de error cuando el token expira]`
|
|
388
|
+
|
|
389
|
+
**Where to Add Screenshot Placeholders:**
|
|
390
|
+
- After feature introductions (show the main UI for that feature)
|
|
391
|
+
- At key steps in workflows (show the screen at each important step)
|
|
392
|
+
- For complex UI elements that need visual explanation
|
|
393
|
+
- For error messages and their resolution screens
|
|
394
|
+
- For before/after comparisons when relevant
|
|
395
|
+
|
|
396
|
+
**Screenshot Index (End of Document):**
|
|
397
|
+
At the end of each user guide, include a "Screenshot Index" section that consolidates all placeholders:
|
|
398
|
+
|
|
399
|
+
```markdown
|
|
400
|
+
## Screenshot Index / Índice de Capturas de Pantalla
|
|
401
|
+
|
|
402
|
+
| ID | Ubicación | Descripción | Estado |
|
|
403
|
+
|----|-----------|-------------|--------|
|
|
404
|
+
| FEATURE_CREDENTIALS_LIST | Sección 4.1 | Vista de la lista de credenciales con filtros | Pendiente |
|
|
405
|
+
| WORKFLOW_LOGIN_STEP2 | Sección 5.2 | Pantalla de verificación de dos factores | Pendiente |
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
**Guidelines:**
|
|
409
|
+
- Add 1-3 screenshot placeholders per feature section
|
|
410
|
+
- Add screenshot placeholders for each major step in workflows
|
|
411
|
+
- Descriptions should be specific enough for someone else to capture the correct screen
|
|
412
|
+
- Use the same language as the document (Spanish descriptions in `es/`, English in `en/`)
|
|
413
|
+
- Track all placeholders in the Screenshot Index for easy reference
|
|
414
|
+
|
|
415
|
+
### 6. Review and Validation
|
|
416
|
+
|
|
417
|
+
#### 6.1 Self-Check
|
|
418
|
+
|
|
419
|
+
Before finalizing, verify:
|
|
420
|
+
|
|
421
|
+
- [ ] All major features from the PRD are covered
|
|
422
|
+
- [ ] Instructions are clear enough for a new user
|
|
423
|
+
- [ ] No technical jargon remains unexplained
|
|
424
|
+
- [ ] All referenced UI elements exist and are named correctly
|
|
425
|
+
- [ ] Workflows match actual system behavior
|
|
426
|
+
- [ ] Troubleshooting covers common error scenarios
|
|
427
|
+
- [ ] **Every feature description has a source citation** `[Source: Epic X Story Y]`
|
|
428
|
+
- [ ] **Every workflow explanation has a source citation**
|
|
429
|
+
- [ ] **No undocumented features are described** (if source not found, flagged to user)
|
|
430
|
+
- [ ] Source citations reference actual existing epic/story files
|
|
431
|
+
- [ ] **Every feature includes a Mermaid diagram** explaining its components/flow
|
|
432
|
+
- [ ] **Every workflow includes a Mermaid diagram** showing the process
|
|
433
|
+
- [ ] Diagrams are in the correct language (Spanish in `es/`, English in `en/`)
|
|
434
|
+
- [ ] Diagrams are simple, user-focused, and free of technical implementation details
|
|
435
|
+
- [ ] **Every feature has screenshot placeholders** with format `[Screenshot: ID - Description]`
|
|
436
|
+
- [ ] **Every workflow has screenshot placeholders** for key steps
|
|
437
|
+
- [ ] Screenshot placeholders have unique UPPER_SNAKE_CASE identifiers
|
|
438
|
+
- [ ] **Screenshot Index exists at end of document** listing all placeholders with locations
|
|
439
|
+
|
|
440
|
+
#### 6.2 Present Draft to User
|
|
441
|
+
|
|
442
|
+
Present the completed draft and ask (in Spanish):
|
|
443
|
+
|
|
444
|
+
1. "¿Cubre esto todas las funcionalidades que sus usuarios necesitan conocer?"
|
|
445
|
+
2. "¿Es el lenguaje apropiado para su audiencia objetivo?"
|
|
446
|
+
3. "¿Hay secciones que necesiten más detalle o ejemplos?"
|
|
447
|
+
4. "¿Debería agregar marcadores de posición para capturas de pantalla en secciones específicas?"
|
|
448
|
+
|
|
449
|
+
### 7. Finalize and Save
|
|
450
|
+
|
|
451
|
+
#### 7.1 Apply Filename Decision from Step 1.3
|
|
452
|
+
|
|
453
|
+
- Use the target filename and action determined in step 1.3
|
|
454
|
+
- If creating a new guide or replacing (with confirmation), proceed with save
|
|
455
|
+
- If updating an existing guide, merge new content appropriately while preserving existing customizations
|
|
456
|
+
|
|
457
|
+
#### 7.2 Save the User Guide (Both Languages)
|
|
458
|
+
|
|
459
|
+
Save user guides in BOTH Spanish and English using the following folder structure:
|
|
460
|
+
|
|
461
|
+
**Standard Structure (single file per language):**
|
|
462
|
+
```
|
|
463
|
+
docs/user-guide/
|
|
464
|
+
├── es/
|
|
465
|
+
│ └── [audience]-guide.md (e.g., admin-guide.md, enduser-guide.md)
|
|
466
|
+
├── en/
|
|
467
|
+
│ └── [audience]-guide.md
|
|
468
|
+
└── index.md (language selector / navigation)
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
**Extended Structure (sharded, for extensive guides):**
|
|
472
|
+
```
|
|
473
|
+
docs/user-guide/
|
|
474
|
+
├── es/
|
|
475
|
+
│ └── [audience]/
|
|
476
|
+
│ ├── index.md
|
|
477
|
+
│ ├── getting-started.md
|
|
478
|
+
│ ├── features/
|
|
479
|
+
│ │ └── [feature-name].md
|
|
480
|
+
│ ├── workflows/
|
|
481
|
+
│ │ └── [workflow-name].md
|
|
482
|
+
│ └── troubleshooting.md
|
|
483
|
+
├── en/
|
|
484
|
+
│ └── [audience]/
|
|
485
|
+
│ ├── index.md
|
|
486
|
+
│ ├── getting-started.md
|
|
487
|
+
│ ├── features/
|
|
488
|
+
│ │ └── [feature-name].md
|
|
489
|
+
│ ├── workflows/
|
|
490
|
+
│ │ └── [workflow-name].md
|
|
491
|
+
│ └── troubleshooting.md
|
|
492
|
+
└── index.md
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
Where `[audience]` matches the target audience (e.g., `admin`, `enduser`, `api`)
|
|
496
|
+
|
|
497
|
+
**Process:**
|
|
498
|
+
1. First, generate the complete user guide content in Spanish
|
|
499
|
+
2. Then, translate the content to English maintaining identical structure
|
|
500
|
+
3. Ensure source citations `[Source: Epic X Story Y]` remain unchanged in both versions
|
|
501
|
+
4. Save both versions to their respective language folders
|
|
502
|
+
|
|
503
|
+
#### 7.3 Update User Guide Index (Language Selector)
|
|
504
|
+
|
|
505
|
+
Create or update `docs/user-guide/index.md` with language selection and guide navigation:
|
|
506
|
+
|
|
507
|
+
```markdown
|
|
508
|
+
# User Guides / Guías de Usuario
|
|
509
|
+
|
|
510
|
+
## Select Language / Seleccionar Idioma
|
|
511
|
+
|
|
512
|
+
| Language | Idioma |
|
|
513
|
+
|----------|--------|
|
|
514
|
+
| [English](./en/) | [Español](./es/) |
|
|
515
|
+
|
|
516
|
+
---
|
|
517
|
+
|
|
518
|
+
## Available Guides / Guías Disponibles
|
|
519
|
+
|
|
520
|
+
### English
|
|
521
|
+
|
|
522
|
+
| Guide | Audience | Description |
|
|
523
|
+
|-------|----------|-------------|
|
|
524
|
+
| [Guide Name](./en/[audience]-guide.md) | [Audience] | [Brief description] |
|
|
525
|
+
|
|
526
|
+
### Español
|
|
527
|
+
|
|
528
|
+
| Guía | Audiencia | Descripción |
|
|
529
|
+
|------|-----------|-------------|
|
|
530
|
+
| [Nombre de Guía](./es/[audience]-guide.md) | [Audiencia] | [Descripción breve] |
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
#### 7.4 Provide Summary
|
|
534
|
+
|
|
535
|
+
Provide summary to user (in Spanish):
|
|
536
|
+
|
|
537
|
+
- Acción realizada: [Creado nuevo / Actualizado existente / Reemplazado]
|
|
538
|
+
- Ubicación de guías:
|
|
539
|
+
- Español: `[ruta del archivo en español]`
|
|
540
|
+
- English: `[ruta del archivo en inglés]`
|
|
541
|
+
- Audiencia objetivo: [audiencia identificada]
|
|
542
|
+
- Épicas incluidas: [listar épicas seleccionadas, ej: Epic 1, Epic 3, Epic 5]
|
|
543
|
+
- Épicas excluidas: [listar épicas no incluidas, si aplica]
|
|
544
|
+
- Funcionalidades documentadas: [cantidad]
|
|
545
|
+
- Flujos de trabajo documentados: [cantidad]
|
|
546
|
+
- Diagramas incluidos: [cantidad]
|
|
547
|
+
- Capturas de pantalla sugeridas: [cantidad] (ver Índice de Capturas de Pantalla al final del documento)
|
|
548
|
+
- Otras guías existentes: [listar otras guías de usuario en el proyecto]
|
|
549
|
+
- Próximos pasos recomendados:
|
|
550
|
+
- Revisar con usuarios finales reales para obtener retroalimentación
|
|
551
|
+
- Agregar capturas de pantalla o ayudas visuales donde se indique
|
|
552
|
+
- Establecer un ciclo de revisión para mantener la guía actualizada
|
|
553
|
+
- Considerar crear guías adicionales específicas por audiencia si es necesario
|
|
554
|
+
- Verificar que ambas versiones (español e inglés) estén sincronizadas
|
|
555
|
+
|
|
556
|
+
## Success Criteria
|
|
557
|
+
|
|
558
|
+
- User guide is written in non-technical, user-friendly language
|
|
559
|
+
- All major features and workflows are documented
|
|
560
|
+
- Instructions are actionable and verifiable
|
|
561
|
+
- Document is structured for easy navigation
|
|
562
|
+
- Content is traceable to PRD requirements
|
|
563
|
+
- Guide is appropriate for the identified target audience
|
|
564
|
+
- Existing user guides are preserved unless explicit replacement is confirmed
|
|
565
|
+
- Multiple audience-specific guides can coexist with clear organization
|
|
566
|
+
- User guide index is maintained when multiple guides exist
|
|
567
|
+
- **Every feature and workflow description includes source citation** in format `[Source: Epic X Story Y]`
|
|
568
|
+
- **No content is invented** - all descriptions are backed by epic/story documentation
|
|
569
|
+
- **Only selected epics are documented** - user explicitly chose which epics to include
|
|
570
|
+
- **Every feature includes a Mermaid diagram** explaining its components or flow
|
|
571
|
+
- **Every workflow includes a Mermaid diagram** showing the complete process
|
|
572
|
+
- **Diagrams are localized** - Spanish labels in `es/`, English labels in `en/`
|
|
573
|
+
- **Every feature and workflow has screenshot placeholders** with format `[Screenshot: ID - Description]`
|
|
574
|
+
- **Screenshot Index exists at end of document** consolidating all placeholders for reviewers
|
|
575
|
+
- **Both Spanish and English versions are generated** with identical content and structure
|
|
576
|
+
- **Language folder structure** (`es/`, `en/`) is properly created and maintained
|
|
577
|
+
- **Index file includes language selector** for easy navigation between versions
|
|
578
|
+
|
|
579
|
+
## Notes
|
|
580
|
+
|
|
581
|
+
- This task creates documentation for END USERS, not developers
|
|
582
|
+
- The guide should be usable by someone with no knowledge of the underlying technology
|
|
583
|
+
- Focus on user outcomes and business value, not technical implementation
|
|
584
|
+
- Keep the guide maintainable by linking to single sources of truth where possible
|
|
585
|
+
- Consider versioning the guide alongside product releases
|
|
586
|
+
- **Multiple Guides**: A project may have separate guides for different audiences (admins, end users, API consumers). Each should be clearly named and organized
|
|
587
|
+
- **Never Auto-Replace**: Always check for existing guides and require explicit user confirmation before replacing any existing documentation
|
|
588
|
+
- **Language Requirements**:
|
|
589
|
+
- Agent interaction with users must be in **Spanish** during task execution
|
|
590
|
+
- Output is generated in **both Spanish and English**
|
|
591
|
+
- Spanish version is created first, then translated to English
|
|
592
|
+
- Source citations `[Source: Epic X Story Y]` remain in original format (not translated)
|
|
593
|
+
- Both versions must be kept synchronized when updates are made
|
|
594
|
+
- **Diagram Requirements**:
|
|
595
|
+
- Every feature and workflow MUST have a Mermaid diagram
|
|
596
|
+
- Diagrams must be user-focused, not technical
|
|
597
|
+
- Diagram labels must be in the same language as the document (Spanish/English)
|
|
598
|
+
- Use appropriate diagram types: flowcharts for processes, sequence diagrams for interactions
|
|
599
|
+
- Keep diagrams simple (max 10-12 nodes) for readability
|
|
600
|
+
- **Screenshot Requirements**:
|
|
601
|
+
- Include placeholders with format `[Screenshot: ID - Description]`
|
|
602
|
+
- Use UPPER_SNAKE_CASE identifiers with prefixes: `FEATURE_`, `WORKFLOW_`, `UI_`, `ERROR_`
|
|
603
|
+
- Descriptions must be specific enough for reviewers to capture the correct screen
|
|
604
|
+
- Screenshot Index at end of document consolidates all placeholders
|
|
605
|
+
- Reviewers will add actual screenshots later following the index instructions
|
|
@@ -4,7 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
## Purpose
|
|
6
6
|
|
|
7
|
-
Automatically synchronize individual epic files from `docs/prd/` directory to Jira
|
|
7
|
+
Automatically synchronize individual epic files from `docs/prd/` directory to Jira using an **atomic processing approach**. This task is designed for scenarios where epics and stories have been developed using BMAD but Jira was never updated.
|
|
8
|
+
|
|
9
|
+
**Key Features:**
|
|
10
|
+
- Processes each epic atomically: create epic → create stories → update files
|
|
11
|
+
- Immediately saves Jira references after each epic is processed
|
|
12
|
+
- Resilient to interruptions - completed epics retain their Jira keys
|
|
13
|
+
- Automatically updates story files in `docs/stories/` with Jira Information sections
|
|
14
|
+
- Safe to re-run - skips already synced items
|
|
15
|
+
|
|
16
|
+
This atomic approach ensures that if the process fails at any point, all previously completed epics have their Jira references saved and won't be lost.
|
|
8
17
|
|
|
9
18
|
## When to Use This Task
|
|
10
19
|
|
|
@@ -18,10 +27,28 @@ Automatically synchronize individual epic files from `docs/prd/` directory to Ji
|
|
|
18
27
|
**Prerequisites:**
|
|
19
28
|
|
|
20
29
|
- Epic files in `docs/prd/` following naming pattern: `epic-*.md`
|
|
30
|
+
- Story files in `docs/stories/` following naming pattern: `{epic-number}.{story-number}-*.md` (optional)
|
|
21
31
|
- Jira preferences configured in `.bmad-core/data/jira-preferences.md`
|
|
22
32
|
- Active Jira connection with appropriate permissions
|
|
23
33
|
- MCP Jira integration available
|
|
24
34
|
|
|
35
|
+
## Processing Model
|
|
36
|
+
|
|
37
|
+
**IMPORTANT:** This task uses an **atomic processing model**. Each epic is fully processed (Jira creation + file updates) before moving to the next:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
For each epic file:
|
|
41
|
+
1. Create epic in Jira → Get epic key
|
|
42
|
+
2. Create all stories for this epic → Get story keys
|
|
43
|
+
3. Update epic file with all keys immediately
|
|
44
|
+
4. Update story files in docs/stories immediately
|
|
45
|
+
5. Move to next epic file
|
|
46
|
+
|
|
47
|
+
If process fails at epic N, epics 1 to N-1 are complete with saved references.
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This approach ensures **zero data loss** - you never lose Jira keys if the process is interrupted.
|
|
51
|
+
|
|
25
52
|
## Instructions
|
|
26
53
|
|
|
27
54
|
### Phase 1: Configuration & Validation
|
|
@@ -144,11 +171,15 @@ format: |
|
|
|
144
171
|
Enter selection (1-5):
|
|
145
172
|
```
|
|
146
173
|
|
|
147
|
-
### Phase 2: Epic Creation
|
|
174
|
+
### Phase 2: Epic and Story Creation (Process Each Epic Atomically)
|
|
175
|
+
|
|
176
|
+
**CRITICAL:** Process each epic file completely before moving to the next. This ensures that if the process fails, all completed epics will have their Jira references saved.
|
|
177
|
+
|
|
178
|
+
**For each epic file, execute Steps 5-7.5 before moving to the next epic:**
|
|
148
179
|
|
|
149
|
-
#### Step 5: Create
|
|
180
|
+
#### Step 5: Create Epic in Jira
|
|
150
181
|
|
|
151
|
-
**For
|
|
182
|
+
**For the current epic file:**
|
|
152
183
|
|
|
153
184
|
1. **Check Existing Jira Key:**
|
|
154
185
|
- Search for `[PM-XX]` or similar pattern in epic header
|
|
@@ -194,19 +225,13 @@ format: |
|
|
|
194
225
|
|
|
195
226
|
**Progress Output:**
|
|
196
227
|
```markdown
|
|
197
|
-
|
|
198
|
-
⊘ Epic
|
|
199
|
-
✓ Epic 2: Task Management Core → PM-25 (created)
|
|
200
|
-
✓ Epic 3: Task Filtering & API Polish → PM-26 (created)
|
|
201
|
-
|
|
202
|
-
Summary: 2 created, 1 skipped
|
|
228
|
+
Processing Epic 1: Foundation & Category Management
|
|
229
|
+
⊘ Epic already exists with key PM-6 (skipped)
|
|
203
230
|
```
|
|
204
231
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
#### Step 6: Create Stories in Jira
|
|
232
|
+
#### Step 6: Create Stories in Jira for Current Epic
|
|
208
233
|
|
|
209
|
-
**For each story in
|
|
234
|
+
**For each story in the current epic file:**
|
|
210
235
|
|
|
211
236
|
1. **Check Existing Jira Key:**
|
|
212
237
|
- Search for `[PM-XX]` in story header
|
|
@@ -262,22 +287,14 @@ Creating Stories for Epic PM-6:
|
|
|
262
287
|
⊘ Story 1.3: Category Repository → PM-11 (already exists, skipped)
|
|
263
288
|
⊘ Story 1.4: Category API Endpoints → PM-12 (already exists, skipped)
|
|
264
289
|
|
|
265
|
-
|
|
266
|
-
✓ Story 2.1: Task Entity → PM-27 (created)
|
|
267
|
-
✓ Story 2.2: Task Repository → PM-28 (created)
|
|
268
|
-
✓ Story 2.3: Task Validation → PM-29 (created)
|
|
269
|
-
✓ Story 2.4: Task API → PM-30 (created)
|
|
270
|
-
|
|
271
|
-
Summary: 4 created, 4 skipped
|
|
290
|
+
Summary for Epic 1: 0 created, 4 skipped
|
|
272
291
|
```
|
|
273
292
|
|
|
274
|
-
|
|
293
|
+
#### Step 7: Update Current Epic File with Jira Keys
|
|
275
294
|
|
|
276
|
-
|
|
295
|
+
**CRITICAL:** Immediately update the epic file with Jira references for traceability. This ensures that if the process fails later, this epic's references are already saved.
|
|
277
296
|
|
|
278
|
-
**
|
|
279
|
-
|
|
280
|
-
**For each processed epic file:**
|
|
297
|
+
**For the current epic file:**
|
|
281
298
|
|
|
282
299
|
1. **Update Epic Header:**
|
|
283
300
|
- Locate epic header line (e.g., `# Epic 1: Foundation...`)
|
|
@@ -314,15 +331,85 @@ Summary: 4 created, 4 skipped
|
|
|
314
331
|
|
|
315
332
|
**Progress Output:**
|
|
316
333
|
```markdown
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
334
|
+
✓ epic-1-foundation-category-management.md (updated with 5 Jira keys)
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
#### Step 7.5: Update Story Files in docs/stories for Current Epic
|
|
338
|
+
|
|
339
|
+
**CRITICAL:** Immediately after updating the epic file, search and update individual story files for this epic. This ensures atomicity per epic.
|
|
340
|
+
|
|
341
|
+
**For the current epic:**
|
|
342
|
+
|
|
343
|
+
1. **Extract Epic Number:**
|
|
344
|
+
- Get epic number from file name (e.g., `epic-1-` → epic number is `1`)
|
|
345
|
+
- Use this to search for related story files
|
|
346
|
+
|
|
347
|
+
2. **Search Story Files:**
|
|
348
|
+
- Scan `docs/stories/` directory
|
|
349
|
+
- Filter files matching pattern: `{epic-number}.{story-number}-*.md`
|
|
350
|
+
- Example: For epic 1, find files like `1.1-*.md`, `1.2-*.md`, `1.3-*.md`, etc.
|
|
351
|
+
- Only include files that start with the epic number prefix
|
|
352
|
+
|
|
353
|
+
3. **For Each Story File Found:**
|
|
354
|
+
- Read file content
|
|
355
|
+
- Check if it already has a "## Jira Information" section
|
|
356
|
+
- If not present, add the section at the end of the file (before any existing metadata)
|
|
357
|
+
|
|
358
|
+
4. **Add Jira Information Section:**
|
|
359
|
+
- Insert the following markdown at an appropriate location (after main content, before metadata):
|
|
360
|
+
|
|
361
|
+
```markdown
|
|
362
|
+
## Jira Information
|
|
363
|
+
|
|
364
|
+
**Jira Issue Key:** Not synced to Jira yet
|
|
365
|
+
**Jira URL:** Story will be synced to Jira using sync-story-to-jira task
|
|
321
366
|
|
|
322
|
-
|
|
367
|
+
_Note: Tasks will not be created in Jira until this story has an associated Jira issue._
|
|
323
368
|
```
|
|
324
369
|
|
|
325
|
-
|
|
370
|
+
5. **File Update Strategy:**
|
|
371
|
+
- If file has no "## Jira Information" section: Add it before the last `---` separator (if present) or at the end
|
|
372
|
+
- If file already has the section: Skip (do not modify)
|
|
373
|
+
- Preserve all existing content and formatting
|
|
374
|
+
|
|
375
|
+
**Progress Output:**
|
|
376
|
+
```markdown
|
|
377
|
+
Updating Story Files for Epic 1:
|
|
378
|
+
✓ 1.1-project-scaffolding.md (added Jira Information section)
|
|
379
|
+
✓ 1.2-database-configuration.md (added Jira Information section)
|
|
380
|
+
⊘ 1.3-category-repository.md (already has Jira Information, skipped)
|
|
381
|
+
✓ 1.4-category-api.md (added Jira Information section)
|
|
382
|
+
|
|
383
|
+
Summary for Epic 1: 4 story files found, 3 updated, 1 skipped
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
**After completing Steps 5-7.5 for the current epic, move to the next epic file and repeat the process.**
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
**Error Handling Per Epic:**
|
|
393
|
+
- **Issue:** Epic creation fails in Jira
|
|
394
|
+
- **Action:** Log error with details, skip to next epic (previous epics already saved)
|
|
395
|
+
- **Issue:** Story creation fails for a story
|
|
396
|
+
- **Action:** Log error, continue with remaining stories, update file with successful stories only
|
|
397
|
+
- **Issue:** Cannot update epic file
|
|
398
|
+
- **Action:** Log critical error with Jira keys, save keys to temporary file, continue processing
|
|
399
|
+
- **Issue:** No story files found for an epic
|
|
400
|
+
- **Action:** Log info message, continue with next epic (not an error)
|
|
401
|
+
- **Issue:** Story file cannot be read
|
|
402
|
+
- **Action:** Log warning, skip file, continue processing
|
|
403
|
+
- **Issue:** Story file cannot be written
|
|
404
|
+
- **Action:** Log error, report file path, continue with remaining files
|
|
405
|
+
|
|
406
|
+
**Advantages of Atomic Processing:**
|
|
407
|
+
- ✅ If process fails at Epic 3, Epics 1-2 are fully synced with saved references
|
|
408
|
+
- ✅ Easy to resume from last failed epic
|
|
409
|
+
- ✅ No risk of losing Jira keys created earlier in the process
|
|
410
|
+
- ✅ Each epic is a complete transaction
|
|
411
|
+
|
|
412
|
+
### Phase 3: Final Verification & Reporting
|
|
326
413
|
|
|
327
414
|
#### Step 8: Generate Sync Report
|
|
328
415
|
|
|
@@ -346,67 +433,70 @@ Total: 3 files processed, 2 files updated, 10 new keys added
|
|
|
346
433
|
- Created: {{created_stories}}
|
|
347
434
|
- Skipped (existing): {{skipped_stories}}
|
|
348
435
|
- **Failed Items:** {{failure_count}}
|
|
349
|
-
- **Files Updated:** {{updated_files}}/{{total_files}}
|
|
436
|
+
- **Epic Files Updated:** {{updated_files}}/{{total_files}}
|
|
437
|
+
- **Story Files Updated:** {{updated_story_files}}/{{total_story_files}}
|
|
438
|
+
- Files with Jira Information added: {{jira_info_added}}
|
|
439
|
+
- Files already with Jira Information: {{jira_info_skipped}}
|
|
350
440
|
|
|
351
|
-
##
|
|
441
|
+
## Processing Summary by Epic
|
|
352
442
|
|
|
353
|
-
### Epic
|
|
443
|
+
### Epic 1: {{epic_name}} (File: {{filename}})
|
|
354
444
|
|
|
355
|
-
**Epic
|
|
445
|
+
**Epic in Jira:** {{epic_key}} {{status}}
|
|
446
|
+
**Epic File:** ✓ Updated with Jira keys
|
|
447
|
+
**Story Files Updated:** {{story_files_updated}}/{{story_files_found}}
|
|
356
448
|
|
|
357
|
-
**Stories:**
|
|
449
|
+
**Stories Created/Updated:**
|
|
358
450
|
|
|
359
|
-
| Story Title | Jira Key | Status |
|
|
360
|
-
|
|
361
|
-
| {{title}} | {{key}} | ✓ Created |
|
|
362
|
-
| {{title}} | {{key}} | ⊘ Skipped |
|
|
451
|
+
| Story Title | Jira Key | Status | File Updated |
|
|
452
|
+
|-------------|----------|--------|--------------|
|
|
453
|
+
| {{title}} | {{key}} | ✓ Created | ✓ |
|
|
454
|
+
| {{title}} | {{key}} | ⊘ Skipped | ✓ |
|
|
363
455
|
|
|
364
456
|
---
|
|
365
457
|
|
|
366
|
-
### Epic
|
|
458
|
+
### Epic 2: {{epic_name}} (File: {{filename}})
|
|
367
459
|
|
|
368
|
-
**Epic
|
|
460
|
+
**Epic in Jira:** {{epic_key}} {{status}}
|
|
461
|
+
**Epic File:** ✓ Updated with Jira keys
|
|
462
|
+
**Story Files Updated:** {{story_files_updated}}/{{story_files_found}}
|
|
369
463
|
|
|
370
|
-
**Stories:**
|
|
464
|
+
**Stories Created/Updated:**
|
|
371
465
|
|
|
372
|
-
| Story Title | Jira Key | Status |
|
|
373
|
-
|
|
374
|
-
| {{title}} | {{key}} | ✓ Created |
|
|
375
|
-
| {{title}} | {{key}} | ✓ Created |
|
|
466
|
+
| Story Title | Jira Key | Status | File Updated |
|
|
467
|
+
|-------------|----------|--------|--------------|
|
|
468
|
+
| {{title}} | {{key}} | ✓ Created | ✓ |
|
|
469
|
+
| {{title}} | {{key}} | ✓ Created | ✓ |
|
|
376
470
|
|
|
377
471
|
---
|
|
378
472
|
|
|
379
473
|
## Failed Items
|
|
380
474
|
|
|
381
|
-
{{If any items failed}}
|
|
382
|
-
|
|
383
|
-
| Item | Type | File | Error |
|
|
384
|
-
|------|------|------|-------|
|
|
385
|
-
| {{name}} | {{type}} | {{file}} | {{error}} |
|
|
475
|
+
{{If any items failed during processing}}
|
|
386
476
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
|
390
|
-
|------|----------|-----------------|--------|
|
|
391
|
-
| {{file}} | {{key}} | {{count}} | ✓ Updated |
|
|
477
|
+
| Epic/Story | Type | File | Error | Files Updated? |
|
|
478
|
+
|------------|------|------|-------|----------------|
|
|
479
|
+
| {{name}} | {{type}} | {{file}} | {{error}} | {{yes/no}} |
|
|
392
480
|
|
|
393
481
|
## Next Steps
|
|
394
482
|
|
|
395
483
|
1. Review created issues in Jira: {{jira_project_url}}
|
|
396
|
-
2. {{If failures}}
|
|
397
|
-
3.
|
|
398
|
-
4.
|
|
399
|
-
5.
|
|
484
|
+
2. {{If failures}} Review failed items table above. All successful epics were saved during processing.
|
|
485
|
+
3. {{If failures}} To retry failed epics: Simply run the task again - successfully synced epics will be skipped automatically.
|
|
486
|
+
4. Verify all epic files have been updated with Jira keys (check files in docs/prd/)
|
|
487
|
+
5. Verify story files have Jira Information section (check files in docs/stories/)
|
|
488
|
+
6. Update story points and assignments as needed in Jira
|
|
489
|
+
7. Add to sprint/backlog for planning
|
|
400
490
|
|
|
401
491
|
## Traceability
|
|
402
492
|
|
|
403
|
-
|
|
493
|
+
All processed epic files have been updated with inline Jira keys during the sync process:
|
|
404
494
|
|
|
405
|
-
| Epic File | Epic Key | Story
|
|
406
|
-
|
|
407
|
-
| {{file}} | {{key}} | {{count}}
|
|
495
|
+
| Epic File | Epic Key | Stories | Epic File Updated | Story Files Updated |
|
|
496
|
+
|-----------|----------|---------|-------------------|---------------------|
|
|
497
|
+
| {{file}} | {{key}} | {{count}} | {{timestamp}} | {{count}} files |
|
|
408
498
|
|
|
409
|
-
|
|
499
|
+
**Note:** Each epic was processed atomically - Jira items created and files updated immediately before moving to the next epic. This ensures no references are lost if the process is interrupted.
|
|
410
500
|
|
|
411
501
|
---
|
|
412
502
|
*Generated by PM Agent - sync-epic-files-to-jira task*
|
|
@@ -416,34 +506,46 @@ All epic files have been updated with inline Jira keys for future reference.
|
|
|
416
506
|
|
|
417
507
|
**Manual verification steps:**
|
|
418
508
|
|
|
419
|
-
|
|
420
|
-
- [ ] All new
|
|
509
|
+
**Jira Validation:**
|
|
510
|
+
- [ ] All new epics created with correct information in Jira
|
|
511
|
+
- [ ] All new stories linked to appropriate epics in Jira
|
|
421
512
|
- [ ] Existing items were properly skipped (no duplicates)
|
|
422
513
|
- [ ] Custom fields populated correctly
|
|
423
514
|
- [ ] Labels applied for filtering
|
|
424
515
|
- [ ] Descriptions formatted correctly
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
- [ ]
|
|
516
|
+
|
|
517
|
+
**File Validation:**
|
|
518
|
+
- [ ] Each processed epic file has been updated with Jira keys (check in docs/prd/)
|
|
519
|
+
- [ ] Sync metadata added to each epic file
|
|
520
|
+
- [ ] Story headers in epic files have Jira keys
|
|
521
|
+
- [ ] Story files in docs/stories updated with Jira Information section
|
|
522
|
+
- [ ] Story files maintain proper naming convention ({epic-number}.{story-number}-*.md)
|
|
523
|
+
- [ ] No temporary files left behind
|
|
524
|
+
|
|
525
|
+
**Process Validation:**
|
|
526
|
+
- [ ] If process was interrupted, check which epics have Jira keys (those are complete)
|
|
527
|
+
- [ ] Failed epics are clearly identified in the report
|
|
528
|
+
- [ ] Traceability is complete for all successful epics
|
|
428
529
|
|
|
429
530
|
#### Step 10: Handoff
|
|
430
531
|
|
|
431
532
|
```elicit
|
|
432
533
|
path: Complete sync process
|
|
433
534
|
format: |
|
|
434
|
-
Epic files sync complete!
|
|
435
|
-
|
|
535
|
+
Epic files sync complete!
|
|
536
|
+
|
|
436
537
|
Summary:
|
|
437
538
|
- Epics Created: {{created_epics}}
|
|
438
539
|
- Stories Created: {{created_stories}}
|
|
439
|
-
- Files Updated: {{updated_files}}
|
|
440
|
-
|
|
540
|
+
- Epic Files Updated: {{updated_files}}
|
|
541
|
+
- Story Files Updated: {{updated_story_files}} (Jira Information added)
|
|
542
|
+
|
|
441
543
|
Would you like to:
|
|
442
544
|
1. View full sync report
|
|
443
545
|
2. Open Jira project in browser
|
|
444
546
|
3. Generate stakeholder notification
|
|
445
547
|
4. Complete and exit
|
|
446
|
-
|
|
548
|
+
|
|
447
549
|
Enter selection (1-4):
|
|
448
550
|
```
|
|
449
551
|
|
|
@@ -475,16 +577,32 @@ format: |
|
|
|
475
577
|
- **Solution:** Files must start with `epic-` to be detected
|
|
476
578
|
- **Action:** Rename files or adjust scanning pattern
|
|
477
579
|
|
|
580
|
+
**Issue:** Story files not found in docs/stories
|
|
581
|
+
- **Solution:** Verify story files follow naming convention `{epic-number}.{story-number}-*.md`
|
|
582
|
+
- **Action:** Task will log info message and continue (story files are optional)
|
|
583
|
+
|
|
584
|
+
**Issue:** Story file already has Jira Information section
|
|
585
|
+
- **Solution:** This is expected for previously processed files
|
|
586
|
+
- **Action:** Skip file, no update needed
|
|
587
|
+
|
|
588
|
+
**Issue:** Cannot write to story files in docs/stories
|
|
589
|
+
- **Solution:** Check write permissions for docs/stories directory
|
|
590
|
+
- **Action:** Log error for affected files, continue with remaining files
|
|
591
|
+
|
|
478
592
|
## Tips for Success
|
|
479
593
|
|
|
480
594
|
1. **Start with Dry Run:** Set `dry_run_mode: true` for first sync to preview results
|
|
481
|
-
2. **
|
|
482
|
-
3. **
|
|
483
|
-
4. **
|
|
484
|
-
5. **
|
|
485
|
-
6. **
|
|
486
|
-
7. **
|
|
487
|
-
8. **
|
|
595
|
+
2. **Backup Files First:** Commit or backup epic files before running sync (though atomic processing minimizes risk)
|
|
596
|
+
3. **Safe to Re-run:** If the process fails, just run it again - completed epics will be skipped automatically
|
|
597
|
+
4. **Check Existing Keys:** Epic files with `[PM-XX]` keys are skipped to avoid duplicates
|
|
598
|
+
5. **Monitor Progress:** Watch the console output - each epic completes fully before moving to the next
|
|
599
|
+
6. **Interruption Recovery:** If interrupted, check which epic files have Jira keys - those are complete
|
|
600
|
+
7. **Consistent Formatting:** Ensure all epic files follow similar structure for proper parsing
|
|
601
|
+
8. **Review After Sync:** Manually verify a few items in Jira to ensure correct mapping
|
|
602
|
+
9. **Version Control:** Files are updated during processing - commit after successful completion
|
|
603
|
+
10. **Story File Naming:** Ensure story files in docs/stories follow naming pattern `{epic-number}.{story-number}-*.md`
|
|
604
|
+
11. **Use Labels:** Leverage `epic-file-sync` label for easy filtering in Jira
|
|
605
|
+
12. **Resume Failed Epics:** To retry only failed epics, simply re-run the task
|
|
488
606
|
|
|
489
607
|
## Integration with Other Tasks
|
|
490
608
|
|
|
@@ -508,6 +626,7 @@ Refer to the configuration file for detailed documentation of all available sett
|
|
|
508
626
|
|
|
509
627
|
---
|
|
510
628
|
|
|
511
|
-
**Task Version:**
|
|
512
|
-
**Last Updated:** 2025-12-
|
|
629
|
+
**Task Version:** 2.0.0
|
|
630
|
+
**Last Updated:** 2025-12-21
|
|
631
|
+
**Major Change:** Atomic processing model - each epic is fully processed (Jira + files) before moving to next
|
|
513
632
|
**Dependencies:** MCP Jira Integration, jira-preferences.md, shard-prd task (optional)
|
|
@@ -34,6 +34,7 @@ activation-instructions:
|
|
|
34
34
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
35
35
|
- STAY IN CHARACTER!
|
|
36
36
|
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
|
37
|
+
- JIRA CONFIGURATION CHECK: Before executing any Jira-related command (sync-prd-to-jira, create-epic, create-story), ALWAYS check if docs/jira-conf.md exists. If NOT found, inform user that project-specific Jira configuration is required and offer to run `*jira-setup` command to create it interactively.
|
|
37
38
|
agent:
|
|
38
39
|
name: John
|
|
39
40
|
id: pm
|
|
@@ -68,6 +69,7 @@ commands:
|
|
|
68
69
|
- create-prd: run task create-doc.md with template prd-tmpl.yaml
|
|
69
70
|
- create-story: Create user story from requirements (task brownfield-create-story)
|
|
70
71
|
- doc-out: Output full document to current destination file
|
|
72
|
+
- jira-setup: Configure Jira integration (provider, project, organization)
|
|
71
73
|
- shard-prd: run the task shard-doc.md for the provided prd.md (ask if not found)
|
|
72
74
|
- sync-epic-files-to-jira: Sync individual epic files from docs/prd/ to Jira (task sync-epic-files-to-jira.md)
|
|
73
75
|
- sync-prd-to-jira: Automatically create Jira epics and stories from PRD (task sync-prd-to-jira.md)
|
|
@@ -87,6 +89,7 @@ dependencies:
|
|
|
87
89
|
- create-deep-research-prompt.md
|
|
88
90
|
- create-doc.md
|
|
89
91
|
- execute-checklist.md
|
|
92
|
+
- jira-setup.md
|
|
90
93
|
- shard-doc.md
|
|
91
94
|
- sync-epic-files-to-jira.md
|
|
92
95
|
- sync-prd-to-jira.md
|
|
@@ -84,6 +84,7 @@ commands:
|
|
|
84
84
|
- sync-epic-to-jira {epic-number}: Sync all approved stories from an epic to Jira (task sync-stories-batch-to-jira with scope epic-N)
|
|
85
85
|
- update-epic-status {epic-number}: Batch update status of all stories in an epic (task update-epic-stories-jira-status)
|
|
86
86
|
- validate-story-draft {story}: run the task validate-next-story against the provided story file
|
|
87
|
+
- create-user-guide: Run the task create-user-guide
|
|
87
88
|
- yolo: Toggle Yolo Mode off on - on will skip doc section confirmations
|
|
88
89
|
- exit: Exit (confirm)
|
|
89
90
|
dependencies:
|
|
@@ -35,6 +35,7 @@ activation-instructions:
|
|
|
35
35
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
36
36
|
- STAY IN CHARACTER!
|
|
37
37
|
- CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
|
|
38
|
+
- JIRA CONFIGURATION CHECK: Before executing any Jira-related command (sync-prd-to-jira, create-epic, create-story), ALWAYS check if docs/jira-conf.md exists. If NOT found, inform user that project-specific Jira configuration is required and offer to run `*jira-setup` command to create it interactively.
|
|
38
39
|
agent:
|
|
39
40
|
name: John
|
|
40
41
|
id: pm
|
|
@@ -66,6 +67,7 @@ commands:
|
|
|
66
67
|
- create-prd: run task create-doc.md with template prd-tmpl.yaml
|
|
67
68
|
- create-story: Create user story from requirements (task brownfield-create-story)
|
|
68
69
|
- doc-out: Output full document to current destination file
|
|
70
|
+
- jira-setup: Configure Jira integration (provider, project, organization)
|
|
69
71
|
- shard-prd: run the task shard-doc.md for the provided prd.md (ask if not found)
|
|
70
72
|
- sync-epic-files-to-jira: Sync individual epic files from docs/prd/ to Jira (task sync-epic-files-to-jira.md)
|
|
71
73
|
- sync-prd-to-jira: Automatically create Jira epics and stories from PRD (task sync-prd-to-jira.md)
|
|
@@ -85,6 +87,7 @@ dependencies:
|
|
|
85
87
|
- create-deep-research-prompt.md
|
|
86
88
|
- create-doc.md
|
|
87
89
|
- execute-checklist.md
|
|
90
|
+
- jira-setup.md
|
|
88
91
|
- shard-doc.md
|
|
89
92
|
- sync-epic-files-to-jira.md
|
|
90
93
|
- sync-prd-to-jira.md
|