siesa-agents 2.1.70 → 2.1.72-qa.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/bin/install.js +103 -0
  2. package/claude/commands/bmad/bmm/workflows/check-implementation-readiness.md +5 -1
  3. package/claude/commands/bmad/bmm/workflows/correct-course.md +1 -1
  4. package/claude/commands/bmad/bmm/workflows/create-architecture.md +5 -1
  5. package/claude/commands/bmad/bmm/workflows/create-product-brief.md +5 -1
  6. package/claude/commands/bmad/bmm/workflows/create-ux-design.md +5 -1
  7. package/claude/commands/bmad/bmm/workflows/generate-project-context.md +1 -1
  8. package/claude/commands/bmad/bmm/workflows/workflow-init.md +1 -1
  9. package/claude/commands/get-features/oauth-config.example.json +1 -1
  10. package/claude/skills/delivery-sa-agent-guides/SKILL.md +162 -0
  11. package/claude/skills/generate-commits-by-phase/skill.md +5 -0
  12. package/gemini/commands/bmad-workflow-bmm-correct-course.toml +1 -1
  13. package/gemini/commands/bmad-workflow-bmm-create-architecture.toml +1 -1
  14. package/gemini/commands/bmad-workflow-bmm-generate-project-context.toml +1 -1
  15. package/github/workflows/publish-qa.yml +59 -0
  16. package/mcp.json +7 -0
  17. package/package.json +1 -1
  18. package/siesa-agents/bmm/workflows/1-analysis/create-product-brief/workflow_ext.md +70 -0
  19. package/siesa-agents/bmm/workflows/2-plan-workflows/create-ux-design/workflow_ext.md +105 -0
  20. package/siesa-agents/bmm/workflows/2-plan-workflows/prd/workflow_ext.md +69 -0
  21. package/siesa-agents/bmm/workflows/3-solutioning/check-implementation-readiness/workflow_ext.md +70 -0
  22. package/siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md +103 -11
  23. package/siesa-agents/bmm/workflows/3-solutioning/create-epics-and-stories/workflow_ext.md +73 -0
  24. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_design_test.md +1 -1
  25. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_dor_gate.md +379 -0
  26. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/prompts/prompt_playwright_impl.md +355 -0
  27. package/siesa-agents/bmm/workflows/3-solutioning/quality-process/workflow.md +1402 -298
  28. package/siesa-agents/bmm/workflows/4-implementation/code-review/workflow_ext.md +80 -0
  29. package/siesa-agents/bmm/workflows/4-implementation/correct-course/workflow_ext.md +11 -0
  30. package/siesa-agents/bmm/workflows/4-implementation/create-story/workflow_ext.md +35 -1
  31. package/siesa-agents/bmm/workflows/4-implementation/dev-story/workflow_ext.md +35 -1
  32. package/siesa-agents/bmm/workflows/4-implementation/sprint-status/workflow_ext.md +42 -0
  33. package/siesa-agents/bmm/workflows/{2-planning/generate-project-context → generate-project-context}/workflow_ext.md +92 -1
  34. package/siesa-agents/bmm/workflows/workflow-status/Init/workflow_ext.md +92 -0
  35. package/siesa-agents/core/tasks/shard-doc.md +41 -24
  36. package/siesa-agents/observability/README.md +81 -0
  37. package/siesa-agents/observability/scripts/sa-emit.js +246 -0
  38. package/siesa-agents/resources/architecture/architecture-both.md +822 -0
  39. package/siesa-agents/resources/architecture/architecture-single-backend.md +565 -0
  40. package/siesa-agents/resources/ux-ui/ux-design-specification.md +837 -0
  41. package/siesa-agents/scripts/bmad_to_agiletest.py +1584 -0
  42. package/siesa-agents/scripts/merge_test_design.py +106 -0
  43. package/siesa-agents/scripts/phases/phase1.js +110 -0
  44. package/siesa-agents/scripts/phases/phase2.js +110 -0
  45. package/siesa-agents/scripts/phases/phase3.js +110 -0
package/bin/install.js CHANGED
@@ -4,6 +4,7 @@ const fs = require('fs-extra');
4
4
  const path = require('path');
5
5
  const { sourceMapsEnabled } = require('process');
6
6
  const readline = require('readline');
7
+ const { execSync } = require('child_process');
7
8
 
8
9
  class SiesaBmadInstaller {
9
10
  constructor() {
@@ -108,6 +109,82 @@ class SiesaBmadInstaller {
108
109
  return fs.existsSync(folderPath);
109
110
  });
110
111
  }
