视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
tc-tracker【文档与办公】Use quando o usuário pede para rastrear mudanças técnicas, criar registros de mudanças, gerenciar ciclos de vida de TCs, ou fazer handoff de trabalho entre sessões de IA. Cobre fluxos de trabalho init/create/update/status/resume/close/export para documentação estruturada de mudanças de código.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: "tc-tracker" description: "Use quando o usuário pede para rastrear mudanças técnicas, criar registros de mudanças, gerenciar ciclos de vida de TCs, ou fazer handoff de trabalho entre sessões de IA. Cobre fluxos de trabalho init/create/update/status/resume/close/export para documentação estruturada de mudanças de código." agents:
Rastrear toda mudança de código com registros JSON estruturados, uma máquina de estados aplicada e um formato de handoff de sessão que permite que uma nova sessão de IA retome o trabalho de forma limpa quando a anterior expira.
Uma Mudança Técnica (TC) é um registro estruturado que captura o que mudou, por que mudou, quem mudou, quando mudou, como foi testado e onde o trabalho está para a próxima sessão. Os registros ficam como JSON em docs/TC/ dentro do projeto alvo, validados contra um esquema estrito e uma máquina de estados.
Use esta skill quando o usuário:
/tc init, /tc create, /tc update, /tc status, /tc resume ou /tc closeNÃO use esta skill quando:
engineering/changelog-generator)engineering/tech-debt-tracker)Cada projeto armazena TCs em {project_root}/docs/TC/:
docs/TC/
├── tc_config.json # Configurações do projeto
├── tc_registry.json # Índice mestre + estatísticas
├── records/
│ └── TC-001-04-05-26-user-auth/
│ └── tc_record.json # Fonte da verdade
└── evidence/
└── TC-001/ # Trechos de log, saída de comandos, screenshots
TC-NNN-MM-DD-YY-functionality-slug (ex.: TC-001-04-05-26-user-authentication)TC-NNN.A ou TC-NNN.A.1 (letra = revisão, dígito = sub-revisão)NNN é sequencial, MM-DD-YY é a data de criação, slug é kebab-case.planned -> in_progress -> implemented -> tested -> deployed
| | | | |
+-> blocked -+ +- in_progress <-------+
| (rework / hotfix)
+-> planned
Consulte references/lifecycle.md para a tabela completa de transições e fluxos de recuperação.
A skill inclui cinco scripts Python que realizam operações determinísticas com apenas stdlib nos registros TC. Cada um suporta --help e --json.
python3 scripts/tc_init.py --project "My Project" --root .
Cria docs/TC/, docs/TC/records/, docs/TC/evidence/, tc_config.json e tc_registry.json. Idempotente — re-executar reporta "já inicializado" com estatísticas atuais.
python3 scripts/tc_create.py \
--root . \
--name "user-authentication" \
--title "Add JWT-based user authentication" \
--scope feature \
--priority high \
--summary "Adds JWT login + middleware" \
--motivation "Required for protected endpoints"
Gera o próximo ID TC sequencial, cria o diretório do registro, escreve um tc_record.json totalmente populado (status planned, revisão de criação R1) e atualiza o registro.
# Transição de status (validada contra a máquina de estados)
python3 scripts/tc_update.py --root . --tc-id TC-001-04-05-26-user-auth \
--set-status in_progress --reason "Starting implementation"
# Adicionar um arquivo
python3 scripts/tc_update.py --root . --tc-id TC-001-04-05-26-user-auth \
--add-file src/auth.py:created
# Acrescentar dados de handoff
python3 scripts/tc_update.py --root . --tc-id TC-001-04-05-26-user-auth \
--handoff-progress "JWT middleware wired up" \
--handoff-next "Write integration tests" \
--handoff-next "Update README"
Cada mudança acrescenta uma entrada de revisão sequencial R<n>, atualiza updated e revalida contra o esquema antes de escrever atomicamente (.tmp depois renomear).
# TC único
python3 scripts/tc_status.py --root . --tc-id TC-001-04-05-26-user-auth
# Todos os TCs (resumo do registro)
python3 scripts/tc_status.py --root . --all --json
python3 scripts/tc_validator.py --record docs/TC/records/TC-001-.../tc_record.json
python3 scripts/tc_validator.py --registry docs/TC/tc_registry.json
O validador aplica o esquema, verifica legalidade da máquina de estados, verifica IDs sequenciais R<n> e T<n> e asserta consistência de aprovação (approved=true requer approved_by e approved_date).
Consulte references/tc-schema.md para o esquema completo.
O repositório inclui um slash command /tc em commands/tc.md que despacha para estes scripts com base no subcomando:
| Comando | Ação |
|---|---|
/tc init | Executar tc_init.py para o projeto atual |
/tc create <name> | Solicitar campos, executar tc_create.py |
/tc update <tc-id> | Aplicar mudanças descritas pelo usuário via tc_update.py |
/tc status [tc-id] | Executar tc_status.py |
/tc resume <tc-id> | Exibir handoff, arquivar sessão anterior, iniciar nova |
/tc close <tc-id> | Transitar para deployed, definir aprovação |
/tc export | Re-renderizar todos os artefatos derivados |
/tc painel | Re-renderizar o resumo do registro |
O slash command é a interface do usuário; os scripts Python são o motor.
O bloco de handoff fica em session_context.handoff dentro de cada TC e é o campo mais importante para continuidade de IA. Contém:
progress_summary — o que foi feitonext_steps — lista ordenada de ações restantesblockers — qualquer coisa impedindo o progressokey_context — decisões críticas, armadilhas, padrões que o próximo bot deve conhecerfiles_in_progress — arquivos sendo editados e seu estado (editing, needs_review, partially_done, ready)decisions_made — decisões arquiteturais com justificativa e timestampConsulte references/handoff-format.md para a estrutura completa e regras de preenchimento.
revision_history usa R1, R2, R3...; test_cases usa T1, T2, T3....approved=true requer approved_by e approved_date.TC-NNN-MM-DD-YY-slug.TC-NNN.A ou TC-NNN.A.N..tmp depois renomeado.O rastreamento de TC NÃO DEVE interromper o fluxo de trabalho principal.
Para integrar um projeto existente com histórico não documentado, construa um retro_changelog.json (uma entrada por mudança lógica) e alimente-o para tc_create.py em um loop, ou estenda o script para modo em lote. Agrupar commits por funcionalidade, não por arquivo.
| Anti-padrão | Por que é ruim | Faça isso em vez disso |
|---|---|---|
Editar revision_history para "corrigir" um typo | Histórico é append-only — adulteração destrói a trilha de auditoria | Adicionar uma nova revisão que corrija o campo |
| Pular a máquina de estados ("apenas defina o status como deployed") | Ignora validação e oculta fases saltadas | Percorrer in_progress -> implemented -> tested -> deployed |
| Criar um TC por arquivo alterado | Fragmenta trabalho relacionado e explode o registro | Um TC por unidade lógica (funcionalidade, correção, refatoração) |
| Atualizar TC inline entre cada edição de código | Desacelera o agente principal, desperdiça contexto | Spawn um subagente em background em marcos |
Marcar approved=true sem approved_by | Validador rejeitará; trilha de auditoria enganosa | Sempre definir approved_by e approved_date juntos |
Sobrescrever tc_record.json diretamente com editor de texto | Risco de corrupção no meio da escrita e pula validação | Use tc_update.py (escrita atômica + verificação de esquema) |
Colocar segredos em notes ou evidências | Registros são commitados no repositório | Referenciar uma variável de ambiente ou store de segredos externo |
| Reutilizar IDs de TC após exclusão | Quebra a garantia sequencial e confunde o histórico | Incrementar apenas para frente — nunca reciclar |
Deixar next_steps ficar desatualizado | Derrota o propósito do handoff | Atualizar em cada marco, mesmo se "nada mudou" |
engineering/changelog-generator — Gera notas de lançamento Keep-a-Changelog a partir de Conventional Commits. Combinar com TC tracker: TC para a trilha de auditoria granular por mudança, changelog para notas de lançamento voltadas ao usuário.engineering/tech-debt-tracker — Para rastrear itens de dívida técnica de longa duração em vez de mudanças discretas de código.engineering/focused-fix — Quando uma correção de bug precisa de reparo sistemático em toda a funcionalidade, execute /focused-fix primeiro e depois capture o resultado como um TC.project-management/decision-log — Decisões arquiteturais feitas dentro do bloco decisions_made de um TC também podem ser promovidas para um registro de decisões de nível de projeto.engineering-team/code-reviewer — A revisão pré-merge se encaixa naturalmente na transição tested -> deployed; capture o revisor em approval.approved_by.