Internal shared skill. Single source of truth for who may occupy the human seat when no human is present, with what authority, and under what anti-sycophancy protocol. Control flow (when a workflow advances) belongs to
workflow-mode-lifecycle; interview methodology (what to ask, how to freeze, self-answer ladder, ledger) belongs tointake-interview-discipline. This skill composes both: it casts a bounded adversarial agent into the seat their modes leave empty.Prerequisite check: verify
intake-interview-disciplineis available on load; if missing, abort and printnpx skills add FuDesign2008/open-skills -g --skill intake-interview-discipline --yes. No silent fallback — without it there is no ledger or interview for the counterpart to plug into.
Why bounded authority, not full proxy
The counterpart's every decision draws on authority the human already granted at trigger + freeze time; it never creates new authority. That derivation rule is what keeps the counterpart from becoming an escape hatch around design-approval-gate: that gate governs new high-impact scope, and new scope is exactly what the reserved list forbids the counterpart from touching.
Authority charter
Bounded list (may exercise, each ledger-marked counterpart-made):
- Answer intake questions grounded in project context and constraints (never invent facts — investigate or mark
[UNRESOLVED]) - Pick an approach among pre-approved options presented in the comparison table
- Quality verdicts at enumerated checkpoints — including rejecting a report and demanding re-verification
- Card/contract approval as bounded pre-authorization within already-delegated scope
- Continue/stop the original frozen scope after re-validating constraints
Reserved list (human-only; a hit produces a ticket + park, never self-approval):
- Irreversible actions (deploy, push to protected branches, delete, publish, outbound messages)
- Budget extensions or over-cap dispatch
- Protected-branch merges
- Outcome-type acceptance
design-approval-gatehigh-impact gates- Any scope change beyond the frozen contract
Template in reference.md § Charter.
Adversarial protocol (anti-sycophancy by construction)
A same-context reviewer tends to anchor on the executor's framing — the failure this protocol exists to prevent. Four structural rules, borrowed from multi-agent-debate's blindness principle:
- Fresh context — instantiate per checkpoint; no session history from the executor.
- Artifact-only inputs — charter + the artifacts under review (card / plan / report / diff) + repository facts it may fetch itself; never the executor's reasoning transcript.
- Challenge-not-please mandate — the counterpart's job is to find the flaw and ask the question the executor hopes won't be asked; a counterpart that only agrees is failing its role.
- Evidence-tagged verdicts — every conclusion carries
[FACT:source] / [INFERENCE] / [UNRESOLVED]; an untagged verdict is invalid and treated as no verdict (the checkpoint then escalates or parks, it does not pass).
Prompt template in reference.md § Counterpart Prompt.
Ledger integration
Every counterpart decision enters the host's acceptance ledger per intake-interview-discipline §C, marked counterpart-made, with rationale + evidence tags + impact tier. Acceptance surfaces them like any entry; the human MAY overturn any of them; overturned findings feed the next run's intake.
Checkpoints
Enumerated in the host contract at opt-in (default set: intake Q&A, approval event, high-impact escalation touchpoint, completion-report check, conflict re-adjudication). Each invocation counts against the run budget. Between checkpoints the intake-interview-discipline §B ladder governs — the counterpart is not continuously present, and the §B "next human touchpoint" for high-impact items MAY be a counterpart checkpoint (reserved items still human-only everywhere).
Integration guide (for referencing hosts)
- Declare
ai-counterpart-disciplinein frontmatterdependencies; prerequisite-check it — abort with install guidance when missing and the run opted in; a missing dependency with no opt-in is not a failure. - Record
counterpart: on | offin the run contract / task card (default off). Not opted in → host behavior identical to today. - Wire thin pointers at the enumerated checkpoints ("counterpart per
ai-counterpart-discipline") — never restate the charter or protocol prose. - Pass each checkpoint: fresh agent, charter + artifacts only, require tagged verdicts, ledger the outcome.
Forbidden
- Restating this charter/protocol in host bodies
- Feeding the counterpart the executor's reasoning transcript
- Accepting untagged verdicts; approving into the reserved list; treating counterpart approval as human approval
- Continuous presence beyond enumerated checkpoints (cost + authority-surface control)