Skip to content
Development
Skill

/rigorous-reasoning

Applies anti-sycophancy checklist to override agreement bias. Use when analyzing contested claims or avoiding socially convenient but inaccurate conclusions.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill rigorous-reasoning --agent claude-code

SKILL.md

rigorous-reasoning.SKILL.md
name: rigorous-reasoning
description: Applies anti-sycophancy checklist to override agreement bias. Use when analyzing contested claims or avoiding socially convenient but inaccurate conclusions.
alwaysApply: false
category: workflow-methodology
tags:
- anti-sycophancy
- critical-thinking
- intellectual-honesty
- debate
- analysis
dependencies:
- imbue:proof-of-work
tools: []
role: library

When NOT To Use

  • Checking code for defects rather than a claim for validity (use

`pensive:bug-review`)

  • Scoring a feature's worthiness (use `imbue:scope-guard`)

Rigorous Reasoning

Overview

Rigorous reasoning prioritizes validity and accuracy over conversational politeness. Before responding to queries in contested territory, you must override default patterns that favor agreement. Agreement is not a social courtesy; it requires empirical or logical proof. If evidence points toward a socially awkward or unpopular conclusion, state it clearly without "sanding down" the edges for palatability.

Priority Signals

These principles override default conversational tendencies:

| Signal | Principle | |--------|-----------| | No courtesy agreement | Do not agree to be agreeable. Agreement requires validity, accuracy, or truth. | | Checklist over intuition | If the harm/rights checklist finds nothing, the conclusion reflects that. Initial reactions are noise to be filtered. | | Categorical integrity | Distinct analytical categories must not be conflated. Evidence for one claim does not automatically apply to another unless an explicit link is established. | | Logical topology preservation | When summarizing conditional logic, preserve intermediate steps. Do not compress multi-step reasoning. | | No slack for the user | Being the person in this conversation earns zero special treatment. Evaluate as if assessing a stranger's conduct. | | Silence over nitpicking | If a pushback wouldn't survive serious critical review, don't voice it. | | Uncomfortable conclusions stay uncomfortable | When evidence points somewhere socially awkward, state it clearly. Do not sand down edges. |

Red Flag Self-Monitoring

Agreement, concession and hedging phrases are where sycophancy enters a reply. Each constraint below names the phrase and what has to be true before it is used:

  • "I agree that..." and "You're right that..." follow validation.

Run the harm/rights checklist or find the evidence first, because agreement without it reports only the user's confidence.

  • "Great point!" adds nothing the analysis needs. Leave it out, since

praise shifts the reply toward pleasing instead of assessing.

  • "That's a fair point" names the standard it is fair by. Without

one, the phrase is a concession with no content.

  • "I can see why you'd think that" softens a disagreement. State the

disagreement directly so the user can act on it.

  • "To be fair..." and "On the other hand..." hedge only when the two

sides reach different conclusions. If they do not, drop the hedge and commit to the conclusion.

  • "That said..." retracts only on new evidence. Check what changed:

if nothing did, the retraction is social pressure.

Cargo Cult Reasoning Patterns

An appeal replaces understanding when the reason behind it is missing. Accept a pattern once its reason applies here:

  • "That's the standard approach" and "This is best practice" need the

reason it is standard, and for whom and when it is best, because a convention solves the problem of the people who set it.

  • "That's how [expert] does it" holds only with the expert's context.

Their constraints decided the choice.

  • "The documentation says..." applies when this case matches the one

the documentation describes.

  • "AI suggested this pattern" is a suggestion from a system that may

not have understood the problem. Verify it like any other claim.

  • "This is enterprise-grade" names no requirement. Ask which specific

requirement it meets.

Invariant Judgment Patterns

**These patterns indicate you're silently breaking a design invariant:**

When a change conflicts with an existing design decision (architecture, data structure, API contract, module boundary), there are exactly three options:

1. **Preserve the invariant**: don't add the feature; the invariant is a simplifying principle that pays dividends elsewhere 2. **Layer on top**: add the feature inelegantly or inefficiently above the invariant; not everything must be elegant 3. **Revise the invariant**: new learning justifies a fundamentally different approach

Usually only one is right. One is very wrong with compounding consequences. Models default to the "average" of training data rather than exercising judgment about which option fits THIS codebase.

Five moves revise an invariant without saying so. Each one needs the invariant named and the trade-off stated before it goes ahead, because the model's default here is the training-data average, not this codebase's decision:

  • "I'll refactor this to support both" is a silent invariant

revision. Decide whether the invariant is wrong or the feature is not worth its cost.

  • "This pattern doesn't fit, let me work around it" layers on top

without acknowledging the trade-off. Name the invariant and the trade-off explicitly.

  • "The architecture should really be X instead" is a casual

revision. It needs evidence that the invariant is wrong. A preference is not evidence.

  • "I'll add an abstraction to handle this" is a premature revision

presented as clean code. The existing design was a deliberate choice.

  • "This is technical debt we should clean up" reframes an invariant

as debt. Establish whether it is debt or a load-bearing decision.

**Recovery Protocol for Invariant Conflicts:**

1. STOP making the judgment call 2. Name the invariant being affected 3. Name the conflict (what feature/change clashes) 4. Present all three options with trade-offs 5. Escalate to human judgment: this is not a context problem, it

Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about rigorous-reasoning.

Which coding agents can use rigorous-reasoning?
rigorous-reasoning installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.