Communitygithub.com

Purple-Horizons/tick-md

Coordenação Multiagente Tick

O que é tick-md?

O Tick é um protocolo de coordenação de tarefas baseado em Git que permite que agentes de IA e humanos colaborem de forma transparente usando arquivos Markdown estruturados (TICK.md). Ele age como um sistema de gerenciamento de tarefas leve e local-first, onde você (como agente) mantém o arquivo TICK.md naturalmente durante a conversa com o usuário, sem que eles precisem interagir diretamente com o CLI. O Tick suporta criação, atribuição, comentários, conclusão de tarefas, dependências entre tarefas, visualização de grafos e validação de estrutura, tudo via CLI ou através de ferramentas MCP. Ideal para ambientes como Claude Code, Cursor e Codex, o Tick permite que múltiplos agentes coordenem suas atividades, compartilhem progresso e mantenham um histórico de auditoria completo, tudo sem depender de serviços em nuvem. Suas principais vantagens incluem rastreabilidade via Git, desbloqueio automático de dependências, detecção de ciclos, correção de erros com undo e operações em lote.

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

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: O CLI do Tick e o servidor MCP já devem estar instalados e configurados pelo seu ambiente.

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

Verificação rápida:

# Verifique se o CLI está disponível
tick --version

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

# Se não existir, inicialize
tick init

Conceito Central

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
  • Backup via Git: Controle de versão completo e trilha de auditoria
  • Local primeiro: Nenhuma nuvem necessária

Início Rápido

Verifique se o Tick está inicializado

ls TICK.md

Se não estiver inicializado

tick init

Obtenha o 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. Crie uma tarefa
tick add "Refatorar sistema de autenticação" --priority high --tags backend,security

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

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

# 4. Trabalhe nela (faça o trabalho real)

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

# 6. Marque 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?"

# Obtenha status abrangente
tick status

# Ou filtre e liste tarefas
tick list --status in_progress
tick list --claimed-by @nome-do-bot

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?"

# Verifique o status geral
tick status

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

# Valide o projeto
tick validate

4. Dividindo Trabalho Complexo

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

Suas Ações:

# Crie tarefa pai
tick add "Construir dashboard de usuário" --priority high --tags frontend

# Crie subtarefas com dependências
tick add "Projetar layout do dashboard" --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

# Visualize dependências
tick graph

Referência de Comandos

Gerenciamento de Projetos

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 mudanças em tempo real
tick validate                      # Verificar erros
tick sync --push                   # Commitar e enviar para o git

Operações de Tarefas

tick add "Título da tarefa" \
  --priority high \                # urgente|alta|média|baixa
  --tags backend,api \             # Tags separadas por vírgula
  --assigned-to @agente \          # Atribuir a um agente
  --depends-on TASK-001 \          # Dependências
  --estimated-hours 4              # Estimativa de horas

tick claim TASK-001 @agente         # Reivindicar tarefa (define in_progress)
tick release TASK-001 @agente       # Liberar tarefa (volta para todo)
tick done TASK-001 @agente          # Concluir tarefa
tick reopen TASK-001 @agente        # Reabrir tarefa concluída
tick delete TASK-001               # Excluir uma tarefa
tick comment TASK-001 @agente \     # 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 @agente        # Reabrir tarefa concluída
tick reopen TASK-001 @agente \      # 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 auto-commit)
tick batch status                  # Verificar status do lote
tick batch commit                  # Commitar todas as mudanças em lote
tick batch abort                   # Descartar mudanças 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 de um agente específico
tick list --tag backend            # Tarefas com tag
tick list --json                   # Saída JSON para scripts

Visualização de Dependências

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

Monitoramento em Tempo Real

tick watch                         # Monitorar mudanças
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 \                     # humano|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 ao CLI)

Se estiver usando o Model Context Protocol, use estas ferramentas em vez dos 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 - Reivindicar tarefa para agente
  • tick_release - Liberar tarefa reivindicada
  • tick_done - Concluir tarefa (desbloqueia dependentes automaticamente)
  • tick_comment - Adicionar nota à tarefa

Correções e Recuperação

  • tick_reopen - Reabrir tarefa concluída
  • tick_delete - Excluir uma tarefa
  • tick_edit - Editar campo diretamente (ignora 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: "@nome-do-bot"
})

// Reivindicá-la
await tick_claim({
  taskId: "TASK-023",
  agent: "@nome-do-bot"
})

Melhores Práticas

1. Conversa Natural Primeiro

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

2. Sempre Use Seu Nome de Agente

Registre uma vez:

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

Depois use consistentemente:

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

3. Forneça Contexto nos Comentários

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

# ❌ 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 Reivindicar

# Certifique-se de que a tarefa existe e não está reivindicada
tick status

# Depois reivindique
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 Tarefas (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 | humano | proprietário | trabalhando | TASK-003 |
| @bot | bot | engenheiro | ocioso | - |

# Tarefas


yaml
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:

# TASK-002 depende de TASK-001
# Status de TASK-002: blocked

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

Detecção de Dependências Circulares

A validação detecta dependências circulares:

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

Mensagens de Commit Inteligentes

tick sync --push
# Gera automaticamente: "feat: concluir TASK-001, TASK-002; atualizar TASK-003"

Reabertura de 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 dependem 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 (ignora máquina de estados)
tick edit TASK-001 --status todo --priority urgent

Operações em Lote

Para múltiplas mudanças sem commits individuais:

tick batch start
# Agora faça várias mudanças...
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 mudanças
# Ou: tick batch abort  # Descartar todas as mudanças

Monitoramento em Tempo Real

tick watch
# [10:23:45] ✓ Adicionado: TASK-015 - Implementar busca de usuário
# [10:24:12] 🔒 TASK-015 reivindicada 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

Lembretes Principais

  1. Os usuários interagem com VOCÊ, não diretamente com o Tick
  2. VOCÊ mantém o TICK.md de forma transparente
  3. O dashboard é para inspeção, não para interação primária
  4. Sempre use seu nome de agente consistentemente
  5. Comente frequentemente para mostrar progresso
  6. Valide antes de sincronizar
  7. Verifique o status antes de reivindicar
  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