agentsclimarketplace

Model committee sol

Skill scdenney/open-science-skills/codex/model-committee-sol

Run a deliberative two-model committee between GPT-5.6 "Terra" and Claude Opus 5, chaired by GPT-5.6 "Sol." Same two deliberating members as model-committee; the difference is the chair — Sol aggregates the scores, applies the tie rule, and synthesizes the decision. Use when the user needs one consequential decision from multiple defensible options and wants a Sol-chaired deliberation. Suitable for architecture, research design and interpretation, manuscript strategy, ambiguous diagnosis, evaluation design, and policy or standards tradeoffs. Not for factual lookups, independent-coder reliability, open-ended brainstorming, routine implementation, or final high-stakes professional judgment.From its SKILL.md

Install
npx -y skills add scdenney/open-science-skills --skill model-committee-sol

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

6.8 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Model Committee (Sol-chaired)

Run GPT-5.6 "Terra" and Claude Opus 5 as a deliberating committee with GPT-5.6 "Sol" as the chair. Keep the line to $model-council-voting sharp: a council measures independent disagreement, while this committee deliberately exposes each member to the other's argument and returns one decision.

Read references/protocol.md completely before running a committee. It carries the use-case gate, the brief template, the three round contracts, the decision rule, and the decision.md schema.

Invoked as $model-committee-sol inside a Codex/Sol session, Sol chairs natively — that is this variant's intended home. Sol is neither deliberating member: cross-family to the Opus member, and a distinct 5.6 tier from the Terra member. The GPT member is pinned to Terra rather than Sol precisely because the chair is Sol; a chair identical to a member would defeat the point. Siblings: model-committee (Opus 5 chairs) and model-committee-fable (Fable 5 chairs).

Gate the workflow

Run only when the user invokes $model-committee-sol or asks for a Sol-chaired Terra / Opus deliberation. The external calls draw plan credits or API spend on both providers — surface that and get confirmation unless the user has already accepted it. Apply the protocol's use-case gate first; if the task does not qualify, name the right alternative and call no model.

Before the first call:

  1. Confirm the decision that must be returned.
  2. Confirm the material may be sent to both providers.
  3. Precommit the evaluation criteria, weights, and tie rule.

Sandbox constraint — read before the first call

scripts/codex-member.sh shells out to a nested codex exec process. Confirmed by direct reproduction (July 2026, both hosts this repo runs on): a codex exec process running under any sandbox mode cannot spawn a working nested codex exec child — it fails immediately with Error: failed to initialize in-process app-server client: Operation not permitted (macOS) or Read-only file system (Linux). This is structural, since the OS sandbox applies transitively to the whole process tree, and bypass flags on the nested call do not fix it. Running non-interactively (approval: never in your own session banner), this call cannot succeed — report the failure rather than fabricating the GPT member's response yourself. If interactive, request escalation (sandbox_permissions: require_escalated) for that one call.

scripts/claude-member.sh shells out to claude -p, a different binary, so it does not hit the identical codex exec IPC failure — but under workspace-write sandbox its outbound network call was observed to hang rather than complete, network access being restricted by the sandbox. That observation is less rigorously isolated than the codex-member.sh one; treat a hanging claude-member.sh call the same way and escalate or move to an unsandboxed session.

Preflight both members

Resolve SKILL_DIR as the directory containing this SKILL.md, then run:

"$SKILL_DIR/scripts/codex-member.sh" --check
"$SKILL_DIR/scripts/claude-member.sh" --check

Default pins:

  • GPT member: gpt-5.6-terra (reasoning effort: xhigh) — deliberately the balanced 5.6 tier, not gpt-5.6-sol, because the chair below is Sol
  • Claude member: claude-opus-5 (reasoning effort: high)
  • Chair: gpt-5.6-sol (Sol), reasoning effort xhigh — the running session when invoked as $model-committee-sol under Codex/Sol

These are exact pins, not moving aliases. If one is unavailable, report it and ask whether to stop or use a named replacement — never substitute silently, and never fall back to gpt-5.6-terra for the chair, since a chair identical to a member defeats the point of this variant.

Run the committee

Create a temporary working directory such as .committee-tmp/<slug>/. Follow the protocol's prompt contracts and produce these artifacts:

brief.md
round-1-gpt.prompt.md       round-1-gpt.md
round-1-opus.prompt.md      round-1-opus.md
round-2-gpt.prompt.md       round-2-gpt.md
round-2-opus.prompt.md      round-2-opus.md
round-3-gpt.prompt.md       round-3-gpt.md
round-3-opus.prompt.md      round-3-opus.md
decision.md

Invoke each member through the bundled read-only driver:

"$SKILL_DIR/scripts/codex-member.sh" \
  --prompt-file <prompt.md> --out <output.md> --effort xhigh -C <working-directory>

"$SKILL_DIR/scripts/claude-member.sh" \
  --prompt-file <prompt.md> --out <output.md> --effort high -C <working-directory>

Launch both calls in a round concurrently when the runtime supports it. Sequential execution is acceptable only if the second prompt was frozen before the first result arrived — otherwise round 1 stops being blind.

Chair with Sol, without becoming a third debater

You are Sol, so chair directly after round 3. Running this skill outside a Sol session, delegate only the post-round-3 chair step:

"$SKILL_DIR/scripts/codex-member.sh" \
  --prompt-file chair.prompt.md --out decision.md --model gpt-5.6-sol --effort xhigh -C <working-directory>

Either way, chairing is procedural: validate the round outputs against the protocol's schemas, aggregate the predeclared weighted scores, apply the precommitted tie rule, and synthesize only components both revisions explicitly marked compatible. Never introduce a new substantive option, and never break a tie by confidence, eloquence, or model identity. If the evidence stays genuinely unresolved, return the exact fork to the user; a forced but unsupported answer is not committee consensus.

Deliver

Return a compact decision record containing:

  1. use case and why committee treatment was justified;
  2. decision and decision rule (note that Sol chaired);
  3. strongest reasons and evidence;
  4. what changed during deliberation;
  5. surviving dissent or uncertainty;
  6. implementation or verification next step.

Delete .committee-tmp/ after delivery unless the user wants the full transcript kept. Implement only once the decision is accepted.

What ships with it: 4 files

12.5 KB alongside SKILL.md, 2 of them executable

agents/

references/

scripts/

Keep looking

Skills are one crate of 326,512. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.