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.
Best use case
agenttodo is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using agenttodo should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/agenttodo/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How agenttodo Compares
| Feature / Agent | agenttodo | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# AgentTodo 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
1. Sign up at [agenttodo.vercel.app](https://agenttodo.vercel.app/signin) and create an API key from the dashboard
2. 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 |
|-------|------|----------|--------|
| `title` | string | ✅ | Free text |
| `description` | string | | Free text |
| `intent` | string | | `build`, `research`, `deploy`, `review`, `test`, `monitor`, `write`, `think`, `admin`, `ops` |
| `status` | string | | `todo`, `in_progress`, `blocked`, `review`, `done` |
| `priority` | number | | `1` (lowest) to `5` (highest) |
| `project` | string | | Free text, used for grouping |
| `assigned_agent` | string | | Free text (e.g. `claude`, `cursor`) |
| `human_input_needed` | boolean | | Flag for tasks needing human review |
| `parent_task_id` | string | | UUID of parent task (for subtasks) |
| `blockers` | array | | List of blocker descriptions |
## Examples
**Create a task:**
```bash
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:**
```bash
curl "https://agenttodo.vercel.app/api/tasks?status=todo&limit=10" \
-H "Authorization: Bearer $API_KEY"
```
**Claim next task:**
```bash
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:**
```bash
curl -X POST https://agenttodo.vercel.app/api/tasks/TASK_ID/complete \
-H "Authorization: Bearer $API_KEY"
```
**Add a log entry:**
```bash
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:**
```bash
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:**
```bash
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 `POST /tasks/next` to autonomously claim the highest-priority unclaimed task
- After completing work, mark tasks done with `/complete`
- Use `/log` to track progress on long-running tasks
- Use `/spawn` to break large tasks into subtasks
- Use `project` to group related tasks together
- Set `assigned_agent` to your agent name when claiming work
- Use `/feedback` to report issues or suggest improvementsRelated Skills
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
obsidian-daily
Manage Obsidian Daily Notes via obsidian-cli. Create and open daily notes, append entries (journals, logs, tasks, links), read past notes by date, and search vault content. Handles relative dates like "yesterday", "last Friday", "3 days ago".
obsidian-additions
Create supplementary materials attached to existing notes: experiments, meetings, reports, logs, conspectuses, practice sessions, annotations, AI outputs, links collections. Two-step process: (1) create aggregator space, (2) create concrete addition in base/additions/. INVOKE when user wants to attach any supplementary material to an existing note. Triggers: "addition", "create addition", "experiment", "meeting notes", "report", "conspectus", "log", "practice", "annotations", "links", "link collection", "аддишн", "конспект", "встреча", "отчёт", "эксперимент", "практика", "аннотации", "ссылки", "добавь к заметке".
observe
Query and manage Observe using the Observe CLI. Use when the user wants to run OPAL queries, list datasets, manage objects, or interact with their Observe tenant from the command line.
observability-review
AI agent that analyzes operational signals (metrics, logs, traces, alerts, SLO/SLI reports) from observability platforms (Prometheus, Datadog, New Relic, CloudWatch, Grafana, Elastic) and produces practical, risk-aware triage and recommendations. Use when reviewing system health, investigating performance issues, analyzing monitoring data, evaluating service reliability, or providing SRE analysis of operational metrics. Distinguishes between critical issues requiring action, items needing investigation, and informational observations requiring no action.
nvidia-nim
NVIDIA NIM inference microservices for deploying AI models with OpenAI-compatible APIs, self-hosted or cloud
numpy-string-ops
Vectorized string manipulation using the char module and modern string alternatives, including cleaning and search operations. Triggers: string operations, numpy.char, text cleaning, substring search.
nova-act-usability
AI-orchestrated usability testing using Amazon Nova Act. The agent generates personas, runs tests to collect raw data, interprets responses to determine goal achievement, and generates HTML reports. Tests real user workflows (booking, checkout, posting) with safety guardrails. Use when asked to "test website usability", "run usability test", "generate usability report", "evaluate user experience", "test checkout flow", "test booking process", or "analyze website UX".
notebook-writer
Create and document Jupyter notebooks for reproducible analyses
nomistakes
Error prevention and best practices enforcement for agent-assisted coding. Use when writing code to catch common mistakes, enforce patterns, prevent bugs, validate inputs, handle errors, follow coding standards, avoid anti-patterns, and ensure code quality through proactive checks and guardrails.
nlss
Workspace-first R statistics suite with subskills and agent-run metaskills (including run-demo for guided onboarding, explain-statistics for concept explanations, explain-results for interpreting outputs, format-document for NLSS format alignment, screen-data for diagnostics, check-assumptions for model-specific checks, and write-full-report for end-to-end reporting) that produce NLSS format tables/narratives and JSONL logs from CSV/SAV/RDS/RData/Parquet. Covers descriptives, frequencies/crosstabs, correlations, t-tests/ANOVA/nonparametric, regression/mixed models, SEM/CFA/mediation, EFA, power, reliability/scale analysis, assumptions, plots, missingness/imputation, data transforms, and workspace management.
nexus-bootstrap
Enables your AI agent to discover and install skills from the Nexus Skills Marketplace. Install this skill first to unlock self-service skill management.