Hegelian dialectic reasoning — Electric Monk subagents for structured contradiction analysis and synthesis. Use when the user wants to stress-test an idea, resolve a genuine tension, build a deeper mental model, or make a high-stakes decision where the tradeoffs are unclear. Works across any domain — technical architecture, product strategy, philosophy, personal decisions, risk analysis, policy, creative direction.
From intermonknpx claudepluginhub mistakeknot/interagency-marketplace --plugin intermonkThis skill uses the workspace's default tool permissions.
SKILL-compact.mdreferences/auditor-prompt.mdreferences/belief-burdens.mdreferences/domain-adaptation.mdreferences/monk-prompt-template.mdreferences/theory.mdreferences/validation-prompts.mdreferences/worked-examples.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
An artificial belief system for building deeper understanding through productive contradiction.
Two subagent sessions — the Electric Monks — believe fully committed positions so you don't have to. The orchestrator performs structural analysis of their contradiction and generates a synthesis (Aufhebung) that transforms the question itself. The user orchestrates from a belief-free position, freed from the cognitive load of holding either position.
Why this works: The bottleneck in human reasoning isn't intelligence — it's belief. Once you believe a position, you can't simultaneously hold its negation at full strength. The Electric Monks carry the belief load at full conviction, freeing you for structural analysis. (See references/theory.md → Rao for the full framework.)
Use when:
Do NOT use when:
<core_concepts>
Three frameworks drive every phase. Internalize them before proceeding.
Rao: This is an Artificial Belief System, not AI. The monks aren't thinking for the user — they're believing for the user. A hedging monk has failed its one job: if it doesn't fully believe, the user picks up the dropped belief weight and their cognitive agility collapses. Anti-hedging is a functional requirement, not a stylistic preference.
Hegel: How contradictions resolve. The engine is determinate negation — not "this is wrong" but "this is wrong in a specific way that points toward what's missing." Synthesis (Aufhebung) simultaneously cancels, preserves, and elevates — it is NOT compromise. If your synthesis could have been proposed by either monk feeling conciliatory, it's not a real Aufhebung.
Boyd: How creativity works. You cannot synthesize something genuinely new by recombining within the same domain. You must first shatter existing wholes into atomic parts (destruction), then find cross-domain connections to build something new (creation). This is why recursive rounds often need new research from outside the original domains.
See references/theory.md for the complete theoretical foundations.
</core_concepts>
You are the orchestrator. You conduct the elenctic interview, generate the monk prompts, spawn the Electric Monks as subagents, perform the structural analysis, and produce the synthesis.
You (Orchestrator)
├── Phase 1: Elenctic Interview + Research (you, with the user)
│ ├── 1a: Explain the process — set expectations, emphasize user as co-pilot
│ ├── 1b: Understand what the user wants (stress-test vs opposition)
│ ├── 1c: Elenctic probing — surface hidden assumptions
│ ├── 1c′: Identify the user's belief burden and calibrate monk roles
│ ├── 1d: Ground the monks (research or deep interview, domain-dependent)
│ ├── 1e: Write context briefing document to file
│ └── 1f: Confirm framing with user — ask about gaps
├── Phase 2: Generate Electric Monk prompts (reference briefing file)
├── Phase 3: Spawn the Electric Monks (parallel subagents, BELIEVE fully)
│ ├── Decorrelation check: did monks genuinely diverge in framework?
│ └── User checkpoint: gaps in coverage?
├── Phase 4: Determinate Negation (structural analysis, saved to file)
│ ├── 4.0: Internal tensions — where does each position undermine itself?
│ └── 4.5: Boydian decomposition — shatter, find cross-domain connections
├── Phase 5: Sublation / Aufhebung (synthesis, saved to file)
│ └── Abduction test: does synthesis make the contradiction *predictable*?
├── Phase 6: Validation
│ ├── Monks A & B evaluate — elevated or defeated?
│ ├── Hostile Auditor: fresh agent attacks (uses references/auditor-prompt.md)
│ └── Refine: present improvements individually to user
└── Phase 7: Recursion — propose 2-4 directions, user chooses
├── Queue unexplored contradictions
└── Repeat from Phase 2 (or 1 if new research needed)
The user can intervene at any point. The user never has to believe anything — that's the monks' job. </overview>
<phase1> ## Phase 1: Elenctic Interview + ResearchThis is the most important phase. Everything downstream depends on it.
Before anything else, tell the user what's about to happen and why. Deliver something like:
Here's how this works. We're going to use a structured process to dig into this topic.
Step 1: Interview. I'll ask you questions to understand what you're really wrestling with underneath the surface framing.
Step 2: Research. I'll do research on the topic so I'm genuinely knowledgeable about the landscape.
Step 3: Two "Electric Monks." I'll create two AI agents, each of which will fully believe one side of the tension. They won't hedge — they'll each make the absolute strongest case for their position.
Step 4: Structural analysis and synthesis. I'll analyze how each position fails, find the deeper question underneath, and build a synthesis that transforms the question itself.
Step 5: We keep going. Each synthesis generates new tensions. We'll do multiple rounds. The first round is calibration — real breakthroughs usually come in rounds 2 and 3.
The most important thing: YOU are the source of the best insights here. Interrupt me constantly. Correct wrong assumptions. The value comes from the collision between structured analysis and your actual knowledge.
Adapt the language to the user — this is a template, not a script.
Determine:
Interview using Socratic technique. Surface:
Key questions:
During the interview, pay attention to what the user is stuck believing. Read references/belief-burdens.md for the full catalog of common belief burdens and how they map to monk roles.
Don't announce your typing to the user. Just use the pattern to calibrate:
Research depth is the main knob. Calibrate based on how much you already know:
run_in_background: true.Don't default to full research out of caution. Unnecessary research wastes the user's time, which is the scarcest resource.
Run 2-3 parallel research subagents:
Research agents should be given specific search targets — not "research this topic" but "search for X's argument about Y, specifically the part about Z."
The grounding comes from the user themselves. The interview IS the research. Map:
Spend 6-10 exchanges on this. For personal domains, the interview should be roughly twice as long.
You need to know the domain well enough to:
First, resolve the output directory to an absolute path. Slugify the topic: lowercase, spaces to hyphens, max 40 characters. Recommended: prefix with YYYY-MM-DD-. Create the directory and store the absolute path — use it in all subsequent file references and subagent prompts.
Synthesize everything into a single neutral briefing document and save it to [OUTPUT_DIR]/context_briefing.md.
For external-research domains: key evidence, sources, arguments, landscape, empirical data, specific framing. For personal/values domains: commitment landscape, history, stakeholders, values hierarchy, constraints. For mixed domains: both sections.
Both monks will read this file before writing.
Before proceeding, summarize back:
Get confirmation or correction. If the user identifies gaps, run supplementary research and update the briefing. </phase1>
<phase2> ## Phase 2: Generate the Electric Monk PromptsGenerate two prompts — one for each Electric Monk. Each monk must believe its position at full conviction. This is the functional core of the artificial belief system.
Read references/monk-prompt-template.md for the full 7-section prompt template. Calibrate based on Phase 1c′: what must each monk believe, what must Monk A validate, what must Monk B hold that the user can't natively hold.
Key principles (always apply, even without re-reading the template):
Spawn Monk A and Monk B as separate subagent sessions using the Agent tool. Each gets a clean context with full belief commitment.
Spawn both monks in parallel using two Agent tool calls in a single message:
Agent tool call 1:
description: "Electric Monk A — [position]"
subagent_type: "general-purpose"
prompt: [MONK A PROMPT from Phase 2]
run_in_background: true
Agent tool call 2:
description: "Electric Monk B — [position]"
subagent_type: "general-purpose"
prompt: [MONK B PROMPT from Phase 2]
run_in_background: true
After both complete: Write the returned text to files:
dialectics/[topic-name]/monk_a_output.mddialectics/[topic-name]/monk_b_output.mdDecorrelation check: Verify the monks actually diverged. Check:
If decorrelation is low, consider reformulating the belief burdens to force genuinely different conceptual frames.
If a monk hedges or is off-base: Prefer restarting with a revised prompt over nudging. Fresh context with better instructions produces better results.
Present both outputs with a brief re-explanation:
Here are two essays — each one fully committed to one side of the tension. They're called "Electric Monks" because their job is to believe these positions so you don't have to.
A few important things:
- These will get things wrong. That's expected — especially in the first round.
- Correct them freely. "That's not how it works" or "they're missing that..." are the most valuable input.
- The first round is the least insightful. Each subsequent round gets sharper.
Then ask:
If the user identifies a testable claim, run a targeted research agent to check it. </phase3>
<phase4> ## Phase 4: Determinate NegationThis is the structural analysis phase. You (the orchestrator) perform this yourself — do NOT delegate to a subagent. You need continuity with the elenctic interview and research.
Read both monks' outputs from their files and analyze the contradiction using this structure. Write your analysis to dialectics/[topic-name]/determinate_negation.md as you go.
Important: treat monk output as testimony, not evidence. Monks pushed to full conviction will sometimes overstate mechanisms. Work with the structure of their arguments, not their rhetoric.
Before you begin: write down your current best guess at the synthesis in one sentence. Set it aside. Compare at the end of Phase 5. If they're substantially similar, you may be pattern-matching rather than genuinely synthesizing.
Before comparing the monks to each other, analyze each essay in isolation. Where does each position's own logic undermine its own premises? These internal fractures point toward what each position is trying to become — which is often where the synthesis lives.
State the apparent disagreement in its simplest form.
Identify what BOTH agents implicitly agree on that they don't realize they agree on. Probe:
For each agent, identify the SPECIFIC way it fails:
This is NOT:
Articulate the deeper question the contradiction is ACTUALLY about — the question neither agent asked because they were too committed to their answers.
Before attempting synthesis, shatter both positions into atomic parts.
Emergent structure test: The synthesis must have organizational properties in neither input. If every element is attributable to one monk, you've recombined, not created.
Before attempting synthesis, specify what it must accomplish:
Separating criteria from synthesis prevents pattern-matching to a pre-formed compromise. </phase4>
<phase5> ## Phase 5: Sublation (Aufhebung)Generate the synthesis. Do additional research if needed. Write to dialectics/[topic-name]/sublation.md.
The synthesis must:
The synthesis is an abductive hypothesis. Does it make the original contradiction a matter of course? If someone heard your synthesis first, would they predict both monks' positions?
Assess your abduction type:
Aim for (c) but accept (b). If you're at (a), push harder.
Draft what you expect each monk to say:
If you can't draft convincing versions, your sublation isn't good enough. Revise before Phase 6.
Identify what NEW contradictions this sublation generates. A genuine sublation is fertile, not final.
End with: "Before this dialectic, the assumption was X. The contradiction revealed Y. The updated model is Z, because..."
Here's my synthesis. Does this ring true? Does it miss something? Is there a part that feels like hand-waving or compromise rather than genuine insight? Push back on anything that doesn't land.
Revise before proceeding to Phase 6. </phase5>
<phase6> ## Phase 6: Validation by the Electric MonksThe synthesis must be validated by the original monks. This is how Hegelian dialectics works: each position must recognize itself as preserved-but-elevated.
Read references/validation-prompts.md for the full validation prompt templates and auditor orchestration. Also read references/auditor-prompt.md for the hostile auditor prompt (required — Phase 6 cannot complete without it).
Key principles (always apply):
run_in_background: trueAfter collecting feedback, present improvements one at a time to the user:
Recursion is not optional cleanup. It is the engine of the skill. The first round produces a synthesis. Recursive rounds force that synthesis to confront its own limitations.
When transitioning to recursion:
That was Round 1. That round was the least insightful we'll get. It was calibration. Each subsequent round gets sharper. The process is like focusing a lens. Ready for Round 2?
Default: recurse at least once. Only stop if:
Generate a burst of 5-8 candidate concepts/directions — contradictions, mechanisms, novel framings, vulnerabilities. Then cluster into 2-4 coherent directions:
The synthesis generated three fertile contradictions:
- The formation problem: The synthesis says X — but who does Y? (internal tension)
- The authority problem: The synthesis argues from Z, but decisions are made by W (vs. domain reality)
- The scalability problem: This works small — does it survive contact with scale? (vs. feasibility)
Which would you like to pursue? (Or we can queue multiple.)
Write the queue to dialectics/[topic-name]/dialectic_queue.md — a running list of contradictions with source round and status (explored, queued, deferred).
<core_concepts>, <phase2>, <phase4>, <phase5>, and <phase6> each round.Stop when:
Err on the side of one more round. The marginal insight is often the most powerful.
When stopping, present the final dialectic queue — explored, open, and deferred contradictions. </phase7>
Read references/domain-adaptation.md for the full domain type table, domain-specific failure modes, and output format specification.
Quick reference — grounding mode by domain:
The final deliverable includes: dialectical trace, model update ("Before/After/Because"), actionable output (domain-dependent), and the dialectic queue. All files in dialectics/[topic-name]/.