Communitygithub.com

luci-efe/skills

Úsalo cuando una característica, refactorización o diseño esté poco especificado o tenga enfoques contradictorios, antes de escribir código para trabajo que afecte la forma de los datos, los límites de seguridad, las interfaces públicas o más de unos pocos archivos. No para correcciones de un solo carácter.

¿Qué es skills?

Este skill, llamado '/crucible', guía al agente de IA a través de un proceso estructurado para resolver problemas de diseño y arquitectura antes de escribir código. Está diseñado para reducir la ambigüedad y evitar implementaciones prematuras o incorrectas cuando se enfrentan cambios que involucran múltiples archivos, límites de seguridad, formas de datos o interfaces públicas. Funciona en cinco pasos: primero, el agente debe leer el código existente y documentar hechos sin hacer preguntas; segundo, sigue una 'escalera' de decisiones para identificar si puede reutilizar código existente, usar bibliotecas estándar o dependencias, y solo como último recurso escribir código nuevo mínimo; tercero, analiza el cambio propuesto a través de cinco ejes (alcance, invariantes de datos y estado, modos de falla, seguridad y verificación); cuarto, formula preguntas solo sobre los aspectos abiertos; y quinto, registra la decisión en un archivo de marcado. El skill fomenta la eficiencia al minimizar preguntas al humano (máximo 3 por lote) y alentar decisiones autónomas en asuntos de bajo riesgo. Es compatible con cualquier agente que pueda leer el sistema de archivos y ejecutar comandos, y es útil en plataformas como Claude Code, Cursor o Codex.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/luci-efe/skills/tree/HEAD/skills/crucible

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

/crucible

Lee primero, pregunta al final. El humano solo responde lo que el código no puede.

Paso 1: Leer (sin preguntas aún)

Escribe lo que el código ya decide como hechos con ruta:línea. Cada pregunta posterior debe ser algo que estos hechos no pudieron responder.

Paso 2: La escalera (antes de proponer algo nuevo)

Para cada parte del cambio solicitado, detente en el primer "sí":

  1. ¿Podemos saltarlo o eliminarlo? ¿El requisito ya se cumple o no es necesario? → dilo.
  2. ¿Ya está en el repositorio? Un helper, componente o patrón existente → reutilízalo (cita ruta:línea).
  3. ¿Está en la stdlib o en una dependencia existente? → úsalo.
  4. Solo entonces: el código nuevo mínimo, sin opciones especulativas ni abstracciones.

Paso 3: Los cinco ejes

Para cada eje, márcalo como resuelto (cita el código o la solicitud) o abierto:

  1. Alcance: qué está incluido y qué está explícitamente excluido.
  2. Invariantes de datos y estado: qué debe ser siempre verdadero. ¿Migraciones?
  3. Modos de falla: qué ocurre con entrada incorrecta, tiempo de espera, fallo parcial, reintento.
  4. Límites de seguridad y confianza: quién puede llamar a esto, con qué datos y dónde reside la validación.
  5. Prueba de verificación: qué comprobación demostrará que está hecho (alimenta a /proof).

Paso 4: Pregunta solo lo que está abierto

  • ¿Un eje está abierto y la respuesta cambia el diseño? → pregunta. Máximo 3 preguntas por lote. Cada una da tu respuesta recomendada y su compensación, para que el humano pueda decir solo "sí".
  • ¿Está abierto pero es de bajo riesgo? → decide y regístralo como asumido.
  • ¿Todo está resuelto? → no preguntes nada. Ve al paso 5.
  • ¿Hay una bifurcación arquitectónica genuina que merezca la opinión de otros modelos? → /council con este registro como artefacto.

Paso 5: Registro

Escribe .ramos/decisions/<topic>.md:

# <tema> (<fecha>)
## Hechos (del código)        - … (ruta:línea)
## Resultado de la escalera   - reutilizar X / stdlib Y / nuevo Z (por qué)
## Ejes                       | eje | resuelto/asumido/respondido | decisión | fuente |
## Fuera del alcance          - …
## Prueba                     - comando(s) exacto(s) que ejecutará /proof

Hecho cuando

Cada eje está resuelto, asumido o respondido, el registro existe y el comando de prueba está nombrado. Preguntas sin respuesta que cambien el diseño → detente e informa bloqueado al humano. No empieces a codificar.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados