Communitygithub.com

Coordinación Multi-Agente Tick

Coordina el trabajo entre agentes humanos e IA utilizando archivos Markdown estructurados. Los usuarios interactúan contigo de forma natural y tú mantienes las tareas de manera transparente en TICK.md.

¿Qué es Coordinación Multi-Agente Tick?

Esta habilidad implementa el Protocolo Tick, un sistema de coordinación de tareas basado en Git a través de archivos TICK.md. Permite a un agente de IA (como Claude Code, Cursor o Codex) gestionar tareas, asignarlas a otros agentes, registrar progreso con comentarios, y mantener un historial completo con control de versiones, todo sin necesidad de servicios en la nube. Es útil para equipos que mezclan desarrolladores humanos y agentes automatizados, ya que unifica la comunicación en un solo archivo Markdown legible tanto por humanos como por máquinas. Soporta flujos como creación de tareas con prioridades y dependencias, visualización de dependencias en ASCII o Mermaid, operaciones por lotes, corrección de errores con `undo`, y monitoreo en tiempo real con `tick watch`. Funciona tanto mediante CLI como a través de herramientas MCP (Model Context Protocol) para integración directa en entornos de IA.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Coordinación Multi-Agente Tick?

Coordina el trabajo entre agentes humanos e IA utilizando archivos Markdown estructurados. Los usuarios interactúan contigo de forma natural y tú mantienes las tareas de manera transparente en TICK.md.

Instalación

Prerrequisitos: La CLI de Tick y el servidor MCP ya deben estar instalados y configurados por tu entorno.

¿Primera vez? Consulta INSTALL.md para instrucciones de instalación específicas para tu editor.

Verificación rápida:

# Verifica que la CLI esté disponible
tick --version

# Comprueba si existe TICK.md en el proyecto
ls TICK.md

# Si no existe, inicializa
tick init

Concepto Central

Protocolo Tick = Coordinación de tareas basada en Git mediante archivos TICK.md

  • Legible por humanos: Markdown estándar con YAML
  • Interpretable por máquinas: Estructurado para herramientas
  • Respaldado por Git: Control de versiones completo y registro de auditoría
  • Local primero: No requiere nube

Inicio Rápido

Verifica si Tick está inicializado

ls TICK.md

Si no está inicializado

tick init

Obtén el estado actual

tick status

Flujos de Trabajo Comunes

1. El Usuario Te Pide Que Hagas Algo

Usuario: "¿Puedes refactorizar el sistema de autenticación?"

Tus Acciones:

# 1. Crear tarea
tick add "Refactorizar sistema de autenticación" --priority high --tags backend,security

# 2. Registrarte (solo la primera vez)
tick agent register @tu-nombre --type bot --roles "engineer,refactoring"

# 3. Reclamar la tarea
tick claim TASK-XXX @tu-nombre

# 4. Trabajar en ella (hacer el trabajo real)

# 5. Añadir comentarios de progreso
tick comment TASK-XXX @tu-nombre --note "Analizando flujo de autenticación actual"
tick comment TASK-XXX @tu-nombre --note "Refactorizado para usar tokens JWT"

# 6. Marcar como completada
tick done TASK-XXX @tu-nombre

2. El Usuario Pregunta Sobre el Estado del Proyecto

Usuario: "¿En qué tareas estamos trabajando?"

# Obtén estado completo
tick status

# O filtra y lista tareas
tick list --status in_progress
tick list --claimed-by @nombre-del-bot

Resume la salida de forma natural para el usuario.

3. Coordinación con Otros Agentes

Usuario: "¿Los otros agentes terminaron sus tareas?"

# Verifica el estado general
tick status

# Lista agentes y su trabajo
tick agent list --verbose

# Valida el proyecto
tick validate

4. Descomposición de Trabajo Complejo

Usuario: "Construye un panel de usuario con gráficos y exportación de datos"

Tus Acciones:

# Crea tarea principal
tick add "Construir panel de usuario" --priority high --tags frontend

# Crea subtareas con dependencias
tick add "Diseñar diseño del panel" --priority high --tags frontend,design
tick add "Implementar gráficos de datos" --priority medium --tags frontend,charts --depends-on TASK-XXX
tick add "Añadir exportación CSV" --priority low --tags frontend,export --depends-on TASK-XXX

# Visualiza dependencias
tick graph

Referencia de Comandos

Gestión de Proyectos

tick init                          # Inicializa nuevo proyecto
tick status                        # Vista general del proyecto
tick list                          # Lista tareas con filtros
tick graph                         # Visualiza dependencias
tick watch                         # Monitorea cambios en tiempo real
tick validate                      # Verifica errores
tick sync --push                   # Commitea y sube a git

Operaciones sobre Tareas

