The mailbox answers "who wrote to me"; it never answered "which repo deserves the next session". board.sh scans every discovered repo and reads three sources each: the STATE.md next-step block with its optional board line, git status, and that repo's pending mailbox count. Read-only by construction, pinned by board-selftest.sh (28 checks). It ships here rather than as a personal script because the mailbox is one of its three inputs and the two carry the same axis distinction: a pending count means others are waiting on that repo, while who a repo waits ON comes only from its board line, since the message format has no reply-to field. Splitting the board from the mailbox would put that distinction in two places. It also lets the skill resolve the engine through CLAUDE_PLUGIN_ROOT like every other script here, instead of depending on a file that exists only in ~/.claude/scripts (a directory with no remote and no backup). The skill is a ranking, not a report: re-runs the board every invocation because counts drift, ranks by what unblocks the most and what is cheapest to move, then names one repo, the rule that fired, and the real next action read from that repo's STATE.md. Never the table. Not wired into session start, which would spend context on repos the session is not in. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MubwdTi88yu4hVLAFG1LbM
12 lines
192 B
JSON
12 lines
192 B
JSON
{
|
|
"name": "repo-mailbox",
|
|
"version": "0.9.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"scripts": {
|
|
"test": "node --test tests/*.test.mjs"
|
|
}
|
|
}
|