Crypt-Age
view release on metacpan or search on metacpan
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/SKILL.md view on Meta::CPAN
`backlog` is held back: `pick` and karr-foundation never take a card from it
(`pick --status backlog` exits 2), and it holds no claim (`--claim` there is
refused; moving a card into it releases the claim). `todo` is the pool.
Promoting a card out of backlog (`karr move ID todo`) is the maintainer's
call, not a coordinating agent's: leave backlog alone unless told to promote.
Life cycle with subagents: you claim and hand the id out â the worker notes on
the card and hands it to `review` â whoever commits the work moves it to
`done`, naming the commit. A subagent in the same directory gets the same
`agent-name`, so your claim is its claim.
**Serialize board mutations when fanning out.** Every mutating command pulls and
pushes `refs/karr/*`; N of them landing at once is a resource event. Hand out
cards one after another, and batch your own moves sequentially.
## Create a card
```bash
karr create "Title" --priority high --tags cli,bug --body 'What is wrong, how to reproduce, what done looks like'
karr create "Start now" --status in-progress # claimed as $KARR_CLAIM at creation
karr create "Ship it" --depends-on 2,3 # board-local dependency; ids must exist
karr create "New card" --json # the card as JSON: pipe the id onward
```
Waiting for another project's release is not a card, and no reason to keep
one open or blocked: the dependency pin (`cpanfile`, `package.json`, â¦) set to
the version in that project's tree â its next release â already says it. Close
the card once the work is committed.
Bugs found on the way become cards, not silent fixes. A new card lands in
`backlog`, unclaimed, unless `--status` puts it elsewhere: into a
`require_claim` column when you are starting it, with the claim that needs.
## Create a card on another repository's board
The board is the *target* repository's `refs/karr/*`, so a card is filed by
running `create` inside a checkout of that repository â there is no way to
name a remote and post to it directly:
```bash
karr --dir ../other-board create "Title" --body '...' # a sibling checkout you already have
git clone URL ../other-board && cd ../other-board # or clone one first, as a sibling
karr create "Title" --body '...' # create; it pulls, then pushes
```
Check the clone out as a **sibling of your current checkout â never inside its
working tree** â named for the board, where your fleet keeps its repositories.
Inside the tree it would be mixed into this repo and could be committed by
accident; a sibling stays separate, and a `needs:BOARD#ID` reference resolves
the board name to a directory by that basename (from `--board NAME=PATH` or the
fleet config) â a clone parked anywhere else is a card no one can trace back.
A fresh `git clone` carries no `refs/karr/*`, but `create` pulls the board
first (it is a mutating command), so the new id continues the remote's count â
no separate `karr sync --pull`. To record the new card as
something work *here* waits on, escalate it â
[references/cross-board.md](references/cross-board.md).
## Output flags
`--json` is taken by every board command, not by `backup`, `restore`,
`destroy`, `sync`, `set-refs`, `get-refs`. `--compact` exists on exactly nine:
`board`, `config`, `context`, `dashboard`, `list`, `log`, `metrics`, `pick`,
`show` â anywhere else it is `Unknown option: compact`, exit 2.
## When you need more
| Need | Read |
|---|---|
| Every option of `create`, `show`, `move`, `edit`, `delete`, `archive`; dependency rules | [references/cards.md](references/cards.md) |
| `list` filters and sorting, `board`, `dashboard`, `log`, `metrics`, `context --write-to` | [references/queries.md](references/queries.md) |
| `pick` ordering, `handoff` options, `unlock` for stale locks, timeouts, several agents on one board | [references/claims.md](references/claims.md) |
| A card waits on another repository: `--needs BOARD#ID`, `--escalated-from`, `karr needs --resolve` | [references/cross-board.md](references/cross-board.md) |
| `config get/set`, writable keys, the config YAML, `disable`/`enable` for karr-foundation | [references/config.md](references/config.md) |
| `sync`, fresh clones, stored card format, `materialize`/`import`, `repair`, `backup`/`restore`/`destroy`, `set-refs`/`get-refs` | [references/storage.md](references/storage.md) |
| `init`, `skill install/check/update`, `completion`, Docker | [references/setup.md](references/setup.md) |
( run in 1.429 second using v1.01-cache-2.11-cpan-3f962061493 )