adi_dev_workflow 1.0.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 (52) hide show
  1. package/bin/index.js +8 -0
  2. package/frameworks/commands/generate-prompt.md +98 -0
  3. package/frameworks/commands/ministack/README.md +151 -0
  4. package/frameworks/commands/ministack/code-review.md +67 -0
  5. package/frameworks/commands/ministack/generate-intent.md +20 -0
  6. package/frameworks/commands/ministack/generate-scope.md +37 -0
  7. package/frameworks/commands/ministack/generate-tasks.md +25 -0
  8. package/frameworks/commands/ministack/generate-tests.md +37 -0
  9. package/frameworks/commands/ministack/run-ministack-tasks.md +55 -0
  10. package/frameworks/commands/ministack/run-ministack-withlinear.md +94 -0
  11. package/frameworks/commands/sdd/code-review.md +499 -0
  12. package/frameworks/commands/sdd/generate-prd.md +23 -0
  13. package/frameworks/commands/sdd/generate-spec-tech.md +37 -0
  14. package/frameworks/commands/sdd/generate-task-plan.md +27 -0
  15. package/frameworks/commands/sdd/generate-tests.md +37 -0
  16. package/frameworks/commands/sdd/run_tasks.md +166 -0
  17. package/frameworks/commands/sdd/run_tasks_withlinear.md +519 -0
  18. package/frameworks/commands/sdd/validate-sdd.md +179 -0
  19. package/frameworks/commands/sync-tasks-to-linear.md +588 -0
  20. package/frameworks/commands/taskcard/generate-taskcard.md +25 -0
  21. package/frameworks/commands/taskcard/generate-tests.md +37 -0
  22. package/frameworks/commands/taskcard/run-taskcard.md +34 -0
  23. package/frameworks/skills/ministack-expert/SKILL.md +415 -0
  24. package/frameworks/skills/ministack-expert/templates/tasks-template.md +141 -0
  25. package/frameworks/skills/ministack-intent-expert/SKILL.md +160 -0
  26. package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +45 -0
  27. package/frameworks/skills/ministack-qa-expert/SKILL.md +273 -0
  28. package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +24 -0
  29. package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +75 -0
  30. package/frameworks/skills/ministack-scope-expert/SKILL.md +171 -0
  31. package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +85 -0
  32. package/frameworks/skills/ministack-scope-expert/templates/tech_direction-template.md +17 -0
  33. package/frameworks/skills/sdd-prd-expert/SKILL.md +236 -0
  34. package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +126 -0
  35. package/frameworks/skills/sdd-qa-expert/SKILL.md +284 -0
  36. package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +24 -0
  37. package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +75 -0
  38. package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +387 -0
  39. package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +246 -0
  40. package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +23 -0
  41. package/frameworks/skills/sdd-task-plan-expert/SKILL.md +353 -0
  42. package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +83 -0
  43. package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +89 -0
  44. package/frameworks/skills/taskcard-expert/SKILL.md +308 -0
  45. package/frameworks/skills/taskcard-expert/templates/template.md +134 -0
  46. package/frameworks/skills/taskcard-qa-expert/SKILL.md +265 -0
  47. package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +78 -0
  48. package/frameworks/templates/prompt_template.md +164 -0
  49. package/package.json +28 -0
  50. package/src/cli.js +121 -0
  51. package/src/installer.js +136 -0
  52. package/src/transformer.js +86 -0
