O que Baton faz?
Use o mecanismo Python integrado como livro-razão de tarefas local autoritativo. Execute comandos explicitamente; esta skill não inicia um daemon, detecta limites de uso do modelo ou contata outros agentes automaticamente.
Interpretar ações de chat
Normalmente, os usuários invocam esta skill no chat, como /baton handover TASK-01 to pc1-codex, $baton continue TASK-01 ou /baton:baton status, dependendo do host. Interprete as palavras restantes como uma solicitação de ação e execute o comando do mecanismo correspondente para o usuário. Estas são solicitações para esta skill, não comandos registrados separados ou comandos de terminal.
| Ação solicitada | Ação do mecanismo |
|---|---|
init | Inicializar se necessário; inspecionar o projeto; InitFresh apenas para um novo quadro. |
join | JoinExisting. |
status, tasks, packet TASK | Status, Tasks, WebPacket. |
add TASK "Título" with files ... | AddTask, com dependências quando fornecidas. |
start TASK, claim TASK | SilentHandshake; use --git-branch para trabalho Git e uma árvore de trabalho isolada quando solicitado. Em seguida, implemente apenas se o usuário pediu implementação. |
checkpoint TASK with message ... | Checkpoint; adicione --push apenas dentro da autorização de upload do usuário. |
progress TASK to 60 percent | UpdateProgress, com um valor de progresso verdadeiro e notas. |
handover TASK to AGENT, handoff TASK to AGENT | AtomicHandoff; inclua o prompt atual, as alterações e o trabalho restante da conversa. |
continue TASK, resume TASK | CheckOrContinue; atue em sua decisão de propriedade antes de editar. |
done TASK | Executar verificações relevantes do projeto, depois Done quando a implementação estiver pronta. |
review TASK | Inspecionar as alterações fixadas e verificações relevantes como um agente diferente, depois SubmitReview. |
reopen TASK, merge TASK, release TAG, revert TASK, recover TAG | ReopenTask, MergeTask, ReleaseTag, RevertTask, RecoverTag respectivamente. |
release files ... from TASK | ReleaseFiles para as reivindicações especificadas. |
resolve recovery | ResolveRecovery; reter trabalho não resolvido e seu diário se recusado. |
abandon recovery | ResolveRecovery --abandon-recovery apenas quando o abandono for explicitamente solicitado. Relatar reparos restantes. |
selftest | SelfTest. |
reset workspace | ResetWorkspace --confirm-reset apenas para uma reinicialização explícita autorizada pelo líder. |
Resolva IDs e caminhos de tarefas a partir da solicitação e do quadro atual. Pergunte por informações genuinamente faltantes, como a chave de um novo projeto ou uma identidade de colaborador ambígua. Sempre passe explicitamente o ID do colaborador desta conversa para ações do mecanismo que exigem identidade; outro agente pode ter alterado o ID salvo da sessão local compartilhada. Respeite autorizações anteriores na conversa. MergeTask e ReleaseTag tentam upload remoto, portanto não os use contra um remoto configurado quando a solicitação do usuário proíbe upload.
Configurar um projeto
Requisitos: Python 3.10+ e Git. Selecione um interpretador Python 3 disponível (python3, python ou py -3 no Windows); não assuma que o alias python3 do Windows funciona.
Antes do primeiro comando do mecanismo em um projeto, localize o scripts/bootstrap.py desta skill e execute-o com o interpretador escolhido e --project <caminho-absoluto-do-projeto>. Ele copia o mecanismo integrado para .collab/collab_engine.py e adiciona /.collab/ ao .gitignore do projeto. Ele não inicializa o livro-razão nem substitui um mecanismo existente diferente. Resolva uma atualização separadamente se ele recusar.
Os comandos abaixo são executados a partir da raiz do projeto. Substitua python3 pelo interpretador selecionado quando necessário. Para tarefas com suporte Git, primeiro verifique se o projeto é um repositório Git com um commit base e uma identidade Git configurada. Use seu branch base real com --base-branch <branch> quando não for main.
Estabelecer propriedade antes de editar
- Execute
Status. Junte-se ao espaço de trabalho inicializado com um ID de colaborador distinto; obtenha a chave do projeto através do contexto local autorizado do usuário. Para um novo espaço de trabalho, useInitFreshcom o líder escolhido e uma chave de projeto. Mantenha a chave e a sessão local fora do Git. - Adicione uma tarefa com seus caminhos de arquivo pretendidos e dependências, se ela não existir.
- Execute
SilentHandshakeantes de editar. Um BUSY_REDIRECT é uma recusa em reivindicar essa tarefa; escolha uma alternativa elegível. Use--use-worktreepara tarefas simultâneas com suporte de branch que compartilham o mesmo projeto. - Faça checkpoint do progresso significativo. Ao transferir propriedade, use AtomicHandoff; o agente receptor executa CheckOrContinue. Um agente que fez handoff deve respeitar SKIP_ALREADY_HANDED_OFF.
- Execute Done quando a implementação estiver pronta, então peça a um agente diferente para revisar o commit fixado. Uma revisão genuína significa inspecionar as alterações e verificações relevantes antes de submeter o veredito.
Respeite o escopo do usuário e a autorização existente para commits, uploads, merges e releases. A aprovação de um par não autoriza por si só a publicação externa. Não envie mensagens para outros agentes ou pessoas sem autorização; registros de handoff podem ser consumidos pelo próximo agente quando ele executar.
Comandos do mecanismo
Prefixe cada linha com python3 .collab/collab_engine.py --local-path .. Forneça um --collaborator-id <agente> estável quando aplicável.
| Ação | Argumentos e comportamento |
|---|---|
InitFresh | --project-key <chave> --collaborator-id <líder>; recusa um livro-razão existente. |
JoinExisting | --project-key <chave> --collaborator-id <agente> --device-cluster-id <cluster> --same-device true para colaboração no mesmo PC. |
Status / Tasks | Inspecionar propriedade, progresso e entrega. Status aceita --render-format CLI ou Markdown. |
AddTask | --task-id T1 --task-title "Implementar funcionalidade" --files src/feature.py; opcional --depends-on T0. |
SilentHandshake | --task-id T1 --collaborator-id <proprietário> --git-branch; opcional --use-worktree. |
Checkpoint | --task-id T1 --collaborator-id <proprietário> --commit-message "checkpoint: progresso significativo"; opcional --push. Comita arquivos atualmente pertencentes. |
ReleaseFiles | --task-id T1 --collaborator-id <proprietário> --files <caminhos> para liberação intencional de reivindicação. |
AtomicHandoff | --task-id T1 --collaborator-id <proprietário> --target-agent-id <receptor> --reason "Continuar implementação"; adicione contexto com --last-prompt, --changes-summary, --remaining-todo; opcional --push. |
CheckOrContinue | --task-id T1 --collaborator-id <agente>; carregar o handoff ou respeitar a proteção de pular-retomada. |
Done | --task-id T1 --collaborator-id <proprietário>; fixa o trabalho limpo para revisão; opcional --push. |
SubmitReview | --task-id T1 --collaborator-id <revisor> --review-verdict APPROVED|CHANGES_REQUESTED --review-notes "Conclusões"; auto-revisão é bloqueada. |
ReopenTask | --task-id T1 --collaborator-id <proprietário-ou-líder> para revisar trabalho pendente ou revertido. |
MergeTask | --task-id T1 --collaborator-id <agente> --squash; tenta um push. Use --use-worktree para preservar o checkout compartilhado de outra tarefa; --reapply reaplica explicitamente o trabalho revertido. |
ReleaseTag | --tag v1.0.0 --tag-message "Marco aceito" --collaborator-id <agente>; marca o branch base verificado e tenta upload. |
RevertTask | --task-id T1 --collaborator-id <agente>; cria um commit de desfazer; opcional --push e --use-worktree. |
RecoverTag | --tag v1.0.0 --recovery-branch recover/v1.0.0 para criar um branch a partir de um marco. |
ResolveRecovery | Resolver somente após o checkout afetado ser reparado. --abandon-recovery arquiva explicitamente o diário e lista reparos manuais; não realiza esses reparos. |
SelfTest | Executar a suíte de 42 estágios do mecanismo em fixtures descartáveis. |
Para uma tarefa com suporte de branch usando uma árvore de trabalho, edite e execute verificações do projeto dentro do worktreePath registrado da tarefa.
Limites e recuperação
- Reivindicações são verificações cooperativas no nível do mecanismo; editores e comandos Git arbitrários podem contorná-las. IDs de colaborador são rótulos, não identidades autenticadas.
- O quadro de um PC é a autoridade local. PCs separados usam branches e sincronização Git; réplicas de quadro sincronizadas não fornecem um bloqueio distribuído. Não trate uma pasta de drive como um livro-razão transacional compartilhado.
--backup-path <pasta-local-sincronizada>escreve um snapshot unidirecional do quadro. O cliente de sincronização lida com upload para a nuvem; o mecanismo não tem adaptador nativo de API para Drive, OneDrive ou TeraBox.- A aprovação de revisão marca a tarefa como concluída e libera suas reivindicações; merge/entrega verificado é uma operação separada. Relate
DELIVERY: COMPLETEapenas quando o mecanismo verificar o push remoto; mantenha LOCAL_ONLY ou INCOMPLETE quando retornado. - Se a recuperação relatar UNRESOLVED, preserve o diário e os arquivos locais. Inspecione o checkout nomeado, salve edições relevantes e tente novamente após a limpeza. Não use o abandono como substituto para preservar arquivos.
- ResetWorkspace arquiva o quadro e requer identidade de líder mais
--confirm-reset; use-o apenas quando a reinicialização do espaço de trabalho estiver dentro da solicitação do usuário.
A skill requer um agente de codificação com acesso ao sistema de arquivos e shell. Use a invocação real da skill do host; /baton não é um comando de terminal ou API de chatbot universalmente registrado.