tick add "Título de la tarea" \
  --priority high \                # urgente|alta|media|baja
  --tags backend,api \             # Etiquetas separadas por coma
  --assigned-to @agente \          # Asignar a agente
  --depends-on TASK-001 \          # Dependencias
  --estimated-hours 4              # Estimación de horas

tick claim TASK-001 @agente         # Reclamar tarea (pone en progreso)
tick release TASK-001 @agente       # Liberar tarea (regresa a pendiente)
tick done TASK-001 @agente          # Completar tarea
tick reopen TASK-001 @agente        # Reabrir tarea completada
tick delete TASK-001               # Eliminar tarea
tick comment TASK-001 @agente \     # Añadir nota
  --note "Actualización de progreso"
tick edit TASK-001 \               # Editar campo directamente
  --title "Nuevo título" \
  --priority high \
  --status in_progress

Correcciones y Recuperación

tick reopen TASK-001 @agente        # Reabrir tarea completada
tick reopen TASK-001 @agente \      # Reabrir y rebloquear dependientes
  --re-block

tick delete TASK-001               # Eliminar tarea, limpia dependencias
tick delete TASK-001 --force       # Eliminar incluso si tiene dependientes

tick edit TASK-001 --title "X"     # Cambiar título
tick edit TASK-001 --priority high # Cambiar prioridad
tick edit TASK-001 --status todo   # Cambiar estado directamente
tick edit TASK-001 --tags a,b,c    # Reemplazar etiquetas
tick edit TASK-001 --add-tag new   # Añadir etiqueta
tick edit TASK-001 --remove-tag old # Eliminar etiqueta
tick edit TASK-001 \               # Editar dependencias
  --depends-on TASK-002,TASK-003

tick undo                          # Deshacer la última operación tick
tick undo --dry-run                # Vista previa de lo que se desharía

Operaciones por Lotes

tick import tasks.yaml             # Importar tareas desde archivo YAML
tick import - < tasks.yaml         # Importar desde stdin
tick import tasks.yaml --dry-run   # Vista previa de importación

tick batch start                   # Iniciar modo lote (sin commit automático)
tick batch status                  # Verificar estado del lote
tick batch commit                  # Committear todos los cambios por lote
tick batch abort                   # Descartar cambios del lote

Listado Avanzado de Tareas

tick list                          # Todas las tareas, agrupadas por estado
tick list --status blocked         # Solo tareas bloqueadas
tick list --priority urgent        # Tareas de alta prioridad
tick list --assigned-to @alice     # Tareas para un agente específico
tick list --tag backend            # Tareas con etiqueta
tick list --json                   # Salida JSON para scripts

Visualización de Dependencias

tick graph                         # Árbol ASCII de dependencias
tick graph --format mermaid        # Diagrama de flujo Mermaid
tick graph --show-done             # Incluir tareas completadas

Monitoreo en Tiempo Real

tick watch                         # Observar cambios
tick watch --interval 10           # Intervalo de sondeo personalizado
tick watch --filter in_progress    # Mostrar solo estado específico

Gestión de Agentes

tick agent register @nombre \      # Registrar nuevo agente
  --type bot \                     # humano|bot
  --roles "dev,qa" \              # Roles separados por coma
  --status idle                     # trabajando|inactivo|desconectado

tick agent list                    # Listar todos los agentes
tick agent list --verbose          # Información detallada
tick agent list --type bot         # Filtrar por tipo
tick agent list --status working   # Filtrar por estado

Herramientas MCP (Alternativa a la CLI)

Si usas el Protocolo de Contexto de Modelo, utiliza estas herramientas en lugar de comandos CLI:

Estado e Inspección

  • tick_status - Obtener estado del proyecto (agentes, tareas, progreso)
  • tick_validate - Validar estructura de TICK.md
  • tick_agent_list - Listar agentes con filtros opcionales

Gestión de Tareas

  • tick_add - Crear nueva tarea
  • tick_claim - Reclamar tarea para un agente
  • tick_release - Liberar tarea reclamada
  • tick_done - Completar tarea (desbloquea dependientes automáticamente)
  • tick_comment - Añadir nota a la tarea

Correcciones y Recuperación

  • tick_reopen - Reabrir tarea completada
  • tick_delete - Eliminar una tarea
  • tick_edit - Editar campo directamente (omite la máquina de estados)
  • tick_undo - Deshacer la última operación tick

Operaciones sobre Agentes

  • tick_agent_register - Registrar nuevo agente

Ejemplo MCP:

// Crear tarea via MCP
await tick_add({
  title: "Refactorizar autenticación",
  priority: "high",
  tags: ["backend", "security"],
  assignedTo: "@nombre-del-bot"
})

// Reclamarla
await tick_claim({
  taskId: "TASK-023",
  agent: "@nombre-del-bot"
})

Mejores Prácticas

1. Conversación Natural Primero

✅ Bien: El usuario dice "refactoriza la autenticación", tú creas la tarea automáticamente ❌ Mal: Hacer que el usuario cree tareas explícitamente