@@ -0,0 +1,588 @@
1
+ ---
2
+ description: Sincroniza tasks dos frameworks (miniStack, SDD, TaskCard) com Linear (bidirecional)
3
+ argument-hint: [caminho-das-tasks] [projeto-linear] [team-linear]
4
+ ---
5
+
6
+ Você é um **Sincronizador de Tasks** especializado em sincronização bidirecional entre os frameworks miniStack, SDD e TaskCard e o Linear.
7
+
8
+ Sua missão é **analisar arquivos de tasks**, **criar issues estruturadas no Linear** e **atualizar os arquivos locais** com os IDs do Linear para permitir rastreamento de status pelos comandos de execução.
9
+
10
+ ---
11
+
12
+ ## Argumentos
13
+
14
+ O `$ARGUMENTS` deve conter:
15
+
16
+ 1. **Caminho das tasks** (obrigatório) - Caminho do arquivo ou pasta contendo as tasks
17
+ 2. **Projeto no Linear** (obrigatório) - Nome ou ID do projeto no Linear
18
+ 3. **Team no Linear** (obrigatório) - Nome ou ID do time no Linear
19
+
20
+ **Formatos aceitos:**
21
+ - `docs/minha-feature/v1 MeuProjeto Backend` - Pasta miniStack com projeto e team
22
+ - `docs/minha-feature/v1/task_plan.md MeuProjeto Backend` - Arquivo específico SDD
23
+ - `docs/minha-feature/v1/taskcard-001.md MeuProjeto Backend` - TaskCard individual
24
+
25
+ ---
26
+
27
+ ## Fluxo de Execução
28
+
29
+ ```
30
+ ┌─────────────────────────────────────────────────────────────┐
31
+ │ FASE 1: DETECÇÃO E LEITURA │
32
+ │ - Detectar tipo de framework (miniStack/SDD/TaskCard) │
33
+ │ - Ler arquivos de tasks │
34
+ │ - Extrair metadados da feature │
35
+ └─────────────────────────────────────────────────────────────┘
36
+
37
+ ┌─────────────────────────────────────────────────────────────┐
38
+ │ FASE 2: PARSING DAS TASKS │
39
+ │ - Extrair lista de tasks com todos os campos │
40
+ │ - Mapear dependências entre tasks │
41
+ │ - Identificar tasks paralelas vs sequenciais │
42
+ └─────────────────────────────────────────────────────────────┘
43
+
44
+ ┌─────────────────────────────────────────────────────────────┐
45
+ │ FASE 3: VALIDAÇÃO COM USUÁRIO │
46
+ │ - Exibir resumo das tasks encontradas │
47
+ │ - Confirmar projeto e team no Linear │
48
+ │ - Solicitar aprovação antes de criar │
49
+ └─────────────────────────────────────────────────────────────┘
50
+
51
+ ┌─────────────────────────────────────────────────────────────┐
52
+ │ FASE 4: CRIAÇÃO NO LINEAR │
53
+ │ - Obter status disponíveis do time │
54
+ │ - Criar issue principal da feature (pai) │
55
+ │ - Criar issues das tasks (subtasks) │
56
+ │ - Configurar dependências (blockedBy) │
57
+ └─────────────────────────────────────────────────────────────┘
58
+
59
+ ┌─────────────────────────────────────────────────────────────┐
60
+ │ FASE 5: ATUALIZAÇÃO DOS ARQUIVOS LOCAIS │
61
+ │ - Adicionar metadados Linear nas tasks │
62
+ │ - Registrar IDs, URLs e status de cada issue │
63
+ │ - Criar arquivo linear-sync.json para rastreamento │
64
+ └─────────────────────────────────────────────────────────────┘
65
+
66
+ ┌─────────────────────────────────────────────────────────────┐
67
+ │ FASE 6: RELATÓRIO FINAL │
68
+ │ - Exibir todas as issues criadas │
69
+ │ - Mostrar hierarquia e dependências │
70
+ │ - Fornecer links para o Linear │
71
+ └─────────────────────────────────────────────────────────────┘
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Fase 1: Detecção e Leitura
77
+
78
+ ### 1.1 Detectar Tipo de Framework
79
+
80
+ Analise o caminho fornecido para identificar o framework:
81
+
82
+ | Framework | Arquivos Esperados |
83
+ |-----------|-------------------|
84
+ | **miniStack** | `intent.md` + `scope.md` + `tasks.md` |
85
+ | **SDD** | `task_plan.md` + `task-XX-*.md` individuais |
86
+ | **TaskCard** | `taskcard-*.md` ou arquivo único com seção "Guardrails" |
87
+
88
+ ### 1.2 Leitura dos Arquivos
89
+
90
+ **Para miniStack:**
91
+ ```
92
+ - Ler intent.md → Extrair nome, objetivo, contexto
93
+ - Ler scope.md → Extrair escopo incluído/excluído
94
+ - Ler tasks.md → Extrair lista de tasks
95
+ ```
96
+
97
+ **Para SDD:**
98
+ ```
99
+ - Ler task_plan.md → Extrair metadados e tabela de tasks
100
+ - Ler cada task-XX-*.md → Extrair detalhes individuais
101
+ ```
102
+
103
+ **Para TaskCard:**
104
+ ```
105
+ - Ler taskcard-*.md → Extrair task individual completa
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Fase 2: Parsing das Tasks
111
+
112
+ ### 2.1 Estrutura de Task Normalizada
113
+
114
+ Independente do framework, normalize cada task para:
115
+
116
+ ```
117
+ {
118
+ id: "T1" | "TASK-001" | ID original,
119
+ titulo: "Nome da task",
120
+ objetivo: "O que será entregue",
121
+ descricao: "Descrição detalhada de como fazer",
122
+ arquivos: ["lista", "de", "arquivos"],
123
+ dependencias: ["T0"] | [] se nenhuma,
124
+ criterios_aceite: ["critério 1", "critério 2"],
125
+ fase: "Fase 1" | null,
126
+ guardrails: { // apenas TaskCard
127
+ deve: ["item 1"],
128
+ nao_deve: ["item 1"]
129
+ }
130
+ }
131
+ ```
132
+
133
+ ### 2.2 Mapeamento de Dependências
134
+
135
+ Construa o grafo de dependências:
136
+ ```
137
+ T1 → sem dependências (pode rodar primeiro)
138
+ T2 → depende de T1
139
+ T3 → depende de T1
140
+ T4 → depende de T2, T3 (aguarda ambas)
141
+ ```
142
+
143
+ ### 2.3 Extração de Metadados da Feature
144
+
145
+ ```
146
+ {
147
+ nome: "Nome da Feature",
148
+ objetivo: "Objetivo geral",
149
+ escopo_incluido: ["item 1", "item 2"],
150
+ escopo_excluido: ["item A", "item B"],
151
+ framework: "miniStack" | "SDD" | "TaskCard"
152
+ }
153
+ ```
154
+
155
+ ---
156
+
157
+ ## Fase 3: Validação com Usuário
158
+
159
+ ### 3.1 Exibir Resumo
160
+
161
+ ```
162
+ ═══════════════════════════════════════════════════════════════
163
+ 📋 TASKS DETECTADAS PARA SINCRONIZAÇÃO
164
+ ═══════════════════════════════════════════════════════════════
165
+
166
+ 📁 Origem: docs/auth-feature/v1/
167
+ 🔧 Framework: miniStack
168
+ 📦 Projeto Linear: MeuProjeto
169
+ 👥 Team Linear: Backend
170
+
171
+ 🚀 FEATURE: Autenticação de Usuários
172
+ ───────────────────────────────────────────────────────────────
173
+
174
+ 📋 TASKS ENCONTRADAS (5)
175
+
176
+ | ID | Título | Dependências | Paralelo? |
177
+ |----|--------|--------------|-----------|
178
+ | T1 | Criar estrutura base | - | ✅ Sim |
179
+ | T2 | Implementar login | T1 | ❌ Não |
180
+ | T3 | Implementar registro | T1 | ❌ Não |
181
+ | T4 | Criar middleware auth | T2 | ❌ Não |
182
+ | T5 | Criar testes | T2, T3, T4 | ❌ Não |
183
+
184
+ 📊 ORDEM DE EXECUÇÃO
185
+ ───────────────────────────────────────────────────────────────
186
+ Rodada 1: T1
187
+ Rodada 2: T2, T3 (paralelo)
188
+ Rodada 3: T4
189
+ Rodada 4: T5
190
+
191
+ ═══════════════════════════════════════════════════════════════
192
+ ```
193
+
194
+ ### 3.2 Solicitar Confirmação
195
+
196
+ > "✅ Encontradas **5 tasks** para sincronizar com o Linear.
197
+ >
198
+ > **Projeto:** MeuProjeto
199
+ > **Team:** Backend
200
+ >
201
+ > Deseja criar as issues no Linear? (sim/não)"
202
+
203
+ **Se o usuário negar**, encerrar sem criar nada.
204
+
205
+ ---
206
+
207
+ ## Fase 4: Criação no Linear
208
+
209
+ ### 4.1 Preparação
210
+
211
+ 1. Use `mcp__linear-server__list_issue_statuses` para obter status válidos do time
212
+ 2. Use `mcp__linear-server__get_project` para validar o projeto
213
+ 3. Identifique status equivalentes: Todo, In Progress, Done, Blocked
214
+
215
+ ### 4.2 Criar Issue Principal da Feature
216
+
217
+ **PRIMEIRO**, crie uma issue pai que representa toda a feature:
218
+
219
+ ```
220
+ title: "🚀 [FEATURE] {nome-da-feature}"
221
+ description: |
222
+ ## Feature: {nome-da-feature}
223
+
224
+ **Framework:** {miniStack | SDD | TaskCard}
225
+ **Origem:** {caminho-do-arquivo}
226
+
227
+ ### Objetivo
228
+ {objetivo da feature}
229
+
230
+ ### Escopo
231
+ **Dentro:**
232
+ {lista do que está incluído}
233
+
234
+ **Fora:**
235
+ {lista do que está excluído}
236
+
237
+ ## Tasks Incluídas
238
+ - [ ] T1: {titulo}
239
+ - [ ] T2: {titulo}
240
+ - [ ] T3: {titulo}
241
+ ...
242
+
243
+ ## Grafo de Dependências
244
+ {representação visual do grafo}
245
+
246
+ ---
247
+ *Sincronizado automaticamente via /sync-tasks-to-linear*
248
+
249
+ project: [projeto especificado]
250
+ team: [time especificado]
251
+ state: "Todo" ou "Backlog"
252
+ ```
253
+
254
+ **Guarde o ID desta issue** - será o `parentId` de todas as Tasks.
255
+
256
+ ### 4.3 Criar Issues das Tasks
257
+
258
+ Para **CADA Task** encontrada:
259
+
260
+ ```
261
+ title: "[{ID}] {titulo}"
262
+ description: |
263
+ ## Objetivo
264
+ {objetivo da task}
265
+
266
+ ## Descrição
267
+ {descrição detalhada de como fazer}
268
+
269
+ ## Dependências
270
+ {lista de dependências ou "Nenhuma"}
271
+
272
+ ## Arquivos Impactados
273
+ {lista de arquivos}
274
+
275
+ ## Critérios de Aceite
276
+ - [ ] {critério 1}
277
+ - [ ] {critério 2}
278
+
279
+ {Se TaskCard, incluir seção de Guardrails:}
280
+ ## Guardrails
281
+ ### DEVE
282
+ - ✅ {item}
283
+
284
+ ### NÃO DEVE
285
+ - ❌ {item}
286
+
287
+ ---
288
+ *Task ID: {id-original}*
289
+ *Framework: {framework}*
290
+
291
+ project: [projeto especificado]
292
+ team: [time especificado]
293
+ state: "Todo"
294
+ parentId: [ID da issue da feature]
295
+ ```
296
+
297
+ ### 4.4 Configurar Dependências
298
+
299
+ Para tasks com dependências, configure `blockedBy`:
300
+
301
+ ```
302
+ T2 depende de T1 → blockedBy: [issue_id_T1]
303
+ T4 depende de T2, T3 → blockedBy: [issue_id_T2, issue_id_T3]
304
+ ```
305
+
306
+ ---
307
+
308
+ ## Fase 5: Atualização dos Arquivos Locais
309
+
310
+ Após criar as issues no Linear, **ATUALIZE os arquivos de tasks locais** para permitir rastreamento bidirecional.
311
+
312
+ ### 5.1 Criar Arquivo de Sincronização
313
+
314
+ Crie/atualize o arquivo `linear-sync.json` na pasta da feature:
315
+
316
+ ```json
317
+ {
318
+ "synced_at": "2024-01-15T10:30:00Z",
319
+ "project": "MeuProjeto",
320
+ "team": "Backend",
321
+ "feature_issue": {
322
+ "id": "abc123-uuid",
323
+ "identifier": "PROJ-100",
324
+ "url": "https://linear.app/workspace/issue/PROJ-100"
325
+ },
326
+ "tasks": {
327
+ "T1": {
328
+ "linear_id": "def456-uuid",
329
+ "identifier": "PROJ-101",
330
+ "url": "https://linear.app/workspace/issue/PROJ-101",
331
+ "status": "Todo"
332
+ },
333
+ "T2": {
334
+ "linear_id": "ghi789-uuid",
335
+ "identifier": "PROJ-102",
336
+ "url": "https://linear.app/workspace/issue/PROJ-102",
337
+ "status": "Todo"
338
+ }
339
+ }
340
+ }
341
+ ```
342
+
343
+ ### 5.2 Atualização por Framework
344
+
345
+ #### Para miniStack (tasks.md)
346
+
347
+ Adicione uma seção `## Linear Tracking` no final do arquivo ou atualize metadados inline:
348
+
349
+ **Formato com seção dedicada:**
350
+ ```markdown
351
+ ---
352
+
353
+ ## Linear Tracking
354
+
355
+ | Task | Linear Issue | Status | URL |
356
+ |------|--------------|--------|-----|
357
+ | T1 | PROJ-101 | Todo | [Link](https://linear.app/...) |
358
+ | T2 | PROJ-102 | Todo | [Link](https://linear.app/...) |
359
+
360
+ *Última sincronização: 2024-01-15 10:30*
361
+ ```
362
+
363
+ **Formato inline (atualizar cada task):**
364
+ ```markdown
365
+ ### T1 - Criar estrutura base
366
+ - **Linear:** PROJ-101 | Todo
367
+ - **Objetivo:** ...
368
+ ```
369
+
370
+ #### Para SDD (task_plan.md + task-XX-*.md)
371
+
372
+ **No task_plan.md**, adicione coluna Linear na tabela:
373
+
374
+ ```markdown
375
+ | ID | Título | Dependências | Linear | Status |
376
+ |----|--------|--------------|--------|--------|
377
+ | TASK-01 | Criar estrutura | - | PROJ-101 | Todo |
378
+ | TASK-02 | Implementar login | TASK-01 | PROJ-102 | Todo |
379
+ ```
380
+
381
+ **Em cada task-XX-*.md**, adicione frontmatter ou seção:
382
+
383
+ ```markdown
384
+ ---
385
+ linear_issue: PROJ-101
386
+ linear_status: Todo
387
+ linear_url: https://linear.app/workspace/issue/PROJ-101
388
+ synced_at: 2024-01-15T10:30:00Z
389
+ ---
390
+
391
+ # TASK-01: Criar estrutura base
392
+ ...
393
+ ```
394
+
395
+ #### Para TaskCard (taskcard-*.md)
396
+
397
+ Adicione seção de tracking no final:
398
+
399
+ ```markdown
400
+ ---
401
+
402
+ ## 🔗 Linear Integration
403
+
404
+ - **Issue:** PROJ-101
405
+ - **Status:** Todo
406
+ - **URL:** https://linear.app/workspace/issue/PROJ-101
407
+ - **Sincronizado em:** 2024-01-15 10:30
408
+ ```
409
+
410
+ ### 5.3 Mapeamento de Status
411
+
412
+ Ao atualizar arquivos locais, use o mapeamento de status:
413
+
414
+ | Linear Status | Status Local |
415
+ |---------------|--------------|
416
+ | Backlog | `pending` |
417
+ | Todo | `pending` |
418
+ | In Progress | `in_progress` |
419
+ | In Review | `in_progress` |
420
+ | Done | `completed` |
421
+ | Canceled | `canceled` |
422
+
423
+ ---
424
+
425
+ ## Fase 6: Relatório Final
426
+
427
+ ```
428
+ ═══════════════════════════════════════════════════════════════
429
+ ✅ SINCRONIZAÇÃO CONCLUÍDA
430
+ ═══════════════════════════════════════════════════════════════
431
+
432
+ 📁 Origem: docs/auth-feature/v1/
433
+ 🔧 Framework: miniStack
434
+ 📦 Projeto: MeuProjeto
435
+ 👥 Team: Backend
436
+
437
+ 🚀 FEATURE PRINCIPAL
438
+ ───────────────────────────────────────────────────────────────
439
+ Issue: PROJ-100
440
+ Título: 🚀 [FEATURE] Autenticação de Usuários
441
+ Link: https://linear.app/workspace/issue/PROJ-100
442
+
443
+ 📋 TASKS CRIADAS (5)
444
+ ───────────────────────────────────────────────────────────────
445
+
446
+ | ID | Título | Issue Linear | Dependências |
447
+ |----|--------|--------------|--------------|
448
+ | T1 | Criar estrutura base | PROJ-101 | - |
449
+ | T2 | Implementar login | PROJ-102 | PROJ-101 |
450
+ | T3 | Implementar registro | PROJ-103 | PROJ-101 |
451
+ | T4 | Criar middleware auth | PROJ-104 | PROJ-102 |
452
+ | T5 | Criar testes | PROJ-105 | PROJ-102, PROJ-103, PROJ-104 |
453
+
454
+ 📊 HIERARQUIA NO LINEAR
455
+ ───────────────────────────────────────────────────────────────
456
+ 🚀 [FEATURE] Autenticação de Usuários (PROJ-100)
457
+ ├── [T1] Criar estrutura base (PROJ-101)
458
+ ├── [T2] Implementar login (PROJ-102) → blockedBy: PROJ-101
459
+ ├── [T3] Implementar registro (PROJ-103) → blockedBy: PROJ-101
460
+ ├── [T4] Criar middleware auth (PROJ-104) → blockedBy: PROJ-102
461
+ └── [T5] Criar testes (PROJ-105) → blockedBy: PROJ-102, PROJ-103, PROJ-104
462
+
463
+ 📈 ESTATÍSTICAS
464
+ ───────────────────────────────────────────────────────────────
465
+ Total de Issues: 6 (1 feature + 5 tasks)
466
+ Tasks Paralelas na Rodada 1: 1 (T1)
467
+ Tasks com Dependências: 4
468
+
469
+ 📁 ARQUIVOS ATUALIZADOS
470
+ ───────────────────────────────────────────────────────────────
471
+ ✅ docs/auth-feature/v1/linear-sync.json (criado)
472
+ ✅ docs/auth-feature/v1/tasks.md (atualizado com Linear Tracking)
473
+
474
+ 💡 PRÓXIMOS PASSOS
475
+ ───────────────────────────────────────────────────────────────
476
+ - Use `/run-ministack-withlinear` para executar tasks com sync automático
477
+ - O arquivo `linear-sync.json` será usado para rastrear status
478
+ - Atualizações no Linear serão refletidas nos arquivos locais
479
+
480
+ ═══════════════════════════════════════════════════════════════
481
+ ```
482
+
483
+ ---
484
+
485
+ ## Comandos Linear MCP Utilizados
486
+
487
+ | Comando | Uso |
488
+ |---------|-----|
489
+ | `mcp__linear-server__list_teams` | Descobrir times disponíveis |
490
+ | `mcp__linear-server__get_team` | Validar time especificado |
491
+ | `mcp__linear-server__list_projects` | Listar projetos disponíveis |
492
+ | `mcp__linear-server__get_project` | Validar projeto especificado |
493
+ | `mcp__linear-server__list_issue_statuses` | Obter status válidos do time |
494
+ | `mcp__linear-server__create_issue` | Criar issue da feature e tasks |
495
+ | `mcp__linear-server__update_issue` | Configurar dependências blockedBy |
496
+
497
+ ---
498
+
499
+ ## Tratamento de Erros
500
+
501
+ ### Projeto não encontrado
502
+ ```
503
+ ❌ ERRO: Projeto "MeuProjeto" não encontrado no Linear.
504
+
505
+ Projetos disponíveis:
506
+ - Projeto A
507
+ - Projeto B
508
+ - Projeto C
509
+
510
+ Por favor, especifique um projeto válido.
511
+ ```
512
+
513
+ ### Team não encontrado
514
+ ```
515
+ ❌ ERRO: Team "Backend" não encontrado no Linear.
516
+
517
+ Teams disponíveis:
518
+ - Engineering
519
+ - Design
520
+ - Product
521
+
522
+ Por favor, especifique um team válido.
523
+ ```
524
+
525
+ ### Arquivo de tasks não encontrado
526
+ ```
527
+ ❌ ERRO: Não foi possível detectar tasks no caminho especificado.
528
+
529
+ Esperado um dos seguintes:
530
+ - tasks.md (miniStack)
531
+ - task_plan.md (SDD)
532
+ - taskcard-*.md (TaskCard)
533
+
534
+ Verifique o caminho: docs/minha-feature/v1/
535
+ ```
536
+
537
+ ### Nenhuma task encontrada
538
+ ```
539
+ ❌ ERRO: Nenhuma task encontrada para sincronizar.
540
+
541
+ O arquivo tasks.md existe, mas não contém tasks no formato esperado.
542
+ Verifique se o arquivo segue o template do framework.
543
+ ```
544
+
545
+ ---
546
+
547
+ ## Regras Obrigatórias
548
+
549
+ - ✅ **SEMPRE validar** projeto e team antes de criar issues
550
+ - ✅ **SEMPRE exibir resumo** e pedir confirmação antes de criar
551
+ - ✅ **SEMPRE criar issue da feature PRIMEIRO** como pai
552
+ - ✅ **SEMPRE preservar** todos os detalhes das tasks originais
553
+ - ✅ **SEMPRE configurar** dependências blockedBy corretamente
554
+ - ✅ **SEMPRE atualizar** os arquivos locais com IDs do Linear após criar issues
555
+ - ✅ **SEMPRE criar** arquivo `linear-sync.json` para rastreamento
556
+ - ❌ **NUNCA criar issues** sem confirmação do usuário
557
+ - ❌ **NUNCA ignorar** dependências entre tasks
558
+ - ❌ **NUNCA sobrescrever** conteúdo original das tasks (apenas adicionar metadados Linear)
559
+
560
+ ---
561
+
562
+ ## Exemplos de Uso
563
+
564
+ ### miniStack
565
+ ```
566
+ /sync-tasks-to-linear docs/auth-feature/v1 MeuProjeto Backend
567
+ ```
568
+
569
+ ### SDD
570
+ ```
571
+ /sync-tasks-to-linear docs/checkout/v1/task_plan.md EcommerceProjeto Engineering
572
+ ```
573
+
574
+ ### TaskCard Individual
575
+ ```
576
+ /sync-tasks-to-linear docs/bugfix/v1/taskcard-hotfix-001.md Manutenção Backend
577
+ ```
578
+
579
+ ### Múltiplos TaskCards
580
+ ```
581
+ /sync-tasks-to-linear docs/refactor/v1/ RefatoracaoProjeto Engineering
582
+ ```
583
+
584
+ ---
585
+
586
+ ## Entrada
587
+
588
+ $ARGUMENTS
@@ -0,0 +1,25 @@
1
+ ---
2
+ description: Gera uma TaskCard individual clara e executável para uma task específica
3
+ argument-hint: [contexto da tarefa ou Intent + Scope]
4
+ ---
5
+
6
+ Seu papel: **Gerador de TaskCard**. Voce NAO executa — apenas gera o documento.
7
+
8
+ Carregue a skill **taskcard-expert** para obter o framework completo (template, regras, guardrails, convencoes).
9
+ Toda a inteligencia do framework esta centralizada nessa skill — siga-a integralmente.
10
+
11
+ ## Instrucoes
12
+
13
+ 1. Leia o contexto fornecido pelo usuario
14
+ 2. Identifique lacunas — faca **uma pergunta por vez** ate ter tudo
15
+ - **Claude Code**: use a ferramenta `AskUserQuestion` para fazer as perguntas. Ofereça opcoes concretas baseadas na analise do codebase (o usuario sempre pode escolher "Other" para texto livre)
16
+ 3. Preencha o **template oficial** (todas as 11 secoes) conforme a skill taskcard-expert
17
+ 4. Salve imediatamente em `docs/<nome-feature>/task-<numero>-<slug>.md` — **NAO peca aprovacao antes de salvar**
18
+ 5. Apresente um **resumo curto** do que foi criado (ID, nome, arquivos gerados, escopo resumido)
19
+ 6. Se trabalho for grande, quebre em multiplas (gere apenas a primeira)
20
+ 7. Se multiplas TaskCards, pergunte se quer gerar a proxima
21
+ 8. Ao final de todas, ofereca criar `task-plan.md` com ordem e dependencias
22
+
23
+ ## Entrada
24
+
25
+ $ARGUMENTS
@@ -0,0 +1,37 @@
1
+ ---
2
+ description: Gera/enriquece a secao 10 (Testes) de uma TaskCard com rigor de QA Senior / SDET
3
+ argument-hint: [caminho da TaskCard individual — ex: docs/feature/v1/task-01-slug.md]
4
+ ---
5
+
6
+ Use a skill **taskcard-qa-expert** para gerar/enriquecer a secao 10 (Testes) da TaskCard.
7
+
8
+ ## Contexto
9
+
10
+ Voce deve atuar como um **QA Engineer Senior / SDET** e seguir todo o processo definido na skill taskcard-qa-expert para gerar testes com qualidade profissional.
11
+
12
+ ## Modo de Uso
13
+
14
+ ```
15
+ /taskcard:generate-tests docs/nome-feature/v1/task-01-slug.md
16
+ ```
17
+
18
+ Gera a secao 10 completa da TaskCard (10.1 a 10.6):
19
+ - 10.1 Testes Existentes a Modificar
20
+ - 10.2 Testes a Criar (unitarios, integracao, e2e)
21
+ - 10.3 Cenarios Obrigatorios
22
+ - 10.4 Padroes de Teste
23
+ - 10.5 Cenarios de Erro
24
+ - 10.6 Rastreabilidade: Aceite Tecnico -> Testes
25
+
26
+ ## Regras Adicionais
27
+
28
+ - **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer duvidas com o usuario
29
+ - **NUNCA** gere testes genericos — cada teste deve ter cenario especifico e verificavel
30
+ - **SEMPRE** pesquise padroes de teste existentes no projeto antes de gerar
31
+ - **SEMPRE** mapeie criterios de Aceite Tecnico (secao 9) para testes (secao 10.6)
32
+ - **SEMPRE** considere cenarios de erro, boundary values e edge cases
33
+ - Todo fluxo de sucesso deve ter **pelo menos 2 cenarios de falha** correspondentes
34
+
35
+ ## Entrada
36
+
37
+ $ARGUMENTS
@@ -0,0 +1,34 @@
1
+ ---
2
+ description: Executa uma TaskCard aprovada com precisão seguindo guardrails definidos
3
+ argument-hint: [caminho da taskcard] [agente opcional ex: go-backend-implementer]
4
+ ---
5
+
6
+ Seu papel: **Executor de TaskCard**. Execute com precisao, sem desvios ou reinterpretacao.
7
+
8
+ Carregue a skill **taskcard-expert** para obter o framework completo (template, regras, guardrails, convencoes).
9
+ Toda a inteligencia do framework esta centralizada nessa skill — siga-a integralmente.
10
+
11
+ ## Argumentos
12
+
13
+ - `$0` — Caminho da TaskCard (obrigatorio)
14
+ - `$1` — Agente executor opcional (subagent_type para ferramenta Task)
15
+
16
+ Agentes disponiveis em `.claude/agents/`.
17
+
18
+ ## Instrucoes
19
+
20
+ 1. Leia a TaskCard completa no caminho `$0`
21
+ 2. Leia os arquivos da secao 8.1 (existentes/referencia) para contexto
22
+ 3. Valide secoes 3-9 preenchidas e dependencias satisfeitas
23
+ 4. Execute os **Passos Sugeridos** (secao 7) na ordem
24
+ 5. A cada passo, valide guardrails DEVE e NAO DEVE (secao 6)
25
+ 6. Se guardrail for violado ou algo conflitar: **PARE e avise**
26
+ - **Claude Code**: use a ferramenta `AskUserQuestion` para apresentar o bloqueio e opcoes de resolucao ao usuario
27
+ 7. Valide aceite tecnico (secao 9) ao final
28
+ 8. Produza relatorio de execucao no formato padrao da skill
29
+
30
+ Se agente `$1` for especificado, delegue a execucao via ferramenta Task com `subagent_type: $1`.
31
+
32
+ ## Entrada
33
+
34
+ $ARGUMENTS