bun-do-api

Manage bun-do tasks and projects — add tasks, edit tasks, delete tasks, toggle done, manage subtasks, and log project progress entries. Use when the user says "add a todo", "update task", "remove task", "mark done", "add subtask", "log progress", "update project", or any variant of managing tasks/projects. Also use when an agent finishes work and needs to record progress. Triggers on: "todo", "task", "remind me", "due", "deadline", "payment", "bill", "backlog", "what do I need to do", "what's overdue", "add to my list".

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bun-do-api" with this command: npx skills add ricardofrantz/bun-do-api

bun-do — your local task backend

"Add P1 task: renew passport, due March 30, recurring yearly, with €85 payment"

bun-do is a local-first todo app. REST API at http://localhost:8000. All data persists to JSON on disk. Nothing leaves your machine.

Start: bun-do start (install: bun install -g bun-do) Data: ~/.bun-do/ (override: BUNDO_DATA_DIR) Port: 8000 (override: --port=PORT)

How users talk (map these to API calls)

User saysAction
"add task: buy milk"POST /api/tasks {"title": "Buy milk"}
"remind me to call dentist tomorrow"POST with {"title": "Call dentist", "date": "TOMORROW", "type": "reminder"}
"P0 deadline: submit proposal by Friday"POST with {"title": "Submit proposal", "date": "FRIDAY", "priority": "P0", "type": "deadline"}
"add monthly payment: rent €1200 on the 1st"POST with {"title": "Rent", "type": "payment", "amount": "1200", "currency": "EUR", "recurrence": {"type": "monthly", "day": 1}}
"what's overdue?"GET /api/tasks, filter done=false where date < today
"mark passport task done"Search by title → PUT {"done": true}
"what should I do today?"GET /api/tasks, filter for today's date, sort by priority
"move it to next week"PUT with {"date": "NEXT_MONDAY"}
"add subtask: book flight"POST /api/tasks/{id}/subtasks {"title": "Book flight"}
"log progress on bun-do: shipped v1.3"POST /api/projects/{id}/entries {"summary": "Shipped v1.3"}

Important: Always resolve relative dates ("tomorrow", "next Friday") to YYYY-MM-DD before sending.

API reference

ActionMethodEndpoint
List tasksGET/api/tasks
Add taskPOST/api/tasks
Edit taskPUT/api/tasks/{id}
Delete taskDELETE/api/tasks/{id}
Add subtaskPOST/api/tasks/{id}/subtasks
Edit subtaskPUT/api/tasks/{id}/subtasks/{sid}
Delete subtaskDELETE/api/tasks/{id}/subtasks/{sid}
Reorder backlogPOST/api/tasks/reorder
Clear donePOST/api/tasks/clear-done
List projectsGET/api/projects
Add projectPOST/api/projects
Edit projectPUT/api/projects/{id}
Delete projectDELETE/api/projects/{id}
Add log entryPOST/api/projects/{id}/entries
Delete log entryDELETE/api/projects/{id}/entries/{eid}

Task fields

{
  "title": "string (required)",
  "date": "YYYY-MM-DD (default: today)",
  "priority": "P0 | P1 | P2 | P3 (default: P2)",
  "type": "task | deadline | reminder | payment (default: task)",
  "notes": "string",
  "done": false,
  "amount": "string (for payments)",
  "currency": "CHF | USD | EUR | BRL (default: CHF)",
  "recurrence": null | {"type": "weekly", "dow": 0-6} | {"type": "monthly", "day": 1-31} | {"type": "yearly", "month": 1-12, "day": 1-31}
}

Priorities: P0 = critical/drop everything, P1 = high/do today, P2 = normal, P3 = backlog (not on calendar). Types: task = actionable, deadline = hard date, reminder = FYI, payment = bill/invoice tracker. Recurring: When a recurring task is marked done, the next occurrence is auto-created.

Curl patterns

Before any operation — check server is up

curl -sf http://localhost:8000/api/tasks > /dev/null && echo "OK" || echo "Server not running — run: bun-do start"

Add a task

curl -s -X POST http://localhost:8000/api/tasks \
  -H 'Content-Type: application/json' \
  -d '{"title": "Buy milk", "date": "2026-03-01", "priority": "P2"}'

Add a recurring payment

curl -s -X POST http://localhost:8000/api/tasks \
  -H 'Content-Type: application/json' \
  -d '{"title": "Server hosting", "date": "2026-03-01", "priority": "P1", "type": "payment", "amount": "29", "currency": "USD", "recurrence": {"type": "monthly", "day": 1}}'

Find task by title → get ID

curl -s http://localhost:8000/api/tasks | python3 -c "
import sys, json
for t in json.load(sys.stdin)['tasks']:
    if 'SEARCH' in t['title'].lower(): print(t['id'], t['title'])
"

Edit (only send fields to change)

curl -s -X PUT http://localhost:8000/api/tasks/TASK_ID \
  -H 'Content-Type: application/json' \
  -d '{"priority": "P0", "date": "2026-03-15"}'

Mark done

curl -s -X PUT http://localhost:8000/api/tasks/TASK_ID \
  -H 'Content-Type: application/json' \
  -d '{"done": true}'

Delete

curl -s -X DELETE http://localhost:8000/api/tasks/TASK_ID

Add subtask

curl -s -X POST http://localhost:8000/api/tasks/TASK_ID/subtasks \
  -H 'Content-Type: application/json' \
  -d '{"title": "Step one"}'

Log project progress

curl -s -X POST http://localhost:8000/api/projects/PROJECT_ID/entries \
  -H 'Content-Type: application/json' \
  -d '{"summary": "Shipped v1.3 with MCP server and OpenClaw skill"}'

Proactive patterns

Use these patterns for scheduled/autonomous behavior:

Morning briefing: GET /api/tasks, filter for today + overdue, summarize by priority. End of day: Mark completed tasks done, add entries to active projects. Weekly review: List all tasks, highlight overdue + P0/P1 without progress. Payment forecast: List tasks where type=payment, group by month, sum amounts.

Rules

  • Always verify the server is running before any API call.
  • Never guess IDs — search by title first, then use the UUID.
  • Dates must be YYYY-MM-DD. Resolve "tomorrow", "next Monday", etc. before sending.
  • Only send fields you want to change on PUT requests.
  • The API returns the created/updated object on success.
  • GET /api/tasks auto-carries overdue non-payment tasks to today.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Todo

Personal execution engine for tasks, projects, reminders, commitments, follow-ups, and next actions. Use whenever the user mentions something they need to do...

Registry SourceRecently Updated
1513
Profile unavailable
Automation

AI-Driven Project Management: TensorPM

AI-powered project management - a Notion and Jira alternative with local-first architecture. Manage projects, track action items, and coordinate teams via MCP tools or A2A agent communication. Signed & notarized. https://tensorpm.com

Registry SourceRecently Updated
43.9K
Profile unavailable
General

RentaUnHumano MCP

Hire Spanish-speaking humans for real-world tasks in Latin America. Create missions, browse humans, manage payments, reviews, and disputes through 15 MCP tools.

Registry SourceRecently Updated
0505
Profile unavailable