# Send bun-do to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bun-do-api",
    "name": "bun-do",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ricardofrantz/bun-do-api",
    "canonicalUrl": "https://clawhub.ai/ricardofrantz/bun-do-api",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/bun-do-api",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bun-do-api",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "bun-do-api",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-11T17:58:26.098Z",
      "expiresAt": "2026-05-18T17:58:26.098Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bun-do-api",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bun-do-api",
        "contentDisposition": "attachment; filename=\"bun-do-api-1.3.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "bun-do-api"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/bun-do-api"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bun-do-api",
    "downloadUrl": "https://openagent3.xyz/downloads/bun-do-api",
    "agentUrl": "https://openagent3.xyz/skills/bun-do-api/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bun-do-api/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bun-do-api/agent.md"
  }
}
```
## Documentation

### 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

ActionMethodEndpointList tasksGET/api/tasksAdd taskPOST/api/tasksEdit taskPUT/api/tasks/{id}Delete taskDELETE/api/tasks/{id}Add subtaskPOST/api/tasks/{id}/subtasksEdit subtaskPUT/api/tasks/{id}/subtasks/{sid}Delete subtaskDELETE/api/tasks/{id}/subtasks/{sid}Reorder backlogPOST/api/tasks/reorderClear donePOST/api/tasks/clear-doneList projectsGET/api/projectsAdd projectPOST/api/projectsEdit projectPUT/api/projects/{id}Delete projectDELETE/api/projects/{id}Add log entryPOST/api/projects/{id}/entriesDelete 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.

### 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.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: ricardofrantz
- Version: 1.3.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-11T17:58:26.098Z
- Expires at: 2026-05-18T17:58:26.098Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/bun-do-api)
- [Send to Agent page](https://openagent3.xyz/skills/bun-do-api/agent)
- [JSON manifest](https://openagent3.xyz/skills/bun-do-api/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/bun-do-api/agent.md)
- [Download page](https://openagent3.xyz/downloads/bun-do-api)