error-resolvelisted
Install: claude install-skill app-vitals/shipwright
# Error Resolve
Read `state/error-patrol-ledger.json`'s `taskLinks` entries (written by `/error-fix`), look up
each linked task's **current** status via the task store, and call Sentry's issue-resolve
endpoint for any issue whose gating task has reached `deployed` or `done`. This skill makes
**no code changes** and queues no tasks — it only reads the ledger/task store and mutates
Sentry issue state (plus the ledger entry, once the Sentry call succeeds).
This skill hardcodes Sentry as the backend (no provider abstraction) — see
`planning/error-patrol/PLAN.md` for the rationale, same as `/error-scan` and `/error-fix`.
---
## Setup: Parse Arguments
Before starting, check if any flags were passed:
- `--dry-run` — run the full check (task-store status lookups, gating decision per issue) but
make **no Sentry mutation** and **no ledger write**. Print what would have been resolved
instead.
---
## Step 0: Preconditions
1. Confirm `SHIPWRIGHT_TASK_STORE_URL` and `SHIPWRIGHT_TASK_STORE_TOKEN` are set in the
environment. If either is missing, print:
```
error-resolve requires SHIPWRIGHT_TASK_STORE_URL and SHIPWRIGHT_TASK_STORE_TOKEN to be set.
Invoke /shipwright:task-store for setup instructions. Skipping resolve.
```
and stop. Do not touch the ledger or Sentry.
2. Confirm `SENTRY_ORG` and `SENTRY_AUTH_TOKEN` are set (`echo "org=$SENTRY_ORG
token_set=$([ -n "$SENTRY_AUTH_TOKEN" ] && echo yes || echo no)"`). If either is unset or
empty, print:
```