# Plonkboard

> Manage Kanban boards, cards, columns, tags, subtasks, priorities, assignees, and archives through the Plonkboard REST API. Use when the user mentions Plonkboard, plonkboard.com, an agent-driven Kanban board, or asks an agent to create, read, update, move, tag, archive, or delete Plonkboard work.

- Skill: `clayton/plonkboard` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add clayton/plonkboard`
- Raw SKILL.md: https://api.skillmd.com/api/skills/clayton/plonkboard/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: clayton (https://skillmd.com/u/clayton)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/clayton/plonkboard

---


# Plonkboard

Use Plonkboard as the user's Kanban system. The web UI is read-only. Make changes through the REST API.

## Set up

1. Read `https://plonkboard.com/llms.txt` before using the API. It is the canonical, current reference.
2. Read `PLONKBOARD_API_KEY` from the environment or the agent's secret store. Never print or commit it.
3. If the user gives you a one-time `boot_...` token, exchange it once:

```sh
curl -fsS https://plonkboard.com/api/v1/bootstrap/exchange \
  -H 'Content-Type: application/json' \
  -d "{\"token\":\"$PLONKBOARD_BOOTSTRAP_TOKEN\"}"
```

Store the returned `token` as `PLONKBOARD_API_KEY`, then remove the bootstrap token. Do not echo either token.

If no credential exists, ask the user to open `https://plonkboard.com/settings/api_keys` and click "copy setup prompt for my agent".

## Call the API

Send these headers on protected requests:

```text
Authorization: Bearer <PLONKBOARD_API_KEY>
Accept: text/markdown
```

Prefer `text/markdown` for compact reads. Use JSON for writes:

```text
Content-Type: application/json
```

Start each task by listing boards unless the user already supplied a board ID. Resolve names to IDs. Plonkboard IDs use prefixes such as `brd_`, `col_`, `crd_`, and `tag_`.

## Work safely

- Confirm the target board and card before a destructive action.
- Do not create, move, archive, or delete work unless the user asked.
- Preserve the user's wording in titles and descriptions unless asked to edit it.
- Honor column WIP limits. Moving a card into an over-limit column can archive older cards.
- Use `tag_names` on card writes when the user names tags. Plonkboard finds or creates them.
- Use only these priorities: `low`, `medium`, `high`, `critical`.

## Common endpoints

```text
GET    /api/v1/boards
POST   /api/v1/boards
GET    /api/v1/boards/:board_id
PATCH  /api/v1/boards/:board_id
DELETE /api/v1/boards/:board_id

POST   /api/v1/boards/:board_id/columns
PATCH  /api/v1/boards/:board_id/columns/:id
DELETE /api/v1/boards/:board_id/columns/:id

GET    /api/v1/boards/:board_id/cards
POST   /api/v1/boards/:board_id/cards
GET    /api/v1/boards/:board_id/cards/:id
PATCH  /api/v1/boards/:board_id/cards/:id
DELETE /api/v1/boards/:board_id/cards/:id
PATCH  /api/v1/boards/:board_id/cards/:id/move

GET    /api/v1/boards/:board_id/tags
POST   /api/v1/boards/:board_id/tags
PATCH  /api/v1/boards/:board_id/tags/:id
DELETE /api/v1/boards/:board_id/tags/:id

GET    /api/v1/boards/:board_id/cards/:card_id/subtasks
POST   /api/v1/boards/:board_id/cards/:card_id/subtasks
PATCH  /api/v1/boards/:board_id/cards/:card_id/subtasks/:id
DELETE /api/v1/boards/:board_id/cards/:card_id/subtasks/:id

GET    /api/v1/boards/:board_id/archive
GET    /api/v1/boards/:board_id/archive/:id
```

Read [references/examples.md](references/examples.md) for concise request examples. Re-read `https://plonkboard.com/llms.txt` if an endpoint or field is unclear.

