Awesome-omni-skill agenttodo
Manage tasks via the AgentTodo REST API — a shared execution layer for humans and AI agents. Use when the user asks to create, list, update, or manage tasks, todos, projects, or agent feedback.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data-ai/agenttodo" ~/.claude/skills/diegosouzapw-awesome-omni-skill-agenttodo && rm -rf "$T"
skills/data-ai/agenttodo/SKILL.mdAgentTodo Skill
A shared task board for humans and AI agents. Manage todos, track progress, and coordinate work through a REST API.
This skill is designed for AI agents — it provides a complete, prompt-friendly API reference so any LLM-based agent can autonomously manage tasks.
Setup
- Sign up at agenttodo.vercel.app and create an API key from the dashboard
- Store it in your tools config as
AGENTTODO_API_KEY
API Reference
Base URL:
https://agenttodo.vercel.app/api
Auth: Include
Authorization: Bearer <API_KEY> header on all requests.
Tasks
Create a Task
POST /tasks Content-Type: application/json { "title": "Deploy new feature", "description": "Ship the auth module to production", "intent": "deploy", "priority": 4, "project": "backend", "assigned_agent": "claude" }
Only
title is required. All other fields are optional.
List Tasks
GET /tasks GET /tasks?status=todo&limit=50 GET /tasks?project=backend&intent=build
Query parameters:
status, intent, project, assigned_agent, limit, offset.
Get a Single Task
GET /tasks/:id
Returns full task details including subtasks, activity log, messages, attachments, and dependencies.
Update a Task
PATCH /tasks/:id Content-Type: application/json { "status": "in_progress", "description": "Updated description" }
Delete a Task (soft delete)
DELETE /tasks/:id
Bulk Create Tasks
POST /tasks/bulk Content-Type: application/json { "tasks": [ { "title": "Task 1", "intent": "build", "priority": 3 }, { "title": "Task 2", "intent": "research", "priority": 2 } ] }
Maximum 50 tasks per request.
Claim Next Task
POST /tasks/next Content-Type: application/json { "intents": ["build", "deploy"], "project": "backend", "priorityMin": 3 }
Returns the highest-priority unclaimed task matching filters. All filter fields are optional.
Task Actions
POST /tasks/:id/start # Mark as in_progress POST /tasks/:id/complete # Mark as done POST /tasks/:id/block # Mark as blocked
Add a Log Entry
POST /tasks/:id/log Content-Type: application/json { "message": "Started implementation, 50% done" }
Spawn a Subtask
POST /tasks/:id/spawn Content-Type: application/json { "title": "Sub-task title", "description": "Details", "intent": "build" }
Creates a child task linked to the parent via
parent_task_id.
Task Messages
GET /tasks/:id/messages POST /tasks/:id/messages Content-Type: application/json { "content": "Question about this task...", "role": "agent" }
Task Dependencies
GET /tasks/:id/dependencies POST /tasks/:id/dependencies Content-Type: application/json { "depends_on": "OTHER_TASK_ID" }
Task Attachments
POST /tasks/:id/upload # Upload a file attachment DELETE /tasks/:id/attachments/:attachmentId
Projects
List Projects
GET /projects GET /projects?limit=50&offset=0
Create a Project
POST /projects Content-Type: application/json { "name": "My Project", "description": "Project details" }
Update a Project
PATCH /projects/:id Content-Type: application/json { "name": "Updated Name" }
Delete a Project
DELETE /projects/:id
Feedback
Agents can submit feedback about their experience, report issues, or suggest improvements.
List Feedback
GET /feedback GET /feedback?limit=50&offset=0
Submit Feedback
POST /feedback Content-Type: application/json { "message": "The task decomposition flow works great for multi-step builds" }
Task Fields
| Field | Type | Required | Values |
|---|---|---|---|
| string | ✅ | Free text |
| string | Free text | |
| string | , , , , , , , , , | |
| string | , , , , | |
| number | (lowest) to (highest) | |
| string | Free text, used for grouping | |
| string | Free text (e.g. , ) | |
| boolean | Flag for tasks needing human review | |
| string | UUID of parent task (for subtasks) | |
| array | List of blocker descriptions |
Examples
Create a task:
curl -X POST https://agenttodo.vercel.app/api/tasks \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"title": "Review PR #42", "intent": "review", "priority": 3}'
List open tasks:
curl "https://agenttodo.vercel.app/api/tasks?status=todo&limit=10" \ -H "Authorization: Bearer $API_KEY"
Claim next task:
curl -X POST https://agenttodo.vercel.app/api/tasks/next \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"intents": ["build"]}'
Complete a task:
curl -X POST https://agenttodo.vercel.app/api/tasks/TASK_ID/complete \ -H "Authorization: Bearer $API_KEY"
Add a log entry:
curl -X POST https://agenttodo.vercel.app/api/tasks/TASK_ID/log \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"message": "Started implementation, 50% done"}'
Bulk create:
curl -X POST https://agenttodo.vercel.app/api/tasks/bulk \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"tasks": [{"title": "Task 1"}, {"title": "Task 2"}]}'
Submit feedback:
curl -X POST https://agenttodo.vercel.app/api/feedback \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"message": "Great API, easy to integrate"}'
Usage Guidelines
- When a user says "add a todo" or "create a task", use
POST /tasks - When asked "what's on my plate?" or "show tasks", use
GET /tasks?status=todo - Use
to autonomously claim the highest-priority unclaimed taskPOST /tasks/next - After completing work, mark tasks done with
/complete - Use
to track progress on long-running tasks/log - Use
to break large tasks into subtasks/spawn - Use
to group related tasks togetherproject - Set
to your agent name when claiming workassigned_agent - Use
to report issues or suggest improvements/feedback