adr
Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as…
Load GitHub PR review comments into AI session — analyze, triage, plan. Default: analysis-only (no auto-fix). Use when: reviewing PR feedback, planning fixes, addressing review comments, replying to reviewers. Not for: creating reviews (use codex-review-fast), creating PRs (use
$ npx -y skills add sd0xdev/sd0x-dev-flow --skill load-pr-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/load-pr-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Load GitHub PR review comments into AI session — analyze, triage, plan. Default: analysis-only (no auto-fix). Use when: reviewing PR feedback, planning fixes, addressing review comments, replying to reviewers. Not for: creating reviews (use codex-review-fast), creating PRs (use
name: load-pr-review description: "Load GitHub PR review comments into AI session — analyze, triage, plan. Default: analysis-only (no auto-fix). Use when: reviewing PR feedback, planning fixes, addressing review comments, replying to reviewers. Not for: creating reviews (use codex-review-fast), creating PRs (use create-pr), viewing PR status (use pr-summary)." allowed-tools: Bash(git:*), Bash(gh:*), Bash(bash:*), Bash(jq:*), Read, Grep, Glob, Edit, Write, AskUserQuestion, Agent
`load pr review`, `pr feedback`, `address review`, `review comments`, `pr comments`
| Need | Use Instead | |------|-------------| | Create a code review | `/codex-review-fast` or `/codex-review` | | Post new review comments | `/pr-comment` | | Create a PR | `/create-pr` | | PR status overview | `/pr-summary` | | Investigate code history | `/git-investigate` |
Load review → independent per-thread triage → analysis report → user decides next step Default: analysis-only. Fix and writeback require explicit --mode fix / --writeback. Data plane (JS script) handles fetch/normalize/writeback. Control plane (this SKILL.md) handles classification, fix orchestration, auto-loop.
| # | Rule | Violation = | |---|------|-------------| | 1 | Plan/fix mode MUST invoke `/seek-verdict` via Skill tool per unresolved thread (unless `--no-verdict`) | Report invalid — re-run with verdict | | 2 | Step 3 (Present) is blocked until Step 2 (Verdict Triage) completes | Report invalid | | 3 | Each `/seek-verdict` must use fresh Codex context per thread (no batch) | Triage invalid | | 4 | Plan output MUST include Codex Verdict Threads field (non-empty, from Step 2) | Report rejected |
This skill is an **analysis tool by default**. It loads PR review comments and produces a triage report. It does NOT auto-fix.
| ❌ Prohibited | ✅ Correct | |--------------|-----------| | Auto-fixing code after loading PR reviews | Present analysis report, wait for user to invoke `--mode fix` | | Editing files in plan mode | Only read and classify; no writes | | Suggesting "let me fix this" without explicit `--mode fix` | "Use `--mode fix` to start fixing ACTIONABLE threads." | | Skipping triage and jumping to fixes | Always complete Step 2 verdict triage before any action | | Skipping `/seek-verdict` and classifying threads with AI judgment alone | Invoke `/seek-verdict` per thread via Skill tool; AI judgment is fallback only for failed calls | | Outputting plan table without Codex verdict data when `--no-verdict` was not passed | Complete Step 2 before Step 3 |
> **Rule priority**: Plan mode's analysis-only constraint overrides the "Skill analysis-only mode" exception in `fix-all-issues.md`. > Issues found in plan mode are recorded in the analysis report (logged as `[ANALYSIS_ONLY_DEFERRED]`), not auto-fixed. User must explicitly invoke `--mode fix` to apply changes.
| Mode | Default? | Reads Code | Edits Code | Writes Back | |------|----------|------------|------------|-------------| | `plan` | **Yes** | ✅ | ❌ | ❌ | | `summary` | No | ❌ | ❌ | ❌ | | `fix` | No (explicit) | ✅ | ✅ (after AskUserQuestion) | Only with `--writeback` |
sequenceDiagram
participant U as User
participant SK as SKILL.md
participant JS as load-pr-review.js
participant GH as GitHub (gh CLI)
participant SV as /seek-verdict (per thread)
participant AL as Auto-Loop
U->>SK: /load-pr-review [args]
SK->>SK: Step 0 — Resolve PR target
SK->>JS: fetch --pr N --repo owner/repo
JS->>GH: gh api graphql (reviewThreads)
alt GraphQL fails
JS->>GH: gh api REST (fallback)
end
JS-->>SK: Normalized JSON
alt plan/fix mode + verdict enabled
loop Each unresolved thread (parallel)
SK->>SV: /seek-verdict (fresh Codex per thread)
Note over SV: Independent research
SV-->>SK: Per-thread verdict
end
end
alt summary mode
SK->>U: Table of threads
end
alt plan mode (DEFAULT)
SK->>SK: Map verdicts to categories
SK->>U: Analysis report (no edits)
end
alt fix mode (explicit --mode fix only)
SK->>U: AskUserQuestion — select threads
loop Each selected thread
SK->>SK: Read file + apply fix
SK->>AL: auto-loop
end
end
alt --writeback
SK->>JS: writeback --plan
JS-->>SK: Dry-run plan
SK->>U: AskUserQuestion — approve
U->>SK: Approved
loop Each thread
SK->>JS: writeback --execute (one at a time)
JS->>GH: POST reply + resolve
end
endDetermine the target PR using this cascade:
1. **Explicit PR# in arguments** → use directly 2. **URL in arguments** → parse `owner/repo/number` 3. **Context block data** → `gh pr view` on current branch 4. **None found** → AskUserQuestion: ask user to provide PR# or URL
Run the data plane script:
bash scripts/run-skill.sh load-pr-review load-pr-review.js \ fetch --pr <N> --repo <owner/repo> [--all] [--budget <N>]
Parse the JSON output. Check `summary.degraded` — if `true`, inform user:
> REST fallback active: thread resolution status unknown, showing all comments.
If `summary.total === 0`:
> No review comments found on this PR.
In **plan** and **fix** modes (not summary), invoke `/seek-verdict` **per thread** for independent Codex assessment. Each thread gets its own fresh Codex context — no shared state between threads.
**Why per-thread, not batch**: Each review comment needs an independent perspective. Batch assessment in a single Codex call allows cross-thread contamination (one verdict influencing anothe
Language: English | 繁體中文 | 简体中文 | 日本語 | 한국어 | Español The harness layer for Claude Code. Let the model choose the path. Keep "done" verifiable. Full control plane on Claude Code. Skills-only distribution for Codex CLI and other compatible agents.
Repo: sd0xdev/sd0x-dev-flow
Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as…
Architecture design and documentation. Produces 3-architecture.md with component diagrams, data flow, integration points, and architecture decisions. Reads…
Context-aware Q&A with auto context gathering. Use when: user has a quick question about codebase, git history, rules, docs, or skills during development. Not…
Industry best practices conformance audit with mandatory adversarial debate. Produces audit artifact: verdict (OK/WARN/FAIL) + gap roadmap + debate proof. Use…
Bug fix workflow. Use when: fixing bugs, resolving issues, regression fixes. Not for: new features (use feature-dev), understanding code (use code-explore).…
Bump package and plugin version in sync. Updates package.json, .claude-plugin/plugin.json, and install-state manifest to the same version. Use when: user says…