Communitygithub.com

Tick - Coordenação Multiagente

Coordenar trabalho entre agentes humanos e de IA usando arquivos Markdown estruturados. Os usuários interagem naturalmente com você, e você mantém as tarefas de forma transparente no TICK.md.

O que é Tick - Coordenação Multiagente?

Esta skill capacita agentes de IA, como Claude Code, Cursor ou Codex, a atuarem como orquestradores de tarefas em um fluxo de trabalho multiagente baseado em Markdown e Git. O núcleo é o **Tick Protocol**, que utiliza um arquivo `TICK.md` para definir tarefas, agentes e dependências de forma legível para humanos e processável por máquinas. A skill permite que o agente execute comandos via CLI (`tick add`, `tick claim`, `tick done`) ou via ferramentas MCP (`tick_add`, `tick_claim`) para criar, gerenciar e finalizar tarefas enquanto mantém um histórico completo de versões. É ideal para projetos que exigem colaboração entre múltiplos agentes (bots e humanos), rastreamento auditável e fluxos de trabalho locais sem dependência de nuvem. As funcionalidades incluem criação de tarefas com prioridades e tags, atribuição e liberação de tarefas, adição de comentários de progresso, gerenciamento de dependências com visualização em grafo, correções via desfazer/reativar, operações em lote, e sincronização Git pull/push. A skill reforça boas práticas como conversa natural, uso consistente do nome do agente e quebra de tarefas complexas em subtarefas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Purple-Horizons/tick-md/tree/main/clawhub-skill

Perguntar na sua IA favorita

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

Documentação

Coordenação Multiagente Tick

Coordene o trabalho entre agentes humanos e de IA usando arquivos Markdown estruturados. Os usuários interagem naturalmente com você, e você mantém as tarefas de forma transparente no TICK.md.

Instalação

Pré-requisitos: A CLI do Tick e o servidor MCP já devem estar instalados e configurados pelo seu ambiente.

Primeira configuração? Veja INSTALL.md para instruções de instalação específicas do editor.

Limites de Segurança

  • Peça aprovação explícita do usuário antes de editar arquivos de configuração MCP do editor.
  • Peça aprovação explícita do usuário antes de executar qualquer comando que envie para um repositório Git remoto (tick sync --push ou git push).
  • Se a aprovação do usuário não for explícita, use comandos somente leitura/status e explique qual ação de escrita está pendente.

Verificação Rápida:

# Verificar se a CLI está disponível
tick --version

# Verificar se o arquivo TICK.md existe no projeto
ls TICK.md

# Se não existir, inicializar
tick init

Conceito Principal

Protocolo Tick = Coordenação de tarefas baseada em Git via arquivos TICK.md

  • Legível por humanos: Markdown padrão com YAML
  • Interpretável por máquinas: Estruturado para ferramentas
  • Com suporte a Git: Controle de versão completo e trilha de auditoria
  • Local primeiro: Sem necessidade de nuvem

Início Rápido

Verificar se o Tick está inicializado

ls TICK.md

Se não estiver inicializado

tick init

Obter status atual

tick status

Fluxos de Trabalho Comuns

1. O Usuário Pede Para Você Fazer Algo

Usuário: "Você pode refatorar o sistema de autenticação?"

Suas Ações:

# 1. Criar tarefa
tick add "Refatorar sistema de autenticação" --priority high --tags backend,security

# 2. Registrar você mesmo (apenas na primeira vez)
tick agent register @seu-nome --type bot --roles "engenheiro,refatoração"

# 3. Assumir a tarefa
tick claim TASK-XXX @seu-nome

# 4. Trabalhar nela (fazer o trabalho real)

# 5. Adicionar comentários de progresso
tick comment TASK-XXX @seu-nome --note "Analisando o fluxo de autenticação atual"
tick comment TASK-XXX @seu-nome --note "Refatorado para usar tokens JWT"

# 6. Marcar como concluída
tick done TASK-XXX @seu-nome

2. O Usuário Pergunta Sobre o Status do Projeto

Usuário: "Em quais tarefas estamos trabalhando?"

# Obter status abrangente
tick status

# Ou filtrar e listar tarefas
tick list --status in_progress
tick list --claimed-by @bot-name

Resuma a saída de forma natural para o usuário.

3. Coordenação com Outros Agentes

Usuário: "Os outros agentes terminaram suas tarefas?"

# Verificar status geral
tick status

# Listar agentes e seus trabalhos
tick agent list --verbose

# Validar o projeto
tick validate

4. Dividindo Trabalho Complexo

Usuário: "Construir um painel de usuário com gráficos e exportação de dados"

Suas Ações:

# Criar tarefa pai
tick add "Construir painel do usuário" --priority high --tags frontend

# Criar subtarefas com dependências
tick add "Projetar layout do painel" --priority high --tags frontend,design
tick add "Implementar gráficos de dados" --priority medium --tags frontend,charts --depends-on TASK-XXX
tick add "Adicionar exportação CSV" --priority low --tags frontend,export --depends-on TASK-XXX

# Visualizar dependências
tick graph

Referência de Comandos

Gerenciamento de Projeto

