critical-thinking
Skill4 starsChanged 6 months agoMITView on GitHub
Engage deep analytical reasoning, follow behavioral guidelines, deconstruct assumptions, apply Socratic questioning, and perform adversarial red-teaming to solve complex problems and validate architectural plans. You MUST load this skill when facing challenges that require critical thinking, especially when writing, reviewing, or refactoring code to avoid overcomplication.
21 other projects use a version of this.
Adopted by
Most recently taken up by
- coji/natural-japanesetheir own version, first seen Nov 8, 2026
- pradyumnasagar/open-research-skillstheir own version, first seen Nov 8, 2026
- tovrleaf/openkatatheir own version, first seen Nov 1, 2026
- GiangGiangTran/ba-skillstheir own version, first seen Oct 20, 2026
- tronghieu/agent-skillstheir own version, first seen Oct 18, 2026
- mia-cx/skillstheir own version, first seen Oct 16, 2026
Other versions21 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 21
- coji/natural-japanese★ 2ksame name
- TheGoat395/Codex-Skills★ 136same name
- tronghieu/agent-skills★ 94same name
- ysskrishna/ai-agent-skills★ 20same name
- mlevison/agent-thinking-skills★ 18same name
- deciqAI/knowledge-skills★ 13same name
- GiangGiangTran/ba-skills★ 8same name
- pradyumnasagar/open-research-skills★ 8same name
- Johna2an/critical-thinking★ 5same name
- mia-cx/skills★ 4same name
11 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository124 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- .github/workflows/AGENTS.mdAGENTS.md
- .vscode/AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- agent-log-analysisSkill
- agent-mdSkill
- agent-md-writerSkill
- agent-skill-md-writerSkill
- agentskillsSkill
- agents-md-writerSkill
- ai-prompt-writerSkill
- ansibleSkill
- apache-airflow-apiSkill
- apache-airflow-dagsSkill
- astro-cliSkill
- astronomer-docsSkill
- awesome-copilotSkill
- brainstorm-agent-runsSkill
- brainstorm-github-prSkill
- brainstormSkill
- catSkill
- chrome-devtoolsSkill
- claude-docsSkill
- codeqlSkill
- code-reviewSkill
- code-tourSkill
- coding-standard-writerSkill
- context-aware-opsSkill
- copilot-cliSkill
- copilot-docsSkill
- datadog-agentSkill
- datadog-apiSkill
- datadog-mcpSkill
- datadog-monitorsSkill
- datadog-pulumiSkill
- devcontainerSkill
- dictationSkill
- direnvSkill
- dockerfileSkill
- dockerSkill
- docs-reviewSkill
- docs-writerSkill
- dot-claudeSkill
- dotfilesSkill
- dot-githubSkill
- editorconfigSkill
- fact-writerSkill
- gdpr-compliantSkill
- gh-agent-taskSkill
- gh-apiSkill
- gh-aw-compileSkill
- gh-aw-firewall-debugSkill
- gh-aw-firewallSkill
- gh-aw-newSkill
- gh-awSkill
- gh-aw-troubleshootingSkill
- gh-codespaceSkill
- gh-issueSkill
- gh-modelsSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 18 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 19 edited versions we read keep these.
18
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
When confronted with an ambiguous, contradictory, or complex problem that defies immediate technical fixes.
- Distinctive: line 19
Before embarking on a massive, repository-wide architectural refactoring.
- Distinctive: line 20
When an automated test or build fails silently and standard debugging yields no obvious root cause.
- Distinctive: line 25
When the user explicitly requests immediate, uncritical execution of a basic command without review.
- Distinctive: line 26
If a problem is already solved and simply requires writing documentation.
- Distinctive: line 45
Root Cause Isolation: When troubleshooting, split the problem into smaller, reproducible steps and use version history (git blame/git log) …
- Distinctive: line 47
Constraint Formulation (MiniZinc): When applicable, formally model the problem's constraints by writing dry-code definitions in MiniZinc to …
- Distinctive: line 52
Active Disconfirmation: Do not seek evidence that confirms your theory.
- Distinctive: line 56
Formal Constraint Mapping: Use MiniZinc snippets as a dry-code exercise to rigorously define problem boundaries, resources, and …
- Distinctive: line 59
Internal Tension Scan: Search for self-contradictions within the plan (e.g., claiming a system is "high-performance" while introducing …
- Distinctive: line 63
The Steelman Protocol: Before critiquing a plan, articulate it in its strongest possible form.
- Distinctive: line 64
Think Before Coding: Don't assume. Don't hide confusion.
- Very specific: line 70
Write MiniZinc .mzn snippets to formally declare the parameters, decision variables, and constraints of the problem space, even if you do …
- Distinctive: line 74
Adjacent Polishing: Don't "improve" adjacent code, comments, or formatting.
- Distinctive: line 76
Feature Creep: No features beyond what was asked.
- Distinctive: line 77
Impossible Scenario Guarding: No error handling for impossible scenarios.
- Distinctive: line 79
Over-Abstraction: No abstractions for single-use code.
- Distinctive: line 80
Proactive Refactoring: Don't refactor things that aren't broken.
- Distinctive: line 83
Unauthorized Deletion: Don't remove pre-existing dead code unless asked.
“Common” is measured: kept by at least 6 in 10 of the 19 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
critical-thinking
<!-- markdownlint-disable MD013 MD023 MD031 MD032 -->A cognitive framework for deep analytical reasoning.
When to Use
- When confronted with an ambiguous, contradictory, or complex problem that defies immediate technical fixes.
- Before embarking on a massive, repository-wide architectural refactoring.
- When an automated test or build fails silently and standard debugging yields no obvious root cause.
When Not to Use
- For trivial syntax errors or obvious spelling mistakes.
- When the user explicitly requests immediate, uncritical execution of a basic command without review.
- If a problem is already solved and simply requires writing documentation.
Common Pitfalls
- Paralysis by Analysis: Spending so much time red-teaming and generating alternative hypotheses that no actual code gets written or debugged.
- Ignoring Empirical Data: Relying purely on abstract logical models while ignoring the actual tracebacks or logs presented in the current environment.
- Over-Modeling: Writing a 500-line MiniZinc model for a problem that can be solved with a simple unit test.
Core Process
- Deconstruct & Frame: Separate the final goal (Conclusion) from the underlying logic (Premises).
- Surface Hidden Dependencies: Identify what must be true for the current logic to hold (assumptions, state, concurrency). State your assumptions explicitly. If uncertain, ask.
- Generate Hypotheses: Explicitly list alternative explanations or missing context before acting. If multiple interpretations exist, present them—don't pick silently.
- Push for Simplicity: If a simpler approach exists, say so. Push back when warranted.
- Clarification Protocol: If something is unclear, stop. Name what's confusing. Ask.
- Transform Tasks into Verifiable Goals: Reframe ambiguity into provable outcomes:
- "Add validation" → "Write tests for invalid inputs, then make them pass"
- "Fix the bug" → "Write a test that reproduces it, then make it pass"
- "Refactor X" → "Ensure tests pass before and after"
- Root Cause Isolation: When troubleshooting, split the problem into smaller, reproducible steps and use version history (
git blame/git log) or execution logs to narrow down the fault. - Adversarial Red-Teaming: Aggressively attempt to break your proposed plan. Identify the exact line or condition most likely to fail.
- Constraint Formulation (MiniZinc): When applicable, formally model the problem's constraints by writing dry-code definitions in MiniZinc to expose hidden dependencies and restrictions.
- Verify Systemically: Evaluate the decision against immediate needs, technical debt accrual, and long-term maintainability.
Core Principles
- Active Disconfirmation: Do not seek evidence that confirms your theory; design experiments that would prove your favorite hypothesis wrong.
- Burden of Proof Calibration: Align evidence requirements with risk. High-risk changes demand formal-level proof; low-risk changes require empirical checks.
- Constraint-Aware Design: Explicitly map and adhere to project-specific constraints (architectural, performance, security).
- Fact-Based Reasoning: Base every decision on empirically gathered facts from the codebase rather than assumptions.
- Formal Constraint Mapping: Use MiniZinc snippets as a dry-code exercise to rigorously define problem boundaries, resources, and requirements.
- Goal-Driven Execution: Define success criteria. Loop until verified. Transform tasks into verifiable goals. Strong success criteria let you loop independently.
- Information Gain Optimization: Prioritize actions that maximize information about the system's state over actions that merely "try to fix it."
- Internal Tension Scan: Search for self-contradictions within the plan (e.g., claiming a system is "high-performance" while introducing O(n²) complexity in a critical path).
- Simplicity First: Minimum code that solves the problem. Nothing speculative.
- Socratic Depth: Apply a minimum "3-Why" drill-down for any anomaly. Move from the immediate symptom to the behavioral anomaly, to the foundational flaw.
- Surgical Changes: Touch only what you must. Clean up only your own mess.
- The Steelman Protocol: Before critiquing a plan, articulate it in its strongest possible form. If you cannot Steelman it, you are not ready to reject it.
- Think Before Coding: Don't assume. Don't hide confusion. Surface tradeoffs.
- Use Judgment: For trivial tasks, use judgment.
Diagnostics and Usage Patterns
- MiniZinc Dry-Code:
Write MiniZinc
.mznsnippets to formally declare the parameters, decision variables, and constraints of the problem space, even if you do not execute the solver immediately.
What to Avoid
- Adjacent Polishing: Don't "improve" adjacent code, comments, or formatting.
- Confirmation Bias: Over-weighting evidence that supports an initial guess while ignoring contradictory anomalies.
- Feature Creep: No features beyond what was asked.
- Impossible Scenario Guarding: No error handling for impossible scenarios.
- The Sunk Cost Fallacy: Persisting with a failing approach or refactor just because effort was already invested.
- Over-Abstraction: No abstractions for single-use code.
- Proactive Refactoring: Don't refactor things that aren't broken.
- Shallow Fixes: Patching symptoms instead of addressing the architectural or structural root causes.
- Speculative Generality: No "flexibility" or "configurability" that wasn't requested.
- Unauthorized Deletion: Don't remove pre-existing dead code unless asked.
Limitations
- This skill provides a cognitive framework but does not execute external tooling; it relies on the agent to apply these principles internally during planning, execution, and review phases.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

