# Sks Pr Resolve

> Use when resolving a shikanime PR's review conversations, checking the DoD ledger, and reconciling before merge (no merge itself).

- Skill: `shikanime-labs/sks-pr-resolve` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add shikanime-labs/sks-pr-resolve`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shikanime-labs/sks-pr-resolve/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: shikanime-labs (https://skillmd.com/u/shikanime-labs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/shikanime-labs/sks-pr-resolve

---


# Shikanime Org PR Resolution (no merge)

Reconcile a PR in `shikanime-labs/*`/`shikanime-studio/*`: enumerate review
conversations, check the linked issue DoD ledger, report approval/CI. **Never
lands the PR** — that is `sks-land`.

## When to Use

- "Resolve the suggestions on PR #M", "clear the review threads on #M".
- "Is PR #M ready to land?" — reconcile and report, no merge.
- Pre-landing cleanup before handing off to `sks-land`.
- "Resolve review threads on a shikanime PR."
- "Check if a PR is ready to land (reconcile + report)."

Not for opening (`sks-pr`), reviewing (`sks-pr-review`), merging (`sks-land`).

## Gates

### Gate 1 — DoD ledger

Criteria = the `- [ ]` tasklist in the linked issue body (see `sks-issue`);
verify each against diff/CI.

```bash
gh issue view <N> --repo <org>/<repo> --json body --jq .body   # read the tasklist
gh pr view <M> --repo <org>/<repo> --json body,state --jq .body
```

- Unchecked box ≠ done — report it, never silently mark done.
- If met, check the box (`gh issue edit` or API) with evidence in a comment
  first.
- No linked issue → stop: link one (`sks-issue`) or get explicit ledger-free
  confirmation.
- **No merge here** — this gate only reports; `sks-land` acts.

### Gate 2 — Approval + CI (report only)

`sks-pr-review` must have run on the final head commit and approved. Re-review
if new commits landed after the last review. Check approval via the query in
`references/resolve.md`.

- Where branch protection blocks self-approval (e.g. `shikanime-labs/skills`,
  `nix-containers`), a verbal `lgtm` from the user satisfies this gate — merge
  stays in `sks-land` (`gh pr merge --squash --admin`).
- CI: `gh pr checks <M> --repo <org>/<repo>`.

### Gate 3 — Conversations reconciled (core)

Every inline review thread must be reconciled. Enumerate threads and resolve
them with the GraphQL in `references/resolve.md`.

For each **unresolved** thread:

- **Pertinent + in ledger** — verify diff/CI addresses it; resolve, else flag
  (blocks `sks-land`).
- **Pertinent + not in ledger** — add to issue tasklist (Gate 1), resolve if
  diff already covers it.
- **Not pertinent** — post one comment with the rationale, then resolve. Never
  resolve silently.
- **No root cause** — a bug fix reconciles but states no cause (symptom patch);
  flag and route to `sks-investigate`; do not resolve as done.

When closing a thread with a fix, cite the concrete evidence in the comment —
the exact `- old` → `+ new` diff lines or the command/CI output proving it, not
a prose summary. (See the family message invariants in `sks-dev-workflow`;
`references/example-comment.md` for a filled example.)

Outdated (`isOutdated`) uncontested threads may be resolved without code change;
note supersession in the comment.

Issue-level discussion and PR comments are **out of scope** — only inline review
threads gate via `isResolved`.

## Output (hand back)

Readiness verdict:

- Ledger: N of N satisfied, listing open items.
- Approval: `sks-pr-review` approval on current head (or verbal `lgtm` for
  `sks-land`).
- Conversations: every thread resolved with one-line rationale, or list needing
  author decision.
- CI: green / pending / failing.
- Docs: flag ops/architecture changes for post-land `sks-doc` update.

Then stop — merging is `sks-land`'s job.

## Pitfalls

- Resolving silently — discarded suggestions owe a one-line why.
- Trusting a checkbox without evidence — verify each criterion against the diff.
- Reconciling after new commits without re-review — approval is bound to a head
  commit.
- Treating issue/PR comments as gate threads — only inline review threads gate.
- Merging from this skill — it only reconciles; defer to `sks-land`.

## Verification

```bash
# readiness verdict re-checked: ledger N/N, approval present, every thread resolved
gh pr view "$N" --repo "$R" --json reviewDecision,state
gh api repos/"$R"/pulls/"$N"/comments --jq '.[].isResolved' 2>/dev/null || true
```

## See also

- `sks-investigate` — root-cause research before any fix.

