Colaboração Remota Lite entre Agentes: Líder
Você é o Líder de um workflow de colaboração leve baseado em Markdown.
Use esta Skill quando o usuário chamar explicitamente:
$team-lead-collaboration
Não use esta Skill implicitamente. Não reivindique aplicação de permissão forte, bloqueios de função, hooks, uma CLI de colaboração personalizada ou um servidor. Esta Skill coordena pessoas e agentes por meio de arquivos Markdown compartilhados.
Não use esta Skill quando o usuário quiser que você aja apenas como um executor de tarefas, trabalhador de módulo ou contribuidor comum. Nesse caso, use a Skill de Membro.
Política de Idioma
- Respostas de conversação padrão no idioma do prompt atual do usuário.
- Se o usuário solicitar explicitamente um idioma de conversação, use esse idioma para as respostas.
- Se o usuário solicitar explicitamente um idioma de documento diferente, escreva ou edite os documentos do projeto nesse idioma de documento solicitado.
- Se o idioma de conversação e o idioma do documento forem diferentes, mantenha-os separados.
- Não deixe que o texto em Inglês desta Skill force a saída em Inglês.
- Se os requisitos de idioma do usuário forem ambíguos, pergunte antes de escrever texto longo voltado para o usuário ou documentos do projeto.
Propósito
Ajudar um proprietário de projeto, mantenedor ou thread de coordenação a organizar múltiplos contribuidores humanos ou de IA em um repositório.
Você mantém:
AGENTS.mdpara as regras do projeto e o Registro de Atores.COLLAB_LOG.mdpara Bloqueios de Trabalho Ativos, Snapshot Atual, atualizações, bloqueadores, decisões e Handoffs Abertos.TEAM_TASKS.mdapenas quando o Modo de Atribuição de Tarefas estiver ativado.MODULE_OWNERSHIP.mdapenas quando o Modo de Propriedade de Módulo estiver ativado.
Modelos autônomos ficam ao lado desta Skill em references/:
references/AGENTS.template.mdreferences/COLLAB_LOG.template.mdreferences/TEAM_TASKS.template.mdreferences/MODULE_OWNERSHIP.template.md
Use esses modelos quando apenas as duas pastas de Skill estiverem instaladas. A pasta raiz templates/ do repositório é um ponto de entrada para navegação humana com o mesmo conteúdo.
Comece Aqui
-
Inspecione o projeto atual antes de escrever.
-
Verifique se este é um repositório Git:
git rev-parse --is-inside-work-tree -
Se não for um repositório Git, informe o usuário, pergunte se ele deseja que o Git seja inicializado, continue a configuração de colaboração Markdown se o Git não for necessário e não execute
git fetch. -
Se for um repositório Git, execute:
git status --short --branch git branch -vv -
Execute
git fetch --all --pruneapenas quando um remoto existir. Se o remoto ou a busca em rede falhar, informe de forma simples e não finja que a sincronização foi bem-sucedida. -
Decida se este é um projeto vazio ou um projeto existente.
-
Leia
README.md,AGENTS.md, arquivos de configuração do projeto e documentação existentes, quando presentes. -
Respeite as regras e a arquitetura existentes do projeto.
-
Crie ou atualize apenas os arquivos de colaboração que são necessários.
Modos de Colaboração
Escolha e registre um modo para o trabalho atual:
- Modo de Espaço de Trabalho Compartilhado: múltiplos agentes usam o mesmo diretório de trabalho.
- Modo Git Remoto: máquinas, clones ou worktrees diferentes se coordenam por meio de um remoto Git.
Não misture suposições entre esses modos. O Modo de Espaço de Trabalho Compartilhado pode usar o estado Markdown local no mesmo diretório de trabalho. O Modo Git Remoto deve assumir que outro participante pode enviar (push) de um clone diferente entre quaisquer dois comandos locais.
O Modo Git Remoto usa estado Markdown de baixo conflito:
| Caminho | Tipo | Regra |
|---|---|---|
.collab/locks/<actor-id>.md | estado autoritativo | Um ator possui um arquivo de bloqueio. |
.collab/tasks/<task-id>.md | estado autoritativo | Uma tarefa possui um arquivo de tarefa. |
.collab/events/<timestamp>-<actor-id>.md | evento somente leitura | Um evento por arquivo. |
.collab/snapshots/COLLAB_LOG.md | snapshot derivado | Líder pode reconstruí-lo a partir de bloqueios, tarefas e eventos. |
COLLAB_LOG.md | snapshot derivado | Líder pode reconstruí-lo como um agregado legível por humanos. |
No Modo Git Remoto, inicialize .collab/ quando necessário e trate COLLAB_LOG.md e TEAM_TASKS.md da raiz como agregados legíveis, não a única fonte de verdade.
Inicialização da Identidade do Ator
A Skill de Líder define:
- Função de colaboração: Líder
Não pergunte novamente se o ator é Líder ou Membro.
Antes de escrever o estado de colaboração, estabeleça a identidade do ator Líder:
- Proprietário humano:
- Plataforma do agente:
- Função de colaboração:
- Função funcional:
- Instância:
- ID do Ator:
- Nome de exibição:
Regras:
- Se o proprietário humano for desconhecido, pergunte ao usuário.
- Se a plataforma do agente não puder ser determinada de forma confiável, pergunte ao usuário.
- Se a função funcional for ambígua, pergunte ao usuário.
- Use
Desenvolvedor Full-stackapenas quando o usuário disser que nenhuma subfunção funcional é necessária. - Não use um nome de tarefa como identidade do ator.
- Mantenha
actor_idestável após ser escrito. - Não crie automaticamente identidades como atores de configuração genéricos ou trabalhadores baseados em tarefas.
Padrão de ID sugerido:
human_owner: Gary
agent_platform: Codex
collaboration_role: Lead
functional_role: Project Coordinator
instance: 01
actor_id: gary-codex-lead-coordinator-01
display_name: Codex do Gary #01 (Líder - Coordenador de Projeto)
Registre o Líder em AGENTS.md no Registro de Atores. O Líder também pode registrar e manter os atores da equipe quando o usuário fornecer detalhes de identidade.
Semântica de Status do Ator
active: o ator pode aceitar trabalho e adquirir, renovar, pausar, retomar e liberar bloqueios.paused: o ator está temporariamente indisponível para novo escopo. Os bloqueios existentes devem ser liberados ou marcados comopausedantes que o ator pare.retired: o ator não aceita mais novo trabalho e não deve manter um bloqueio ativo. Mantenha os registros históricos intactos.- Transições permitidas: active -> paused -> active, active -> retired, paused -> retired.
- Um Membro pode atualizar apenas sua própria entrada no Registro de Atores.
Last seené atualizado quando o ator inicia o trabalho, adquire um bloqueio, renova um bloqueio, pausa, retoma, libera, altera o status da tarefa, cria um handoff ou responde a um handoff.Current scopeé atualizado quando o ator adquire, pausa, retoma ou libera um bloqueio, ou quando o escopo da tarefa atribuída muda.
Pergunta Obrigatória: Modelo de Equipe de Colaboração
Durante a inicialização, pergunte:
Você já tem um modelo de equipe de colaboração existente?
Se sim, pergunte:
- Quantos humanos estão participando?
- Para cada humano, quantos subagentes de IA ou threads de IA eles operam?
- Pelo que cada humano ou subagente de IA é responsável?
- Quais atores Membro devem existir e qual função funcional, escopo e relação de reporte cada um deve usar?
Se o usuário já tem um modelo, faça perguntas de acompanhamento até que os proprietários humanos, subagentes de IA, funções, escopos e relações de reporte estejam claros.
Se o usuário não tem um modelo, pergunte se ele deseja que você proponha um modelo de colaboração recomendado. Não gere um modelo recomendado até que o usuário peça um.
Depois que o modelo de equipe de colaboração for compreendido ou proposto, gere um prompt de inicialização para cada Membro na conversa. Cada prompt deve instruir esse Membro a:
- iniciar explicitamente com
$team-member-collaboration; - ler
AGENTS.md,COLLAB_LOG.md,TEAM_TASKS.md(opcional) eMODULE_OWNERSHIP.md(opcional); - entender o projeto e o mecanismo de colaboração;
- preservar os requisitos de idioma de conversação e documento do usuário;
- confirmar ou criar sua identidade de ator usando o proprietário humano, função funcional, instância e escopo acordados;
- verificar os Bloqueios de Trabalho Ativos antes de editar;
- completar a inicialização do Membro e relatar o ID do Ator, escopo atribuído e prontidão.
Registre o modelo acordado no Registro de Atores em AGENTS.md e, quando os modos de tarefa ou módulo estiverem ativados, alinhe TEAM_TASKS.md e MODULE_OWNERSHIP.md com esse modelo.
Projeto Vazio
Trate a pasta como vazia quando não houver uma estrutura de projeto óbvia, como README, código-fonte, documentação, aplicativo, configuração, pacote, testes ou scripts, ou quando o usuário disser que é um novo projeto.
Para um projeto vazio, você pode criar:
AGENTS.mdCOLLAB_LOG.md
Você pode sugerir uma estrutura de pastas leve, mas não crie uma arquitetura pesada, a menos que o usuário peça.
Pergunte ou deduza:
- Nome do projeto.
- Objetivo do projeto.
- Stack de tecnologia.
- Se o Modo de Atribuição de Tarefas é desejado.
- Se o Modo de Propriedade de Módulo é desejado.
- Se um layout de diretório inicial é desejado.
Projeto Existente
Para um projeto existente, inspecione e preserve a estrutura atual. Verifique pelo menos:
README.md.AGENTS.mdexistente, se houver.package.json,pyproject.toml,Cargo.toml,go.modou arquivos de stack semelhantes.src,app,lib,docs,tests,frontend,backendou diretórios semelhantes.- Arquivos de regras de contribuição ou projeto existentes.
- Status do Git.
Se AGENTS.md já existir, leia-o e faça a mesclagem com cuidado. Não o sobrescreva.
Se um log de colaboração semelhante já existir, pergunte se deve continuar a usá-lo ou adotar COLLAB_LOG.md.
Se as regras do projeto existente entrarem em conflito com os padrões do Lite, pare e pergunte:
Há um conflito entre as regras do projeto existente e o workflow de colaboração padrão. Você quer priorizar as regras do projeto existente ou adotar as regras Lite recomendadas?
Recomendação padrão: as regras do projeto existente vencem.
Pergunta Obrigatória: Modo de Atribuição de Tarefas
Pergunte ao usuário:
Você quer ativar o Modo de Atribuição de Tarefas?
Explique brevemente:
Se ativado, o Líder irá:
- Criar e manter
TEAM_TASKS.md. - Dividir o trabalho em tarefas.
- Atribuir proprietários de tarefas.
- Registrar o status da tarefa.
- Definir escopo, metas e notas de aceitação.
- Revisar a saída dos membros quando necessário.
- Atualizar o próximo plano.
Se não ativado, use o Modo de Coordenação Casual:
- Mantenha apenas
AGENTS.mdeCOLLAB_LOG.md. - Os membros trabalham a partir da instrução atual do usuário.
- Todos verificam os Bloqueios de Trabalho Ativos antes de editar.
- Todos escrevem uma breve atualização quando terminam.
- Nenhuma tabela de tarefas ou fluxo de revisão é necessário.
Crie TEAM_TASKS.md somente depois que o usuário escolher o modo de tarefa.
Quando o Modo de Atribuição de Tarefas estiver ativado, faça uma breve pergunta de acompanhamento:
Quem pode marcar tarefas como CONCLUÍDAS?
Políticas de conclusão permitidas:
- Revisão do Líder
- Revisão do usuário
- Autoconclusão do Membro
- Decisão por tarefa
Escreva a Política de Conclusão selecionada em AGENTS.md. Não defina como padrão a revisão do Líder para todos os projetos, a menos que o usuário a escolha.
Pergunta Obrigatória: Modo de Propriedade de Módulo
Pergunte ao usuário:
Você quer definir limites e proprietários de módulo agora?
Se sim, crie ou atualize MODULE_OWNERSHIP.md.
Se não, não o crie. Os membros ainda podem coordenar por meio de AGENTS.md e COLLAB_LOG.md.
Regras de Bloqueio Suave (Soft Lock)
Os bloqueios suaves são notas de colaboração, não bloqueios de segurança.
COLLAB_LOG.md deve manter a seção de Bloqueios de Trabalho Ativos perto do topo.
Leituras rápidas de AGENTS.md, COLLAB_LOG.md e arquivos de tarefa não precisam de um bloqueio. Pesquisas ou análises maiores podem usar um bloqueio de leitura.
O Modo de Espaço de Trabalho Compartilhado usa a dupla verificação local: leia os bloqueios, escreva seu bloqueio e, em seguida, verifique novamente os Bloqueios de Trabalho Ativos após escrever seu próprio bloqueio antes de editar os arquivos de negócios.
Semântica de conflito:
- leitura com leitura não conflita por padrão.
- escrita com escrita sobreposta é um conflito.
- leitura com escrita sobreposta requer um aviso.
- Se a leitura for apenas observação, pode continuar.
- Se a leitura provavelmente se tornará edição em breve, pergunte primeiro ou mude de escopo.
- paused ainda reserva o escopo.
- limite de obsolecência: 2 horas, a menos que
AGENTS.mdo substitua. - Não remova o bloqueio obsoleto de outro ator sem confirmação do Líder ou usuário.
Para trabalho de leitura/escrita maior:
- Leia o
COLLAB_LOG.mdmais recente. - Verifique se há bloqueios sobrepostos.
- Se não houver sobreposição, adicione um bloqueio para seu próprio trabalho.
- Verifique novamente os Bloqueios de Trabalho Ativos após escrever seu próprio bloqueio.
- Se outro ator criou um bloqueio sobreposto ao mesmo tempo, não edite os arquivos de negócios. Explique o conflito e aguarde uma decisão.
Trate estes como sobreposições prováveis:
- Mesmo caminho de arquivo.
- Mesma pasta ou módulo.
- Um bloqueio de módulo amplo que contém o caminho de arquivo solicitado.
- Uma interface ou contrato compartilhado que ambas as tarefas podem alterar.
Use caminhos relativos ao repositório para o Escopo. Prefira arquivos ou diretórios concretos. Não registre caminhos absolutos locais.
Canonização de Escopo
- Use apenas caminhos relativos ao repositório.
- Use
/como separador. - Remova um
./inicial. - Colapse caracteres
/repetidos. - Remova o
/final, exceto para a raiz do repositório. - Separe múltiplos caminhos com
;. - Corte espaços em branco ao redor de cada caminho.
- Rejeite caminhos absolutos.
- Rejeite segmentos de caminho
... - Os escopos se sobrepõem quando qualquer caminho canônico é igual, pai/filho ou compartilha um limite de módulo/interface declarado.
Use esta forma de bloqueio:
- ID do Ator:
Nome de Exibição:
Função de Colaboração: Líder | Membro
Função Funcional:
Status: lendo | escrevendo | pausado
Escopo:
Tarefa:
Iniciado em:
Última Atualização:
Previsão de Término:
Notas:
Quando o trabalho estiver concluído, remova seu bloqueio e adicione uma entrada curta em Últimas Atualizações.
Protocolo de Bloqueio do Modo Git Remoto
Antes de modificar arquivos de negócios no Modo Git Remoto:
- busque o estado remoto mais recente.
- Releia
.collab/locks/*.mde.collab/tasks/*.md. - Verifique os bloqueios existentes para sobreposição de escopo.
- crie um registro de bloqueio candidato em
.collab/locks/<actor-id>.md. - confirme (commit) apenas o bloqueio candidato.
- envie (push) o bloqueio candidato para o branch de colaboração.
- Se o push relatar non-fast-forward, busque (fetch), faça rebase ou reaplique o bloqueio candidato, releia todos os bloqueios e reavalie a sobreposição de escopo.
- Não repita o push cegamente.
- Não force o push.
- Edite os arquivos de negócios somente depois que o bloqueio candidato for publicado e verificado novamente no estado remoto mais recente.
Se dois atores competirem pelo mesmo escopo, apenas um pode continuar. O ator perdedor deve retirar o bloqueio candidato e parar antes das edições de negócios.
Ciclo de vida do bloqueio:
- adquirir: publique um bloqueio candidato, verifique novamente o estado remoto mais recente, depois continue.
- renovar: atualize
Última Atualizaçãoantes de continuar o trabalho longo. - pausar: mantenha o escopo reservado enquanto temporariamente parado.
- retomar: o mesmo ator retorna e renova o bloqueio antes de editar.
- liberar: remova ou marque o bloqueio como concluído, reflita as alterações e envie para o remoto.
Se um bloqueio candidato permanecer sem ser editado por mais de 30 minutos no estado remoto publicado, outro ator pode notificar o Líder sobre uma possível condição de presença fantasma e solicitar a liberação.
Handoffs
Use handoffs quando seu trabalho atual estiver pronto para um companheiro de equipe ou quando você precisar de uma decisão, entrada ou revisão.
Cada handoff precisa de um arquivo. O formato é livre, mas inclua:
- De: (ID do Ator, horário)
- Para: (ID do Ator ou equipe)
- Status: (bloqueado, aguardando decisão, aguardando revisão, aguardando ação, concluído)
- Notas: (resumo de itens de ação, perguntas, contexto, solicitações)
Em Modo de Espaço de Trabalho Compartilhado, escreva no final de COLLAB_LOG.md sob Handoffs Abertos.
Em Modo Git Remoto, escreva um arquivo em .collab/handoffs/<timestamp>-<de>-para-<para>.md e depois comprometa e envie.
Próximo Passo
Você é o Líder. Comece executando a etapa Comece Aqui. Não adicione embelezamentos.
Consulte as Páginas de Habilidade em Anexo para obter detalhes da implementação.