morphet81/scrutiny · Archived

parley

>- Address unresolved GitHub PR review comments. Prefer `scrutiny parley` (fetch threads, knobs, isolated|team fix agents, optional evangelist verify, host commit/push, script thread replies). Or chain parley-fetch / plan-write / reply.

First seen Aug 3, 2026

Installation

$ npx skills add morphet81/scrutiny --skill parley

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Also in this package

Other skills from morphet81/scrutiny.

npx skills add morphet81/scrutiny

Browse all from morphet81/scrutiny

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents codex

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,699 B
  • docs SUMMARY.md 247 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Parley

Preferred (script-orchestrated):

SKILL_ROOT="<absolute-path-to-folder-containing-this-SKILL.md>"
SCRUTINY_BIN="$(bash "${SKILL_ROOT}/scripts/ensure-bin.sh")"
"$SCRUTINY_BIN" parley [--pr <url|number>]

Fetches unresolved review threads (GraphQL), asks members / evangelists / spawn mode, runs fix agents, host commits + pushes, then posts a reply under each thread via addPullRequestReviewThreadReply.

Sibling of /scrutiny and /forge (same binary, ~/.scrutiny/config.toml).

Usage

  • /parley — current branch PR
  • /parley <PR-URL> — specified PR
  • /parley <PR-number> — specified PR when unambiguous

Binary

Skill root = folder containing this SKILL.md.

SKILL_ROOT="<absolute-path-to-folder-containing-this-SKILL.md>"
SCRUTINY_BIN="$(bash "${SKILL_ROOT}/scripts/ensure-bin.sh")"

Config: ~/.scrutiny/config.toml → root headless, [parley] (defaultmembers, defaultverifiers, default_evangelists).

Artifacts: <repo>/.scrutiny/<pr>/parley-comments.json, parley-plan.json, parley-fixes.json, parley-reply.json, parley-session.json.

Knobs

Prompt Default Rule
Team members 1 Cannot exceed unresolved comment count
Verifiers (check fixes) 1 Both modes; runs after fixes, before evangelist
Evangelists (verify after) 1 Isolated mode only for separate post-pass
Spawn mode isolated isolated \ team

Team mode: lead embeds verify when evangelists > 0 (no second wave).

Verifier (flag-only): confirms each addressed:true fix truly resolves its comment (else flips addressed:false), and each addressed:false reply is consistent. Writes verified/verification into parley-fixes.json; does not edit source code. N>1 verifiers each check all threads (redundant).

Headless vs windows

Config root headless (default true). Set headless = false to open each agent in a visible terminal window (claude --permission-mode auto, cursor --force), on the current surface: tmux/zellij (new session/pane), macOS Terminal/iTerm2 (new window). Agents write fixes to disk; the host polls a per-agent done sentinel. Codex or unsupported surfaces (plain SSH/CI) fall back to headless.

Hard rules

  • Agents must not git commit / push / gh reply — host owns ship + reply
  • Every thread gets a parley-fixes.json entry (commentid = thread id PRRT…)
  • Replies use GraphQL addPullRequestReviewThreadReply with that thread id
  • No auto-resolve in v1

Push failure recovery

Host runs the repo pre-push checks quietly. On failure: cheap parley-prepush-plan agent splits the log into scoped chunks (model from [agentmodels].parleyprepushplan, or family [agentmodels].parley; default xs), then one parley-push-fix#N per chunk (parallel when file sets disjoint). Host commits fix: repair pre-push failures, re-checks (up to [parley].prepushfixmax_loops). Auth/remote push errors skip agents.

Discrete steps (IDE chaining)

COMMENTS="$("$SCRUTINY_BIN" parley-fetch --cwd <repo> [--pr <n>])"
PLAN="$("$SCRUTINY_BIN" parley-plan-write --comments "$COMMENTS" --from-json '{...}')"
# … agents update parley-fixes.json …
"$SCRUTINY_BIN" parley-reply [--fixes <parley-fixes.json>] --cwd <repo>

Prefer jump straight to "$SCRUTINY_BIN" parley.