¿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.mdtick_agent_list- Listar agentes con filtros opcionales
Gestión de Tareas
tick_add- Crear nueva tareatick_claim- Reclamar tarea para un agentetick_release- Liberar tarea reclamadatick_done- Completar tarea (desbloquea dependientes automáticamente)tick_comment- Añadir nota a la tarea
Correcciones y Recuperación
tick_reopen- Reabrir tarea completadatick_delete- Eliminar una tareatick_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:
- Frontmatter (YAML): Metadatos del proyecto
- Tabla de Agentes (Markdown): Quién está trabajando en qué
- 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
- Los usuarios interactúan CONTIGO, no directamente con Tick
- TÚ mantienes TICK.md de forma transparente
- El panel es para inspección, no para interacción principal
- Usa siempre tu nombre de agente de forma consistente
- Comenta con frecuencia para mostrar progreso
- Valida antes de sincronizar
- Verifica el estado antes de reclamar
- Descompón el trabajo complejo en subtareas
Recursos
- GitHub: https://github.com/your-org/tick-md
- Documentación: https://tick-md.dev/docs
- CLI npm: https://npmjs.com/package/tick-md
- Servidor MCP npm: https://npmjs.com/package/tick-mcp-server
Licencia
MIT