Skip to content

feat: add council-v2 skill with routed advisor roster#90

Merged
jsifalda merged 1 commit into
mainfrom
feat/council-v2
Jul 15, 2026
Merged

feat: add council-v2 skill with routed advisor roster#90
jsifalda merged 1 commit into
mainfrom
feat/council-v2

Conversation

@jsifalda

@jsifalda jsifalda commented Jul 15, 2026

Copy link
Copy Markdown
Owner

What

Adds skills/council-v2/ — a variant of council whose advisor roster is built from existing reasoning skills instead of ad-hoc personas.

Roster

ALWAYS SEATED (5)
  1. First Principles   -> first-principles-mode   [REPLACES v1's First Principles Thinker]
  2. The Contrarian     -> inline                  [KEPT]
  3. The Outsider       -> inline                  [KEPT]
  4. The Expansionist   -> inline                  [KEPT]
  5. The Founder        -> founder-thinking-mode   [REPLACES v1's Executor]

ROUTED BY DOMAIN (0-2)
  6. Stanier    -> persona-stanier    | people, teams, hiring, coaching, OKRs, process
  7. levelsio   -> persona-levelsio   | solo/bootstrapped product, shipping, pricing, distribution

Two v1 seats were replaced where the jobs overlapped. The Contrarian, Outsider, and Expansionist survive because no new voice covers their job. The two domain seats are seated only when the question fits, so a seat with nothing to say stays benched instead of adding filler.

The new roster also adds two productive tensions: Expansionist vs levelsio (10x thinking against stay-small) and Stanier vs Founder (build the system against just make the call).

Design decisions worth reviewing

  • Slash-only (disable-model-invocation: true). council keeps the natural-language triggers. Two auto-firing councils would collide nondeterministically on phrases like "pressure-test this".
  • Peer-review anonymization dropped. v1 anonymized advisors as A-E to prevent deference bias. That does not survive this roster — levelsio's and Stanier's voices are unmistakable, so reviewers deanonymize on the first sentence. Order is still randomized per reviewer, which keeps the part of anonymization that actually paid for itself.
  • Chairman dedups. Reviewers scale 1:1 with seats and all see the same input, so reviews overlap. The chairman must collapse repeated claims and count independent arrivals, so five voices echoing one point never reads as five-way consensus.
  • Skills dir resolved once in Step 0 and injected into sub-agent prompts. Survives the repo layout, the symlink sync, and Copilot's copy-based sync. A seat that cannot load its skill degrades to running inline rather than failing the council.

Verification

  • quick_validate.py passes (description 923 chars, no ": " terminator)
  • check-universality.sh clean across 297 files
  • README ## Skills row added with all four dependencies declared

Summary by CodeRabbit

  • New Features

    • Added the council-v2 skill for structured multi-advisor reasoning.
    • Supports routed advisory perspectives, parallel reviews, claim deduplication, and independent-convergence analysis.
    • Generates an HTML council report and full transcript at timestamped output locations.
    • Uses slash-only activation to avoid conflicts with existing council commands.
  • Documentation

    • Added the skill to the available skills reference.
    • Documented advisor selection, execution flow, output requirements, and fallback behavior.

Variant of council whose roster is built from existing reasoning skills
rather than ad-hoc personas. Replaces the two seats that overlapped:
First Principles Thinker delegates to first-principles-mode, and the
Executor is superseded by founder-thinking-mode. Contrarian, Outsider,
and Expansionist survive since no new voice covers their job.

Adds persona-stanier and persona-levelsio as domain seats, seated only
when the question is a leadership or indie/bootstrap call, so seats with
nothing to say stay benched instead of adding filler.

Slash-only to avoid trigger collision with council. Peer-review
anonymization dropped since the persona voices are unmaskable; chairman
now dedups so repetition is not mistaken for consensus.
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: bc9968d0-bf69-471e-bcff-509a626a7458

📥 Commits

Reviewing files that changed from the base of the PR and between 17ff726 and d71233f.

📒 Files selected for processing (3)
  • README.md
  • changelog/20260715115246-add-council-v2-skill.md
  • skills/council-v2/SKILL.md

📝 Walkthrough

Walkthrough

Adds the council-v2 slash-only skill, defining routed advisor seats, parallel execution and peer review, chairman synthesis, and timestamped HTML and transcript outputs. The skill is registered in the README and described in a changelog entry.

Changes

Council v2 workflow

Layer / File(s) Summary
Council contract and roster
skills/council-v2/SKILL.md, README.md, changelog/...
Defines slash-only activation, clarification behavior, five permanent seats, optional routed seats, and advisor role tensions.
Context routing and advisor execution
skills/council-v2/SKILL.md
Resolves delegated skill paths, scans workspace context, reframes questions, routes domain seats, and spawns advisors in parallel with inline fallbacks.
Peer review, synthesis, and saved reports
skills/council-v2/SKILL.md
Runs named randomized peer reviews, applies chairman deduplication and independence rules, and saves HTML reports plus full markdown transcripts.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant council-v2
  participant Advisors
  participant Reviewers
  participant Chairman
  participant Outputs
  User->>council-v2: invoke /council-v2
  council-v2->>Advisors: route and spawn seats in parallel
  Advisors-->>council-v2: return advisor responses
  council-v2->>Reviewers: submit responses for peer review
  Reviewers-->>Chairman: return evaluations
  council-v2->>Chairman: provide framed question and responses
  Chairman->>Outputs: save HTML report and transcript
  Outputs-->>User: return verdict and output paths
Loading

Possibly related PRs

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/council-v2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jsifalda jsifalda merged commit 9f5f71a into main Jul 15, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant