Trigger: reviewer transport, advisory transport, review adapter, lens prompt/schema, OpenCode reviewer plugin, Codex reviewer, ReviewProviderContract. Enforce the shared Go advisory reviewer transport contract.
npx skills add https://github.com/Gentleman-Programming/gentle-ai --skill rdd-advisory-transport
Load when changing how any runtime (Claude Code, OpenCode, Codex, future) invokes an RDD reviewer, refuter, or fix validator, or when touching reviewer prompts, lens evidence, result schemas, adapters, or transport capability policy.
reviewLensContextBlock, ReviewerResultSchema, RunReviewCaptureResult, CaptureAdmittedReviewerResult); never build a parallel system.OPENCODE_DISABLE_* variables. An ordinary running session is sufficient.provider_command or runtime_interception descriptors.| Condition | Action |
| --- | --- |
| Logic fits "prompt/evidence/schema/validation" | It belongs in the Go contract, never an adapter. |
| Adapter cannot expose raw final output | Runtime stays typed unavailable; no artifact-parser workaround. |
| Cutover slice exceeds 1000 lines/PR | Chained PRs on the tracker; advertisement flip lands last. |
| Shared prompt changes any semantic outcome | STOP; regression against baseline blocks the slice. |
| Slice touches negotiated START / repository_context | Coordinate with the deferred Wave 7 switch-removal finding first. |
Report per slice: contract surface touched, adapter minimality guard status, bench corpus diff result, semantic regression result, capability advertisement state, and any unresolved maintainer decision (e.g. receipt provider_contract descriptor).
references/shared-advisory-transport-proposal.md — full proposal: architecture, deletion candidates, test plan, risks.references/issue-impact-matrix.md — per-issue dispositions under the shared contract; a maintainer condition in an issue's own thread always outranks its row.Take gentleman-programming/rdd-advisory-transport from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.