How Auto-Triad Selection Works in the Council of High Intelligence CLI
When no domain is specified, the Council of High Intelligence CLI automatically selects a triad by parsing the problem statement, matching keywords to domain-specific triads, and choosing the highest-scoring panel based on keyword frequency and domain-weight seat priority.
The Council of High Intelligence is an open-source deliberation framework that simulates expert panels to solve complex problems through structured debate. When users invoke the council CLI without providing a --triad flag, the system activates auto-triad selection to intelligently match the query to the most appropriate expert panel. This automatic matching algorithm is fully defined in SKILL.md (line 173) and ensures every problem receives domain-relevant expertise without manual configuration.
The Auto-Triad Selection Algorithm
The auto-triad selection process follows a deterministic five-step sequence implemented in the coordinator logic. According to the source code in SKILL.md at line 173, the algorithm serves as step 0 of the execution sequence, activating immediately when the CLI receives a problem statement without an explicit domain flag.
Step 1: Parse the Problem Statement
The coordinator extracts the natural-language problem text provided after the command invocation. This raw text serves as the input corpus for domain classification and triad matching.
Step 2: Match Keywords to Triad Domains
Each triad maintains a set of domain-specific keywords defined in the agent configuration files under agents/. For example, the product triad associates with terms like feature, market, and customer, while the design triad maps to ux, interface, and usability. The coordinator scans the problem text against these keyword sets, which are declared in individual agent files such as council-torvalds.md and council-watts.md.
Step 3: Score Candidate Triads
A scoring function counts keyword occurrences for each triad domain. The triad accumulating the highest match count becomes the primary candidate for selection.
Step 4: Resolve Ties Using Domain-Weight Seat
When multiple triads achieve identical scores, the algorithm applies a tie-breaker based on the domain-weight seat—the specific panel member whose expertise most directly aligns with the detected problem domain. According to SKILL.md (lines 175-176), the triad containing the member with the highest domain relevance for the matched keywords wins the tie.
Step 5: Announce the Selection
Before deliberation begins, the coordinator outputs a diagnostic statement identifying the chosen triad and the matching keywords. For example, when detecting launch and API, the system prints: Auto-Triad Selection: selected product triad (Torvalds + Machiavelli + Watts) because the problem mentions launch and API.
Fallback Behavior When No Keywords Match
If the problem statement contains no recognizable domain keywords, the coordinator defaults to the architecture triad—the first triad listed in the configuration table. This fallback ensures the council always convenes a valid panel even for ambiguous or generic queries. The system explicitly logs this decision, announcing that the selection occurred due to a lack of explicit keyword matches.
CLI Examples: Auto-Selection in Action
Explicit triad selection bypasses the algorithm entirely:
council --triad design "Our onboarding flow has 8 steps and 40% drop-off."
The design triad (Rams + Torvalds + Watts) is used directly without keyword analysis.
Auto-selection with successful keyword matching:
council "We need to decide whether to launch the new API in Europe or Asia first."
The coordinator parses this input, identifies launch and API as product-domain keywords, and automatically selects the product triad (Torvalds + Machiavelli + Watts).
Auto-selection triggering the fallback:
council "What is the best way to organize our internal documentation?"
No domain keywords are detected, so the system defaults to the architecture triad and announces the fallback selection.
Source Code Implementation
The auto-triad selection logic is centralized in SKILL.md at line 173, which formally defines the execution sequence for step 0 of the council workflow. Concrete demonstrations of this behavior appear in demos/session-pack.md (Demo G, lines 121-135), providing recorded examples of live auto-selection. The keyword-to-domain mappings originate in individual agent files under agents/, where each persona declares their triad memberships and associated expertise domains. Additional usage examples that trigger automatic selection appear in README.md (lines 874-879).
Summary
- Auto-triad selection activates automatically when the
--triadflag is omitted from the CLI invocation. - The algorithm scores candidate triads based on domain-keyword frequency matches within the problem statement.
- Ties are broken by prioritizing the triad containing the highest domain-weight seat relevance.
- If no keywords match, the system falls back to the architecture triad as the default panel.
- Selection logic is defined in
SKILL.md(line 173) and demonstrated indemos/session-pack.md.
Frequently Asked Questions
How does the Council of High Intelligence CLI choose a triad when I don't specify a domain?
The coordinator parses your problem statement and counts matches against domain-specific keywords associated with each triad. The triad with the highest keyword count is selected automatically. If multiple triads achieve identical scores, the system prefers the one whose members have the strongest domain-weight seat for the detected keywords, as implemented in SKILL.md lines 175-176.
What happens if my problem description doesn't contain any domain keywords?
When no keywords match the predefined sets in the agent files, the coordinator defaults to the architecture triad, which serves as the universal fallback panel. This ensures the council always convenes a valid panel of experts to deliberate, even for vague or general inquiries that lack domain-specific terminology.
Can I override the auto-selected triad after the CLI has made its choice?
No, once the coordinator announces the auto-selected triad at the start of the session, the panel composition is fixed for that deliberation cycle. To use a specific triad, you must provide the --triad <domain> flag in your initial command invocation, as documented in the CLI examples in README.md.
Where is the auto-triad selection logic defined in the source code?
The selection algorithm is formally specified in SKILL.md at line 173, which outlines the execution sequence for step 0 of the coordinator workflow. The keyword mappings used for matching are distributed across the agent definition files in the agents/ directory, such as council-torvalds.md and council-watts.md, where each agent declares their triad affiliations.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →