dispatch-jit-reminderlisted
Install: claude install-skill natb1/commons.systems
# Dispatch: JIT Reminder
Runs as its own `claude --bg` job (session name `jit-reminder-<num>`) spawned by
`/dispatch-propagate` when `dispatch-select-target` reports
`jit-reminder <repo> <num> <project> <item-id>` — the JIT scan selected
`<num>` in `<repo>` as the earliest-due open JIT issue. This job holds no
dispatch lock (the router released it before spawning this job).
Takes four arguments: `<repo> <num> <project> <item-id>`.
Claim the issue, then either run a configured skill (when the jit defines one)
or summarize the issue for the user and stop. Either way the session output
stays open in this job's transcript for a human to read — no worktree, no PR,
no phase skill, no leaf trace.
The per-item spawn-dedup name `jit-reminder-<num>` — assigned by the router's
`dispatch-spawn-job` call — prevents a concurrent dispatch tick from
double-spawning the same reminder while this claim is in flight; the In-Progress
claim then prevents re-selection on later ticks.
Run `gh`-calling commands with `dangerouslyDisableSandbox: true` — see
`.claude/rules/sandbox.md`.
## 1. Claim the issue
Resolve the project's In-Progress status value from local config, then write it:
```bash
IN_PROGRESS=$(.claude/skills/dispatch-propagate/scripts/dispatch-config-load projects \
| jq -r --arg key "<project>" \
'.projects[] | select(.key == $key) | .statusInProgress')
.claude/skills/dispatch-propagate/scripts/dispatch-project-status-write \
<project> "https://github.com/<repo>/issues/<n