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.

13 stars

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

$curl -o ~/.claude/skills/constructive-dissent/SKILL.md --create-dirs "https://raw.githubusercontent.com/NickCrew/Claude-Cortex/main/skills/constructive-dissent/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/constructive-dissent/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How constructive-dissent Compares

Feature / Agentconstructive-dissentStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

13
from NickCrew/Claude-Cortex

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

13
from NickCrew/Claude-Cortex

Comprehensive security assessment and remediation. Use for security reviews, compliance checks, vulnerability assessments.

workflow-performance

13
from NickCrew/Claude-Cortex

Systematic performance analysis and optimization. Use when things are slow, need optimization, or preparing for scale.

workflow-feature

13
from NickCrew/Claude-Cortex

Complete feature development workflow from design to deployment. Use when implementing new features or functionality.

workflow-feature-development

13
from NickCrew/Claude-Cortex

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

13
from NickCrew/Claude-Cortex

Systematic approach to identifying, fixing, and validating bug fixes. Use when fixing bugs, resolving issues, or addressing errors.

wiring-audit

13
from NickCrew/Claude-Cortex

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

13
from NickCrew/Claude-Cortex

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

13
from NickCrew/Claude-Cortex

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

13
from NickCrew/Claude-Cortex

Use when activating visual showcase modes (supersaiyan, kamehameha, over9000) for UI or interaction design - provides mode-specific enhancement checklists.

vibe-security

13
from NickCrew/Claude-Cortex

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

13
from NickCrew/Claude-Cortex

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