Skip to content
Back to skills

Plan Feature

ASecurity

Convierte una idea o feature grande en un plan técnico investigado y después en una épica con issues y dependencias. No escribe código. Usar con "/plan-feature", "planificá X", "quiero hacer X, ¿cómo lo encaramos?" o antes de cualquier trabajo que no entre en un solo PR.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 10, 2026
ai-agentspythongobashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 10, 2026

npx -y skills add lautioliver/barrilete-kit --skill plan-feature --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plan Feature?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plan Feature
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lautioliver-plan-feature/badge)](https://www.skillsdirectory.com/skills/lautioliver-plan-feature)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plan-feature
description: Convierte una idea o feature grande en un plan técnico investigado y después en una épica con issues y dependencias. No escribe código. Usar con "/plan-feature", "planificá X", "quiero hacer X, ¿cómo lo encaramos?" o antes de cualquier trabajo que no entre en un solo PR.
---

# Planificar una feature

Evita empezar a programar demasiado pronto. Primero se entiende qué hay, después se decide, y recién al final se parte en issues. **Esta skill no toca código.**

## 1. Investigar

Antes de proponer nada, leé:
- `docs/development/architecture.md`, `docs/reference/` (dominio, módulos, superficies) y los ADRs relacionados.
- El código de los módulos que se van a tocar: cómo está hecho hoy, no cómo debería estar.
- `docs/development/roadmap.md` y `horizon.md`: ¿ya estaba pensado? ¿choca con algo?
- Issues abiertos relacionados (`gh issue list --search …`) y `.claude/skills/estado/disponibles.sh`.

Si la idea es vaga en algo que cambia el diseño (quién la usa, qué pasa en los casos límite), preguntá ahora, antes de escribir el plan.

## 2. Plan técnico

Escribilo con estas secciones. Concreto: archivos y módulos reales, no genéricos.

```markdown
## Objetivo
Qué se logra y para quién. Qué queda explícitamente afuera.

## Estado actual
Cómo funciona hoy lo que se va a tocar (con rutas).

## Componentes afectados
Módulos, tablas, endpoints, pantallas. Marcar los sensibles (docs/mapa-agentes.json).

## Decisiones necesarias
Lo que hay que decidir antes de construir, con opciones y recomendación.
Las difíciles de revertir → proponer ADR.

## Riesgos
Qué puede salir mal (datos, dinero, seguridad, rendimiento, usuarios activos) y cómo se mitiga.

## Migraciones
Cambios de schema y su estrategia (skill db-migration). "Ninguna" si no hay.

## Tests
Qué hay que probar y en qué nivel.

## Issues
La división en PRs, en orden, con sus bloqueos.
```

**Mostrá el plan y frená.** Las decisiones de la sección "Decisiones necesarias" las toma el usuario o el equipo, no el agente. Iterá hasta que lo apruebe.

## 3. Partir en issues

Con el plan aprobado:
- Cada issue = un PR que se revisa solo y deja el sistema funcionando. Típicamente 3 a 8.
- Bloqueos solo donde de verdad hay orden (schema → API → pantalla). Lo paralelo, sin bloqueo.
- Si hay decisiones pendientes o un ADR por escribir, son el primer issue y **se cargan como bloqueo** (`bloqueado_por`) de los issues que dependen de esa decisión. Que la épica lo diga en el texto no alcanza: `preparar.sh` solo ve los bloqueos cargados.
- Ningún issue sale con valores sin definir ("una ventana razonable", "un límite adecuado"): o el plan los fija, o el issue lleva una sección **Decisiones abiertas** con la pregunta concreta para el equipo.
- Las migraciones destructivas en dos pasos (expand / contract) son dos issues.

## 4. Crear

El **plan técnico completo va en el cuerpo de la épica**: así queda junto a los issues y lo lee `/implement-issue` al tomar cada uno. No crees un documento aparte en `docs/` salvo que sea un ADR. Se crea con `planificar.py` (en esta carpeta; requiere `python3`):

1. **Escribir el plan** en un JSON temporal (fuera del repo):
   ```json
   {
     "epica": {"titulo": "Migrar cuentas a la tabla nueva", "cuerpo": "## Objetivo\n…", "labels": ["tipo:feature", "area:api"]},
     "issues": [
       {"clave": "schema", "titulo": "Crear la tabla de cuentas", "cuerpo": "…", "labels": ["tipo:task", "area:infra"]},
       {"clave": "api", "titulo": "Exponer las cuentas en la API", "cuerpo": "…", "labels": ["tipo:task", "area:api"],
        "bloqueado_por": ["schema"], "motivo": "necesita la tabla"},
       {"clave": "pantalla", "titulo": "Mostrar las cuentas en el panel", "cuerpo": "…", "labels": ["tipo:feature"],
        "bloqueado_por": ["api", 25], "motivo": "consume el endpoint; #25 define el diseño"}
     ]
   }
   ```
   `bloqueado_por` acepta claves del plan o números de issues existentes. Títulos, labels y cuerpos siguen la convención de la skill `crear-issue` (pasos 3–6).
2. **Validar y mostrar el borrador:**
   ```bash
   .claude/skills/plan-feature/planificar.py <plan.json> --borrador
   ```
   Valida labels contra `labels.yml`, exactamente un `tipo:` por issue, claves y números existentes, y que no haya ciclos. Muestra los issues en el orden en que se pueden hacer. Si falla, corregí el plan; no saltees la validación.
   Mostrale al usuario esa salida y pedí un "sí" explícito.
3. **Crear:**
   ```bash
   .claude/skills/plan-feature/planificar.py <plan.json>
   ```
   Crea la épica, cada issue en orden, los vincula como sub-issues, registra los bloqueos, agrega `estado:bloqueado` y la línea `Bloqueado por #N` donde corresponde. Si falla a mitad de camino, informa qué alcanzó a crear: mostralo y no reintentes el plan entero (duplicaría issues); creá solo lo que falta.

## 5. Entregar

Link a la épica, los issues en orden y qué se puede empezar ya (`.claude/skills/estado/disponibles.sh`). El siguiente paso es `/implement-issue <n>` sobre el primero disponible.

Files in this skill

  • SKILL.md5 KB
  • planificar.py11.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.