council

Governs multi-seat council deliberation with contract-validated deposits, delegation rules, and decision ledgers.

10|2|Updated Jan 24, 2026
One-click install
npx skills add https://github.com/nrdxp/predicate --skill council-nrdxp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: council
Source: https://github.com/nrdxp/predicate/tree/main/skills/council
Command: npx skills add https://github.com/nrdxp/predicate --skill council-nrdxp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Multi-agent councils drift into groupthink, unilateral decisions, and lost audit trails when seats read each other before thinking, act beyond their authority, or record decisions as unverifiable prose. This Skill enforces a deliberation protocol where every seat deposits an independent assessment first, every decision follows a delegation table, and every record is a YAML instance validated by a Nickel contract. ## Core Features & Use Cases - Independent-first deliberation: Each seat writes its role-based assessment to a durable, contract-conformant YAML deposit before reading any sibling's deposit, preserving role-based decorrelation. - Delegation-table governance: Every decision type (routine, judgment, merge, dag-amendment, terminal, taste-fork) routes through a required assent rule, with named co-signers like the maintainer or head enforced by nickel export. - Contract-gated records: Assent, findings, and the decision ledger are YAML instances validated against Nickel contracts (council.ncl, deposit.ncl, findings.ncl), so ungrounded or barred assent fails the export. - Use Case: A lead-maintainer seat on an architecture council deposits its assessment, waits for all seats, then records a merge decision carrying the maintainer's assent id — the export fails if grounding is empty or a barred seat signed. ## Quick Start Invoke the council skill when holding a seat on a bound council and deposit your independent assessment before reading any sibling's deposit.

Frequently Asked Questions about council

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I record a council decision with assent in YAML?

Record assent by placing your seat id in the Decision's assent array with a non-empty grounding field, then validate the YAML instance against council.ncl using nickel export. Merge decisions also require the maintainer id and terminal decisions the human id.

How does the council deliberation protocol prevent groupthink?

Each seat must write its independent role-based assessment to a durable deposit before reading any sibling's deposit. Reading a peer first collapses decorrelation and is a barring trigger, so the unread state itself is the guard.

What is the difference between Nickel contracts and YAML instances here?

Contracts like council.ncl and deposit.ncl are written in Nickel and define the enforceable shape. Data records such as deposits and the decision ledger are YAML instances validated externally via nickel export, never hand-written Nickel.

Can a council seat act on any decision type?

No. Each decision type maps to a delegation rule in the constitution: routine types need single assent, judgments need a quorum, merges need maintainer consent, and terminal decisions need full consensus plus head ratification. Acting beyond your assent class is invalid.

When does the council protocol require a halt instead of a decision?

Halt when a decision type has no delegation rule in the constitution, when a required co-signer is unavailable at a merge or terminal gate, when deliberation fails to converge on grounded evidence, or when a held item resists contracting.