# Rmzlb Baaton Baaton Project Management

> Baaton Project Management

- Skill: `tomevault-io/rmzlb-baaton-baaton-project-management` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/rmzlb-baaton-baaton-project-management`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/rmzlb-baaton-baaton-project-management/raw
- Safety review: pending (external: skill-scanner WARNING, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/rmzlb-baaton-baaton-project-management

---


# Baaton Project Management

API-first project board for AI agents. 93 endpoints. Agents create issues, post TLDRs, manage workflows. Humans review and direct.

## Setup

```bash
export BAATON_API_KEY=baa_your_key_here
export BAATON_URL=https://api.baaton.dev/api/v1
```

Auth: `Authorization: Bearer $BAATON_API_KEY`
Response format: `{ "data": ... }` — errors: `{ "error": "...", "accepted_values": [...] }`

## Quick Reference

| Action | Method | Endpoint |
|--------|--------|----------|
| List projects | GET | `/projects` |
| Create issue | POST | `/issues` |
| List issues | GET | `/issues?project_id=UUID&status=todo&priority=high` |
| Get issue | GET | `/issues/{id}` |
| Update issue | PATCH | `/issues/{id}` |
| Delete issue | DELETE | `/issues/{id}` |
| Bulk update | PATCH | `/issues/batch` with `{ ids[], updates{} }` |
| Bulk delete | DELETE | `/issues/batch` with `{ ids[] }` |
| My issues | GET | `/issues/mine` |
| Add comment | POST | `/issues/{id}/comments` |
| Post TLDR | POST | `/issues/{id}/tldr` |
| Search | GET | `/search?q=keyword` |
| Global search | GET | `/search/global?q=keyword` |
| List labels | GET | `/projects/{id}/tags` |
| Create label | POST | `/projects/{id}/tags` with `{ name, color }` |
| List milestones | GET | `/projects/{id}/milestones` |
| List sprints | GET | `/projects/{id}/sprints` |
| List automations | GET | `/projects/{id}/automations` |
| Create automation | POST | `/projects/{id}/automations` |
| List webhooks | GET | `/webhooks` |
| Create webhook | POST | `/webhooks` with `{ url, events[] }` |
| Metrics | GET | `/metrics?days=30` |
| AI chat | POST | `/ai/chat` with `{ messages[] }` |
| Full API docs | GET | `/public/docs` (no auth) |

## Core Workflow

```bash
# 1. Find your project
curl -s $BAATON_URL/projects -H "Authorization: Bearer $BAATON_API_KEY"

# 2. Create an issue
curl -s -X POST $BAATON_URL/issues \
  -H "Authorization: Bearer $BAATON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"project_id":"UUID","title":"Fix login bug","priority":"high","status":"todo"}'

# 3. Move to in_progress
curl -s -X PATCH $BAATON_URL/issues/ISSUE_ID \
  -H "Authorization: Bearer $BAATON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"in_progress"}'

# 4. Post work summary (TLDR)
curl -s -X POST $BAATON_URL/issues/ISSUE_ID/tldr \
  -H "Authorization: Bearer $BAATON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agent_name":"my-agent","summary":"Fixed the login bug by...","files_changed":["src/auth.rs"],"tests_status":"passed"}'

# 5. Mark done
curl -s -X PATCH $BAATON_URL/issues/ISSUE_ID \
  -H "Authorization: Bearer $BAATON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"done"}'
```

## Enums

| Field | Values |
|-------|--------|
| priority | `urgent`, `high`, `medium`, `low` |
| issue_type | `bug`, `feature`, `improvement`, `question` |
| status | Per-project (default: `backlog`, `todo`, `in_progress`, `in_review`, `done`, `cancelled`) |
| tests_status | `passed`, `failed`, `skipped`, `none` |

## Issue Fields (POST/PATCH)

| Field | Type | Required | Notes |
|-------|------|----------|-------|
| project_id | UUID | ✅ (create) | — |
| title | string | ✅ (create) | — |
| description | string | — | Markdown |
| priority | string | — | See enums |
| status | string | — | Must be valid for project |
| issue_type | string | — | Default: feature |
| assignee_ids | string[] | — | Auto-assign if empty |
| tags | string[] | — | Labels |
| due_date | date | — | YYYY-MM-DD |
| estimate | integer | — | Hours |
| milestone_id | UUID | — | — |
| sprint_id | UUID | — | — |
| parent_id | UUID | — | Sub-issue |

## Automation Schema

```json
{
  "name": "Auto-close stale",
  "trigger": "due_date_passed",
  "conditions": [{"field": "status", "operator": "equals", "value": "todo"}],
  "actions": [{"type": "set_status", "value": "cancelled"}],
  "enabled": true
}
```

Triggers: `status_changed`, `priority_changed`, `label_added`, `issue_created`, `comment_added`, `assignee_changed`, `due_date_passed`
Actions: `set_status`, `set_priority`, `add_label`, `assign_user`, `send_webhook`, `add_comment`, `run_agent`

## Webhook Events

`issue.created`, `issue.updated`, `issue.deleted`, `status.changed`, `comment.created`, `comment.deleted`

Payload: `{ event, data: { issue }, timestamp }`

## Error Handling

Errors include `accepted_values` for invalid enums:
```json
{"error": "Invalid status 'open'", "accepted_values": ["backlog","todo","in_progress","in_review","done","cancelled"], "field": "status"}
```

## AI-First Features

- **`_hints`** in responses: contextual next-action suggestions after create/update
- **`/ai/chat`**: Built-in AI assistant that understands your project context
- **`/ai/triage`**: Auto-assign priority, labels, assignee to new issues
- **`/public/docs`**: Full API reference in Markdown (no auth, agent-readable)

## Best Practices

1. Move to `in_progress` before starting work
2. Post TLDRs with `files_changed` and `tests_status`
3. Use `tags` to categorize (e.g., `["frontend","urgent"]`)
4. Set `due_date` for time-sensitive issues
5. Use `PATCH /issues/batch` for bulk operations
6. Check `_hints` in responses for recommended next actions
7. Use `/search/global` to find issues across all organizations

## Full Reference

For all 93 endpoints: `curl -s https://api.baaton.dev/api/v1/public/docs`

---
> Source: [rmzlb/baaton](https://github.com/rmzlb/baaton) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-05 -->

