Files
skills/skills/review-kit-pi-method/SKILL.md
vitya 3f78c54dd2 feat(review-kit-pi-method): CC-спавн субагент-ревьюера (claude-deepseek) — live-проверен 2026-09-01
v0.1.1→0.1.2: секция CC в Cross-agent — флаги изоляции (--tools '' --disable-slash-commands --no-session-persistence), модель deepseek-v4-flash-vision-exp, обёртка claude-deepseek. Из письма .workshop (task:1849 контекст review-механизмов).
2026-09-01 15:24:41 +03:00

7.0 KiB

name, author, version, description
name author version description
review-kit-pi-method ours 0.1.2 Spawn clean-context non-implementer subagents for review, trigger-testing, and spec validation under pi — the pi-native port of the review-kit method. Use when reviewing a skill/code/spec by a non-implementer agent, testing trigger discrimination of skills (clean pi -p subagents), or validating a workflow spec against loop-me's "implementer asks no questions" criterion. Triggers: «отдай на ревью», «прогони субагентами», "review with subagents", «чистый контекст», «непрайменный», trigger-дискриминация.

Review-kit under pi

The review-kit method (clean-context non-implementer subagents) was claude-centric: spawn subprocesses, keep them unprompted. Under pi the same method is a pi -p invocation with the right flags. This skill pins the exact command and the anti-priming checklist.

The spawn command

A fully unprompted (clean) subagent:

pi -p -nc -ns -nt --no-session "<question>"
Flag Effect
-p headless, one-shot
-nc (--no-context-files) no AGENTS.md / CLAUDE.md loading — the subagent does NOT inherit project rules
-ns (--no-skills) no skill discovery — it does not know our catalog exists
-nt (--no-tools) no tools — it cannot read files to self-prompt; answers from model knowledge + the prompt only
--no-session ephemeral, nothing persisted

Verified live (pi v0.84.1): with -nc -ns -nt the subagent reports "no project-specific instructions" and cannot recite AGENTS.md rules; without the flags it can quote them verbatim. The difference is the anti-priming guarantee: the review verdict is not contaminated by the reviewer knowing what the implementer intended.

Anti-priming checklist (per subagent run)

Before trusting a verdict, confirm the spawn was clean:

  • -nc present — subagent has no context files
  • -ns present — subagent has no skills
  • -nt present — subagent cannot read files (no self-prompting)
  • --no-session — no session bleed
  • The question does NOT name the expected answer, the skill name being tested, or the files to read (naming them re-primes: e.g. "what does AGENTS.md say about X" makes the subagent read it via tools — only -nt blocks that, keep it)

Prompting rules

  • Ask the behavior, not the label. For trigger tests: "You are given this user request: «...». Which of your skills would you use, and why?" — never "does this route to skill X?" (that's leading).
  • One question per run. A run answers one question; batch by launching parallel runs, not by cramming.
  • Negative controls matter. For trigger discrimination, always run phrases that should NOT match (e.g. «прогриль» must not hit brainstorming). A skill with 0 false positives on 3-4 negatives is trustworthy.
  • Read every flagged match manually. Template echoes and quoted counter-examples masquerade as hits; automated counting alone overstates both failure and success.

When to use which spawn

Need Spawn
Trigger discrimination (skill activation) clean -nc -ns -nt
Skill/code review by non-implementer clean -nc -ns -nt, plus the review scope in the prompt (what to check, NOT the expected verdict)
Spec validation (loop-me criterion) clean -nc -ns -nt, prompt = "given this spec, what would you need to ask before building it?" — any question ⇒ spec not done
Context-aware review (reviewer needs project conventions) WITHOUT -nc (let it read AGENTS.md / CLAUDE.md), but still -ns -nt --no-session, and prompt from a neutral third-person role ("a senior engineer reviewing this change")

Pitfalls

  • Asking "does X trigger skill Y?" primes the answer. The subagent cooperates and says yes. Ask what it would do, infer the routing.
  • Naming files in the question lets a tool-enabled subagent read them — which is fine when you WANT context, but kills the clean spawn. -nt is the guard.
  • Session bleed: without --no-session a prior run's context can leak. Always ephemeral.
  • Confirmation bias in the orchestrator: if the subagent's verdict contradicts your expectation, report it, don't re-run until it agrees. Re-running with a re-worded prompt until you like the answer is priming by another name.
  • Version drift: pin the pi version in the review report (pi --version) — flag behavior can change between releases.

Output convention

For each subagent run record in the review report:

- [id] spawn: pi -p -nc -ns -nt --no-session "…"
- [id] prompt: <verbatim>
- [id] verdict: <verbatim output>
- [id] reading: <your manual interpretation, one line>

The report then aggregates: pos/neg counts, false positives with quotes, conclusion.

Relationship to other skills

  • caveman-review — output FORMAT (one-line L:line comments), this skill is the spawn MECHANISM. Use together: spawn clean subagents, format findings caveman-style.
  • loop-me — its independent check ("implementer asks no questions") IS a review-kit spawn with the spec as input. This skill provides the command.
  • diagnosing-bugs — its sub-agent line ("dispatch a clean-context sub-agent where your harness supports it") uses this spawn.

Cross-agent applicability

Command is pi-specific by design (this is the pi port). The METHOD — clean non-implementer subagents, anti-priming checklist, negative controls — is agent-agnostic and transfers to any runtime that can spawn a fresh-context subprocess (claude -p, codex exec, hermes headless).

CC-спавн (claude-code через deepseek) — live-проверен 2026-09-01 (session:974)

CC (claude -p) умеет субагент-ревью БЕЗ скилов: тот же чистый контекст (флаги изоляции) через обёртку claude-deepseek (.common/scripts/claude-switch.ps1; env ANTHROPIC_BASE_URL= https://api.deepseek.com/anthropic + ключ из ~/.deepseek_api_key):

claude -p "<question>" \
  --output-format stream-json --verbose \
  --model deepseek-v4-flash-vision-exp \
  --tools "" --disable-slash-commands --no-session-persistence

Флаги изоляции (аналог -nc -ns -nt pi): --tools "" (нет тулов — не читает файлы, не самопраймится), --disable-slash-commands (нет команд-интерпретатора), --no-session-persistence (эфемерно, без сессионного блода). Анти-прайминг-чеклист и правила промпта — те же, что выше (ask the behavior, one question per run, negative controls).

Out of scope

  • Does NOT define the review criteria themselves (skill-specific acceptance — see the review task / skill under test).
  • Does NOT do the review — it spawns and governs the reviewers.
  • Does NOT cover claude-side spawn (that's the legacy method; the pi command here supersedes it).