2f83d0b746
Mueve templates a las carpetas de skills que los usan: - templates/issue.md → skills/create-issue/issue.md - templates/skill.md → skills/create-skill/skill.md Actualiza install.sh: solo enlaza skills y agents. Estructura final de .claude/: - CLAUDE.md - settings.local.json - agents/ - skills/
100 lines
2.1 KiB
Markdown
100 lines
2.1 KiB
Markdown
---
|
|
name: create-issue
|
|
description: Crea un issue nuevo en dev/issues/ con confirmación del usuario
|
|
disable-model-invocation: true
|
|
user-invocable: true
|
|
allowed-tools: Bash, Read, Write, Edit
|
|
---
|
|
|
|
# create-issue
|
|
|
|
Crea un issue nuevo con estructura completa. Si es grande, lo desglosa en sub-issues con feature flags.
|
|
|
|
## Sintaxis
|
|
|
|
```bash
|
|
/create-issue
|
|
```
|
|
|
|
## Precondiciones
|
|
|
|
- [ ] Directorio `dev/issues/` existe
|
|
- [ ] Template `.claude/templates/issue.md` existe
|
|
|
|
## Flujo
|
|
|
|
### 1. Determinar número del issue
|
|
|
|
```bash
|
|
ls dev/issues/ dev/issues/completed/ | grep -oP '^\d{4}' | sort -rn | head -1
|
|
```
|
|
|
|
Próximo issue = número_más_alto + 1 (formato 4 dígitos)
|
|
|
|
### 2. Solicitar inputs
|
|
|
|
- `titulo`: título corto y descriptivo
|
|
- `descripcion`: objetivo de lo que se quiere lograr
|
|
- `dependencias` (opcional): issues de los que depende
|
|
|
|
### 3. Generar slug
|
|
|
|
Título → lowercase → palabras separadas por guiones → 2-4 palabras
|
|
|
|
### 4. Evaluar tamaño
|
|
|
|
**Criterios para sub-issues:**
|
|
- Toca más de 2 capas (core/ + shell/ + app/)
|
|
- Requiere más de 3 fases
|
|
- El usuario lo indica
|
|
|
|
**Issue simple:** crear un archivo `dev/issues/<NNNN>-<slug>.md`
|
|
|
|
**Issue grande:** crear SOLO sub-issues `<NNNN>a-`, `<NNNN>b-`, etc.
|
|
|
|
### 5. Crear desde template
|
|
|
|
Usar template en `${CLAUDE_SKILL_DIR}/issue.md` y rellenar todas las secciones:
|
|
- Metadata, Objetivo, Contexto
|
|
- Arquitectura, Patrón pure/impure
|
|
- Tareas, Ejemplo de uso
|
|
- Criterios de aceptación
|
|
|
|
### 6. Feature flag (solo multi-issue)
|
|
|
|
Actualizar `dev/feature_flags.json`:
|
|
```json
|
|
{
|
|
"<nombre-flag>": {
|
|
"enabled": false,
|
|
"issue": "<NNNN>",
|
|
"description": "..."
|
|
}
|
|
}
|
|
```
|
|
|
|
### 7. Actualizar índice
|
|
|
|
En `dev/issues/README.md` agregar fila(s).
|
|
|
|
### 8. Mostrar y confirmar
|
|
|
|
```
|
|
Issue creado: <NNNN>-<slug>
|
|
|
|
¿Te parece bien?
|
|
- Si es correcto: commit y push automáticamente
|
|
- Si necesitas ajustes: edita manualmente
|
|
```
|
|
|
|
### 9. Ejecutar /git-push automáticamente
|
|
|
|
Si confirma, crear rama `quick/create-issue-<NNNN>` y ejecutar flujo git.
|
|
|
|
## Convenciones
|
|
|
|
- Numeración continua sin saltos
|
|
- Estado inicial: pendiente
|
|
- Issues cortos (horas por rama)
|
|
- Sub-issues autocontenidos
|