How to Create a Custom Triad for a Specific Domain in the Council of High Intelligence

To create a custom triad for a specific domain in the Council of High Intelligence, you define a domain-to-members mapping in SKILL.md and declare the triad in each member's front-matter.

The Council of High Intelligence orchestrates multi-agent deliberation by assembling three-member panels called triads based on domain keywords. If the built-in triads like product or shipping do not cover your specific use case, you can create a custom triad for a specific domain by editing Markdown and YAML front-matter files. This requires no code changes—only configuration updates to SKILL.md and the respective council member files in the 0xNyk/council-of-high-intelligence repository.

Understanding the Triad Lookup Mechanism

The coordinator resolves a --triad <domain> flag by consulting the Pre-defined Triads table located in SKILL.md (lines 85-97). This table maps domain keywords to specific combinations of three council members. According to the source code, the coordinator validates membership by checking each member's triads array in their front-matter before assembling the panel.

Step-by-Step Guide to Creating a Custom Domain Triad

1. Select Three Council Members

Choose three existing members that embody your domain. For example, to create a "sustainability" triad, you might select Torvalds, Machiavelli, and Watts to cover green technology, incentives, and systems thinking respectively.

2. Register the Triad in SKILL.md

Append a new row to the Pre-defined Triads table in SKILL.md (lines 85-97). The table uses Markdown pipe syntax with three columns: domain keyword, member combination, and description.

| `sustainability` | Torvalds + Machiavelli + Watts | Green-tech, incentives, reframing |

This entry enables the --triad sustainability flag for the coordinator.

3. Update Member Front-Matter

Edit each member's file in agents/council-*.md to include the new triad name in their triads array. For example, in agents/council-torvalds.md, modify the front-matter:

triads: ["shipping", "product", "founder", "ai-product", "design", "sustainability"]

Repeat this for agents/council-machiavelli.md and agents/council-watts.md, adding "sustainability" to their existing lists. The coordinator reads these arrays (typically lines 12-14 in member files) to verify that requested members actually belong to the specified triad.

4. Optional: Expose via Profiles

To make the triad accessible through profiles, add it to the appropriate profile section in SKILL.md. For execution-focused workflows, edit lines 150-154; for exploration profiles, use lines 137-143. This allows usage like --profile execution-lean --triad sustainability.

Testing Your Custom Triad

After committing the changes, invoke the council using your new domain keyword:

/council --triad sustainability "Should we switch to renewable-energy-powered servers?"

The coordinator will lookup the sustainability entry in the Pre-defined Triads table, validate the three members' participation rights via their front-matter (STEP 0, lines 68-73), and assemble the panel for deliberation.

Summary

  • Custom triads require editing only Markdown and YAML files—no code execution or compilation is necessary.
  • Register the domain-to-members mapping in the Pre-defined Triads table in SKILL.md (lines 85-97).
  • Declare triad membership in each of the three members' front-matter (agents/council-*.md) to allow the coordinator to validate the panel.
  • Optional profile integration in SKILL.md (lines 137-154) provides higher-level shortcuts for common workflows.

Frequently Asked Questions

Do I need to write Python or JavaScript code to create a custom triad?

No. Creating a custom triad for a specific domain requires only editing Markdown tables in SKILL.md and YAML front-matter in member files. The coordinator handles the resolution logic internally by reading these configuration files during STEP 0.

Can I reuse existing council members for a new domain triad?

Yes. You can combine any existing members (such as Torvalds, Machiavelli, or Watts) into new triads as long as you update their individual triads arrays in agents/council-*.md to include the new domain keyword.

What happens if I forget to update a member's front-matter?

If a member's triads array does not include the domain keyword you specified in SKILL.md, the coordinator will fail to validate the panel during STEP 0 and will not assemble the triad. The system requires consistency between the table lookup and member declarations.

How do I know which lines to edit in SKILL.md?

The Pre-defined Triads table resides at lines 85-97, profile configurations for exploration are at lines 137-143, and execution profiles are at lines 150-154. These line numbers correspond to the current version of the 0xNyk/council-of-high-intelligence repository.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →