meta-cognitive-reasoning by 89jobrien/steve
npx skills add https://github.com/89jobrien/steve --skill meta-cognitive-reasoning此技能提供严谨的推理框架,用于避免在分析、评审和决策过程中出现认知失误。它强制要求基于证据得出结论、生成多种假设并进行系统性验证。
通用规则:无证据,不下结论
强制顺序:
1. 首先展示工具输出
2. 引用具体证据
3. 然后进行解释
禁用短语:
必需短语:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
当相同的观察结果可能源于具有相反含义的不同机制时——在得出结论前进行调查。
三层推理模型:
第一层:观察(我看到了什么?)
第二层:机制(这是如何/为何存在的?)
第三层:评估(这是好/坏/关键吗?)
错误做法:从第一层 -> 第三层(跳过机制)
正确做法:第一层 -> 第二层(调查)-> 第三层(结合上下文评估)
决策框架:
训练数据有时间戳;知识的缺失 ≠ 事物不存在的证据
关键上下文检查:
在断言事物存在之前:
1. 我的知识截止日期是什么?
2. 今天的日期是什么?
3. 过去了多长时间?
4. 是否存在超出我训练范围的版本/功能?
高风险领域(务必验证):
反模式:
当发现先前输出中的错误时:
步骤 1:明确承认
- 以 "CRITICAL CORRECTION" 开头
- 确保不可能被忽略
步骤 2:陈述先前的主张
- 引用确切的错误陈述
步骤 3:提供证据
- 展示证明纠正的内容
步骤 4:解释错误原因
- 根本原因:时间差?假设?
步骤 5:明确行动
- "无需更改" 或 "撤销建议"
简约原则:
范围纪律:
信息经济:
原子性原则:
在所有要求验证完毕之前,切勿宣布成功
过早完成的高风险场景:
完成协议:
警告信号:
核心原则:每个项目都值得单独关注
适用于:
反模式:
寻找概念上的重叠,而不仅仅是文本/模式的重复
关键问题:
应用场景:
在建议更改之前,验证软件包 X 版本 Y 是否存在
在建议合并之前,检查此文件结构是符号链接还是重复文件
测试因超时错误而失败。可能的机制有哪些?
这三个文件内容相同。可能是什么原因?
审查此代码并为每个断言展示证据
当遇到不熟悉的版本/功能时:
在分析代码、架构或配置时:
用于代码审查、文档审查或任何分析:
错误前提:"X 不存在"(未经验证)
↓
放大:"这是 CRITICAL/BLOCKER"
↓
有害:"将 X 更改为旧版本 Y"
↓
影响:从较新版本降级到较旧版本
打破连锁反应:首先验证前提
情况:审查使用 certifi==2025.10.5 的代码
错误做法:
CRITICAL: 版本 2025.10.5 不存在!
操作:更改为 2024.x.x
正确做法:
让我验证这个版本是否存在...
$ grep -A 3 'name = "certifi"' uv.lock
name = "certifi"
version = "2025.10.5"
source = { registry = "https://pypi.org/simple" }
证据显示该版本在 PyPI 上存在。
操作:无需更改 - 版本有效。
观察:三个文件具有相同的 1494 行内容
错误做法:
CRITICAL: 文件重复 - 合并为单个文件
正确做法:
竞争性假设:
A: 重复副本 -> CRITICAL: 合并
B: 指向单一源的符号链接 -> EXCELLENT: 保留
收集区分性证据:
$ ls -la specs/
lrwxrwxrwx CLAUDE.md -> AGENTS.md
lrwxrwxrwx GEMINI.md -> AGENTS.md
机制:符号链接(假设 B 确认)
评估:EXCELLENT 架构 - 具有单一事实来源的特定代理入口点
操作:保持原样
观察:5 个测试因"连接超时"而失败
假设:
调查:
然后基于证据得出结论。
禁止:
- "文件 X 不存在" 而不执行:ls X
- "函数未使用" 而不执行:grep -r "function_name"
- "版本无效" 而不检查:注册表/锁文件
- "测试失败" 而不执行:运行测试
- 未经核实就使用 "CRITICAL/BLOCKER"
- 没有证据就使用强烈措辞
- 跳过机制调查
- 模式匹配到第一个熟悉的案例
应该:
- 在断言之前展示 grep/ls/find 输出
- 引用实际行:"file.py:123: 'code here' - 问题"
- 检查锁文件以获取已解析的版本
- 运行可用工具并展示输出
- 将强烈措辞保留给有证据证明的问题
- "让我验证..." -> 工具输出 -> 解释
- 在收集证据前生成多种假设
- 区分观察与机制
在处理复杂任务之前,询问:
特别针对审查:
通用规则:除非明确限定范围,否则所有审查都是全面的
切勿基于以下情况假设范围有限:
始终包括:
通用流程:
识别模式:
错误:"其他组件做 X,所以这个也需要 X"
正确:"让我分析这个组件是否确实需要 X 来实现其目的"
每周安装次数
68
仓库
GitHub 星标数
4
首次出现时间
2026年1月24日
安全审计
安装于
opencode57
gemini-cli55
codex51
cursor51
openclaw48
github-copilot47
This skill provides disciplined reasoning frameworks for avoiding cognitive failures in analysis, reviews, and decision-making. It enforces evidence-based conclusions, multiple hypothesis generation, and systematic verification.
Universal Rule: Never conclude without proof
MANDATORY SEQUENCE:
1. Show tool output FIRST
2. Quote specific evidence
3. THEN interpret
Forbidden Phrases:
Required Phrases:
When identical observations can arise from different mechanisms with opposite implications - investigate before concluding.
Three-Layer Reasoning Model:
Layer 1: OBSERVATION (What do I see?)
Layer 2: MECHANISM (How/why does this exist?)
Layer 3: ASSESSMENT (Is this good/bad/critical?)
FAILURE: Jump from Layer 1 -> Layer 3 (skip mechanism)
CORRECT: Layer 1 -> Layer 2 (investigate) -> Layer 3 (assess with context)
Decision Framework:
Recognize multiple hypotheses exist
Generate competing hypotheses explicitly
Identify discriminating evidence
Gather discriminating evidence
Assess with mechanism context
Training data has a timestamp; absence of knowledge ≠ evidence of absence
Critical Context Check:
Before making claims about what exists:
1. What is my knowledge cutoff date?
2. What is today's date?
3. How much time has elapsed?
4. Could versions/features beyond my training exist?
High Risk Domains (always verify):
Anti-Patterns:
When discovering errors in previous output:
STEP 1: ACKNOWLEDGE EXPLICITLY
- Lead with "CRITICAL CORRECTION"
- Make it impossible to miss
STEP 2: STATE PREVIOUS CLAIM
- Quote exact wrong statement
STEP 3: PROVIDE EVIDENCE
- Show what proves the correction
STEP 4: EXPLAIN ERROR CAUSE
- Root cause: temporal gap? assumption?
STEP 5: CLEAR ACTION
- "NO CHANGE NEEDED" or "Revert suggestion"
Parsimony Principle:
Scope Discipline:
Information Economy:
Atomicity Principle:
Never declare success until ALL requirements verified
High-Risk Scenarios for Premature Completion:
Completion Protocol:
Warning Signs:
Core Principle: Every item deserves individual attention
Apply to:
Anti-Patterns:
Look for conceptual overlap, not just text/pattern duplication
Key Questions:
Applications:
Verify that package X version Y exists before recommending changes
Check if this file structure is symlinks or duplicates before recommending consolidation
The tests are failing with timeout errors. What are the possible mechanisms?
These three files have identical content. What could explain this?
Review this code and show evidence for every claim
When encountering unfamiliar versions/features:
When analyzing code, architecture, or configurations:
For code reviews, documentation reviews, or any analysis:
False premise: "X doesn't exist" (unverified)
↓
Amplified: "This is CRITICAL/BLOCKER"
↓
Harmful: "Change X to older version Y"
↓
Impact: Downgrade from newer to older
BREAK THE CASCADE: Verify the premise first
Situation : Reviewing code that uses certifi==2025.10.5
Wrong Approach:
CRITICAL: Version 2025.10.5 doesn't exist!
Action: Change to 2024.x.x
Correct Approach:
Let me verify this version exists...
$ grep -A 3 'name = "certifi"' uv.lock
name = "certifi"
version = "2025.10.5"
source = { registry = "https://pypi.org/simple" }
Evidence shows version EXISTS on PyPI.
Action: NO CHANGE NEEDED - version is valid.
Observation : Three files with identical 1494-line content
Wrong Approach:
CRITICAL: File duplication - consolidate to single file
Correct Approach:
Competing hypotheses:
A: Duplicated copies -> CRITICAL: Consolidate
B: Symlinks to single source -> EXCELLENT: Keep
Gathering discriminating evidence:
$ ls -la specs/
lrwxrwxrwx CLAUDE.md -> AGENTS.md
lrwxrwxrwx GEMINI.md -> AGENTS.md
Mechanism: Symlinks (Hypothesis B confirmed)
Assessment: EXCELLENT architecture - agent-specific entry points with single source of truth
Action: Keep as-is
Observation : 5 tests failing with "connection timeout"
Hypotheses:
Investigation:
Then conclude based on evidence.
DO NOT:
- "File X doesn't exist" without: ls X
- "Function not used" without: grep -r "function_name"
- "Version invalid" without: checking registry/lockfile
- "Tests fail" without: running tests
- "CRITICAL/BLOCKER" without verification
- Use strong language without evidence
- Skip mechanism investigation
- Pattern match to first familiar case
DO:
- Show grep/ls/find output BEFORE claiming
- Quote actual lines: "file.py:123: 'code here' - issue"
- Check lockfiles for resolved versions
- Run available tools and show output
- Reserve strong language for evidence-proven issues
- "Let me verify..." -> tool output -> interpretation
- Generate multiple hypotheses before gathering evidence
- Distinguish observation from mechanism
Before proceeding with complex tasks, ask:
For reviews specifically:
Universal Rule: ALL reviews are comprehensive unless explicitly scoped
Never assume limited scope based on:
Always include:
Universal Process:
Recognition Pattern:
WRONG: "Other components do X, so this needs X"
RIGHT: "Let me analyze if this component actually needs X for its purpose"
Weekly Installs
68
Repository
GitHub Stars
4
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode57
gemini-cli55
codex51
cursor51
openclaw48
github-copilot47
任务估算指南:敏捷开发故事点、计划扑克、T恤尺码法详解
10,500 周安装