112
+
113
+ checkExistingGitInstallation() {
114
+ const gitDir = path.join(this.targetDir, '.git');
115
+ return fs.existsSync(gitDir);
116
+ }
117
+
118
+ checkExistingGitignore() {
119
+ const gitignorePath = path.join(this.targetDir, '.gitignore');
120
+ return fs.existsSync(gitignorePath);
121
+ }
122
+
123
+ async promptHasRepository() {
124
+ console.log('\n¿Tienes un repositorio remoto?');
125
+ console.log('1. Sí');
126
+ console.log('2. No, parametrizar manual después');
127
+
128
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
129
+ return new Promise((resolve) => {
130
+ rl.question('\nElige una opción (1 o 2): ', (answer) => {
131
+ rl.close();
132
+ resolve(answer.trim());
133
+ });
134
+ });
135
+ }
136
+
137
+ async promptRepositoryUrl() {
138
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
139
+ return new Promise((resolve) => {
140
+ rl.question('Ingresa la URL del repositorio: ', (answer) => {
141
+ rl.close();
142
+ resolve(answer.trim());
143
+ });
144
+ });
145
+ }
146
+
147
+ async installGitignore() {
148
+ const gitignorePath = path.join(this.targetDir, '.gitignore');
149
+ const entries = [
150
+ 'node_modules/',
151
+ '.claude/commands/get-features/oauth-config.json',
152
+ '.claude/commands/get-features/tokens.json'
153
+ ];
154
+
155
+ let content = entries.join('\n') + '\n';
156
+
157
+ // Si ya existe, agregar solo las entradas que falten
158
+ if (fs.existsSync(gitignorePath)) {
159
+ const existing = await fs.readFile(gitignorePath, 'utf8');
160
+ const missing = entries.filter(e => !existing.includes(e));
161
+ if (missing.length === 0) {
162
+ console.log('✓ .gitignore ya contiene todas las entradas requeridas.');
163
+ return;
164
+ }
165
+ content = existing.trimEnd() + '\n' + missing.join('\n') + '\n';
166
+ console.log(`🔄 Actualizando .gitignore con ${missing.length} entrada(s) faltante(s)...`);
167
+ } else {
168
+ console.log('📝 Generando .gitignore...');
169
+ }
170
+
171
+ await fs.writeFile(gitignorePath, content, 'utf8');
172
+ console.log('✓ .gitignore instalado correctamente.');
173
+ }
174
+
175
+ installGit(repository) {
176
+ const options = { cwd: this.targetDir, stdio: 'inherit' };
177
+
178
+ console.log(' Ejecutando git init...');
179
+ execSync('git init', options);
180
+ console.log('✓ Repositorio git inicializado.');
181
+
182
+ if (repository !== null) {
183
+ console.log(` Configurando remote origin: ${repository}`);
184
+ execSync(`git remote add origin ${repository}`, options);
185
+ console.log('✓ Remote origin configurado.');
186
+ }
187
+ }
111
188
 