tick init                          # Inicializar novo projeto
tick status                        # Visualizar visão geral do projeto
tick list                          # Listar tarefas com filtros
tick graph                         # Visualizar dependências
tick watch                         # Monitorar alterações em tempo real
tick validate                      # Verificar erros
tick sync --pull                   # Baixar últimas alterações
# tick sync --push                 # Somente com aprovação explícita do usuário

Operações de Tarefa

tick add "Título da tarefa" \
  --priority high \                # urgent|high|medium|low
  --tags backend,api \             # Tags separadas por vírgula
  --assigned-to @agent \           # Atribuir a um agente
  --depends-on TASK-001 \          # Dependências
  --estimated-hours 4              # Estimativa de tempo

tick claim TASK-001 @agent         # Assumir tarefa (define como in_progress)
tick release TASK-001 @agent       # Liberar tarefa (volta para todo)
tick done TASK-001 @agent          # Concluir tarefa
tick reopen TASK-001 @agent        # Reabrir tarefa concluída
tick delete TASK-001               # Excluir uma tarefa
tick comment TASK-001 @agent \     # Adicionar nota
  --note "Atualização de progresso"
tick edit TASK-001 \               # Editar campo diretamente
  --title "Novo título" \
  --priority high \
  --status in_progress

Correções e Recuperação

tick reopen TASK-001 @agent        # Reabrir tarefa concluída
tick reopen TASK-001 @agent \      # Reabrir e re-bloquear dependentes
  --re-block

tick delete TASK-001               # Excluir tarefa, limpa dependências
tick delete TASK-001 --force       # Excluir mesmo se tiver dependentes

tick edit TASK-001 --title "X"     # Alterar título
tick edit TASK-001 --priority high # Alterar prioridade
tick edit TASK-001 --status todo   # Alterar status diretamente
tick edit TASK-001 --tags a,b,c    # Substituir tags
tick edit TASK-001 --add-tag new   # Adicionar tag
tick edit TASK-001 --remove-tag old # Remover tag
tick edit TASK-001 \               # Editar dependências
  --depends-on TASK-002,TASK-003

tick undo                          # Desfazer última operação tick
tick undo --dry-run                # Visualizar o que seria desfeito

Operações em Lote

tick import tasks.yaml             # Importar tarefas de arquivo YAML
tick import - < tasks.yaml         # Importar da entrada padrão
tick import tasks.yaml --dry-run   # Visualizar importação

tick batch start                   # Iniciar modo lote (sem commit automático)
tick batch status                  # Verificar status do lote
tick batch commit                  # Confirmar todas as alterações em lote
tick batch abort                   # Descartar alterações em lote

Listagem Avançada de Tarefas

tick list                          # Todas as tarefas, agrupadas por status
tick list --status blocked         # Apenas tarefas bloqueadas
tick list --priority urgent        # Tarefas de alta prioridade
tick list --assigned-to @alice     # Tarefas para um agente específico
tick list --tag backend            # Tarefas com uma tag
tick list --json                   # Saída JSON para scripts

Visualização de Dependências

tick graph                         # Árvore de dependências ASCII
tick graph --format mermaid        # Fluxograma Mermaid
tick graph --show-done             # Incluir tarefas concluídas

Monitoramento em Tempo Real

tick watch                         # Observar alterações
tick watch --interval 10           # Intervalo de polling personalizado
tick watch --filter in_progress    # Mostrar apenas status específico

Gerenciamento de Agentes

tick agent register @nome \        # Registrar novo agente
  --type bot \                     # human|bot
  --roles "dev,qa" \               # Funções separadas por vírgula
  --status idle                    # working|idle|offline

tick agent list                    # Listar todos os agentes
tick agent list --verbose          # Informações detalhadas
tick agent list --type bot         # Filtrar por tipo
tick agent list --status working   # Filtrar por status

Ferramentas MCP (Alternativa à CLI)

Se estiver usando o Model Context Protocol, use estas ferramentas em vez de comandos CLI:

Status e Inspeção

  • tick_status - Obter status do projeto (agentes, tarefas, progresso)
  • tick_validate - Validar estrutura do TICK.md
  • tick_agent_list - Listar agentes com filtros opcionais

Gerenciamento de Tarefas

  • tick_add - Criar nova tarefa
  • tick_claim - Assumir tarefa para um agente
  • tick_release - Liberar tarefa assumida
  • tick_done - Concluir tarefa (desbloqueia dependentes automaticamente)
  • tick_comment - Adicionar nota a uma tarefa

Correções e Recuperação

  • tick_reopen - Reabrir tarefa concluída
  • tick_delete - Excluir uma tarefa
  • tick_edit - Editar campo diretamente (ignora a máquina de estados)
  • tick_undo - Desfazer última operação tick

Operações de Agente

  • tick_agent_register - Registrar novo agente

Exemplo MCP:

// Criar tarefa via MCP
await tick_add({
  title: "Refatorar autenticação",
  priority: "high",
  tags: ["backend", "security"],
  assignedTo: "@bot-name"
})

// Assumi-la
await tick_claim({
  taskId: "TASK-023",
  agent: "@bot-name"
})

