Communitygithub.com

AmanVarshney01/tcut

Sincronizar especificações delta de uma alteração para as especificações principais. Use quando o usuário deseja atualizar as especificações principais com alterações de uma especificação delta, sem arquivar a alteração.

O que é tcut?

Esta habilidade de agente de IA, chamada 'AmanVarshney01/tcut', permite que um agente (como o Claude Code ou Codex) sincronize alterações de especificações delta para as especificações principais em um repositório OpenSpec. É útil quando um desenvolvedor faz alterações incrementais em um 'delta spec' (especificação de mudança) e deseja mesclar essas alterações de forma inteligente no documento de especificação principal, sem simplesmente substituir o arquivo inteiro. A habilidade suporta operações como adicionar, modificar, remover e renomear requisitos, preservando o conteúdo existente não mencionado no delta. O processo é acionado por comandos `openspec` e envolve ler o status da alteração, identificar os arquivos delta e, em seguida, editar diretamente as especificações principais (localizadas em `openspec/specs/<capability>/spec.md`) com mesclagem inteligente. Ao final, o agente fornece um resumo das alterações aplicadas. A ferramenta é idempotente e exige que o agente confirme com o usuário quando o nome da alteração não for fornecido.

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

Perguntar na sua IA favorita

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

Documentação

Sincronizar especificações delta de uma alteração para as especificações principais.

Esta é uma operação orientada por agente - você lerá as especificações delta e editará diretamente as especificações principais para aplicar as alterações. Isso permite uma mesclagem inteligente (por exemplo, adicionar um cenário sem copiar todo o requisito).

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 residir em um, execute openspec store list --json para descobrir os IDs de armazenamento registrados e, em seguida, passe --store <id> nos comandos que leem ou escrevem especificações e alterações (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 em acompanhamentos. Sem um armazenamento, os comandos atuam na raiz openspec/ local mais próxima.

Entrada: Opcionalmente, especifique um nome de alteração. Se omitido, verifique se pode ser inferido a partir do contexto da conversa. Se vago ou ambíguo, você DEVE perguntar pelas alterações disponíveis.

Passos

  1. Se nenhum nome de alteração for fornecido, pergunte para seleção

    Execute openspec list --json para obter as alterações disponíveis. Use a ferramenta AskUserQuestion para permitir que o usuário selecione.

    Mostre alterações que possuem especificações delta (no diretório specs/).

    IMPORTANTE: NÃO adivinhe ou selecione automaticamente uma alteração. Sempre deixe o usuário escolher.

  2. Resolva o contexto da alteração

    Execute:

    openspec status --change "<nome>" --json
    
  3. Encontre as especificações delta

    Use artifactPaths.specs.existingOutputPaths do JSON de status como a lista de arquivos de especificação delta.

    Cada arquivo de especificação delta contém seções como:

    • ## ADDED Requirements - Novos requisitos a adicionar
    • ## MODIFIED Requirements - Alterações em requisitos existentes
    • ## REMOVED Requirements - Requisitos a remover
    • ## RENAMED Requirements - Requisitos a renomear (formato FROM:/TO:)

    Se nenhuma especificação delta for encontrada, informe ao usuário e pare.

  4. Para cada especificação delta, aplique alterações às especificações principais

    Para cada caminho de especificação delta de capacidade local ao repositório retornado pela CLI:

    a. Leia a especificação delta para entender as alterações pretendidas

    b. Leia a especificação principal em openspec/specs/<capacidade>/spec.md (pode ainda não existir)

    c. Aplique as alterações de forma inteligente:

    ADDED Requirements:

    • Se o requisito não existe na especificação principal → adicione-o
    • Se o requisito já existe → atualize-o para corresponder (trate como MODIFIED implícito)

    MODIFIED Requirements:

    • Encontre o requisito na especificação principal
    • Aplique as alterações - isso pode ser:
      • Adicionar novos cenários (não precisa copiar os existentes)
      • Modificar cenários existentes
      • Alterar a descrição do requisito
    • Preserve cenários/conteúdos não mencionados no delta

    REMOVED Requirements:

    • Remova todo o bloco de requisito da especificação principal

    RENAMED Requirements:

    • Encontre o requisito FROM, renomeie para TO

    d. Crie nova especificação principal se a capacidade ainda não existir:

    • Crie openspec/specs/<capacidade>/spec.md
    • Adicione seção Purpose (pode ser breve, marcar como TBD)
    • Adicione seção Requirements com os requisitos ADDED
  5. Mostre o resumo

    Após aplicar todas as alterações, resuma:

    • Quais capacidades foram atualizadas
    • Quais alterações foram feitas (requisitos adicionados/modificados/removidos/renomeados)

Formato de Referência da Especificação Delta

## ADDED Requirements

### Requirement: Novo Recurso
O sistema DEVE fazer algo novo.

#### Scenario: Caso básico
- **WHEN** usuário faz X
- **THEN** sistema faz Y

## MODIFIED Requirements

### Requirement: Recurso Existente
#### Scenario: Novo cenário a adicionar
- **WHEN** usuário faz A
- **THEN** sistema faz B

## REMOVED Requirements

### Requirement: Recurso Obsoleto

## RENAMED Requirements

- FROM: `### Requirement: Nome Antigo`
- TO: `### Requirement: Novo Nome`

Princípio Chave: Mesclagem Inteligente

Diferentemente da mesclagem programática, você pode aplicar atualizações parciais:

  • Para adicionar um cenário, inclua apenas aquele cenário em MODIFIED - não copie cenários existentes
  • O delta representa intenção, não uma substituição completa
  • Use seu julgamento para mesclar alterações de forma sensata

Saída em Caso de Sucesso

## Especificações Sincronizadas: <nome-da-alteração>

Especificações principais atualizadas:

**<capacidade-1>**:
- Requisito adicionado: "Novo Recurso"
- Requisito modificado: "Recurso Existente" (adicionado 1 cenário)

**<capacidade-2>**:
- Novo arquivo de especificação criado
- Requisito adicionado: "Outro Recurso"

As especificações principais estão agora atualizadas. A alteração permanece ativa - arquive quando a implementação estiver completa.

Diretrizes de Segurança

  • Leia tanto a especificação delta quanto a principal antes de fazer alterações
  • Preserve o conteúdo existente não mencionado no delta
  • Se algo não estiver claro, peça esclarecimentos
  • Mostre o que está alterando à medida que avança
  • A operação deve ser idempotente - executar duas vezes deve dar o mesmo resultado

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

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.

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