112
189
  async install() {
113
190
  this.showBanner();
@@ -129,6 +206,32 @@ class SiesaBmadInstaller {
129
206
  await this.performInstallation();
130
207
  }
131
208
 
209
+ //Verificar si ya existe un git
210
+ const hasExistingGitInstallation = this.checkExistingGitInstallation();
211
+ if(hasExistingGitInstallation){
212
+ console.log('✓ Ya existia una instalacion de un repositorio git en el proyecto, validando si existe el .gitignore...');
213
+ const hasExistingGitignore = this.checkExistingGitignore();
214
+ if(hasExistingGitignore){
215
+ console.log('✓ Ya existe un .gitignore, Actualizando...')
216
+ await this.installGitignore();
217
+ } else {
218
+ await this.installGitignore();
219
+ }
220
+ } else {
221
+ console.log('\nInstalando git...');
222
+ const hasRepo = await this.promptHasRepository();
223
+ if (hasRepo === '1') {
224
+ const repository = await this.promptRepositoryUrl();
225
+ await this.installGit(repository);
226
+ } else {
227
+ await this.installGit(null);
228
+ console.log('\n⚠️ ADVERTENCIA: No se configuró un repositorio remoto.');
229
+ console.log(' Para vincularlo más adelante, ejecuta manualmente:');
230
+ console.log(' git remote add origin <url-de-tu-repositorio>');
231
+ }
232
+ await this.installGitignore();
233
+ }
234
+
132
235
  console.log('✅ SIESA Agents instalado correctamente!');
133
236
  this.showPostInstallMessage();
134
237
 
@@ -2,4 +2,8 @@
2
2
  description: 'Critical validation workflow that assesses PRD, Architecture, and Epics & Stories for completeness and alignment before implementation. Uses adversarial review approach to find gaps and issues.'
3
3
  ---
4
4
 
5
- IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly!
5
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND:
6
+
7
+ 1. FIRST, LOAD and READ the FULL contents of the custom extension file at: `_siesa-agents/bmm/workflows/3-solutioning/check-implementation-readiness/workflow_ext.md ` — This contains mandatory pre-workflow context injection rules. Execute its steps BEFORE proceeding.
8
+
9
+ 2. LOAD the FULL @_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md, READ its entire contents and follow its directions exactly!
@@ -5,7 +5,7 @@ description: 'Navigate significant changes during sprint execution by analyzing
5
5
  IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
6
 
7
7
  <steps CRITICAL="TRUE">
8
- 1. ALWAYS Load and read the workflow extension from @{project-root}/_siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md to understand the Company Standards Context.
8
+ 1. ALWAYS Load and read the workflow extension from @{project-root}/_siesa-agents/bmm/workflows/4-implementation/correct-course/workflow_ext.md to understand the Company Standards Context.
9
9
  2. Always LOAD the FULL @_bmad/core/tasks/workflow.xml
10
10
  3. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml
11
11
  4. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
@@ -2,4 +2,8 @@
2
2
  description: 'Collaborative architectural decision facilitation for AI-agent consistency. Replaces template-driven architecture with intelligent, adaptive conversation that produces a decision-focused architecture document optimized for preventing agent conflicts.'
3
3
  ---
4
4
 
5
- IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly!
5
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND:
6
+
7
+ 1. FIRST, LOAD and READ the FULL contents of the custom extension file at: `_siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md ` — This contains mandatory pre-workflow context injection rules. Execute its steps BEFORE proceeding.
8
+
9
+ 2.LOAD the FULL @_siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md, READ its entire contents and follow its directions exactly!
@@ -2,4 +2,8 @@
2
2
  description: 'Create comprehensive product briefs through collaborative step-by-step discovery as creative Business Analyst working with the user as peers.'
3
3
  ---
4
4
 
5
- IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly!
5
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND:
6
+
7
+ 1. FIRST, LOAD and READ the FULL contents of the custom extension file at: `_siesa-agents/bmm/workflows/1-analysis/create-product-brief/workflow_ext.md ` — This contains mandatory pre-workflow context injection rules. Execute its steps BEFORE proceeding.
8
+
9
+ 2. LOAD the FULL @_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md, READ its entire contents and follow its directions exactly!
@@ -2,4 +2,8 @@
2
2
  description: 'Work with a peer UX Design expert to plan your applications UX patterns, look and feel.'
3
3
  ---
4
4
 
5
- IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly!
5
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND:
6
+
7
+ 1. FIRST, LOAD and READ the FULL contents of the custom extension file at: `_siesa-agents/bmm/workflows/2-plan-workflows/create-ux-design/workflow_ext.md ` — This contains mandatory pre-workflow context injection rules. Execute its steps BEFORE proceeding.
8
+
9
+ 2. LOAD the FULL @_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md, READ its entire contents and follow its directions exactly!
@@ -5,7 +5,7 @@ description: 'Creates a concise project-context.md file with critical rules and
5
5
  IT IS CRITICAL THAT YOU FOLLOW THESE STEPS:
6
6
 
7
7
  <steps CRITICAL="TRUE">
8
- 1. FIRST: LOAD and READ the FULL @_siesa-agents/bmm/workflows/2-planning/generate-project-context/workflow_ext.md — This contains mandatory context injection rules and an interactive menu. Apply them BEFORE proceeding.
8
+ 1. FIRST: LOAD and READ the FULL @_siesa-agents/bmm/workflows/generate-project-context/workflow_ext.md — This contains mandatory context injection rules and an interactive menu. Apply them BEFORE proceeding.
9
9
  2. AFTER the menu choices are handled: LOAD the FULL @_bmad/bmm/workflows/generate-project-context/workflow.md
10
10
  3. READ its entire contents and follow its directions exactly, making sure to apply the output file path constraints derived from STEP 1!
11
11
  </steps>
@@ -5,7 +5,7 @@ description: 'Initialize a new BMM project by determining level, type, and creat
5
5
  IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
6
 
7
7
  <steps CRITICAL="TRUE">
8
- 1. FIRST: LOAD and READ the FULL @_siesa-agents/bmm/workflows/workflow-status/Init/workflow_ext.md — This contains mandatory extension rules for cloning Siesa base repositories at Step 10. Hold them in memory and apply them at the end of the workflow.
8
+ 1. FIRST: LOAD and READ the FULL @_siesa-agents/bmm/workflows/workflow-status/Init/workflow_ext.md — This contains mandatory pre-workflow context injection rules and contains mandatory extension rules for cloning Siesa base repositories at Step 10. Hold them in memory and apply them at the end of the workflow.
9
9
  2. Always LOAD the FULL @_bmad/core/tasks/workflow.xml
10
10
  3. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/workflow-status/init/workflow.yaml
11
11
  4. Pass the yaml path _bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
@@ -2,7 +2,7 @@
2
2
  "client_id": "TU_CLIENT_ID",
3
3
  "client_secret": "TU_CLIENT_SECRET",
4
4
  "redirect_uri": "http://localhost:3000/callback",
5
- "scopes": "read:jira-work read:jira-user offline_access",
5
+ "scopes": "read:jira-work write:jira-work read:jira-user offline_access",
6
6
  "cloud_id": "TU_CLOUD_ID",
7
7
  "jira_base_url": "https://api.atlassian.com/ex/jira/TU_CLOUD_ID/rest/api/3",
8
8
  "default_instance": null,
@@ -0,0 +1,162 @@
1
+ ---
2
+ name: delivery-sa-agent-guides
3
+ description: Generate client-ready delivery guides from user-guide documents indexed in the mcp-siesa-docs MCP. Use this skill when a delivery team member needs to transform user-guide content into simple, end-user friendly material. Always trigger on /delivery-agent-guides. Also trigger when the user says "generar guía de entrega", "guía para el cliente", "documentación de entrega para [project]", "guía para usuario final", or describes wanting to turn indexed user-guide docs into something a non-technical client can understand.
4
+ ---
5
+
6
+ # Delivery Agent Guides
7
+
8
+ Transform user-guide documents (from the `mcp-siesa-docs` MCP) into a clear, client-ready delivery guide — plain language, no jargon, for non-technical end users.
9
+
10
+ The MCP is the only source of content. The local filesystem is not scanned.
11
+
12
+ ---
13
+
14
+ ## Flow
15
+
16
+ ### Step 1: Discover projects with user-guides (automatic)
17
+
18
+ As soon as the skill is invoked, without asking the user first:
19
+
20
+ 1. Call `list_collections()` to confirm `mcp-siesa-docs` is available.
21
+ 2. Call `search_docs("user guide proyectos disponibles")` to find projects whose indexed docs include a `user-guide` directory.
22
+ 3. Build the candidate list: **only include projects that have at least one document in their `user-guide` directory**. Projects with only feature specs, épicas, stories, or architecture docs are excluded (Option A).
23
+ 4. Present the list to the user:
24
+ ```
25
+ Proyectos con guías de usuario disponibles:
26
+ [1] {project-name-1}
27
+ [2] {project-name-2}
28
+ ...
29
+
30
+ ¿Para cuál proyecto quieres generar la guía de entrega?
31
+ ```
32
+ 5. The user replies with a number or project name.
33
+
34
+ If zero projects qualify, tell the user plainly ("No encontré proyectos con user-guide indexado en el MCP") and stop.
35
+
36
+ ---
37
+
38
+ ### Step 2: Pull the user-guide content from the MCP
39
+
40
+ 1. `search_docs("user guide [proyecto seleccionado]")` to list the user-guide documents of the chosen project.
41
+ 2. For each result, call `get_document(path)` to fetch the full content.
42
+ 3. **Strict filter**: process only documents whose `path` is inside the project's `user-guide` directory. Ignore feature specs, épicas, stories, architecture, or any other technical doc, even if they show up in results.
43
+
44
+ Keep the list of `path`s used — you will cite them in the final confirmation.
45
+
46
+ ---
47
+
48
+ ### Step 3: Write the delivery guide
49
+
50
+ Write one unified `delivery-guide.md`. All content in Spanish. Audience: non-technical end user.
51
+
52
+ **Content to keep and rewrite in plain language:**
53
+ - Feature name and purpose
54
+ - Step-by-step workflows
55
+ - Key concepts and field definitions (simplified)
56
+ - Troubleshooting and FAQs
57
+ - Warnings (⚠️) — rephrase without technical detail; keep the practical implication
58
+
59
+ **Content to transform:**
60
+ - Mermaid diagrams → rewrite as one or two plain sentences describing the flow. Never emit Mermaid syntax.
61
+
62
+ **Content to omit:**
63
+ - `📸 [Screenshot: ...]` placeholders
64
+ - `[Source: FX Story Y.Z]` traceability references
65
+ - Screenshot index tables
66
+ - Implementation component names (ContactManager, EmptyState, ErrorPanel, etc.) — describe the behavior instead
67
+ - `*Generado: ...` footers
68
+
69
+ **Output template:**
70
+
71
+ ```markdown
72
+ ---
73
+ project: {project-name}
74
+ generated_date: {YYYY-MM-DD}
75
+ sources:
76
+ - {mcp-path-1}
77
+ - {mcp-path-2}
78
+ audience: Usuario final no técnico
79
+ ---
80
+
81
+ # Guía de {Nombre del Proyecto}
82
+
83
+ ## ¿Qué es {Nombre del Proyecto}?
84
+ 2-3 sentences. What the app does and who it is for. No technical terms.
85
+
86
+ ## ¿Para qué sirve?
87
+ What problems it solves, from the user's perspective.
88
+
89
+ ---
90
+
91
+ ## {Feature 1}
92
+
93
+ ### ¿Qué es?
94
+ One paragraph. Plain description.
95
+
96
+ ### ¿Para qué sirve?
97
+ The practical benefit to the user.
98
+
99
+ ### ¿Cómo se usa?
100
+ Numbered step-by-step. One clear action per step.
101
+ Include warnings inline (⚠️ ...) directly before the step that can cause an issue.
102
+
103
+ ---
104
+
105
+ ## {Feature 2}
106
+ (same structure)
107
+
108
+ ---
109
+
110
+ ## Solución de Problemas
111
+ Plain Q&A: "¿Qué hago si...? → ..."
112
+
113
+ ## Preguntas Frecuentes
114
+ Plain Q&A. No technical language.
115
+ ```
116
+
117
+ **Writing guidelines:**
118
+ - Target a reader who is comfortable with a smartphone but has no software background.
119
+ - Active voice, direct instructions: "Haz clic en...", "Escribe...", "Selecciona..."
120
+ - Short sentences. If a sentence needs a comma to explain a technical concept, rewrite it.
121
+ - If a concept has no practical value to the end user, drop it.
122
+
123
+ ---
124
+
125
+ ### Step 4: Save and confirm
126
+
127
+ Save to:
128
+ ```
129
+ _bmad-output/documentation-artifacts/delivery-guides/{project-name}/delivery-guide.md
130
+ ```
131
+
132
+ Create the directory if it doesn't exist.
133
+
134
+ Then confirm:
135
+ ```
136
+ Guía guardada en: _bmad-output/documentation-artifacts/delivery-guides/{project-name}/delivery-guide.md
137
+
138
+ Features incluidas:
139
+ - {feature 1}
140
+ - {feature 2}
141
+
142
+ Fuentes del MCP:
143
+ - {mcp-path-1}
144
+ - {mcp-path-2}
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Transformation Reference
150
+
151
+ | Technical element | Delivery guide treatment |
152
+ |---|---|
153
+ | `deep linking` / URL única por registro | "Cada registro tiene su propia dirección web que puedes guardar o compartir" |
154
+ | `ContactManager`, `EmptyState`, `ErrorPanel` | Drop the name; describe what the user sees |
155
+ | `NIT/RUC` | Keep — explain once: "número de identificación tributaria (NIT/RUC)" |
156
+ | `Toast` notification | "mensaje de confirmación que aparece brevemente en pantalla" |
157
+ | Reintentar button on error | "si aparece un error, haz clic en Reintentar" |
158
+ | Panel de dos columnas | "La pantalla se divide en dos partes: a la izquierda la lista, a la derecha el detalle" |
159
+ | Validación inline | "mensajes de error junto al campo que necesita corrección" |
160
+ | Mermaid code block | One or two plain sentences describing the flow |
161
+ | `[Source: FX Story Y.Z]` | Omit |
162
+ | `📸 [Screenshot: ...]` | Omit |
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: 'Manages git branch creation and commits for the three SIESA development phases using the official phase scripts. Use this skill when a workflow step requests creating a phase branch or committing changes for a specific phase. Triggers when the user or a workflow references "phase 1/2/3 branch", "discovery/planning/solutioning branch", "commit phase changes", "create phase branch", or any operation involving the SIESA phase scripts (phase1.js, phase2.js, phase3.js).'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @.agents/skills/generate-commits-by-phase/SKILL.md, READ its entire contents and follow its directions exactly!
@@ -3,7 +3,7 @@ prompt = """
3
3
  IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
4
4
 
5
5
  <steps CRITICAL="TRUE">
6
- 1. ALWAYS Load and read the workflow extension from @{project-root}/_siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md to understand the Company Standards Context.
6
+ 1. ALWAYS Load and read the workflow extension from @{project-root}/_siesa-agents/bmm/workflows/4-implementation/correct-course/workflow_ext.md to understand the Company Standards Context.
7
7
  2. Always LOAD the FULL @_bmad/core/tasks/workflow.xml
8
8
  3. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml
9
9
  4. Pass the yaml path _bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
@@ -1,4 +1,4 @@
1
1
  description = "BMAD BMM Workflow: create-architecture"
2
2
  prompt = """
3
- IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md, READ its entire contents and follow its directions exactly!
3
+ IT IS CRITICAL THAT YOU FOLLOW THIS COMMAND: LOAD the FULL @_siesa-agents/bmm/workflows/3-solutioning/create-architecture/workflow_ext.md, READ its entire contents and follow its directions exactly!
4
4
  """
@@ -3,7 +3,7 @@ prompt = """
3
3
  IT IS CRITICAL THAT YOU FOLLOW THESE STEPS:
4
4
 
5
5
  <steps CRITICAL="TRUE">
6
- 1. FIRST: LOAD and READ the FULL @_siesa-agents/bmm/workflows/2-planning/generate-project-context/workflow_ext.md — This contains mandatory context injection rules and an interactive menu. Apply them BEFORE proceeding.
6
+ 1. FIRST: LOAD and READ the FULL @_siesa-agents/bmm/workflows/generate-project-context/workflow_ext.md — This contains mandatory context injection rules and an interactive menu. Apply them BEFORE proceeding.
7
7
  2. AFTER the menu choices are handled: LOAD the FULL @_bmad/bmm/workflows/generate-project-context/workflow.md
8
8
  3. READ its entire contents and follow its directions exactly, making sure to apply the output file path constraints derived from STEP 1!
9
9
  </steps>
@@ -0,0 +1,59 @@
1
+ name: Publish to npm (qa)
2
+ on:
3
+ push:
4
+ branches:
5
+ - qa
6
+ jobs:
7
+ publish-qa:
8
+ runs-on: ubuntu-latest
9
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
10
+ permissions:
11
+ contents: write
12
+ id-token: write
13
+ steps:
14
+ - name: Create GitHub App Token
15
+ uses: actions/create-github-app-token@v1
16
+ id: app-token
17
+ with:
18
+ app-id: ${{ vars.VERSION_BUMPER_APPID }}
19
+ private-key: ${{ secrets.VERSION_BUMPER_SECRET }}
20
+ - name: Checkout repository
21
+ uses: actions/checkout@v4
22
+ with:
23
+ ref: qa
24
+ fetch-depth: 0
25
+ token: ${{ steps.app-token.outputs.token }}
26
+ - name: Setup Node.js
27
+ uses: actions/setup-node@v4
28
+ with:
29
+ node-version: '22'
30
+ registry-url: 'https://registry.npmjs.org'
31
+ - name: Update npm for OIDC support
32
+ run: |
33
+ npm install -g npm@~11.10.0
34
+ npm install -g npm@latest
35
+ - name: Configure Git
36
+ run: |
37
+ git config user.name "github-actions[bot]"
38
+ git config user.email "github-actions[bot]@users.noreply.github.com"
39
+ - name: Install dependencies
40
+ run: npm ci --ignore-scripts
41
+ - name: Bump qa prerelease version
42
+ run: |
43
+ CURRENT_VERSION=$(node -p "require('./package.json').version")
44
+ if git rev-parse "v$CURRENT_VERSION" >/dev/null 2>&1; then
45
+ echo "Tag v$CURRENT_VERSION already exists — bumping prerelease"
46
+ npm version prerelease --preid=qa -m "chore(release): %s [skip ci]"
47
+ else
48
+ echo "Tag v$CURRENT_VERSION does not exist — publishing existing version"
49
+ fi
50
+ - name: Build
51
+ run: npm run build || echo "No build script, continuing..."
52
+ - name: Push version bump
53
+ run: git push --follow-tags || echo "Nothing to push, continuing..."
54
+ - name: Publish to npm with qa tag
55
+ run: |
56
+ npm config set //registry.npmjs.org/:_authToken "${NPM_TOKEN}"
57
+ npm publish --tag qa --access public
58
+ env:
59
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
package/mcp.json CHANGED
@@ -1,5 +1,12 @@
1
1
  {
2
2
  "mcpServers": {
3
+ "mcp-siesa-docs": {
4
+ "type": "http",
5
+ "url": "https://platform-architecture-mcp-siesa-103767536676.us-east1.run.app/mcp",
6
+ "headers": {
7
+ "Authorization": "Bearer none"
8
+ }
9
+ },
3
10
  "atlassian": {
4
11
  "type": "sse",
5
12
  "url": "https://mcp.atlassian.com/v1/sse"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "siesa-agents",
3
- "version": "2.1.70",
3
+ "version": "2.1.72-qa.0",
4
4
  "description": "Paquete para instalar y configurar agentes SIESA en tu proyecto",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -0,0 +1,70 @@
1
+ # MANDATORY RULES: CREATE-PRODUCT-BRIEF WORKFLOW
2
+
3
+ ---
4
+
5
+ ## RULE 1 — PHASE BRANCH CREATION AT WORKFLOW START
6
+
7
+ **TRIGGER:** Immediately when the user initiates the `create-product-brief` workflow (e.g., `/create-product-brief`).
8
+
9
+ **CRITICAL INSTRUCTION:** Before loading `workflow.md` or executing any workflow step, you MUST invoke the `generate-commits-by-phase` skill to create the Phase 1 discovery branch.
10
+
11
+ ### EXECUTION STEPS (PERFORM THESE ACTIONS NOW, BEFORE ANYTHING ELSE)
12
+
13
+ **STEP 1: INVOKE THE SKILL — CREATE PHASE 1 BRANCH**
14
+
15
+ Run the skill `generate-commits-by-phase` with **Operation A: Create Phase Branch** for **Phase 1 (discovery)**:
16
+
17
+ ```bash
18
+ node _siesa-agents/scripts/phases/phase1.js
19
+ ```
20
+
21
+ - If the `discovery` branch already exists, the script will report it — continue normally.
22
+ - If it is created successfully, confirm to the user and proceed.
23
+
24
+ **STEP 2: CONFIRM AND CONTINUE**
25
+
26
+ Output to the user:
27
+ > `✅ Phase 1 (discovery) branch ready. Proceeding with Product Brief creation...`
28
+
29
+ **DO NOT proceed to `workflow.md` until this rule is fully executed.**
30
+
31
+ ---
32
+
33
+ ## RULE 2 — PHASE COMMIT AT WORKFLOW END
34
+
35
+ **TRIGGER:** Immediately after the `create-product-brief` workflow completes all its steps and the Product Brief document has been generated/saved.
36
+
37
+ **CRITICAL INSTRUCTION:** As the final action of this workflow, you MUST invoke the `generate-commits-by-phase` skill to commit all changes for Phase 1.
38
+
39
+ ### EXECUTION STEPS (PERFORM THESE ACTIONS AT THE END)
40
+
41
+ **STEP 1: INSPECT CHANGES**
42
+
43
+ Before committing, inspect the repository state:
44
+
45
+ 1. Run `git status --short` to identify which files were created or modified.
46
+ 2. Run `git diff --stat` to understand the scope of changes.
47
+
48
+ **STEP 2: GENERATE COMMIT MESSAGE**
49
+
50
+ Build a concise commit message using the format:
51
+ `[Phase 1 - Discovery] <brief description of what was produced>`
52
+
53
+ **Example:** `[Phase 1 - Discovery] add product brief for <project name>`
54
+
55
+ Write the message in the same language used throughout the conversation.
56
+
57
+ **STEP 3: INVOKE THE SKILL — COMMIT PHASE 1 CHANGES**
58
+
59
+ Run the skill `generate-commits-by-phase` with **Operation B: Commit All Changes** for **Phase 1 (discovery)**:
60
+
61
+ ```bash
62
+ node _siesa-agents/scripts/phases/phase1.js --commit "<generated commit message>"
63
+ ```
64
+
65
+ **STEP 4: CONFIRM COMPLETION**
66
+
67
+ Output to the user:
68
+ > `✅ Product Brief changes committed to Phase 1 (discovery) branch.`
69
+
70
+ **This is the LAST action of the workflow. Do not execute any further steps after this commit.**
@@ -0,0 +1,105 @@
1
+ # MANDATORY RULES: CREATE-UX-DESIGN WORKFLOW
2
+
3
+ ---
4
+
5
+ ## 1. MANDATORY RULE — PHASE BRANCH CREATION AT WORKFLOW START
6
+
7
+ **TRIGGER:** Immediately when the user initiates this workflow (e.g., `/create-ux-design`).
8
+
9
+ **CRITICAL INSTRUCTION:** Before executing any workflow step, you MUST invoke the `generate-commits-by-phase` skill to create the Phase 2 planning branch.
10
+
11
+ ### EXECUTION STEPS (PERFORM THESE ACTIONS NOW, BEFORE ANYTHING ELSE)
12
+
13
+ **STEP 1: INVOKE THE SKILL — CREATE PHASE 2 BRANCH**
14
+
15
+ Run the skill `generate-commits-by-phase` with **Operation A: Create Phase Branch** for **Phase 2 (planning)**:
16
+
17
+ ```bash
18
+ node _siesa-agents/scripts/phases/phase2.js
19
+ ```
20
+
21
+ - If the `planning` branch already exists, the script will report it — continue normally.
22
+ - If it is created successfully, confirm to the user and proceed.
23
+
24
+ **STEP 2: CONFIRM AND CONTINUE**
25
+
26
+ Output to the user:
27
+ > `✅ Phase 2 (planning) branch ready. Proceeding with UX Design creation...`
28
+
29
+ **DO NOT proceed to the workflow steps until this rule is fully executed.**
30
+
31
+ ---
32
+
33
+ ## 2. INITIALIZATION — CHECK FOR EXISTING UX DESIGN DOCUMENT
34
+
35
+ Before executing any workflow step, search for an existing UX design document:
36
+
37
+ 1. Look for a file matching `*ux-design-specification*.md` inside the `{planning_artifacts}/` folder.
38
+ - Glob pattern to check: `{planning_artifacts}/*ux-design-specification*.md`
39
+
40
+ ---
41
+
42
+ ## 3. DECISION BRANCH
43
+
44
+ ### If `ux-design-specification.md` EXISTS
45
+
46
+ Use the **AskUserQuestion** tool to present the following options (respect `communication_language` from config):
47
+
48
+ > Se encontró un documento de especificación UX/UI existente en `{planning_artifacts}/ux-design-specification.md`.
49
+ >
50
+ > ¿Qué deseas hacer?
51
+ >
52
+ > **[1] Editar** — Abrir el documento para revisarlo y modificarlo de forma colaborativa.
53
+ > **[2] Resumen** — Generar un resumen ejecutivo del documento actual.
54
+
55
+ Wait for the user's selection and act accordingly:
56
+
57
+ - **Option 1 — Edit:** Read the full contents of `{planning_artifacts}/ux-design-specification.md`, present it to the user section by section, and facilitate collaborative editing. Apply changes directly to the file using the Edit tool.
58
+ - **Option 2 — Summary:** Read the full contents of `{planning_artifacts}/ux-design-specification.md` and produce a concise executive summary covering: design vision, target users, design system decisions, visual foundations, component strategy, and any open design questions.
59
+
60
+ ---
61
+
62
+ ### If `ux-design-specification.md` does NOT EXIST
63
+
64
+ LOAD the FULL `@_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md`, READ its entire contents and follow its directions exactly!
65
+
66
+ ---
67
+
68
+ ## 4. MANDATORY RULE — PHASE COMMIT AT WORKFLOW END
69
+
70
+ **TRIGGER:** Immediately after all workflow steps complete and the UX Design document has been generated/saved.
71
+
72
+ **CRITICAL INSTRUCTION:** As the final action of this workflow, you MUST invoke the `generate-commits-by-phase` skill to commit all changes for Phase 2.
73
+
74
+ ### EXECUTION STEPS (PERFORM THESE ACTIONS AT THE END)
75
+
76
+ **STEP 1: INSPECT CHANGES**
77
+
78
+ Before committing, inspect the repository state:
79
+
80
+ 1. Run `git status --short` to identify which files were created or modified.
81
+ 2. Run `git diff --stat` to understand the scope of changes.
82
+
83
+ **STEP 2: GENERATE COMMIT MESSAGE**
84
+
85
+ Build a concise commit message using the format:
86
+ `[Phase 2 - Planning] <brief description of what was produced>`
87
+
88
+ **Example:** `[Phase 2 - Planning] add UX design document for <project name>`
89
+
90
+ Write the message in the same language used throughout the conversation.
91
+
92
+ **STEP 3: INVOKE THE SKILL — COMMIT PHASE 2 CHANGES**
93
+
94
+ Run the skill `generate-commits-by-phase` with **Operation B: Commit All Changes** for **Phase 2 (planning)**:
95
+
96
+ ```bash
97
+ node _siesa-agents/scripts/phases/phase2.js --commit "<generated commit message>"
98
+ ```
99
+
100
+ **STEP 4: CONFIRM COMPLETION**
101
+
102
+ Output to the user:
103
+ > `✅ UX Design changes committed to Phase 2 (planning) branch.`
104
+
105
+ **This is the LAST action of the workflow. Do not execute any further steps after this commit.**