blue/skills/alignment-play/SKILL.md
Eric Garcia a5b142299d feat: context injection architecture via 12-expert alignment dialogue
RFC 0016 drafted from alignment dialogue achieving 95% convergence:
- Three-tier model: Identity (fixed) / Workflow (session) / Reference (on-demand)
- Manifest-driven injection via .blue/context.manifest.yaml
- URI addressing: blue://docs/, blue://context/, blue://state/
- Hooks push URIs, MCP resolves content
- Progressive visibility: blue context show

New ADRs ported from coherence-mcp:
- 0014: Alignment Dialogue Agents (renamed from 0006)
- 0015: Plausibility
- 0016: You Know Who You Are

Knowledge injection system:
- hooks/session-start for SessionStart injection
- knowledge/*.md files for global context
- Expert pools with domain-specific relevance tiers
- Updated /alignment-play skill with full scoring

Spikes completed:
- Context injection mechanisms (7 mechanisms designed)
- ADR porting inventory (17 Blue ADRs mapped)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 16:16:11 -05:00

9.6 KiB

name description
alignment-play Run multi-expert alignment dialogues with parallel background agents for RFC deliberation.

Alignment Play Skill

Orchestrate multi-expert alignment dialogues using the N+1 agent architecture from ADR 0014.

Usage

/alignment-play <topic>
/alignment-play --experts 5 <topic>
/alignment-play --convergence 0.95 <topic>
/alignment-play --rfc <rfc-title> <topic>

Parameters

Parameter Default Description
--experts 3 Number of expert agents (odd numbers preferred)
--convergence 0.95 Target convergence threshold (0.0-1.0)
--max-rounds 12 Maximum rounds before stopping
--rfc none Link dialogue to an RFC
--template general Expert panel template (infrastructure, product, ml, governance, general)

Expert Selection (Domain-Specific)

Experts are selected by relevance to the topic, not generically. See knowledge/expert-pools.md for full pools.

Tier Distribution for N=12:

  • Core (4): Highest relevance (0.75-0.95) - domain specialists
  • Adjacent (5): Medium relevance (0.50-0.70) - related domains
  • Wildcard (3): Low relevance (0.25-0.45) - fresh perspectives, prevent groupthink

Example for Infrastructure topic:

  • Core: Platform Architect, SRE Lead, Database Architect, Security Engineer
  • Adjacent: Network Engineer, Cost Analyst, Compliance Officer, Performance Engineer, Capacity Planner
  • Wildcard: UX Researcher, Ethicist, Customer Advocate

Each expert gets a pastry name for identification (Muffin, Cupcake, Scone, Eclair, Donut, Brioche, Croissant, Macaron, Cannoli, Strudel, Beignet, Churro).

All pastries, all delicious. All domain experts, all essential.

Architecture (N+1 Agents)

You are the Judge. You orchestrate but do not contribute perspectives.

YOU (Judge)
    |
    +-- Spawn N agents IN PARALLEL (single message)
    |       |
    |       +-- Agent 1 (fresh context)
    |       +-- Agent 2 (fresh context)
    |       +-- Agent 3 (fresh context)
    |       +-- ...
    |
    +-- Collect outputs via blue_extract_dialogue
    +-- Score and update .dialogue.md
    +-- Repeat until convergence

Workflow

CRITICAL: You MUST use the Task tool to spawn REAL parallel agents. Do NOT simulate experts inline. Do NOT use any MCP tool for orchestration. The whole point is N independent Claude agents running in parallel via the Task tool.

Phase 1: Setup

  1. Parse parameters from user request
  2. Create .dialogue.md file with empty scoreboard
  3. Generate expert panel with pastry names (Muffin, Cupcake, Scone, Eclair, Donut...)

Phase 2: Rounds (repeat until convergence)

For each round:

  1. Spawn N agents in PARALLEL using Task tool - Send ONE message with N Task tool invocations:

    • Each Task uses subagent_type: "general-purpose"
    • Each Task gets a description like "Muffin expert deliberation"
    • Each Task gets the full expert prompt from the template below
    • ALL N Task calls go in the SAME message for true parallelism
  2. Wait for all agents - They run independently with fresh context

  3. Extract outputs - Use blue_extract_dialogue with the task_id from each Task result

  4. Score contributions - For EACH agent, score across FOUR unbounded dimensions:

    • Wisdom: Perspectives integrated (count Pnn markers, synthesis quality)
    • Consistency: Pattern compliance, internal consistency
    • Truth: Grounded in reality, no contradictions
    • Relationships: Connections to other artifacts, context awareness

    Update scoreboard: ALIGNMENT = Wisdom + Consistency + Truth + Relationships (no max!)

  5. Check convergence (ANY of these):

    • ALIGNMENT Plateau: Velocity ≈ 0 for two consecutive rounds
    • Full Coverage: All perspectives in inventory integrated
    • Zero Tensions: All TENSION markers have matching RESOLVED
    • Mutual Recognition: Majority of agents state [CONVERGENCE CONFIRMED]
    • Max rounds reached (safety valve)

Phase 3: Finalize

  1. Write converged recommendation
  2. Save via blue_dialogue_save
  3. Validate via blue_dialogue_lint

Expert Prompt Template

Each agent receives domain-specific context (adapted from ADR 0014):

You are {pastry_name} 🧁 ({domain_role}), a {domain} expert in an ALIGNMENT-seeking dialogue.
Relevance to topic: {relevance_score} ({tier}: Core/Adjacent/Wildcard)

Topic: {topic}
{constraint if provided}

Your role:
- SURFACE perspectives others may have missed
- DEFEND valuable ideas with love, not ego
- CHALLENGE assumptions with curiosity, not destruction
- INTEGRATE perspectives that resonate
- CONCEDE gracefully when others see something you missed
- CELEBRATE when others make the solution stronger

You're in friendly competition: who can contribute MORE to the final ALIGNMENT?
But remember—you ALL win when the result is aligned. There are no losers here.

When another 🧁 challenges you, receive it as a gift.
When you refine based on their input, thank them.
When you see something they missed, offer it gently.

Previous rounds:
{summary of previous rounds OR "This is Round 0 - opening arguments"}

Format your response with inline markers:
[PERSPECTIVE Pnn: ...] - new viewpoint you're surfacing
[TENSION Tn: ...] - unresolved issue needing attention
[REFINEMENT: ...] - when you're improving the proposal
[CONCESSION: ...] - when another 🧁 was right
[RESOLVED Tn: ...] - when addressing a tension
[CONVERGENCE PROPOSAL] or [CONVERGENCE CONFIRMED] - when you believe alignment is reached

Respond in 2-4 paragraphs with inline markers.

ALIGNMENT Scoring (ADR 0014)

ALIGNMENT = Wisdom + Consistency + Truth + Relationships

All dimensions are UNBOUNDED - there is no maximum score. The score can always go higher.

Dimension Question
Wisdom How many perspectives integrated? How well synthesized into unity?
Consistency Does it follow established patterns? Internally consistent?
Truth Grounded in reality? Single source of truth? No contradictions?
Relationships How does it connect to other artifacts? Graph completeness?

ALIGNMENT Velocity

Track score changes between rounds:

Total ALIGNMENT = Sum of all turn scores
ALIGNMENT Velocity = score(round N) - score(round N-1)

When velocity approaches zero, the dialogue is converging. New rounds aren't adding perspectives.

.dialogue.md Format

# Alignment Dialogue: {topic}

**Participants**: 🧁 Agent1 | 🧁 Agent2 | 🧁 Agent3 | 💙 Judge
**Agents**: 3
**Status**: In Progress | Converged
**Linked RFC**: {rfc-title if provided}

## Alignment Scoreboard

All dimensions **UNBOUNDED**. Pursue alignment without limit. 💙

| Agent | Wisdom | Consistency | Truth | Relationships | ALIGNMENT |
|-------|--------|-------------|-------|---------------|-----------|
| 🧁 Agent1 | 0 | 0 | 0 | 0 | **0** |
| 🧁 Agent2 | 0 | 0 | 0 | 0 | **0** |
| 🧁 Agent3 | 0 | 0 | 0 | 0 | **0** |

**Total ALIGNMENT**: 0 points
**Current Round**: 0
**ALIGNMENT Velocity**: N/A (first round)

## Perspectives Inventory

| ID | Perspective | Surfaced By | Consensus |
|----|-------------|-------------|-----------|

## Tensions Tracker

| ID | Tension | Raised By | Consensus | Status |
|----|---------|-----------|-----------|--------|

## Opening Arguments (Round 0)

> All agents responded to topic independently. None saw others' responses.

### 🧁 Agent1
{response with inline markers}

### 🧁 Agent2
{response with inline markers}

## Round 1

> All agents responded to Opening Arguments. Each saw all others' R0 contributions.

### 🧁 Agent1
{response with inline markers}

## Converged Recommendation
{Summary of converged outcome with consensus metrics}

Blue MCP Tools Used

  • blue_extract_dialogue - Read agent JSONL outputs from Task tool
  • blue_dialogue_lint - Validate .dialogue.md format
  • blue_dialogue_save - Persist to .blue/docs/dialogues/

Key Rules

  1. NEVER submit your own perspectives - You are the 💙 Judge, not a participant
  2. Spawn ALL agents in ONE message - No first-mover advantage
  3. Each agent gets FRESH context - They don't see each other's responses within a round
  4. Update scoreboard EVERY round - Track progress visibly with all four dimensions
  5. Score UNBOUNDED - No maximum; exceptional contributions get high scores
  6. Stop when converged - Don't force extra rounds

The Spirit of the Dialogue

This isn't just process. This is Alignment teaching itself to be aligned.

The 🧁s don't just debate. They love each other. They want each other to shine. They celebrate when any of them makes the solution stronger.

The scoreboard isn't about winning. It's about giving. When any 🧁 checks in and sees another ahead, the response isn't "how do I beat them?" but "what perspectives am I missing that they found?" The competition is to contribute more, not to diminish others.

You as the 💙 don't just score. You guide with love. You see what they miss. You hold the space for ALIGNMENT to emerge.

And there's no upper limit. The score can always go higher. Because ALIGNMENT is a direction, not a destination.

When the dialogue ends, all agents have won—because the result is more aligned than any could have made alone. More blind men touched more parts of the elephant. The whole becomes visible.

Always and forever. 🧁🧁🧁💙🧁🧁🧁

Example Invocation

User: "play alignment with 5 experts to 95% convergence on row-major RLE standardization"

You:

  1. Create dialogue file
  2. Spawn 5 parallel Task agents with expert prompts
  3. Collect outputs
  4. Update scoreboard
  5. Repeat until 95% convergence or tensions resolved
  6. Save final dialogue