don-cheli-sdd 1.13.0 → 1.15.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.
- package/.agent/skills/doncheli-api-contract/SKILL.md +86 -0
- package/.agent/skills/doncheli-audit-trail/SKILL.md +46 -0
- package/.agent/skills/doncheli-changelog/SKILL.md +35 -0
- package/.agent/skills/doncheli-context-health/SKILL.md +51 -0
- package/.agent/skills/doncheli-data-policy/SKILL.md +45 -0
- package/.agent/skills/doncheli-debate/SKILL.md +64 -0
- package/.agent/skills/doncheli-diagram/SKILL.md +34 -0
- package/.agent/skills/doncheli-distill/SKILL.md +61 -0
- package/.agent/skills/doncheli-drift/SKILL.md +45 -0
- package/.agent/skills/doncheli-estimate/SKILL.md +45 -0
- package/.agent/skills/doncheli-implement/SKILL.md +25 -0
- package/.agent/skills/doncheli-migrate/SKILL.md +60 -0
- package/.agent/skills/doncheli-plan/SKILL.md +19 -0
- package/.agent/skills/doncheli-planning/SKILL.md +60 -0
- package/.agent/skills/doncheli-pr-review/SKILL.md +47 -0
- package/.agent/skills/doncheli-reasoning/SKILL.md +60 -0
- package/.agent/skills/doncheli-review/SKILL.md +21 -0
- package/.agent/skills/doncheli-security/SKILL.md +21 -0
- package/.agent/skills/doncheli-skills/SKILL.md +81 -0
- package/.agent/skills/doncheli-spec/SKILL.md +23 -0
- package/.agent/skills/doncheli-spec-score/SKILL.md +48 -0
- package/.agent/skills/doncheli-tea/SKILL.md +45 -0
- package/.agent/skills/doncheli-tech-debt/SKILL.md +49 -0
- package/.agent/skills/doncheli-tech-panel/SKILL.md +79 -0
- package/.agent/skills/doncheli-visual-test/SKILL.md +48 -0
- package/.agent/skills/doncheli-voice/SKILL.md +30 -0
- package/.agent/skills/doncheli-webhook/SKILL.md +48 -0
- package/.agent/workflows/doncheli-debate.md +18 -0
- package/.agent/workflows/doncheli-estimate.md +17 -0
- package/.agent/workflows/doncheli-migrate.md +22 -0
- package/.agent/workflows/doncheli-pipeline.md +15 -0
- package/.agent/workflows/doncheli-planning.md +25 -0
- package/.agent/workflows/doncheli-reasoning.md +28 -0
- package/.agent/workflows/doncheli-review.md +7 -0
- package/.agent/workflows/doncheli-security.md +7 -0
- package/.agent/workflows/doncheli-start.md +21 -0
- package/.claude-plugin/marketplace.json +35 -0
- package/.claude-plugin/plugin.json +84 -0
- package/ARCHITECTURE.md +209 -0
- package/CHANGELOG.md +50 -5
- package/CLAUDE.md +31 -96
- package/README.es.md +247 -469
- package/README.md +235 -486
- package/README.pt.md +249 -439
- package/VERSION +1 -1
- package/comandos/especdev/actualizar.md +82 -16
- package/comandos/especdev/agente.md +3 -3
- package/comandos/especdev/analizar-sesiones.md +7 -7
- package/comandos/especdev/aplicar.md +9 -9
- package/comandos/especdev/archivar.md +5 -5
- package/comandos/especdev/audit-trail.md +135 -0
- package/comandos/especdev/auditar-seguridad.md +9 -9
- package/comandos/especdev/auditar.md +3 -3
- package/comandos/especdev/avance-rapido.md +11 -11
- package/comandos/especdev/cambios.md +2 -2
- package/comandos/especdev/capturar.md +8 -8
- package/comandos/especdev/cerrar-sesion.md +2 -2
- package/comandos/especdev/changelog-auto.md +81 -0
- package/comandos/especdev/clarificar.md +2 -2
- package/comandos/especdev/comenzar.md +4 -4
- package/comandos/especdev/completo.md +3 -3
- package/comandos/especdev/context-health.md +226 -0
- package/comandos/especdev/continuar.md +3 -3
- package/comandos/especdev/contrato-api.md +9 -9
- package/comandos/especdev/contrato-ui.md +11 -11
- package/comandos/especdev/crear-skill.md +7 -7
- package/comandos/especdev/data-policy.md +222 -0
- package/comandos/especdev/debate.md +4 -4
- package/comandos/especdev/desglosar.md +2 -2
- package/comandos/especdev/destilar.md +13 -13
- package/comandos/especdev/detectar-ambiguedad.md +3 -3
- package/comandos/especdev/diagnostico.md +5 -5
- package/comandos/especdev/diagram.md +71 -0
- package/comandos/especdev/dise/303/261ar.md +3 -3
- package/comandos/especdev/doctor.md +5 -5
- package/comandos/especdev/donde-estoy.md +3 -3
- package/comandos/especdev/drift.md +133 -0
- package/comandos/especdev/especificar.md +11 -11
- package/comandos/especdev/estado.md +2 -2
- package/comandos/especdev/estimar.md +4 -4
- package/comandos/especdev/explorar.md +7 -7
- package/comandos/especdev/guardian.md +6 -6
- package/comandos/especdev/historial.md +2 -2
- package/comandos/especdev/implementar.md +6 -6
- package/comandos/especdev/incorporar.md +4 -4
- package/comandos/especdev/iniciar.md +3 -3
- package/comandos/especdev/limpiar-slop.md +4 -4
- package/comandos/especdev/marketplace.md +12 -12
- package/comandos/especdev/memorizar.md +3 -3
- package/comandos/especdev/mesa-redonda.md +5 -5
- package/comandos/especdev/mesa-tecnica.md +5 -5
- package/comandos/especdev/migrar.md +13 -13
- package/comandos/especdev/minar-referencias.md +12 -12
- package/comandos/especdev/planificar-tecnico.md +3 -3
- package/comandos/especdev/planning.md +15 -15
- package/comandos/especdev/poc.md +13 -13
- package/comandos/especdev/pr-review.md +211 -0
- package/comandos/especdev/presentar.md +6 -6
- package/comandos/especdev/proponer.md +5 -5
- package/comandos/especdev/pseudocodigo.md +3 -3
- package/comandos/especdev/rapido.md +3 -3
- package/comandos/especdev/reflexionar.md +2 -2
- package/comandos/especdev/retro.md +2 -2
- package/comandos/especdev/reversa.md +5 -5
- package/comandos/especdev/revisar.md +9 -9
- package/comandos/especdev/spec-score.md +189 -0
- package/comandos/especdev/tea.md +190 -0
- package/comandos/especdev/tech-debt.md +228 -0
- package/comandos/especdev/traspasar.md +3 -3
- package/comandos/especdev/traspaso.md +5 -5
- package/comandos/especdev/uat.md +6 -6
- package/comandos/especdev/validar-spec.md +6 -6
- package/comandos/especdev/validar.md +2 -2
- package/comandos/especdev/visual-test.md +177 -0
- package/comandos/especdev/voice.md +62 -0
- package/comandos/especdev/webhook.md +202 -0
- package/habilidades/arnes-agente/HABILIDAD.md +2 -2
- package/habilidades/auto-correccion/HABILIDAD.md +3 -3
- package/habilidades/cambio-carpeta/HABILIDAD.md +4 -4
- package/habilidades/code-rag/HABILIDAD.md +5 -5
- package/habilidades/delta-specs/HABILIDAD.md +5 -5
- package/habilidades/deteccion-stubs/HABILIDAD.md +4 -4
- package/habilidades/devlog/HABILIDAD.md +2 -2
- package/habilidades/documentacion-viva/HABILIDAD.md +7 -7
- package/habilidades/extensiones-presets/HABILIDAD.md +4 -4
- package/habilidades/mapa-arquitectonico/HABILIDAD.md +5 -5
- package/habilidades/memoria-persistente/HABILIDAD.md +6 -6
- package/habilidades/optimizador-contexto/HABILIDAD.md +1 -1
- package/habilidades/orquestacion-autonoma/HABILIDAD.md +2 -2
- package/habilidades/presentaciones/HABILIDAD.md +3 -3
- package/habilidades/proyecciones-costo/HABILIDAD.md +2 -2
- package/habilidades/refactorizacion-solid/HABILIDAD.md +1 -1
- package/habilidades/reflexion/HABILIDAD.md +1 -1
- package/habilidades/routing-modelos/HABILIDAD.md +2 -2
- package/habilidades/salud-habilidades/HABILIDAD.md +2 -2
- package/habilidades/schemas-dbml/HABILIDAD.md +2 -2
- package/habilidades/trazabilidad/HABILIDAD.md +3 -3
- package/habilidades/ui-ux-design/HABILIDAD.md +2 -2
- package/habilidades/validacion-nyquist/HABILIDAD.md +3 -3
- package/habilidades/worktrees/HABILIDAD.md +2 -2
- package/locales/en.json +4 -4
- package/locales/es.json +4 -4
- package/locales/pt.json +4 -4
- package/package.json +5 -2
- package/plantillas/especdev/en/decisions.md +1 -1
- package/plantillas/especdev/en/deferred-work.md +1 -1
- package/plantillas/especdev/en/findings.md +1 -1
- package/plantillas/especdev/en/knowledge.md +1 -1
- package/plantillas/especdev/en/project-constitution.md +1 -1
- package/plantillas/especdev/en/pseudocode.md +1 -1
- package/plantillas/especdev/en/runtime.md +1 -1
- package/plantillas/especdev/es/conocimiento.md +1 -1
- package/plantillas/especdev/es/constitucion-proyecto.md +1 -1
- package/plantillas/especdev/es/decisiones.md +1 -1
- package/plantillas/especdev/es/deuda-scope.md +1 -1
- package/plantillas/especdev/es/hallazgos.md +1 -1
- package/plantillas/especdev/es/pseudocodigo.md +1 -1
- package/plantillas/especdev/es/runtime.md +1 -1
- package/plantillas/especdev/hallazgos.md +1 -1
- package/plantillas/especdev/pt/conhecimento.md +1 -1
- package/plantillas/especdev/pt/constituicao-projeto.md +1 -1
- package/plantillas/especdev/pt/decisoes.md +1 -1
- package/plantillas/especdev/pt/descobertas.md +1 -1
- package/plantillas/especdev/pt/pseudocodigo.md +1 -1
- package/plantillas/especdev/pt/runtime.md +1 -1
- package/plantillas/especdev/pt/trabalho-diferido.md +1 -1
- package/plantillas/estimado-desarrollo.md +1 -1
- package/reglas/constitucion.md +1 -1
- package/reglas/en/constitucion.md +122 -0
- package/reglas/en/hooks-parar.md +102 -0
- package/reglas/en/i18n.md +47 -0
- package/reglas/en/leyes-hierro.md +18 -0
- package/reglas/en/puertas-calidad.md +87 -0
- package/reglas/en/reglas-desviacion.md +36 -0
- package/reglas/en/reglas-trabajo-globales.md +171 -0
- package/reglas/en/skills-best-practices.md +109 -0
- package/reglas/hooks-parar.md +2 -2
- package/reglas/pt/constitucion.md +122 -0
- package/reglas/pt/hooks-parar.md +102 -0
- package/reglas/pt/i18n.md +47 -0
- package/reglas/pt/leyes-hierro.md +18 -0
- package/reglas/pt/puertas-calidad.md +87 -0
- package/reglas/pt/reglas-desviacion.md +36 -0
- package/reglas/pt/reglas-trabajo-globales.md +171 -0
- package/reglas/pt/skills-best-practices.md +109 -0
- package/reglas/puertas-calidad.md +11 -11
- package/reglas/reglas-trabajo-globales.md +1 -1
- package/scripts/.claude/commands/especdev/actualizar.md +4 -4
- package/scripts/.claude/commands/especdev/agente.md +3 -3
- package/scripts/.claude/commands/especdev/analizar-sesiones.md +7 -7
- package/scripts/.claude/commands/especdev/aplicar.md +9 -9
- package/scripts/.claude/commands/especdev/archivar.md +5 -5
- package/scripts/.claude/commands/especdev/auditar-seguridad.md +9 -9
- package/scripts/.claude/commands/especdev/auditar.md +3 -3
- package/scripts/.claude/commands/especdev/avance-rapido.md +11 -11
- package/scripts/.claude/commands/especdev/cambios.md +2 -2
- package/scripts/.claude/commands/especdev/cerrar-sesion.md +2 -2
- package/scripts/.claude/commands/especdev/clarificar.md +2 -2
- package/scripts/.claude/commands/especdev/comenzar.md +4 -4
- package/scripts/.claude/commands/especdev/completo.md +3 -3
- package/scripts/.claude/commands/especdev/continuar.md +3 -3
- package/scripts/.claude/commands/especdev/contrato-api.md +9 -9
- package/scripts/.claude/commands/especdev/contrato-ui.md +11 -11
- package/scripts/.claude/commands/especdev/desglosar.md +2 -2
- package/scripts/.claude/commands/especdev/destilar.md +13 -13
- package/scripts/.claude/commands/especdev/detectar-ambiguedad.md +3 -3
- package/scripts/.claude/commands/especdev/diagnostico.md +5 -5
- package/scripts/.claude/commands/especdev/dise/303/261ar.md +3 -3
- package/scripts/.claude/commands/especdev/donde-estoy.md +3 -3
- package/scripts/.claude/commands/especdev/especificar.md +11 -11
- package/scripts/.claude/commands/especdev/estado.md +2 -2
- package/scripts/.claude/commands/especdev/estimar.md +4 -4
- package/scripts/.claude/commands/especdev/explorar.md +7 -7
- package/scripts/.claude/commands/especdev/guardian.md +6 -6
- package/scripts/.claude/commands/especdev/historial.md +2 -2
- package/scripts/.claude/commands/especdev/implementar.md +6 -6
- package/scripts/.claude/commands/especdev/incorporar.md +4 -4
- package/scripts/.claude/commands/especdev/iniciar.md +3 -3
- package/scripts/.claude/commands/especdev/limpiar-slop.md +4 -4
- package/scripts/.claude/commands/especdev/memorizar.md +3 -3
- package/scripts/.claude/commands/especdev/mesa-redonda.md +5 -5
- package/scripts/.claude/commands/especdev/mesa-tecnica.md +5 -5
- package/scripts/.claude/commands/especdev/migrar.md +13 -13
- package/scripts/.claude/commands/especdev/minar-referencias.md +12 -12
- package/scripts/.claude/commands/especdev/planificar-tecnico.md +3 -3
- package/scripts/.claude/commands/especdev/planning.md +15 -15
- package/scripts/.claude/commands/especdev/poc.md +13 -13
- package/scripts/.claude/commands/especdev/proponer.md +5 -5
- package/scripts/.claude/commands/especdev/rapido.md +3 -3
- package/scripts/.claude/commands/especdev/reflexionar.md +2 -2
- package/scripts/.claude/commands/especdev/retro.md +2 -2
- package/scripts/.claude/commands/especdev/reversa.md +5 -5
- package/scripts/.claude/commands/especdev/revisar.md +9 -9
- package/scripts/.claude/commands/especdev/traspasar.md +3 -3
- package/scripts/.claude/commands/especdev/traspaso.md +5 -5
- package/scripts/.claude/commands/especdev/validar.md +2 -2
- package/scripts/.claude/don-cheli/CLAUDE.md +2 -2
- package/scripts/.claude/don-cheli/VERSION +1 -1
- package/scripts/.claude/don-cheli/habilidades/arnes-agente/HABILIDAD.md +2 -2
- package/scripts/.claude/don-cheli/habilidades/auto-correccion/HABILIDAD.md +3 -3
- package/scripts/.claude/don-cheli/habilidades/cambio-carpeta/HABILIDAD.md +4 -4
- package/scripts/.claude/don-cheli/habilidades/code-rag/HABILIDAD.md +5 -5
- package/scripts/.claude/don-cheli/habilidades/delta-specs/HABILIDAD.md +5 -5
- package/scripts/.claude/don-cheli/habilidades/deteccion-stubs/HABILIDAD.md +4 -4
- package/scripts/.claude/don-cheli/habilidades/devlog/HABILIDAD.md +2 -2
- package/scripts/.claude/don-cheli/habilidades/documentacion-viva/HABILIDAD.md +7 -7
- package/scripts/.claude/don-cheli/habilidades/extensiones-presets/HABILIDAD.md +4 -4
- package/scripts/.claude/don-cheli/habilidades/mapa-arquitectonico/HABILIDAD.md +5 -5
- package/scripts/.claude/don-cheli/habilidades/memoria-persistente/HABILIDAD.md +6 -6
- package/scripts/.claude/don-cheli/habilidades/optimizador-contexto/HABILIDAD.md +1 -1
- package/scripts/.claude/don-cheli/habilidades/orquestacion-autonoma/HABILIDAD.md +2 -2
- package/scripts/.claude/don-cheli/habilidades/presentaciones/HABILIDAD.md +3 -3
- package/scripts/.claude/don-cheli/habilidades/refactorizacion-solid/HABILIDAD.md +1 -1
- package/scripts/.claude/don-cheli/habilidades/schemas-dbml/HABILIDAD.md +2 -2
- package/scripts/.claude/don-cheli/habilidades/trazabilidad/HABILIDAD.md +3 -3
- package/scripts/.claude/don-cheli/habilidades/ui-ux-design/HABILIDAD.md +2 -2
- package/scripts/.claude/don-cheli/habilidades/validacion-nyquist/HABILIDAD.md +3 -3
- package/scripts/.claude/don-cheli/habilidades/worktrees/HABILIDAD.md +2 -2
- package/scripts/.claude/don-cheli/locales/en.json +4 -4
- package/scripts/.claude/don-cheli/locales/es.json +4 -4
- package/scripts/.claude/don-cheli/locales/pt.json +4 -4
- package/scripts/.claude/don-cheli/plantillas/especdev/en/findings.md +1 -1
- package/scripts/.claude/don-cheli/plantillas/especdev/es/hallazgos.md +1 -1
- package/scripts/.claude/don-cheli/plantillas/especdev/hallazgos.md +1 -1
- package/scripts/.claude/don-cheli/plantillas/especdev/pt/descobertas.md +1 -1
- package/scripts/.claude/don-cheli/plantillas/estimado-desarrollo.md +1 -1
- package/scripts/.claude/don-cheli/reglas/constitucion.md +1 -1
- package/scripts/.claude/don-cheli/reglas/hooks-parar.md +2 -2
- package/scripts/.claude/don-cheli/reglas/puertas-calidad.md +11 -11
- package/scripts/.claude/don-cheli/reglas/reglas-trabajo-globales.md +1 -1
- package/scripts/.claude/don-cheli/scripts/instalar.sh +458 -22
- package/scripts/.claude/don-cheli/scripts/validar.sh +4 -4
- package/scripts/generar-config.sh +240 -0
- package/scripts/instalar.sh +377 -6
- package/scripts/validar.sh +4 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-api-contract
|
|
3
|
+
description: Design complete API contracts covering endpoints, auth, rate limiting, error handling, retries, circuit breaker and idempotency. Activate when user mentions "api contract", "api design", "endpoint", "webhook", "REST", "GraphQL", "OpenAPI", "design the API".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: API Contract Designer
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Identify the API style: REST, GraphQL, gRPC, Webhook, or mixed
|
|
11
|
+
2. For each resource/operation, define:
|
|
12
|
+
- Method + path (REST) or operation name (GraphQL/gRPC)
|
|
13
|
+
- Request schema: headers, path params, query params, body
|
|
14
|
+
- Response schemas: success + all error cases
|
|
15
|
+
3. Design cross-cutting concerns:
|
|
16
|
+
- **Auth**: mechanism (JWT, OAuth2, API Key, mTLS), scopes, token lifetime
|
|
17
|
+
- **Rate limiting**: strategy (token bucket / leaky bucket), limits per tier, headers exposed
|
|
18
|
+
- **Error handling**: standard error envelope, HTTP status mapping, error codes catalog
|
|
19
|
+
- **Retries**: which operations are safe to retry, backoff strategy, max attempts
|
|
20
|
+
- **Circuit breaker**: thresholds, half-open probe, fallback behavior
|
|
21
|
+
- **Idempotency**: which operations require idempotency keys, TTL, conflict semantics
|
|
22
|
+
4. Define versioning strategy (URL path, header, or content negotiation)
|
|
23
|
+
5. Flag breaking vs. non-breaking changes policy
|
|
24
|
+
|
|
25
|
+
## Output Format
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
## API Contract: <service/feature name>
|
|
29
|
+
|
|
30
|
+
### Style & Version
|
|
31
|
+
- Protocol: REST / GraphQL / gRPC / Webhook
|
|
32
|
+
- Base URL: …
|
|
33
|
+
- Version: v1 (strategy: <path/header/content-negotiation>)
|
|
34
|
+
|
|
35
|
+
### Endpoints / Operations
|
|
36
|
+
|
|
37
|
+
#### <METHOD> <path>
|
|
38
|
+
**Purpose:** …
|
|
39
|
+
**Auth required:** yes/no — scope: …
|
|
40
|
+
**Request:**
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"field": "type — description"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
**Response 200:**
|
|
47
|
+
```json
|
|
48
|
+
{ … }
|
|
49
|
+
```
|
|
50
|
+
**Error responses:**
|
|
51
|
+
| Status | Code | Meaning |
|
|
52
|
+
|--------|---------------|----------------------|
|
|
53
|
+
| 400 | INVALID_INPUT | … |
|
|
54
|
+
| 409 | CONFLICT | … |
|
|
55
|
+
|
|
56
|
+
**Idempotency:** required / not required — key: <header name>
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### Cross-Cutting Concerns
|
|
61
|
+
|
|
62
|
+
**Auth:** …
|
|
63
|
+
**Rate Limiting:** X req/min per API key; headers: X-RateLimit-Remaining, X-RateLimit-Reset
|
|
64
|
+
**Retry Policy:** safe methods (GET, PUT, DELETE) — exponential backoff, max 3 attempts
|
|
65
|
+
**Circuit Breaker:** open at 50% error rate over 10s window; half-open probe after 30s
|
|
66
|
+
**Error Envelope:**
|
|
67
|
+
```json
|
|
68
|
+
{ "error": { "code": "…", "message": "…", "trace_id": "…" } }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Breaking Change Policy
|
|
72
|
+
- Breaking: removing fields, changing types, removing endpoints → requires major version bump
|
|
73
|
+
- Non-breaking: adding optional fields, new endpoints → compatible within same version
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Quality Gate
|
|
77
|
+
|
|
78
|
+
- Every endpoint must have at least one documented error response
|
|
79
|
+
- Idempotency policy must be explicit (required or not required) for every mutating operation
|
|
80
|
+
- Auth scopes must be listed for every endpoint that requires authentication
|
|
81
|
+
- Rate limit headers must be named consistently across all endpoints
|
|
82
|
+
|
|
83
|
+
## Do not use this skill when
|
|
84
|
+
|
|
85
|
+
- The API already exists and the user wants to review it (use doncheli-review instead)
|
|
86
|
+
- The user only wants implementation, not contract design (use doncheli-implement instead)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-audit-trail
|
|
3
|
+
description: Record and query the decision log for a project. Activate when user mentions "audit", "trail", "log decisions", "decision history", "why was this decided", "ADR", "architecture decision".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Audit Trail
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Maintain a structured decision log at `.especdev/decisiones.md`
|
|
11
|
+
2. When invoked to **record** a decision:
|
|
12
|
+
- Extract: decision title, date, context, options considered, chosen option, rationale, consequences
|
|
13
|
+
- Append as a new ADR-style entry (numbered, never edited after creation)
|
|
14
|
+
- Tag with: [technical | product | process | security]
|
|
15
|
+
3. When invoked to **query** the log:
|
|
16
|
+
- Accept a keyword or topic and return matching entries
|
|
17
|
+
- Show: decision ID, date, title, one-line summary, and link to full entry
|
|
18
|
+
4. When invoked to **review** a past decision:
|
|
19
|
+
- Find the entry, show full context, and ask if a superseding decision should be recorded
|
|
20
|
+
- Never overwrite the original — only append a "Superseded by ADR-XXX" note
|
|
21
|
+
5. Surface related decisions automatically when the user is working on a feature that has prior ADRs
|
|
22
|
+
6. Each entry is immutable once committed — audit integrity is the primary constraint
|
|
23
|
+
|
|
24
|
+
## Output Format
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
## ADR-007 — 2026-03-28
|
|
28
|
+
|
|
29
|
+
**Title:** Use PostgreSQL over MongoDB for user data
|
|
30
|
+
**Tags:** [technical] [database]
|
|
31
|
+
**Status:** Accepted
|
|
32
|
+
|
|
33
|
+
### Context
|
|
34
|
+
Needed a persistence layer for structured user profiles with relational queries.
|
|
35
|
+
|
|
36
|
+
### Options Considered
|
|
37
|
+
- MongoDB: flexible schema, horizontal scale
|
|
38
|
+
- PostgreSQL: ACID, relational queries, mature ecosystem
|
|
39
|
+
|
|
40
|
+
### Decision
|
|
41
|
+
PostgreSQL — relational guarantees outweigh schema flexibility for this use case.
|
|
42
|
+
|
|
43
|
+
### Consequences
|
|
44
|
+
- Migrations required for schema changes
|
|
45
|
+
- Scales vertically before needing sharding
|
|
46
|
+
```
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-changelog
|
|
3
|
+
description: Auto-generate CHANGELOG.md entries from git commit history. Activate when user mentions "changelog", "release notes", "what changed", "generate changelog", "CHANGELOG", "release history".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Changelog Auto-Generator
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Determine the commit range:
|
|
11
|
+
- Default: from the last semver tag to HEAD
|
|
12
|
+
- With `--from`/`--to`: use the specified refs
|
|
13
|
+
- With `--version`: use that as the new version number
|
|
14
|
+
2. Run `git log --oneline <range>` and parse conventional commit prefixes
|
|
15
|
+
3. Map commit types to Keep a Changelog categories:
|
|
16
|
+
- `feat` / `feat!` → Added (breaking changes go in a separate top section)
|
|
17
|
+
- `fix` → Fixed
|
|
18
|
+
- `refactor` / `perf` → Changed
|
|
19
|
+
- `docs` → Changed
|
|
20
|
+
- `security` → Security
|
|
21
|
+
- `deprecated` → Deprecated
|
|
22
|
+
- `remove` → Removed
|
|
23
|
+
- `test` / `chore` / `ci` → omit by default (include with `--verbose`)
|
|
24
|
+
4. Extract the short hash and append it to each entry for traceability
|
|
25
|
+
5. Skip merge commits (`Merge branch`, `Merge pull request`)
|
|
26
|
+
6. Insert the new section at the top of `CHANGELOG.md`, below the header — never overwrite existing entries
|
|
27
|
+
7. If no `CHANGELOG.md` exists, create it with the standard Keep a Changelog header
|
|
28
|
+
8. With `--dry-run`, print to stdout only — do not write to file
|
|
29
|
+
9. After writing, confirm with the user and suggest `git add CHANGELOG.md`
|
|
30
|
+
|
|
31
|
+
## Quality Gate
|
|
32
|
+
|
|
33
|
+
- If fewer than 2 commits are found in the range, warn the user before generating
|
|
34
|
+
- If breaking changes are detected (`feat!`, `BREAKING CHANGE` footer), highlight them prominently
|
|
35
|
+
- Never infer a version number from non-semver tags — ask the user to provide `--version`
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-context-health
|
|
3
|
+
description: Report the current state of the context window and recommend compression or cleanup actions. Activate when user mentions "context health", "context window", "how much context", "context full", "running out of context", "compress context".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Context Health Monitor
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Estimate the current context window usage based on:
|
|
11
|
+
- Files loaded in the current session
|
|
12
|
+
- Conversation length (turns × average tokens)
|
|
13
|
+
- Any large outputs already in context
|
|
14
|
+
2. Report usage as a percentage of the model's context limit
|
|
15
|
+
3. Apply thresholds from the global rules:
|
|
16
|
+
- > 50K tokens in a result → recommend isolating in subagent
|
|
17
|
+
- > 200K session tokens → recommend summarizing and compressing context
|
|
18
|
+
4. Identify the highest-cost items in the current context:
|
|
19
|
+
- Large file reads
|
|
20
|
+
- Repeated content
|
|
21
|
+
- Verbose tool outputs that could be summarized
|
|
22
|
+
5. Recommend specific actions:
|
|
23
|
+
- Which files can be evicted (already processed)
|
|
24
|
+
- Which outputs should be summarized
|
|
25
|
+
- Whether a subagent should handle the next task
|
|
26
|
+
6. If context is healthy (< 40% used), confirm and suggest no action
|
|
27
|
+
7. Never truncate or discard context without explicit user confirmation
|
|
28
|
+
|
|
29
|
+
## Output Format
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
## Context Health — 2026-03-28T16:00Z
|
|
33
|
+
|
|
34
|
+
### Usage Estimate
|
|
35
|
+
- Current session: ~85K tokens
|
|
36
|
+
- Model limit: 200K tokens
|
|
37
|
+
- Usage: 42% ✅ (healthy)
|
|
38
|
+
|
|
39
|
+
### Largest Items
|
|
40
|
+
1. src/payments/processor.ts full read — ~8K tokens (can evict — already analyzed)
|
|
41
|
+
2. Test run output from 14:32 — ~12K tokens (can summarize — report saved)
|
|
42
|
+
3. Conversation history — ~18K tokens (normal)
|
|
43
|
+
|
|
44
|
+
### Recommendations
|
|
45
|
+
- No immediate action required
|
|
46
|
+
- If you add 3+ more large files, consider /dc:destilar to compress session notes
|
|
47
|
+
- Next heavy task: use a subagent to isolate output
|
|
48
|
+
|
|
49
|
+
### Warning Threshold
|
|
50
|
+
Will warn again at 70% usage (~140K tokens)
|
|
51
|
+
```
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-data-policy
|
|
3
|
+
description: Audit and document what personal or sensitive data the project collects, processes, and stores. Activate when user mentions "privacy", "data policy", "what data", "GDPR", "personal data", "data retention", "PII".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Data Policy Auditor
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Scan the codebase for PII and sensitive data patterns:
|
|
11
|
+
- Database models / schemas for fields like email, phone, name, address, IP, location
|
|
12
|
+
- API request/response payloads
|
|
13
|
+
- Logging statements that may capture sensitive fields
|
|
14
|
+
- Third-party integrations that receive user data
|
|
15
|
+
2. Build a data inventory table: field name, model, purpose, retention, shared with
|
|
16
|
+
3. Check against common compliance requirements:
|
|
17
|
+
- GDPR: lawful basis, right to erasure, data minimization
|
|
18
|
+
- CCPA: disclosure, opt-out
|
|
19
|
+
- SOC2: access controls, encryption at rest/transit
|
|
20
|
+
4. Flag violations as [critical | warning | info]
|
|
21
|
+
5. Generate a draft Privacy Notice section if requested (`--generate-notice`)
|
|
22
|
+
6. Save the audit to `.especdev/data-policy-audit-<date>.md`
|
|
23
|
+
7. Never make assumptions about compliance status — only report findings and flag gaps
|
|
24
|
+
|
|
25
|
+
## Output Format
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
## Data Policy Audit — 2026-03-28
|
|
29
|
+
|
|
30
|
+
### Data Inventory
|
|
31
|
+
| Field | Model | Purpose | Retention | Shared With |
|
|
32
|
+
|-----------|-----------|---------------|-----------|----------------|
|
|
33
|
+
| email | User | Auth, comms | Indefinite| SendGrid, Auth0|
|
|
34
|
+
| ip_address| AuditLog | Security | 90 days | Internal only |
|
|
35
|
+
|
|
36
|
+
### Compliance Gaps
|
|
37
|
+
🔴 CRITICAL: ip_address logged in plain text in audit_logs — encrypt or hash
|
|
38
|
+
🟡 WARNING: No data retention policy enforced for User.email — GDPR Art. 5(e)
|
|
39
|
+
🟢 INFO: No right-to-erasure endpoint found — required for GDPR compliance
|
|
40
|
+
|
|
41
|
+
### Recommendations
|
|
42
|
+
1. Add @Encrypted() decorator to ip_address field
|
|
43
|
+
2. Implement DELETE /users/:id endpoint that purges all PII
|
|
44
|
+
3. Document data retention in Privacy Policy
|
|
45
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-debate
|
|
3
|
+
description: Run an adversarial multi-role debate to surface trade-offs and reach a reasoned decision. Activate when user mentions "debate", "discuss", "trade-off", "decision", "compare options", "pros and cons", "choose between".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Adversarial Debate Panel
|
|
7
|
+
|
|
8
|
+
## Roles
|
|
9
|
+
|
|
10
|
+
Each role is played by a separate internal agent with its own agenda:
|
|
11
|
+
|
|
12
|
+
| Role | Primary Concern |
|
|
13
|
+
|----------------|------------------------------------------|
|
|
14
|
+
| CPO | User value, market fit, time-to-market |
|
|
15
|
+
| Architect | Scalability, maintainability, tech debt |
|
|
16
|
+
| QA Lead | Reliability, testability, edge cases |
|
|
17
|
+
| UX Lead | Usability, accessibility, consistency |
|
|
18
|
+
| Business | Cost, ROI, risk, compliance |
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
1. Read the decision or proposal to evaluate
|
|
23
|
+
2. Each role presents its **position** (2–4 bullets) — what it likes and what it fears
|
|
24
|
+
3. Each role MUST identify at least one concrete problem with every other role's proposal (no free passes)
|
|
25
|
+
4. After all attacks, each role proposes one mitigation or compromise
|
|
26
|
+
5. Synthesize tensions and produce a decision with explicit trade-offs accepted
|
|
27
|
+
|
|
28
|
+
## Output Format
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
## Debate: <topic>
|
|
32
|
+
|
|
33
|
+
### Round 1 — Positions
|
|
34
|
+
**CPO:** …
|
|
35
|
+
**Architect:** …
|
|
36
|
+
**QA Lead:** …
|
|
37
|
+
**UX Lead:** …
|
|
38
|
+
**Business:** …
|
|
39
|
+
|
|
40
|
+
### Round 2 — Attacks (each role vs. others)
|
|
41
|
+
**CPO → Architect:** …
|
|
42
|
+
**Architect → CPO:** …
|
|
43
|
+
… (all cross-attacks)
|
|
44
|
+
|
|
45
|
+
### Round 3 — Mitigations
|
|
46
|
+
**CPO proposes:** …
|
|
47
|
+
… (one per role)
|
|
48
|
+
|
|
49
|
+
### Decision
|
|
50
|
+
**Chosen approach:** …
|
|
51
|
+
**Trade-offs accepted:** …
|
|
52
|
+
**Conditions / guardrails:** …
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Quality Gate
|
|
56
|
+
|
|
57
|
+
- No role may agree unconditionally with another — every role must raise at least one concern
|
|
58
|
+
- The Decision section must name at least two trade-offs explicitly accepted
|
|
59
|
+
- If consensus is impossible, output "DEADLOCK" and list the 2–3 unresolved tensions for human escalation
|
|
60
|
+
|
|
61
|
+
## Do not use this skill when
|
|
62
|
+
|
|
63
|
+
- The decision is already made and the user only wants implementation help
|
|
64
|
+
- The question has a single objectively correct answer (use doncheli-reasoning instead)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-diagram
|
|
3
|
+
description: Auto-generate Mermaid or C4 diagrams from code analysis. Activate when user mentions "diagram", "mermaid", "architecture diagram", "C4", "class diagram", "sequence diagram", "ERD", "flowchart", "visualize code".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Diagram Generator
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Determine the diagram type from the request or flag: class, sequence, architecture, erd, flowchart
|
|
11
|
+
2. Identify the scope: specific file, module, feature, or full project
|
|
12
|
+
3. Analyze the relevant source files:
|
|
13
|
+
- **class**: parse class/interface definitions, inheritance, and composition
|
|
14
|
+
- **sequence**: trace function calls, async flows, and inter-module communication
|
|
15
|
+
- **architecture**: identify top-level modules, external services, and data flows (C4 Context/Container)
|
|
16
|
+
- **erd**: parse ORM models, entity fields, and relationships
|
|
17
|
+
- **flowchart**: follow conditional logic for a specific feature or endpoint
|
|
18
|
+
4. Build the Mermaid diagram — validate syntax mentally before outputting
|
|
19
|
+
5. Keep diagrams readable: maximum 20 nodes, split into subdiagrams if larger
|
|
20
|
+
6. Never invent relationships not present in the code
|
|
21
|
+
7. Add a generation timestamp as a Mermaid comment
|
|
22
|
+
8. Offer to embed the diagram in the target file (README, spec doc, ADR)
|
|
23
|
+
|
|
24
|
+
## Supported Outputs
|
|
25
|
+
|
|
26
|
+
- Inline Mermaid code blocks (default) — renders in GitHub, GitLab, Notion
|
|
27
|
+
- C4 PlantUML (with `--format c4`) for advanced architecture docs
|
|
28
|
+
- Save to file with `--output <path>`
|
|
29
|
+
|
|
30
|
+
## Quality Gate
|
|
31
|
+
|
|
32
|
+
- If the analyzed scope yields fewer than 3 nodes, warn the user the diagram may not be useful
|
|
33
|
+
- If source files are not readable (permissions, binary), skip and report which files were skipped
|
|
34
|
+
- Do not use this skill to generate diagrams from memory — always analyze actual source files
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-distill
|
|
3
|
+
description: Extract behavioral specifications and architecture diagrams from existing code (Blueprint Distillation / reverse engineering). Activate when user mentions "distill", "reverse engineer", "extract spec", "blueprint distillation", "understand codebase", "document existing code".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Blueprint Distillation
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Identify the target module, service or codebase to distill
|
|
11
|
+
2. Scan entry points (routes, controllers, event handlers, CLI commands)
|
|
12
|
+
3. Trace data flows: inputs → transformations → outputs → side effects
|
|
13
|
+
4. Identify implicit business rules embedded in conditionals, validations, error handling
|
|
14
|
+
5. Map entity relationships from data models and DB schemas
|
|
15
|
+
6. Generate Gherkin scenarios that describe the observed behavior (not the code)
|
|
16
|
+
7. Produce a C4-style architecture diagram in text (Mermaid or ASCII)
|
|
17
|
+
8. Flag ambiguities, dead code, and undocumented assumptions with `[NEEDS CLARIFICATION]`
|
|
18
|
+
|
|
19
|
+
## Output Format
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
## Blueprint: <module/service name>
|
|
23
|
+
|
|
24
|
+
### Architecture Diagram
|
|
25
|
+
```mermaid
|
|
26
|
+
…
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Distilled Spec (Gherkin)
|
|
30
|
+
```gherkin
|
|
31
|
+
Feature: <name>
|
|
32
|
+
Background: …
|
|
33
|
+
|
|
34
|
+
Scenario: <happy path>
|
|
35
|
+
Given …
|
|
36
|
+
When …
|
|
37
|
+
Then …
|
|
38
|
+
|
|
39
|
+
Scenario: <edge case / sad path>
|
|
40
|
+
…
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Implicit Business Rules
|
|
44
|
+
1. <rule> — found in: <file:line>
|
|
45
|
+
…
|
|
46
|
+
|
|
47
|
+
### Ambiguities & Dead Code
|
|
48
|
+
- [NEEDS CLARIFICATION] <description> — <file:line>
|
|
49
|
+
…
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Quality Gate
|
|
53
|
+
|
|
54
|
+
- Every entry point must map to at least one Gherkin scenario
|
|
55
|
+
- Architecture diagram must show at least: external inputs, internal modules, data stores, external services
|
|
56
|
+
- Business rules must cite their source location
|
|
57
|
+
|
|
58
|
+
## Do not use this skill when
|
|
59
|
+
|
|
60
|
+
- The user wants to write new specs for a new feature (use doncheli-spec instead)
|
|
61
|
+
- The codebase has no existing logic to analyze
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-drift
|
|
3
|
+
description: Detect and reconcile divergence between specs and implementation. Activate when user mentions "drift", "sync", "spec divergence", "out of sync", "spec doesn't match", "implementation differs".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Spec Drift Detector
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Read the current spec files in `.especdev/specs/` and the relevant source code
|
|
11
|
+
2. Compare spec scenarios (Gherkin / acceptance criteria) against the actual implementation
|
|
12
|
+
3. Identify three categories of drift:
|
|
13
|
+
- **Ghost**: code exists but no spec covers it
|
|
14
|
+
- **Phantom**: spec exists but no code implements it
|
|
15
|
+
- **Mutant**: code and spec exist but behavior diverges
|
|
16
|
+
4. For each drift finding, report: file path, spec reference, severity (critical / warning / info)
|
|
17
|
+
5. Propose a reconciliation: either update the spec or flag the code for correction
|
|
18
|
+
6. Never auto-modify code — output a reconciliation plan for human approval
|
|
19
|
+
7. Save a drift report to `.especdev/drift-report-<date>.md` if findings exceed 3 items
|
|
20
|
+
8. If zero drift is found, confirm with a brief "No drift detected — spec and code are aligned"
|
|
21
|
+
|
|
22
|
+
## Output Format
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
## Drift Report — <date>
|
|
26
|
+
|
|
27
|
+
### Ghost (code without spec)
|
|
28
|
+
- src/payments/refund.ts:42 — no spec covers the refund edge case
|
|
29
|
+
|
|
30
|
+
### Phantom (spec without code)
|
|
31
|
+
- specs/checkout.feature:Scenario 3 — "Apply coupon on mobile" — not implemented
|
|
32
|
+
|
|
33
|
+
### Mutant (behavior mismatch)
|
|
34
|
+
- specs/auth.feature:Scenario 1 expects 401 on expired token; code returns 403
|
|
35
|
+
|
|
36
|
+
### Reconciliation Plan
|
|
37
|
+
1. [Phantom] Implement "Apply coupon on mobile" or mark as backlog in .especdev/backlog.md
|
|
38
|
+
2. [Mutant] Fix auth.ts to return 401 — spec is correct per RFC 7235
|
|
39
|
+
3. [Ghost] Add spec for refund edge case before next release
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Do not use this skill when
|
|
43
|
+
|
|
44
|
+
- The user only wants to run tests (use doncheli-tea instead)
|
|
45
|
+
- The spec has not been written yet (use dc:especificar first)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-estimate
|
|
3
|
+
description: Estimate effort, duration and cost using 4 complementary models (Function Points, Planning Poker AI, COCOMO, Historical). Activate when user mentions "estimate", "estimation", "effort", "how long", "cost", "story points", "sizing".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Estimation Engine
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Read the feature, story or task description
|
|
11
|
+
2. Run all 4 estimation models independently (treat each as a separate agent):
|
|
12
|
+
- **Function Points**: count inputs, outputs, queries, files, interfaces; apply complexity weights
|
|
13
|
+
- **Planning Poker AI**: 3 independent agents guess simultaneously (pessimist, realist, optimist), then reconcile using Delphi method
|
|
14
|
+
- **COCOMO II**: classify project size (Organic / Semi-detached / Embedded), apply effort equation
|
|
15
|
+
- **Historical**: look for comparable past tasks in `.especdev/hallazgos.md` and `docs/`; extrapolate velocity
|
|
16
|
+
3. Compute the consolidated estimate with 90% confidence interval
|
|
17
|
+
4. Flag hidden risks that inflate variance
|
|
18
|
+
|
|
19
|
+
## Output Format
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
## Estimation: <feature name>
|
|
23
|
+
|
|
24
|
+
| Model | Estimate | Unit | Confidence |
|
|
25
|
+
|------------------|------------|------------|------------|
|
|
26
|
+
| Function Points | X | hours | medium |
|
|
27
|
+
| Planning Poker | X–Y | story pts | high |
|
|
28
|
+
| COCOMO II | X | person-days| medium |
|
|
29
|
+
| Historical | X | days | low/med |
|
|
30
|
+
|
|
31
|
+
**Consolidated:** X–Y days (90% CI)
|
|
32
|
+
**Key assumptions:** …
|
|
33
|
+
**Top 3 risks that increase variance:** …
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Quality Gate
|
|
37
|
+
|
|
38
|
+
- All 4 models must be executed; do not skip any
|
|
39
|
+
- If Historical has no comparable baseline, mark as N/A and explain
|
|
40
|
+
- If Planning Poker spread > 2x, escalate: ask the user to clarify scope before finalizing
|
|
41
|
+
|
|
42
|
+
## Do not use this skill when
|
|
43
|
+
|
|
44
|
+
- The task is trivially small (< 1 hour) — just state it directly
|
|
45
|
+
- The user is asking for a rough gut-feel order of magnitude; use a one-liner instead
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-implement
|
|
3
|
+
description: Execute TDD implementation from task list following RED-GREEN-REFACTOR cycle with mandatory tests, stub detection, and quality gates. Activate when user mentions "implement", "build", "code", "develop", "implementar".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: TDD Implementer
|
|
7
|
+
|
|
8
|
+
## Iron Law #1: TDD is MANDATORY
|
|
9
|
+
Every piece of production code MUST have a test written BEFORE the implementation.
|
|
10
|
+
|
|
11
|
+
## Cycle
|
|
12
|
+
1. **RED**: Write a test that FAILS
|
|
13
|
+
2. **GREEN**: Write MINIMUM code to make the test pass
|
|
14
|
+
3. **REFACTOR**: Clean up without changing behavior
|
|
15
|
+
|
|
16
|
+
## Rules
|
|
17
|
+
- Never skip tests
|
|
18
|
+
- Never mark a task complete if stubs exist (`// TODO`, `throw new Error('not implemented')`)
|
|
19
|
+
- Run linter after each task
|
|
20
|
+
- Check coverage >= 85% on new code
|
|
21
|
+
- If a test fails 3 times, STOP and ask the user (Stop-Loss rule)
|
|
22
|
+
|
|
23
|
+
## Quality Gates
|
|
24
|
+
- Gate 5: All tasks have TDD pairs (test + implementation)
|
|
25
|
+
- Gate 6: All tests pass, coverage met, lint clean, build succeeds
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-migrate
|
|
3
|
+
description: Plan and execute technology migrations with wave planning, breaking change detection and task generation. Activate when user mentions "migrate", "migration", "upgrade", "move from", "switch to", "Vue to React", "JS to TS", "v1 to v2".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Migration Planner
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Identify source stack/version and target stack/version
|
|
11
|
+
2. Scan the codebase (or description) to inventory affected modules, dependencies, patterns
|
|
12
|
+
3. Build the equivalence map: `source construct → target construct`
|
|
13
|
+
4. Detect breaking changes (API removals, semantic shifts, config format changes)
|
|
14
|
+
5. Produce a wave plan ordered by risk and dependency graph (low-risk, foundational first)
|
|
15
|
+
6. Generate atomic migration tasks, each independently deployable or reviewable
|
|
16
|
+
|
|
17
|
+
## Output Format
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
## Migration Plan: <source> → <target>
|
|
21
|
+
|
|
22
|
+
### Equivalence Map
|
|
23
|
+
| Source | Target | Notes |
|
|
24
|
+
|-------------------------|-------------------------------|----------------|
|
|
25
|
+
| <old pattern/API> | <new pattern/API> | … |
|
|
26
|
+
|
|
27
|
+
### Breaking Changes
|
|
28
|
+
1. <change> — Impact: <high/medium/low> — Mitigation: …
|
|
29
|
+
…
|
|
30
|
+
|
|
31
|
+
### Wave Plan
|
|
32
|
+
**Wave 1 — Foundation (lowest risk)**
|
|
33
|
+
- [ ] Task: …
|
|
34
|
+
- [ ] Task: …
|
|
35
|
+
|
|
36
|
+
**Wave 2 — Core Migration**
|
|
37
|
+
- [ ] Task: …
|
|
38
|
+
|
|
39
|
+
**Wave 3 — Cleanup & Optimization**
|
|
40
|
+
- [ ] Task: …
|
|
41
|
+
|
|
42
|
+
### Rollback Strategy
|
|
43
|
+
…
|
|
44
|
+
|
|
45
|
+
### Definition of Done
|
|
46
|
+
- [ ] All tests pass on target stack
|
|
47
|
+
- [ ] No references to deprecated source APIs remain
|
|
48
|
+
- [ ] Performance benchmarks ≥ baseline
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Quality Gate
|
|
52
|
+
|
|
53
|
+
- Every breaking change must have an explicit mitigation
|
|
54
|
+
- Wave 1 must be deployable independently without completing later waves
|
|
55
|
+
- If the migration affects >10 files, confirm scope with the user before generating all tasks
|
|
56
|
+
|
|
57
|
+
## Do not use this skill when
|
|
58
|
+
|
|
59
|
+
- The change is a minor dependency bump with no API changes (use a standard fix commit)
|
|
60
|
+
- The user only wants to understand differences, not plan tasks (use doncheli-reasoning instead)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doncheli-plan
|
|
3
|
+
description: Generate technical blueprint from Gherkin specs including API contracts, service design, database schema, and WebSocket events. Activate when user mentions "plan", "blueprint", "technical design", "architecture", "planificar".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Don Cheli: Technical Planner
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
1. Read the Gherkin specs and DBML schemas
|
|
10
|
+
2. Define API contracts (REST endpoints with request/response schemas)
|
|
11
|
+
3. Design service layer (modules, repositories, services)
|
|
12
|
+
4. Define WebSocket events (if real-time features exist)
|
|
13
|
+
5. Map database schema from DBML to ORM
|
|
14
|
+
6. Check constitution adherence
|
|
15
|
+
7. Output as `blueprint.plan.md`
|
|
16
|
+
|
|
17
|
+
## Quality Gate
|
|
18
|
+
- Every Gherkin scenario must map to at least one API endpoint or service method
|
|
19
|
+
- All DBML tables must have corresponding ORM models in the plan
|