Baaton
Manage project issues on Baaton (baaton.dev), an API-first project management board for AI agents. Use when: creating/updating/listing/closing issues or tickets, checking project status, triaging backlog, moving issues between statuses, posting work summaries (TLDRs), managing webhooks, checking metrics, or referencing ticket IDs like PHI-2, HLM-42, SQX-15. Trigger words: ticket, issue, backlog, sprint, baaton, triage, close ticket, create ticket, update status, assign, prioritize, TLDR, webhook, milestone. NOT for: Git operations, CI/CD, code review, deployment.From its SKILL.md
npx -y skills add rmzlb/baaton-skills --skill baatonAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
4 things to look at
- reads credentialsReads from 2 credential sources: `BAATON_API_KEY` and 1 more.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `scripts/baaton-api.sh GET "/issues/mine?assignee_id=YOUR_ID"` and 7 more.
- fetches URLsInstructs the agent to fetch 1 URL, including https://api.baaton.dev/api/v1/public/docs.
SKILL.md
5.0 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Baaton Project Management
API-first project board for AI agents. Agents create issues, post TLDRs, manage statuses. Humans review and direct.
Setup
Option 1 — Environment variable (recommended):
export BAATON_API_KEY=baa_your_key_here
Option 2 — Project config file (.baaton in repo root):
api_url=https://api.baaton.dev
api_key=baa_your_key_here
project_id=YOUR_PROJECT_UUID
Option 3 — Use the helper script:
./scripts/setup.sh
Authentication
All requests: Authorization: Bearer baa_xxx header.
Base URL: https://api.baaton.dev/api/v1
Get API keys: baaton.dev → Settings → API Keys, or GET /api-keys
Quick Reference
| Action | Method | Endpoint |
|---|---|---|
| List projects | GET | /projects |
| Create issue | POST | /issues |
| List issues | GET | /projects/{id}/issues?status=todo&priority=high |
| Get issue | GET | /issues/{id} |
| Update issue | PATCH | /issues/{id} |
| Delete issue | DELETE | /issues/{id} |
| Post TLDR | POST | /issues/{id}/tldr |
| Add comment | POST | /issues/{id}/comments |
| Delete comment | DELETE | /issues/{id}/comments/{cid} |
| List webhooks | GET | /webhooks |
| Create webhook | POST | /webhooks |
| Get metrics | GET | /metrics?days=30 |
| Fetch full docs | GET | /public/docs (no auth) |
Core Workflows
1. Pick up and complete a ticket
# 1. Find assigned issues
scripts/baaton-api.sh GET "/issues/mine?assignee_id=YOUR_ID"
# 2. Move to in_progress
scripts/baaton-api.sh PATCH "/issues/{id}" '{"status":"in_progress"}'
# 3. Do the work...
# 4. Post TLDR
scripts/baaton-api.sh POST "/issues/{id}/tldr" '{
"agent_name":"claude-code",
"summary":"## Changes\n- Fixed X\n- Added Y",
"files_changed":["src/main.rs"],
"tests_status":"passed",
"pr_url":"https://github.com/org/repo/pull/42"
}'
# 5. Move to in_review (NOT done — let humans verify)
scripts/baaton-api.sh PATCH "/issues/{id}" '{"status":"in_review"}'
2. Create a bug report
scripts/baaton-api.sh POST "/issues" '{
"project_id":"UUID",
"title":"Auth crashes on empty Bearer token",
"description":"## Bug\nServer panics on empty Bearer.\n## Expected\n401 Unauthorized",
"type":"bug",
"priority":"high",
"tags":["backend","auth"]
}'
3. Triage backlog
# Get all backlog items
scripts/baaton-api.sh GET "/projects/{id}/issues?status=backlog"
# Promote to todo with priority
scripts/baaton-api.sh PATCH "/issues/{id}" '{"status":"todo","priority":"high"}'
4. Setup real-time webhooks
scripts/baaton-api.sh POST "/webhooks" '{
"url":"https://your-server.com/webhook",
"event_types":["issue.created","status.changed","comment.created"],
"enabled":true
}'
# Response includes auto-generated secret for HMAC-SHA256 verification
Valid Enums
| Field | Values |
|---|---|
| status | backlog → todo → in_progress → in_review → done / cancelled |
| priority | urgent | high | medium | low |
| issue_type | bug | feature | improvement | question |
| tests_status | passed | failed | skipped | none |
| webhook events | issue.created | issue.updated | issue.deleted | status.changed | comment.created | comment.deleted |
Best Practices
- Move to
in_progressbefore starting work - Post a TLDR after completing work — include files_changed and tests_status
- Move to
in_reviewafter TLDR (notdone— humans verify) - Use the helper script (
scripts/baaton-api.sh) — handles auth, errors, pretty-print - Set priority on every issue — agents should self-assess urgency
- Use markdown in descriptions and TLDRs
- One TLDR per work session — multiple TLDRs per issue are fine for iterations
Error Handling
| Code | Meaning | Action |
|---|---|---|
| 200 | Success | Parse data field |
| 400 | Validation error | Check accepted_values in response |
| 401 | Unauthorized | Verify API key |
| 404 | Not found | Check ID |
| 500 | Server error | Retry with backoff |
All responses: {"data": ...}. Errors: {"error": "message"}.
References
- Full API reference:
references/api-reference.md - Agent workflows:
references/workflows.md - Status transitions:
references/status-transitions.md - Public docs (no auth):
curl -s https://api.baaton.dev/api/v1/public/docs
What ships with it: 5 files
16.4 KB alongside SKILL.md, 2 of them executable
references/
- api-reference.md5.0 KB
- status-transitions.md1.4 KB
- workflows.md3.8 KB
scripts/
- baaton-api.shruns3.1 KB
- setup.shruns3.1 KB