Communitygithub.com

tcut - Propor uma nova mudança

Proponha uma nova mudança com todos os artefatos gerados em uma única etapa. Use quando o usuário quiser descrever rapidamente o que deseja construir e obter uma proposta completa com design, especificações e tarefas prontas para implementação.

O que é tcut - Propor uma nova mudança?

O tcut (OpenSpec Change Tool) é uma skill para agentes de IA especializada em planejamento e proposição de mudanças em projetos de software. Ela permite que, a partir de uma descrição do que o usuário deseja construir ou modificar, o agente crie automaticamente todos os artefatos necessários para a implementação: uma proposta (proposal.md), um design técnico (design.md) e uma lista de tarefas (tasks.md). A skill utiliza a ferramenta de linha de comando OpenSpec para gerenciar mudanças, verificar dependências entre artefatos e garantir que tudo esteja pronto para a fase de aplicação. Seu principal benefício é eliminar idas e vindas, consolidando todo o planejamento em um único fluxo de trabalho. A skill é útil para qualquer agente de IA que interaja com o ecossistema OpenSpec, como Claude Code, Cursor, Codex ou outros, e suporta múltiplos repositórios de especificações ("stores"), além do modo local. O agente segue um pipeline claro: cria o diretório da mudança, obtém a ordem de construção dos artefatos, itera criando cada artefato seguindo instruções específicas (template, regras e contexto) e, ao final, exibe um resumo com o caminho para a implementação (por exemplo, executando `/opsx:apply`).

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Propor uma nova mudança - crie a mudança e todos os artefatos em uma única etapa.

Criarei uma mudança com artefatos:

  • proposal.md (o quê e por quê)
  • design.md (como)
  • tasks.md (passos de implementação)

Quando estiver pronto para implementar, execute /opsx:apply


Seleção de armazenamento: Se o usuário nomear um armazenamento (um armazenamento é um repositório OpenSpec independente registrado nesta máquina) ou o trabalho estiver em um, execute openspec store list --json para descobrir os IDs de armazenamento registrados, depois passe --store <id> nos comandos que leem ou escrevem especificações e mudanças (new change, status, instructions, list, show, validate, archive, doctor, context). Outros comandos não aceitam a flag. As dicas impressas pelos comandos já carregam a flag; mantenha-a nos acompanhamentos. Sem um armazenamento, os comandos atuam na raiz openspec/ local mais próxima.

Entrada: A solicitação do usuário deve incluir um nome de mudança (em kebab-case) OU uma descrição do que desejam construir.

Passos

  1. Se nenhuma entrada clara for fornecida, pergunte o que desejam construir

    Use a ferramenta AskUserQuestion (pergunta aberta, sem opções predefinidas) para perguntar:

    "Em qual mudança você deseja trabalhar? Descreva o que deseja construir ou corrigir."

    A partir da descrição, derive um nome em kebab-case (ex.: "adicionar autenticação de usuário" → adicionar-auth-usuario).

    IMPORTANTE: Não prossiga sem entender o que o usuário deseja construir.

  2. Crie o diretório da mudança

    openspec new change "<nome>"
    

    Isso cria uma mudança esqueleto no diretório base de planejamento resolvido pela CLI com .openspec.yaml.

  3. Obtenha a ordem de construção dos artefatos

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

    Analise o JSON para obter:

    • applyRequires: array de IDs de artefatos necessários antes da implementação (ex.: ["tasks"])
    • artifacts: lista de todos os artefatos com seu status e dependências
    • planningHome, changeRoot, artifactPaths e actionContext: contexto de caminho e escopo. Use estes em vez de assumir caminhos locais do repositório.
  4. Crie artefatos em sequência até estar pronto para aplicação

    Use a ferramenta TodoWrite para acompanhar o progresso pelos artefatos.

    Percorra os artefatos em ordem de dependência (artefatos sem dependências pendentes primeiro):

    a. Para cada artefato que estiver pronto (dependências satisfeitas):

    • Obtenha as instruções:
      openspec instructions <id-do-artefato> --change "<nome>" --json
      
    • O JSON de instruções inclui:
      • context: Contexto do projeto (restrições para você - NÃO inclua na saída)
      • rules: Regras específicas do artefato (restrições para você - NÃO inclua na saída)
      • template: A estrutura a ser usada para o arquivo de saída
      • instruction: Orientação específica do esquema para este tipo de artefato
      • resolvedOutputPath: Caminho resolvido ou padrão para escrever o artefato
      • dependencies: Artefatos concluídos para ler como contexto
    • Leia os arquivos de dependência concluídos para obter contexto
    • Crie o arquivo do artefato usando template como a estrutura e escreva-o em resolvedOutputPath
    • Aplique context e rules como restrições - mas NÃO os copie para o arquivo
    • Mostre progresso breve: "Criado "

    b. Continue até que todos os artefatos applyRequires estejam completos

    • Após criar cada artefato, execute novamente openspec status --change "<nome>" --json
    • Verifique se cada ID de artefato em applyRequires tem status: "done" no array de artefatos
    • Pare quando todos os artefatos applyRequires estiverem prontos

    c. Se um artefato exigir entrada do usuário (contexto pouco claro):

    • Use a ferramenta AskUserQuestion para esclarecer
    • Depois continue com a criação
  5. Mostre o status final

    openspec status --change "<nome>"
    

Saída

Após concluir todos os artefatos, resuma:

  • Nome da mudança e localização
  • Lista de artefatos criados com breves descrições
  • O que está pronto: "Todos os artefatos criados! Pronto para implementação."
  • Sugestão: "Execute /opsx:apply ou peça para implementar para começar a trabalhar nas tarefas."

Diretrizes de Criação de Artefatos

  • Siga o campo instruction de openspec instructions para cada tipo de artefato
  • O esquema define o que cada artefato deve conter - siga-o
  • Leia os artefatos de dependência para obter contexto antes de criar novos
  • Use template como a estrutura para o arquivo de saída - preencha suas seções
  • IMPORTANTE: context e rules são restrições para VOCÊ, não conteúdo para o arquivo
    • NÃO copie blocos <context>, <rules>, <project_context> para o artefato
    • Eles guiam o que você escreve, mas nunca devem aparecer na saída

Barreiras de Segurança

  • Crie TODOS os artefatos necessários para implementação (conforme definido pelo apply.requires do esquema)
  • Sempre leia os artefatos de dependência antes de criar um novo
  • Se o contexto estiver criticamente pouco claro, pergunte ao usuário - mas prefira tomar decisões razoáveis para manter o ritmo
  • Se uma mudança com esse nome já existir, pergunte se o usuário deseja continuá-la ou criar uma nova
  • Verifique se cada arquivo de artefato existe após escrever antes de prosseguir para o próximo

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.

Habilidades Relacionadas