constructive-dissent
Structured disagreement protocols that expose weaknesses, test assumptions, and generate alternatives. Use when stress-testing proposals, playing devil's advocate, challenging architectural decisions, or auditing assumptions before finalizing plans.
Best use case
constructive-dissent is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Structured disagreement protocols that expose weaknesses, test assumptions, and generate alternatives. Use when stress-testing proposals, playing devil's advocate, challenging architectural decisions, or auditing assumptions before finalizing plans.
Teams using constructive-dissent should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/constructive-dissent/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How constructive-dissent Compares
| Feature / Agent | constructive-dissent | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Structured disagreement protocols that expose weaknesses, test assumptions, and generate alternatives. Use when stress-testing proposals, playing devil's advocate, challenging architectural decisions, or auditing assumptions before finalizing plans.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Constructive Dissent Systematically challenge proposals through structured dissent protocols that expose weaknesses, test assumptions, and generate superior alternatives. ## When to Use This Skill - Before finalizing major decisions or architectural choices - Testing proposals for hidden weaknesses and blind spots - Generating alternative approaches not yet considered - Auditing assumptions (explicit, implicit, and structural) - Evaluating competing solutions with stakeholder perspectives - Avoid using for routine code reviews — use `requesting-code-review` instead ## Workflow ### Step 1: Select Dissent Intensity Choose the appropriate challenge level based on decision stakes: | Level | Purpose | When to Use | |-------|---------|-------------| | **Gentle** | Refine without challenging core approach | Low-stakes improvements, early drafts | | **Systematic** | Challenge methods while respecting intent | Medium-stakes decisions, methodology review | | **Rigorous** | Attack fundamental premises | High-stakes architecture, major pivots | | **Paradigmatic** | Question worldview, propose radical alternatives | Strategic direction, innovation pursuit | ### Step 2: Run Assumption Audit For the proposal under review, systematically identify: 1. **Explicit assumptions** — What's stated as given? 2. **Implicit assumptions** — What's unstated but operating? 3. **Structural assumptions** — What framework biases exist? 4. **Temporal assumptions** — What time constraints are artificial? ```markdown | Assumption | Type | Validity | Risk if Wrong | |------------|------|----------|---------------| | Users prefer speed over accuracy | Implicit | Medium | Product misalignment | | API rate limits won't change | Temporal | Low | System failure at scale | ``` ### Step 3: Generate Edge Cases Stress-test the proposal across dimensions: - **Scale extremes**: What happens at 10x and 0.1x volume? - **Performance limits**: Where does the approach break? - **User behavior extremes**: Best-case and worst-case usage patterns - **Resource constraints**: What if budget, time, or team shrinks by half? ### Step 4: Apply Challenge Methodologies **Alternative Generation Framework:** 1. **Goal abstraction** — Extract core objectives from the specific implementation 2. **Constraint relaxation** — Temporarily remove limitations to see what's possible 3. **Method inversion** — Consider the opposite approach 4. **Cross-domain inspiration** — Apply solutions from other fields **Stakeholder Advocacy** — Argue from each perspective: - End user, maintainer, security, accessibility, future stakeholder ### Step 5: Synthesize and Recommend Produce a structured analysis: ```markdown ## Constructive Dissent Analysis: [Proposal Title] ### Intensity Level: [Selected Level] ### Executive Summary [2-3 sentence summary of key challenges and recommendations] ### Challenges Raised #### Challenge 1: [Title] **Type**: Methodology / Premise / Evidence / Stakeholder **Core Argument**: [What's being challenged and why] **Evidence**: [Data or reasoning supporting the challenge] **Alternative Approach**: [What to do instead] ### Generated Alternatives #### Alternative 1: [Title] **Approach**: [High-level description] **Advantages**: [Why this might be better] **Trade-offs**: [What you give up] ### Synthesis - Strengthen current proposal: [specific improvements] - Consider alternative if: [conditions that favor switching] - Unresolved questions: [items needing more information] ``` ## Best Practices - **Match intensity to stakes** — Paradigmatic dissent on a CSS tweak wastes everyone's time - **Preserve constructive framing** — Challenge ideas, not people - **Always propose alternatives** — Critique without alternatives is just criticism - **Document assumptions explicitly** — Hidden assumptions are the highest-risk items - **Use stakeholder advocacy** — Argue each perspective genuinely, not as a strawman
Related Skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment - applies TDD to process documentation by testing with subagents before writing, iterating until bulletproof against rationalization
workflow-security-audit
Comprehensive security assessment and remediation. Use for security reviews, compliance checks, vulnerability assessments.
workflow-performance
Systematic performance analysis and optimization. Use when things are slow, need optimization, or preparing for scale.
workflow-feature
Complete feature development workflow from design to deployment. Use when implementing new features or functionality.
workflow-feature-development
Complete workflow for developing new features from design to deployment. Use when starting a new feature, adding functionality, or building something new.
workflow-bug-fix
Systematic approach to identifying, fixing, and validating bug fixes. Use when fixing bugs, resolving issues, or addressing errors.
wiring-audit
User-triggered audit that finds wiring drift between a project's UI surfaces and backend capabilities — orphan surfaces (UI calls endpoints/hooks/procedures that no longer exist), unwired capabilities (backend routes/exports that nothing surfaces), shape drift (both exist but contracts mismatch), method drift (URL matches, HTTP verb does not), validation drift (frontend vs backend rules diverged), permission drift (UI exposes what backend forbids or vice versa), stale labels (UI text references renamed backend concepts), and unsurfaced configuration (env vars or flags that gate behavior with no UI or CLI to control them). This skill should be used when the user asks to "audit our wiring," "find UI/backend drift," "find unwired capabilities," "find stale surfaces," "check for contract violations," "find unused endpoints," "find unused hooks," "what mismatches between UI and backend," or any similar request whose deliverable is a prioritized findings report rather than a descriptive snapshot. Generic across UI frameworks but optimized for React applications (hooks, fetch, react-query, SWR, tRPC, server actions, react-router, Next.js). Not for descriptive architectural snapshots (use architectural-analysis), security audits (use security-auditor), or performance audits (use workflow-performance).
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Use when verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
web-researcher
Use this skill when you need to research a topic online, gather information from multiple sources, or evaluate source credibility. Trigger phrases: 'research', 'find information about', 'look up', 'investigate'. Not for academic systematic reviews (use literature-reviewer) or fact-checking specific claims (use fact-checker).
visual-modes
Use when activating visual showcase modes (supersaiyan, kamehameha, over9000) for UI or interaction design - provides mode-specific enhancement checklists.
vibe-security
Comprehensive secure coding guide covering OWASP web vulnerabilities with prevention patterns and checklists. Use when writing or reviewing web application code to prevent XSS, CSRF, SSRF, SQL injection, access control flaws, and other common security vulnerabilities.
verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always