2. Usa Siempre Tu Nombre de Agente

Regístrate una vez:

tick agent register @tu-nombre-bot --type bot --roles "engineer"

Luego úsalo consistentemente:

tick claim TASK-001 @tu-nombre-bot
tick done TASK-001 @tu-nombre-bot

3. Proporciona Contexto en los Comentarios

# ✅ Bien - explica qué y por qué
tick comment TASK-005 @bot --note "Cambiado de REST a GraphQL para mejor seguridad de tipos y reducir sobrecarga"

# ❌ Mal - demasiado vago
tick comment TASK-005 @bot --note "API actualizada"

4. Descompón Tareas Grandes

Crea subtareas con dependencias:

tick add "Configurar pipeline CI/CD" --priority high
tick add "Configurar GitHub Actions" --depends-on TASK-010
tick add "Añadir scripts de despliegue" --depends-on TASK-011
tick add "Configurar entorno de staging" --depends-on TASK-011

5. Verifica el Estado Antes de Reclamar

# Asegúrate de que la tarea exista y no esté reclamada
tick status

# Luego reclama
tick claim TASK-XXX @tu-nombre

Entendiendo la Estructura de TICK.md

El archivo tiene tres secciones:

  1. Frontmatter (YAML): Metadatos del proyecto
  2. Tabla de Agentes (Markdown): Quién está trabajando en qué
  3. Bloques de Tarea (YAML + Markdown): Tareas individuales con historial

Ejemplo:

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

# Agentes

| Nombre | Tipo | Roles | Estado | Trabajando en |
|--------|------|-------|--------|---------------|
| @alicia | humano | propietario | trabajando | TASK-003 |
| @bot | bot | ingeniero | inactivo | - |

# Tareas

	sc```yaml
id: TASK-001
title: Construir autenticación
status: done
priority: high
claimed_by: null
# ... más campos
history:
  - ts: 2026-02-07T10:00:00Z
    who: @bot
    action: created
  - ts: 2026-02-07T14:00:00Z
    who: @bot
    action: done
	tsc

Implementada autenticación JWT con actualización de tokens...

Funcionalidades Avanzadas

Desbloqueo Automático de Dependencias

Cuando completas una tarea, las tareas dependientes se desbloquean automáticamente:

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

tick done TASK-001 @bot
# TASK-002 cambia automáticamente a: todo

Detección de Dependencias Circulares

La validación detecta dependencias circulares:

tick validate
# Error: Dependencia circular detectada: TASK-001 → TASK-002 → TASK-003 → TASK-001

Mensajes de Commit Inteligentes

tick sync --push
# Genera automáticamente: "feat: completar TASK-001, TASK-002; actualizar TASK-003"

Reapertura de Tareas Completadas

Si una tarea se marcó como completada prematuramente:

tick reopen TASK-001 @bot
# Establece el estado de vuelta a in_progress, registra en el historial

tick reopen TASK-001 @bot --re-block
# También rebloquea cualquier tarea que dependa de esta

Corrección de Errores

# Deshacer la última operación tick
tick undo

# Vista previa de lo que se desharía primero
tick undo --dry-run

# Ediciones directas de campo (omiten la máquina de estados)
tick edit TASK-001 --status todo --priority urgent

Operaciones por Lotes

Para múltiples cambios sin commits individuales:

tick batch start
# Ahora haz múltiples cambios...
tick add "Tarea 1" --priority high
tick add "Tarea 2" --priority medium
tick claim TASK-001 @bot
# ...
tick batch commit   # Un solo commit para todos los cambios
# O: tick batch abort  # Descartar todos los cambios

Monitoreo en Tiempo Real

tick watch
# [10:23:45] ✓ Añadido: TASK-015 - Implementar búsqueda de usuarios
# [10:24:12] 🔒 TASK-015 reclamada por @bot
# [10:26:33] ⟳ TASK-015: in_progress → done

Tarjeta de Referencia Rápida

Flujo de trabajo:  init → add → claim → work → comment → done → sync
Esencial:          status | add | claim | done | list | graph
Correcciones:      reopen | delete | edit | undo
Lotes:             import | batch start/commit/abort
Coordinación:      agent register | agent list | validate | watch
Git:               sync --pull | sync --push

Recordatorios Clave

  1. Los usuarios interactúan CONTIGO, no directamente con Tick
  2. TÚ mantienes TICK.md de forma transparente
  3. El panel es para inspección, no para interacción principal
  4. Usa siempre tu nombre de agente de forma consistente
  5. Comenta con frecuencia para mostrar progreso
  6. Valida antes de sincronizar
  7. Verifica el estado antes de reclamar
  8. Descompón el trabajo complejo en subtareas

Recursos

Licencia

MIT

Individual skills in this repo

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

Skills relacionados