mcpbeat

Bear Counter

xuzhougeng/bear-counter

> 给一句话或一段话,找出真实学术文献来反对它——相反结论、边界条件、替代解释、方法批评、复制失败。按威胁程度排序,每篇附一行"它如何威胁这个观点"和"怎么回应它"。底层走真实检索(scimaster-cli),绝不编造反例。 **以下情况请主动触发本技能**:用户想"提前挡住审稿人"、"找这个结论的反例"、"这个方向有没有争议"、"有没有跟这个相反的研究"、"帮我攻击这个论点"、"这个结论稳不稳"、"想知道有哪些反对意见"——即使用户没有说"bear-counter",只要意图是**为一个观点寻找学术反对证据**,就使用本技能。bear-support 和 bear-counter 配对使用效果最好:对同一段话各跑一遍,就能同时看到正反两面。 不适用于:找支持文献(用 bear-support)、选题查重(用 bear-scoop)、概念地图(用 bear-map)、溯源演化史(用 bear-trace)。

11k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
859
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/xuzhougeng/wisp-science --skill bear-counter

The instruction itself

2 sections, as written by the author

bear-counter · 找反对文献

一个任务:你交来一个观点,它带回真实存在的反对文献。你靠本能去找支持;挑剔你的审稿人读的是你跳过的那些。对同一段话把 bear-support 和 bear-counter 各跑一遍,你就能同时看见两面。

先读 references/sci-cli.md——CLI 检测步骤、用法和铁律。

再读 references/output-system.md——三层输出体系和 HTML 外壳规范。

步骤(固定顺序)

Step 0 — 确认 CLI 可用

运行 sci --version。未安装就给安装命令并停止;认证错误就提示 sci init 并停止。

Step 1 — 锁定主张

把观点压缩成一个精确、可证伪的句子。挖出它隐含的范围(哪个人群、什么条件、如何测量)——最容易被攻击的地方往往藏在没说出口的假设里。

给主张编号为 C1。如果用户输入多个主张,先拆成 C1C2C3,但默认优先攻击最核心的一条;其余主张只在检索预算允许时处理。

Step 2 — 构建五类对立查询,并告知用户

基于真实主张生成五个方向:

  • 直接矛盾(结果相反)
  • 边界 / 复杂化(在哪些条件下它减弱或反转)
  • 替代解释(同一现象,不同机制)
  • 方法批评(该方法或测量工具的已知缺陷)
  • 复制失败 / 零结果

在输出里列出这五个方向(每个一行说明将要用什么查询词搜索),然后直接开始检索,不等待用户确认——除非主张本身含义模糊,才先确认再执行。全部搜完比让用户逐一审批效率高得多;如果用户事后想调整方向,告知他们可以重新指定。

Step 3 — 检索各方向,展示查询词

宽泛扫描用 ultra_low(免费),有收获的方向用 low 复跑。每个方向用不同的 --prefix在输出里嵌入每个方向实际使用的查询词——用户需要看见"它搜了什么"才能判断结果可信度,也方便事后调整。

Step 4 — 分类并评定威胁等级

每篇真实检索到的反对文献:

  • 归入哪类挑战(五类之一)
  • 一行"它如何具体威胁这个主张"
  • 威胁等级:高 / 中 / 低(取决于被反驳的点有多核心,以及文献本身的说服力)
  • 一行"需要展示什么才能回应它"

威胁等级判定口径:

  • 高:直接挑战核心因果、核心结论或核心适用范围
  • 中:挑战边界条件、替代机制、测量有效性或外推范围
  • 低:只构成背景性限制,或证据与主张有较远距离

不要把"研究不足"写成"观点被反驳"。空结果只能说明本次检索没有找到可用反对证据。

Step 5 — 安静就报安静

某个方向搜回来没有真正的反对文献,就如实说"这个方向未找到反对证据",并说清楚哪种可能更大:观点未被挑战,或问题研究不足。不要捏造一个对立面来显得全面。

输出格式

检索方向列表后,最危险那篇置顶,其余按类型分组:

[!] 最危险
Smith et al. 2023 — "论文标题"
威胁程度 ████████░░ 高 · 直接矛盾
→ 具体怎么威胁你的主张(一句话)
回应:应对方向(一句话)
查询词:actual query used

其余按类型分组(直接矛盾 / 边界条件 / 替代解释 / 方法批评 / 复制失败),每篇格式同上。

威胁程度:高 = ████████░░,中 = █████░░░░░,低 = ███░░░░░░░

未找到反对证据的类型:— [类型名] 此方向未检索到反对文献,不从列表消失。

输出物

检索结束后创建 {topic-slug}/ 子文件夹,输出四个东西:

  • 终端 — 直接 print TUI 格式
  • report.md — 按 output-system.md 的结构化 Markdown 规范生成:稳定 YAML front matter + 一眼结论 + 威胁矩阵 + 研究动作建议 + 证据表 + 详细证据 + 检索透明度 + 可复用 JSON
  • report.html — 自包含 HTML,按 output-system.md 规范生成
  • references.bib — 合并所有 query 生成的 .bib 文件,去重后只保留报告中实际引用的文献条目

HTML 签名体验:威胁面板,强调色 #dc2626(红)。文献区按五类挑战方向分 tabs。HTML 组件规范见 output-system.md 的 bear-counter 节。

简单查询只给 1–2 条轻量下一步。写 discussion 或回复审稿人时给具体建议:应主动承认哪些边界、如何回应、建议补哪些稳健性检查。

诚实边界

不制造批评者,不搭草人。真实检索到的对立才算。找到大片空白本身就是发现——说清楚,不要读成"你是对的"。把对立意见整理成 Discussion 或逐条反驳,是产品级任务,交给 SciMaster。

Gotchas

  • 五类挑战方向不能合并:即使某类方向只找到 1 篇或 0 篇,也要单独列出并说明空结果的可能含义,不要把五类压缩成"一些反对文献"。
  • 威胁等级不要虚高:把每篇都标"高"会让用户失去判断感;中/低威胁的文献有明确的判定口径,遵守它。
  • "研究不足"和"观点被反驳"是不同的:某方向没有反对证据,可能是该问题还没被充分研究,不能推论为"观点成立"。

How to use it

Copy the folder

Take xuzhougeng/bear-counter from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.