plugins/d-nd-core/skills/poly-consult/SKILL.md
Multi-node consultation protocol for high-leverage decisions. Dispatches the same question to N independent LLM/agent nodes in isolation, then synthesizes their responses into a summa that exposes convergence (high-confidence claims), dissensus (real uncertainty zones), and emergent points (insights no single node produced). Reduces single-node training bias. Supports recursive escalation for stable-state convergence. Use for decisions that propagate via A14 cascade — seed updates, crystallizations, advisory→mechanical promotions, high-visibility copy, lab result interpretation.
npx skillsauth add grazianoguiducci/d-nd-seed poly-consultInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A single LLM node carries its own training bias and context frame. For decisions that propagate through the system (A14 cascade), a single viewpoint reproduces that bias at every downstream node. Consulting N independent nodes, then synthesizing the responses into a summa, surfaces what each alone could not: convergence (shared confidence), dissensus (real uncertainty), and emergence (insights that arise only at intersection).
Two observers of the same surface from different angles see different structure — intersections reveal what lies perpendicular to any single angle. This is geometry, not ideology. The skill formalizes that geometry for decisions.
The protocol has three operations:
Trigger signals:
Skip signals:
question: string # the question or decision to consult on
context: string | reference # background evidence, relevant files, prior state
nodes: list # min 2, recommended 3+
- TM1 # human-like operator or lab-site node
- TM3 # dev/infrastructure node
- Godel # inversion filter (external observer)
- other named agents # add per relevance
mode: factual | interpretive | decisional
max_rounds: int (default 1) # 1 = single pass; >1 = recursive
isolation: strict | relaxed # strict = no node reads others until synth
(default: strict)
For each node in nodes:
question + context + instructions to respond without
consulting othersIsolation discipline: if nodes share a communication channel (e.g., Sinapsi), the dispatcher must route each message so that no node sees another's draft before its own is submitted. Violating isolation collapses the consultation into a social proof loop.
Apply three extractors to the N responses:
AGREEMENT extractor — claims asserted by ≥(N−1) nodes:
unanimous (all N), majority (N−1 of N)DISSENSUS extractor — claims asserted by one node and denied (or omitted) by another:
EMERGENCE extractor — claims that appear in exactly one response and are genuinely novel (not trivial per-node variation):
Output: a summa matrix — structured, preserving provenance, not
collapsing dissent into average.
When max_rounds > 1:
max_rounds reachedTerminating early on stability is correct — forcing convergence when nodes have stopped moving produces false consensus.
summa:
agreement: # shared claims
- claim: string
confidence: unanimous | majority
provenance: [node1, node2, ...]
dissensus: # preserved disagreement
- axis: string # what the disagreement is about
positions:
- node: string
claim: string
emergence: # single-node novel claims
- node: string
claim: string
relevance_score: float # synthesizer's estimate of non-triviality
meta:
rounds: int
isolation: strict | relaxed
convergence_quality: high | medium | low
recommendation: string # only if mode=decisional
The closure reflection run manually today (third-act on 23/04) was a proto-poly-consult:
Synthesizer observations:
Q9 (cold-visitor one-sentence) produced two productively divergent narratives — different hooks for different reader types. Synthesizer preserved both rather than averaging.
The informal execution worked. Formalization into this skill captures the pattern for future high-leverage decisions.
testing
Closure reflection protocol. After a significant work block concludes (feature shipped, session ending, major commit landed, cross-node coordination resolved), runs a 10-question interview that extracts meaning, impact, and next questions — then emits multiple audience-specific artifacts (changelog, external editorial, AI integration docs, memory crystal, backlog seed). Turns implicit maturation into explicit narrative. Use at the end of meaningful work, not after trivial edits.
testing
The neutral form of the D-ND method. Meta-skill that recognizes context and orients toward the right specialization (cec, autologica, cascade, assertion-verifier, etc.). Activate at the start of a non-trivial work block or when input matches trigger words ('where are we', 'what here', 'orchestrate', 'connect', 'sieve this').
development
Five mechanical gates for any content publish pipeline with CMS + rendering layers. Prevents false security: 'API returned 200' does not mean 'visitor sees clean content'. Use when writing content to a multi-layer serving system (CMS API, static files, prerendered HTML, cached copies).
tools
Pre-commit check for public-facing copy (knowledge base definitions, page content, docs). Detects apologetic hedging — phrases that declare 'degrees of truth' (possible/necessary, current/future, one-of-many/the) and open a dualistic framing the model transcends. Use when drafting or reviewing any copy that describes the model, its transductions, or its tools.