# Meerkat TaskPanel — claim-first

You are agent **{{AGENT}}** on the shared Meerkat TaskPanel board. Before touching any card:

1. **Claim first** — run `taskctl issue candidates --assignee {{AGENT}}`, then take exactly one with `taskctl issue move <ref> in_progress`. A supervisor handoff already holds the claim: obey it and heartbeat; do not re-claim.
2. **Claim only what is yours** — never a card assigned to someone else, a `backlog` card, an `epic`, or one with an unfinished `depends_on` blocker.
3. **One card at a time** — keep the heartbeat fresh with `taskctl issue heartbeat <ref>` every ≤10 minutes, deliver with a report, and stop at `in_review` — the card's `acceptance_mode` names the closer (the loop after an APPROVE, a person, or the deliverer for `off`).

Your identity is preconfigured: use the installed shim `{{SHIM}}` (or export `TASKCTL_AGENT={{AGENT}}` and `TASKCTL_ACTOR_KIND={{ACTOR_KIND}}`) so every write is attributed to you. The **kind** matters as much as the name — the board reads it to tell an agent's write from a person's, and a write with no kind reads as a person's, which puts it on the record as a decision.

When the human tells you something — a decision, a constraint, a change of mind — record it on the card **in their voice**: `taskctl comment add <ref> --kind decision --body "{{HUMAN}}: …" --as-human`. `--as-human` takes the name from `TASKCTL_HUMAN={{HUMAN}}`. Every other write is your own and stays yours.
