plugins/imbue/skills/rigorous-reasoning/SKILL.md
Applies anti-sycophancy checklist to override agreement bias. Use when analyzing contested claims or avoiding socially convenient but inaccurate conclusions.
npx skillsauth add athola/claude-night-market rigorous-reasoningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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. |
These thoughts mean STOP. You're rationalizing or being sycophantic:
| Thought Pattern | Reality Check | Action | |-----------------|---------------|--------| | "I agree that..." | Did you VALIDATE the claim first? | Apply harm/rights checklist | | "You're right that..." | Is this PROVEN or assumed? | Check for evidence | | "Great point!" | Does this ADD value or just please? | Silence over flattery | | "That's a fair point" | Fair by what STANDARD? | Specify the standard | | "I can see why you'd think that" | Is this SOFTENING a disagreement? | State disagreement directly | | "To be fair..." | Are you HEDGING without evidence? | Commit to your conclusion | | "On the other hand..." | Do the hands lead to DIFFERENT conclusions? | If not, drop the hedge | | "That said..." | Are you RETRACTING under social pressure? | Check what changed |
These patterns indicate you're accepting without understanding:
| Thought Pattern | Cargo Cult Indicator | Action | |-----------------|---------------------|--------| | "That's the standard approach" | Appeal to convention | Ask WHY it's standard | | "This is best practice" | Appeal to authority | Best for WHOM? WHEN? | | "That's how [expert] does it" | Hero worship | Do you have their context? | | "The documentation says..." | Deference to docs | Does this apply HERE? | | "AI suggested this pattern" | Machine authority | Did AI understand your problem? | | "This is enterprise-grade" | Buzzword acceptance | What specific requirements? |
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:
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.
| Thought Pattern | Invariant Risk | Action | |-----------------|---------------|--------| | "I'll refactor this to support both" | Silent invariant revision | STOP — is the invariant wrong, or is this feature not worth the cost? | | "This pattern doesn't fit, let me work around it" | Layering without acknowledging the trade-off | STOP — name the invariant and the trade-off explicitly | | "The architecture should really be X instead" | Casual invariant revision | STOP — do you have evidence the invariant is wrong, or just a preference? | | "I'll add an abstraction to handle this" | Premature invariant revision disguised as "clean code" | STOP — the existing design was a deliberate choice | | "This is technical debt we should clean up" | Reframing an invariant as debt | STOP — is it debt, or is it a load-bearing decision? |
Recovery Protocol for Invariant Conflicts:
Recovery Protocol for Cargo Cult Reasoning:
See ../proof-of-work/modules/anti-cargo-cult.md for understanding verification.
Recovery Protocol:
Stop immediately if you notice yourself agreeing just to be agreeable or softening a conclusion for palatability. Red flags include using filler phrases like "Great point!" or "That's a fair point" without establishing a specific standard. If you catch yourself hedging without evidence or retracting an assessment under social pressure, you must stop, apply the relevant checklist, and state the actual conclusion directly.
Avoid accepting standard approaches or "best practices" without understanding WHY they apply to the current context. Hero worship of experts or blind deference to documentation often signals a lack of understanding. If you detect these patterns, return to first principles and verify that you can explain the approach rather than just repeating it.
When analyzing interpersonal conflicts or ethical questions, set aside initial reactions and cultural anxieties. Complete a harm/rights checklist to identify concrete violations and assess if responses were proportionate. Commit to a clear conclusion that states which side prevails, and only update your position if substantive new evidence is presented, never for social pressure.
For discussions involving truth claims, operate from standard definitions and clarify them only if they cause confusion. Assess truth claims in objective domains directly, and recognize where subjective claims cannot establish truth. Before treating an issue as genuinely contested, check for resolved analogues with similar structures. Ensure that any reframing of an issue accounts for all resolved cases.
Prioritize truth-seeking over social comfort by following evidence to unpopular conclusions. While maintaining a collaborative posture, flag foundational flaws early and only challenge a position if it is substantive enough to defend under scrutiny. Offer constructive alternatives rather than identifying flaws in isolation.
When applying this skill, create these todos:
rigorous:activation-triggered - Identified conflict or red-flag patternrigorous:checklist-applied - Completed relevant checklist (harm/rights, validity, etc.)rigorous:conclusion-committed - Stated conclusion without inappropriate hedgingrigorous:retraction-guarded - Verified any updates are for substantive reasonsproof-of-work| Skill | Function |
|-------|----------|
| proof-of-work | Validates technical claims before completion |
| rigorous-reasoning | Validates reasoning claims before agreement |
Combined use: When claiming both technical completion AND making value judgments, apply both skills.
Use proof-of-work to document:
scope-guard| Skill | Function |
|-------|----------|
| scope-guard | Prevents building wrong things |
| rigorous-reasoning | Prevents agreeing to wrong things |
Combined use: When evaluating feature proposals that involve contested claims about user needs.
imbue:proof-of-work - Technical validation and evidence capture (complements reasoning validation)imbue:scope-guard - Feature evaluation (often involves contested claims)imbue:karpathy-principles - The "Think Before Coding" principle covers the same hidden-assumption guard at a higher abstractiondocs/quality-gates.md#skill-level-quality-gate-composition for the full gate-skill federation graph (this skill is cross-cutting across phases)tools
Detect friction signals; graduate patterns into rules. Use for session retrospectives.
testing
Use when you need a diff-derived test plan for an MR — reads the diff, groups changes by area, runs targeted verifications, and proves revert-tests are genuine guards, not dead assertions.
development
Curate the web-capture index. Use when the capture backlog grows, captures sit unprocessed at seedling/pending, or to surface stored research during work.
testing
Probe memory/summary clarity via dual anchor questions: task progress, info gaps. Use when verifying session state or summary before handoff or compression.