/tc — Rastreador de Mudanças Técnicas
Dispatch um comando de TC (Mudança Técnica). Argumentos: $ARGUMENTS.
Se $ARGUMENTS estiver vazio, exiba este menu e pare:
/tc init Inicializa o rastreamento de TC neste projeto
/tc criar <nome> Cria um novo registro de TC
/tc atualizar <tc-id> [...] Atualiza campos, status, arquivos, transferência
/tc status [tc-id] Mostra um TC ou o resumo do registro
/tc retomar <tc-id> Retoma um TC de uma sessão anterior
/tc fechar <tc-id> Transiciona um TC para implantado
/tc exportar Re-renderiza artefatos derivados
/tc dashboard Re-renderiza o resumo do registro
Caso contrário, parseie $ARGUMENTS como <subcomando> <restante> e encaminhe ao protocolo correspondente abaixo. Todos os scripts residem em engineering/tc-tracker/scripts/.
Subcomandos
init
- Execute:
python3 engineering/skills/tc-tracker/scripts/tc_init.py --root . --json - Se o status for
already_initialized, reporte as estatísticas atuais e pare. - Caso contrário, informe o que foi criado e sugira
/tc criar <nome>como próximo passo.
criar <nome>
- Parseie
<nome>como um slug em kebab-case. Se estiver faltando, peça ao usuário um. - Solicite ao usuário (uma pergunta de cada vez) por:
- Título (5-120 caracteres)
- Escopo:
feature | bugfix | refactor | infrastructure | documentation | hotfix | enhancement - Prioridade:
critical | high | medium | low(padrãomedium) - Resumo (10+ caracteres)
- Motivação
- Execute:
python3 engineering/skills/tc-tracker/scripts/tc_create.py --root . \ --name "<slug>" --title "<título>" --scope <escopo> --priority <prioridade> \ --summary "<resumo>" --motivation "<motivação>" --json - Reporte o novo ID do TC e o caminho para o registro.
atualizar <tc-id> [intenção]
- Se
<tc-id>estiver faltando, liste os TCs ativos (statusin_progressoublocked) detc_status.py --alle pergunte qual. - Determine a intenção do usuário a partir da linguagem natural:
- Mudança de status →
--set-status <estado>com--reason "<porquê>" - Adicionar arquivos → um ou mais
--add-file caminho[:ação] - Adicionar um teste →
--add-test "<título>" --test-procedure "<passo>" --test-expected "<resultado>" - Atualizar transferência → qualquer combinação de
--handoff-progress,--handoff-next,--handoff-blocker,--handoff-context - Adicionar uma nota →
--note "<texto>" - Adicionar uma tag →
--tag <tag>
- Mudança de status →
- Execute:
python3 engineering/skills/tc-tracker/scripts/tc_update.py --root . --tc-id <tc-id> [flags] --json - Se o código de saída for diferente de zero, exiba o erro literalmente. A máquina de estados e o validador rejeitarão movimentos inválidos — não tente novamente cegamente.
status [tc-id]
- Se
<tc-id>for fornecido:python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --tc-id <tc-id> - Caso contrário:
python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --all
retomar <tc-id>
- Execute:
python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --tc-id <tc-id> --json - Exiba o bloco de transferência de forma proeminente:
progress_summary,next_steps(numerados),blockers,key_context. - Pergunte: "Retomar e continuar a partir do próximo passo 1? (s/n)"
- Se sim, execute uma atualização para registrar a retomada:
python3 engineering/skills/tc-tracker/scripts/tc_update.py --root . --tc-id <tc-id> \ --note "Sessão retomada" --reason "transferência de sessão" - Comece a executar o primeiro item em
next_steps. NÃO re-derive o contexto — confie na transferência.
fechar <tc-id>
- Leia o registro via
tc_status.py --tc-id <tc-id> --json. - Verifique se o status atual é
tested. Se não, recuse e informe ao usuário quais transições ainda são necessárias. - Verifique
test_cases: avise se algum estiverpending,failoublocked. - Pergunte ao usuário:
- "Quem está aprovando? (seu nome, ou 'self')"
- "Notas de aprovação (opcional):"
- "Status da cobertura de testes: none / partial / full"
- Execute:
Em seguida, edite diretamente o bloco depython3 engineering/skills/tc-tracker/scripts/tc_update.py --root . --tc-id <tc-id> \ --set-status deployed --reason "Aprovado por <aprovador>" --note "Aprovação: <aprovador> — <notas>"approvalpor meio de uma atualização subsequente se sua versão do script suportar; caso contrário, instrua o usuário a registrar a aprovação emnotes. - Reporte: "TC-NNN fechado e implantado."
exportar
Não há exportação HTML automática nesta skill. Em vez disso, revalide tudo:
- Leia o registro.
- Para cada registro, execute:
python3 engineering/skills/tc-tracker/scripts/tc_validator.py --record <caminho> --json - Execute:
python3 engineering/skills/tc-tracker/scripts/tc_validator.py --registry docs/TC/tc_registry.json --json - Reporte: total de registros validados, quaisquer erros, caminhos para algo inválido.
dashboard
Execute o resumo de todos os registros:
python3 engineering/skills/tc-tracker/scripts/tc_status.py --root . --all
Regras de Ferro
- Nunca edite
tc_record.jsonmanualmente. Sempre usetc_update.pypara que o histórico de revisão seja anexado e a validação seja executada. - Nunca pule a máquina de estados. Avance pelos estados mesmo que pareça redundante.
- Nunca exclua um TC. O histórico é somente de acréscimo — adicione uma revisão final e marque-a como
[CANCELLED]. - Manutenção de registro em segundo plano. Quando estiver no meio de uma tarefa, inicie um subagente em segundo plano para atualizar o TC. Não pare de codificar para fazer papelada.
- Valide antes de relatar sucesso. Se um script sair com código não zero, exiba o erro e pare.
Skills Relacionadas
engineering/tc-tracker— SKILL.md completo com referência de esquema, diagramas de ciclo de vida e o formato de transferência.engineering/changelog-generator— Emparelhe com o rastreador de TC: TCs para a trilha de auditoria por mudança, changelog para notas de versão voltadas ao usuário.engineering/tech-debt-tracker— Para rastrear dívidas de longo prazo, em vez de mudanças discretas de código.