Coordinate multi-agent work using the Tick protocol via CLI commands or MCP tools. Use when managing tasks, coordinating with other agents, tracking project progress, or when the user mentions tasks, coordination, agents, or project management. Enables natural conversation about work while maintaining structured task tracking.
Coordinate work across human and AI agents using structured Markdown files. Users interact naturally with you, and you maintain tasks transparently in TICK.md.
Tick Protocol = Git-based task coordination via TICK.md files
ls TICK.md
tick init
tick status
User: "Can you refactor the authentication system?"
Your Actions:
# 1. Create task
tick add "Refactor authentication system" --priority high --tags backend,security
# 2. Register yourself (first time only)
tick agent register @your-name --type bot --roles "engineer,refactoring"
# 3. Claim the task
tick claim TASK-XXX @your-name
# 4. Work on it (do the actual work)
# 5. Add progress comments
tick comment TASK-XXX @your-name --note "Analyzing current auth flow"
tick comment TASK-XXX @your-name --note "Refactored to use JWT tokens"
# 6. Mark complete
tick done TASK-XXX @your-name
User: "What tasks are we working on?"
# Get comprehensive status
tick status
# Or get specific info
tick agent list --verbose
Summarize the output naturally for the user.
User: "Have the other agents finished their tasks?"
# Check overall status
tick status
# List agents and their work
tick agent list --verbose
# Validate the project
tick validate
User: "Build a user dashboard with charts and data export"
Your Actions:
# Create parent task
tick add "Build user dashboard" --priority high --tags frontend
# Create subtasks
tick add "Design dashboard layout" --priority high --tags frontend,design
tick add "Implement data charts" --priority medium --tags frontend,charts --depends-on TASK-XXX
tick add "Add CSV export" --priority low --tags frontend,export --depends-on TASK-XXX
# Show user the plan
tick status
tick init # Initialize new project
tick status # View project overview
tick validate # Check for errors
tick sync --push # Commit and push to git
tick add "Task title" \
--priority high \ # urgent|high|medium|low
--tags backend,api \ # Comma-separated tags
--assigned-to @agent \ # Assign to agent
--depends-on TASK-001 \ # Dependencies
--estimated-hours 4 # Time estimate
tick claim TASK-001 @agent # Claim task (sets in_progress)
tick release TASK-001 @agent # Release task (back to todo)
tick done TASK-001 @agent # Complete task
tick comment TASK-001 @agent \ # Add note
--note "Progress update"
tick agent register @name \ # Register new agent
--type bot \ # human|bot
--roles "dev,qa" \ # Comma-separated roles
--status idle # working|idle|offline
tick agent list # List all agents
tick agent list --verbose # Detailed info
tick agent list --type bot # Filter by type
tick agent list --status working # Filter by status
If using Model Context Protocol, use these tools instead of CLI commands:
tick_status - Get project status (agents, tasks, progress)tick_validate - Validate TICK.md structuretick_agent_list - List agents with optional filterstick_add - Create new tasktick_claim - Claim task for agenttick_release - Release claimed tasktick_done - Complete task (auto-unblocks dependents)tick_comment - Add note to tasktick_agent_register - Register new agentMCP Example:
// Create task via MCP
await tick_add({
title: "Refactor authentication",
priority: "high",
tags: ["backend", "security"],
assignedTo: "@bot-name"
})
// Claim it
await tick_claim({
taskId: "TASK-023",
agent: "@bot-name"
})
✅ Good: User says "refactor the auth", you create task automatically ❌ Bad: Making user explicitly create tasks
Register once:
tick agent register @your-bot-name --type bot --roles "engineer"
Then use consistently:
tick claim TASK-001 @your-bot-name
tick done TASK-001 @your-bot-name
# ✅ Good - explains what and why
tick comment TASK-005 @bot --note "Switched from REST to GraphQL for better type safety and reduced over-fetching"
# ❌ Bad - too vague
tick comment TASK-005 @bot --note "Updated API"
Create subtasks with dependencies:
tick add "Set up CI/CD pipeline" --priority high
tick add "Configure GitHub Actions" --depends-on TASK-010
tick add "Add deployment scripts" --depends-on TASK-011
tick add "Set up staging environment" --depends-on TASK-011
# Make sure task exists and isn't claimed
tick status
# Then claim
tick claim TASK-XXX @your-name
# Project doesn't have Tick yet
tick init
# Register yourself
tick agent register @bot --type bot --roles "assistant,developer"
# Ask user what they want to accomplish
# Create tasks based on conversation
tick add "First task based on user input" --priority high
# Claim and start working
tick claim TASK-001 @bot
# Check current status
tick status
# Register yourself
tick agent register @new-bot --type bot --roles "qa,testing"
# Look for unassigned tasks
tick status # Review todo items
# Claim relevant task
tick claim TASK-XXX @new-bot
# Human asks: "What's left to do?"
tick status # Show tasks by status
# Human: "Can you take the API task?"
tick claim TASK-API @bot
# Work on it, provide updates
tick comment TASK-API @bot --note "Completed 3 of 5 endpoints"
# Complete when done
tick done TASK-API @bot
# You're blocked on something
tick comment TASK-XXX @bot --note "Blocked: waiting for API credentials"
# Release the task if you can't proceed
tick release TASK-XXX @bot
# Or keep it claimed if you're actively working around the blocker
The file has three sections:
Example:
---