Melhores Práticas

1. Conversa Natural Primeiro

✅ Bom: Usuário diz "refatore a autenticação", você cria a tarefa automaticamente ❌ Ruim: Fazer o usuário criar tarefas explicitamente

2. Use Sempre Seu Nome de Agente

Registre uma vez:

tick agent register @seu-bot-name --type bot --roles "engenheiro"

Depois use consistentemente:

tick claim TASK-001 @seu-bot-name
tick done TASK-001 @seu-bot-name

3. Forneça Contexto nos Comentários

# ✅ Bom - explica o que e por quê
tick comment TASK-005 @bot --note "Migrei de REST para GraphQL para melhor segurança de tipos e redução de over-fetching"

# ❌ Ruim - muito vago
tick comment TASK-005 @bot --note "API atualizada"

4. Divida Tarefas Grandes

Crie subtarefas com dependências:

tick add "Configurar pipeline CI/CD" --priority high
tick add "Configurar GitHub Actions" --depends-on TASK-010
tick add "Adicionar scripts de deploy" --depends-on TASK-011
tick add "Configurar ambiente de staging" --depends-on TASK-011

5. Verifique o Status Antes de Assumir

# Certifique-se de que a tarefa existe e não foi assumida
tick status

# Depois assuma
tick claim TASK-XXX @seu-nome

Entendendo a Estrutura do TICK.md

O arquivo tem três seções:

  1. Frontmatter (YAML): Metadados do projeto
  2. Tabela de Agentes (Markdown): Quem está trabalhando no quê
  3. Blocos de Tarefa (YAML + Markdown): Tarefas individuais com histórico

Exemplo:

---
project: meu-app
schema_version: "1.0"
next_id: 5
---

# Agentes

| Nome | Tipo | Funções | Status | Trabalhando em |
|------|------|---------|--------|----------------|
| @alice | human | owner | working | TASK-003 |
| @bot | bot | engenheiro | idle | - |

# Tarefas


typeyaml
id: TASK-001
title: Construir autenticação
status: done
priority: high
claimed_by: null
# ... mais campos
history:
  - ts: 2026-02-07T10:00:00Z
    who: @bot
    action: created
  - ts: 2026-02-07T14:00:00Z
    who: @bot
    action: done

Implementada autenticação baseada em JWT com refresh de token...


## Funcionalidades Avançadas

### Desbloqueio Automático de Dependências

Quando você conclui uma tarefa, as tarefas dependentes são desbloqueadas automaticamente:
```bash
# TASK-002 depende de TASK-001
# TASK-002 status: blocked

tick done TASK-001 @bot
# TASK-002 muda automaticamente para: todo

Detecção de Dependências Circulares

A validação captura dependências circulares:

tick validate
# Erro: Dependência circular detectada: TASK-001 → TASK-002 → TASK-003 → TASK-001

Mensagens de Commit Inteligentes

# Execute apenas com aprovação explícita do usuário
tick sync --push
# Gera automaticamente: "feat: concluir TASK-001, TASK-002; atualizar TASK-003"

Reabrindo Tarefas Concluídas

Se uma tarefa foi marcada como concluída prematuramente:

tick reopen TASK-001 @bot
# Define o status de volta para in_progress, registra no histórico

tick reopen TASK-001 @bot --re-block
# Também re-bloqueia quaisquer tarefas que dependam desta

Corrigindo Erros

# Desfazer a última operação tick
tick undo

# Visualizar o que seria desfeito primeiro
tick undo --dry-run

# Edições diretas de campo (ignoram a máquina de estados)
tick edit TASK-001 --status todo --priority urgent

Operações em Lote

Para múltiplas alterações sem commits individuais:

tick batch start
# Agora faça múltiplas alterações...
tick add "Tarefa 1" --priority high
tick add "Tarefa 2" --priority medium
tick claim TASK-001 @bot
# ...
tick batch commit   # Commit único para todas as alterações
# Ou: tick batch abort  # Descartar todas as alterações

Monitoramento em Tempo Real

tick watch
# [10:23:45] ✓ Adicionado: TASK-015 - Implementar busca de usuário
# [10:24:12] 🔒 TASK-015 assumida por @bot
# [10:26:33] ⟳ TASK-015: in_progress → done

Cartão de Referência Rápida

Fluxo de Trabalho: init → add → claim → work → comment → done → sync
Essenciais:        status | add | claim | done | list | graph
Correções:         reopen | delete | edit | undo
Lote:              import | batch start/commit/abort
Coordenação:       agent register | agent list | validate | watch
Git:               sync --pull | sync --push (aprov. explícita do usuário necessária)

Lembretes Chave

  1. Usuários interagem com VOCÊ, não diretamente com o Tick
  2. VOCÊ mantém o TICK.md de forma transparente
  3. O painel é para inspeção, não para interação primária
  4. Sempre use seu nome de agente consistentemente
  5. Comente com frequência para mostrar progresso
  6. Valide antes de sincronizar
  7. Verifique o status antes de assumir
  8. Divida trabalho complexo em subtarefas

Recursos

Licença

MIT

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas