Communitygithub.com

AmanVarshney01/tcut

Propón un nuevo cambio generando todos los artefactos en un solo paso. Úsalo cuando el usuario quiera describir rápidamente lo que quiere construir y obtener una propuesta completa con diseño, especificaciones y tareas listas para implementar.

¿Qué es tcut?

Esta skill permite a un agente de IA (como Claude Code, Cursor, Codex) proponer un cambio completo en un proyecto de software, generando todos los artefactos de planificación necesarios (propuesta, diseño y tareas) en un solo paso a partir de una descripción del usuario. Soporta plataformas que integren el CLI `openspec` y que puedan ejecutar herramientas como `AskUserQuestion` y `TodoWrite`. El agente primero aclara con el usuario el nombre o la descripción del cambio, luego crea un directorio de cambio usando `openspec new change`, determina el orden de construcción de artefactos mediante `openspec status`, y utiliza `openspec instructions` para obtener plantillas y reglas de cada artefacto. El agente debe iterar sobre los artefactos respetando dependencias, leer artefactos completados para contexto, y seguir las instrucciones sin incluir bloques de restricciones internas. Al completar todos los artefactos requeridos, el agente muestra un resumen y sugiere ejecutar `/opsx:apply` para iniciar la implementación.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AmanVarshney01/tcut/tree/HEAD/.claude/skills/openspec-propose

Preguntar en tu IA favorita

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

Documentación

Propón un nuevo cambio: crea el cambio y genera todos los artefactos en un solo paso.

Crearé un cambio con artefactos:

  • proposal.md (qué y por qué)
  • design.md (cómo)
  • tasks.md (pasos de implementación)

Cuando esté listo para implementar, ejecuta /opsx:apply


Selección de almacén: Si el usuario menciona un almacén (un almacén es un repositorio OpenSpec independiente registrado en esta máquina) o el trabajo reside en uno, ejecuta openspec store list --json para descubrir los IDs de almacenes registrados, luego pasa --store <id> en los comandos que leen o escriben especificaciones y cambios (new change, status, instructions, list, show, validate, archive, doctor, context). Otros comandos no aceptan la bandera. Las pistas impresas por los comandos ya llevan la bandera; manténla en seguimientos. Sin un almacén, los comandos actúan sobre la raíz local openspec/ más cercana.

Entrada: La solicitud del usuario debe incluir un nombre de cambio (en kebab-case) O una descripción de lo que quieren construir.

Pasos

  1. Si no se proporciona una entrada clara, pregunta qué quieren construir

    Usa la herramienta AskUserQuestion (abierta, sin opciones predefinidas) para preguntar:

    "¿En qué cambio quieres trabajar? Describe lo que quieres construir o arreglar."

    A partir de su descripción, deriva un nombre en kebab-case (ej.: "añadir autenticación de usuario" → add-user-auth).

    IMPORTANTE: No continúes sin entender qué quiere construir el usuario.

  2. Crea el directorio del cambio

    openspec new change "<nombre>"
    

    Esto crea un cambio con estructura base en el directorio de planificación resuelto por el CLI con .openspec.yaml.

  3. Obtén el orden de construcción de artefactos

    openspec status --change "<nombre>" --json
    

    Analiza el JSON para obtener:

    • applyRequires: array de IDs de artefactos necesarios antes de la implementación (ej.: ["tasks"])
    • artifacts: lista de todos los artefactos con su estado y dependencias
    • planningHome, changeRoot, artifactPaths y actionContext: contexto de ruta y ámbito. Úsalos en lugar de asumir rutas locales del repositorio.
  4. Crea artefactos en secuencia hasta que esté listo para aplicar

    Usa la herramienta TodoWrite para seguir el progreso entre los artefactos.

    Itera sobre los artefactos en orden de dependencias (primero los artefactos sin dependencias pendientes):

    a. Para cada artefacto que esté ready (dependencias satisfechas):

    • Obtén instrucciones:
      openspec instructions <artifact-id> --change "<nombre>" --json
      
    • El JSON de instrucciones incluye:
      • context: Antecedentes del proyecto (restricciones para ti - NO lo incluyas en la salida)
      • rules: Reglas específicas del artefacto (restricciones para ti - NO lo incluyas en la salida)
      • template: La estructura a usar para tu archivo de salida
      • instruction: Guía específica del esquema para este tipo de artefacto
      • resolvedOutputPath: Ruta o patrón resuelto para escribir el artefacto
      • dependencies: Artefactos completados que debes leer para contexto
    • Lee los archivos de dependencias completados para contexto
    • Crea el archivo del artefacto usando template como estructura y escríbelo en resolvedOutputPath
    • Aplica context y rules como restricciones - pero NO los copies dentro del archivo
    • Muestra progreso breve: "Creado "

    b. Continúa hasta que todos los artefactos de applyRequires estén completos

    • Después de crear cada artefacto, vuelve a ejecutar openspec status --change "<nombre>" --json
    • Verifica si cada ID de artefacto en applyRequires tiene status: "done" en el array de artefactos
    • Detente cuando todos los applyRequires estén hechos

    c. Si un artefacto requiere entrada del usuario (contexto poco claro):

    • Usa la herramienta AskUserQuestion para aclarar
    • Luego continúa con la creación
  5. Muestra el estado final

    openspec status --change "<nombre>"
    

Salida

Después de completar todos los artefactos, resume:

  • Nombre y ubicación del cambio
  • Lista de artefactos creados con breves descripciones
  • Lo que está listo: "¡Todos los artefactos creados! Listo para implementar."
  • Indicación: "Ejecuta /opsx:apply o pídeme que implemente para comenzar a trabajar en las tareas."

Directrices para la creación de artefactos

  • Sigue el campo instruction de openspec instructions para cada tipo de artefacto
  • El esquema define qué debe contener cada artefacto - síguelo
  • Lee los artefactos de dependencia para contexto antes de crear otros nuevos
  • Usa template como estructura para tu archivo de salida - completa sus secciones
  • IMPORTANTE: context y rules son restricciones para TI, no contenido para el archivo
    • NO copies los bloques <context>, <rules>, <project_context> dentro del artefacto
    • Estos guían lo que escribes, pero nunca deben aparecer en la salida

Barreras de protección

  • Crea TODOS los artefactos necesarios para la implementación (según lo definido por el apply.requires del esquema)
  • Siempre lee los artefactos de dependencia antes de crear uno nuevo
  • Si el contexto no está críticamente claro, pregunta al usuario - pero prefiere tomar decisiones razonables para mantener el ritmo
  • Si ya existe un cambio con ese nombre, pregunta si el usuario quiere continuarlo o crear uno nuevo
  • Verifica que cada archivo de artefacto exista después de escribirlo antes de continuar al siguiente

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

AmanVarshney01/tcut

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.

AmanVarshney01/tcut

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.

AmanVarshney01/tcut

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.

AmanVarshney01/tcut

Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.

AmanVarshney01/tcut

Update an OpenSpec change by revising its existing planning artifacts and keeping them coherent with one another. Use when the user wants to revise a change's plan, fold new decisions into it, or reconcile its artifacts after an edit. Never edits code.

AmanVarshney01/tcut

Combine tcut terminal recordings with Remotion to produce polished, motion-designed launch/promo videos (title cards, animated captions, layered terminal footage). Use when the user wants a product video, launch video, or social video that features terminal/CLI footage.

AmanVarshney01/tcut

Record reproducible terminal videos (MP4/GIF/SVG/HTML) from TypeScript scripts or live sessions with the tcut CLI. Use when the user wants a terminal demo, CLI screencast, TUI recording, or animated terminal GIF for a README, website, or social post.

Skills relacionados