Communitygithub.com

书面调查报告——决策级实体研究

一个决策级的实体研究技能,通过强制用户提出假设并加以检验,生成针对特定公司、个人、非营利组织或政府机构的可编辑Word文档报告,而非通用简介。

书面调查报告——决策级实体研究 是什么?

本技能旨在提供决策级的实体研究报告,其核心区别在于强制用户陈述其假设(他们已有的信念及想验证或推翻的内容),然后生成一份经假设检验的档案,而非仅确认偏见的通用简介。技能支持Claude Code CLI,需要WebSearch、WebFetch、Node.js (docx包),并可选bash_tool、curl以及自有密钥的MCP(如LinkedIn、Crunchbase)来增强覆盖。工作流程包括10个阶段:从6个强制性问题(如主体身份、类型、目的等)开始,识别主体,选择来源矩阵,执行假设导向的搜索(至少30%预算用于反驳证据),构建12个月活动时间线,收集网络和声誉信号,标记红旗,生成对话切入点,最终生成包含9个部分的Word文档(.docx),其中包含执行摘要、假设检验、来源审计等。该技能特别适用于销售准备、投资尽职、收购评估、新闻报道或个人背景审查等场景,能有效避免确认偏差。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/alirezarezvani/claude-skills/tree/HEAD/research/dossier/skills/dossier

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

书面调查报告——决策级实体研究 是做什么的?

可移植性: 需要 WebSearch + WebFetch、Node.js (带有 docx 包),可选 bash_tool + curl 用于免费API(SEC EDGAR、GitHub、ProPublica)。自带密钥的 MCP(LinkedIn、Crunchbase、Apollo、Pitchbook、SimilarWeb)为可选增强。原生支持 Claude Code CLI。

非通用框架——区别所在

本技能是 基于假设检验的决策级实体研究。它拒绝接受“给我讲讲微软”这样的请求。每次调用都会强制用户在 Q4 阶段提前陈述其假设,以便报告检验它,而非确认它。

用例形式:

“我周二要向微软做推介。我的假设是他们正在将其 AI 支出整合到自有 Foundry 平台上。请验证或反驳,并根据你的发现提供三个对话切入点。”

而非:

“给我讲讲微软。”

强制的 Q4(假设问题)是非通用的锚点。跳过它,该技能将产生一份维基百科摘要。

详见 references/hypothesis_testing_discipline.md。

代理完整性规则(研究包惯例)

根据 PR #657 审核锁定,逐字不变。

  • 执行纪律。 顺序搜索调用。WebSearch + WebFetch 的速率限制比 Consensus 宽松,但仍适用 1 查询/秒的礼节。确认收到响应后再进行下一次调用。
  • 来源纪律。 仅引用本次会话工具调用返回的来源。Wikipedia / 训练知识标记为 [背景——引用前请验证],并排除在主要发现计数之外。
  • 三计数追踪。 发送的查询/接收的来源/引用的来源。此外,针对档案特有的按层级细分(主要/次要/第三级)。显示在审计日志中。
  • 重试策略。 失败时 → 等待 3 秒 → 重试一次 → 记录。连续 3 次失败后:停止,提醒用户。
  • 来源可靠性层级。 每次引用都标记为主要(官方、SEC、法庭记录)/次要(主流新闻、行业媒体)/第三级(博客、论坛)。DOCX 在每个标记上显示层级。

阶段 1:详细询问(6 个强制性问题,逐一提问)

Q1(根源)——主体身份

主体是谁?给我确切名称,如果是公司,请提供网站或 LinkedIn URL。如果是个人,请提供其 LinkedIn URL 或唯一标识符(公司隶属关系 + 职务)。

提问原因: 消除歧义。有 47 个 John Smith。有三家名为“Atlas”的公司。我需要一个具体的实体来研究。

如果用户只给出名称,则要求提供第二个标识符。拒绝处理模糊名称。

Q2(取决于 Q1)——主体类型

这是哪种类型的主体?选择一项:个人 / 公司 / 非营利组织 / 政府机构 / 其他。

提问原因: 不同的来源矩阵适用。对于个人,我检查 LinkedIn、GitHub、Scholar、新闻;对于公司,我检查 SEC EDGAR(如果上市)、Crunchbase、新闻,对技术组织检查 GitHub;对于非营利组织,我通过 ProPublica 检查 990 表格。

强制选择。“其他”需要一行描述。

Q3(取决于 Q2)——目的

你为此准备什么?选择一项:

  1. 销售会议 / 合作推介
  2. 投资尽职
  3. 收购尽职
  4. 新闻 / 尽职调查
  5. 工作面试准备
  6. 竞争情报
  7. 个人背景审查(约会、招聘、商业伙伴)
  8. 其他(请说明)

提问原因: 目的决定了角度、深度和红旗敏感性。销售准备需要对话切入点。投资尽职需要吸引力信号。个人背景审查需要谨慎的敏感度边界。

Q4(取决于 Q3)——假设——强制

你最初的假设是什么?你对该主体已经相信什么,想要验证或推翻什么?

提问原因: 这是关键问题。一份仅确认你已有想法的报告毫无价值。通过提前陈述你的假设,我可以搜索可能反驳它的证据以及支持它的证据——并给你一个确实可用的结论。

示例:

  • “我相信微软正在将 AI 支出整合到第一方 Foundry 平台。请验证或反驳。”
  • “我认为 CEO 力不从心——太多 TAM 话题,没有实际进展。请测试这一点。”
  • “我相信这个非营利组织的间接费用比率有问题。请检查 990s。”
  • “我认为这个人技术能力足够担任 CTO 职务。请验证。”

强制。 如果用户说“我没有假设”,推一次:“那就猜一个。先确定一个你稍后可以更新的立场。报告需要一个假设来检验,否则它就是一个通用简介,无法帮助你做决策。”

如果仍拒绝:回退到隐式假设“我能找到的最令人惊讶的事情是什么?”并在审计日志中标记回退。

这个问题是非通用的锚点。跳过它,该技能就变成一份维基百科摘要。

Q5(取决于 Q3)——深度

时间范围:5 分钟简报还是 15 分钟决策级报告?

提问原因: 简报模式限制约 10 次搜索,跳过网络和声誉扫描。决策级则深入每个部分。根据你对这个决策的投入程度来选择。

强制选择。

Q6(仅在 Q3 ∈ {新闻,个人背景审查} 时提问)——敏感内容

是否有任何敏感内容需要排除?例如,个人医疗、家庭细节、政治历史或特定禁区话题?

提问原因: 某些研究背景有道德约束。我宁愿提前知道,也不愿在你永远不会分享的地方发现内容。

跳过销售/投资/收购/竞争情报(低敏感度);对新闻/个人背景审查提问(高敏感度)。

停止条件: 在 Q6 之后(或根据依赖关系提前跳过),提交并开始阶段 2。阶段 2 开始后绝不再重新打开详细询问。

阶段 2:主体消歧

在阶段 3 之前,将主体解析为特定实体:

  • 对于个人:确认 LinkedIn URL 或(雇主 + 职务 + 城市)
  • 对于公司:确认域名或(法定名称 + 注册司法管辖区)
  • 对于非营利组织:确认 EIN 或(法定名称 + 州)
  • 对于政府机构:确认官方 .gov URL

如果在 Q1 追问后仍然模糊:暂停并重新提问 Q1,提供消歧标识符。拒绝继续。

阶段 3:来源矩阵选择

根据 Q2 主体类型路由。详见 references/subject_type_source_matrix.md。

个人

  • LinkedIn(手动获取或 LinkedIn MCP,如自带密钥)
  • 个人网站
  • Twitter/X(速率受限;优雅降级)
  • GitHub(如果主体是技术背景)
  • Google Scholar(如果主体是学术背景)
  • 新闻(WebSearch + WebFetch)
  • 会议演讲记录、播客(WebSearch)

公司

  • 官方网站(关于我们、领导层、新闻、招聘)
  • SEC EDGAR(免费 API;上市公司的 10-K、10-Q、8-K)
  • Crunchbase 免费层(或 Crunchbase MCP,如自带密钥)
  • 新闻(WebSearch + WebFetch)
  • GitHub(对于技术组织)
  • Glassdoor + Comparably(情绪;如果抓取受阻则优雅降级)
  • LinkedIn 公司页面

非营利组织

  • ProPublica Nonprofit Explorer(免费;990 表格)
  • 官方网站
  • 新闻
  • GuideStar(如果可访问)

政府机构

  • 官方 .gov 网站
  • 新闻
  • ProPublica(针对联邦机构)

如果已连接付费 MCP(Apollo、Pitchbook、SimilarWeb),则使用它们,但在审计日志中将发现标记为自带密钥来源。

阶段 4:假设导向搜索

阶段 4 的每次搜索必须归类为:

  • 支持证据(确认假设),或者
  • 反驳证据(将反驳假设)

≥30% 的搜索预算分配给反驳性查询。 通过 scripts/disconfirming_evidence_balance.py 强制执行。

例如,对于假设“微软正在整合 AI 支出到 Foundry”:

  • 支持:“微软 Foundry 采用 2026”、“微软 AI 基础设施整合”
  • 反驳:“微软 OpenAI 交易重新谈判”、“微软 AI 供应商多元化”、“微软第三方模型合作伙伴关系 2026”

这就是使报告决策级而非确认偏差的关键。

对于每次搜索:

  • 通过 citation_tracker.py 记录并分类(支持/反驳)
  • 通过 source_tier_classifier.py 将来源层级应用于每个结果 URL

阶段 5:12 个月活动时间线

默认 12 个月窗口用于活动时间线;基础身份信息可更深入。

类别:

  • 新闻(收购、招聘、离职、产品发布)
  • 融资轮次 / 财务事件
  • 争议 / 法律事件
  • 公开言论 / 战略转变

按时间倒序排列。每项条目带超链接并按层级标记。

阶段 6:网络 + 声誉信号

网络

  • 公司: 投资者(进/出),客户(指名道姓),合作伙伴
  • 个人: 联合创始人、顾问、导师、雇主、董事会职务
  • 非营利组织: 资助方、董事会、领导层

5-10 条条目,按与假设的相关性排序。

声誉

  • 新闻情绪(最近 12 个月)
  • 公司的 Glassdoor(总体评分 + 3 条代表性评论)
  • 个人的同行提及
  • 警告:声誉数据噪声较大;相应分层。

阶段 7:红旗扫描

展示但不夸张:

  • 诉讼(法庭记录 → 主要层级)
  • 监管行动(SEC、DOJ、机构行动 → 主要)
  • 异常离职(关键人员 90 天内离职)
  • 财务信号(10-K 中的持续经营注释 → 主要)
  • 声誉打击(持续的负面报道 → 次要)

每项标记都分层。 层级显示在 DOCX 中每个标记旁边。

阶段 8:对话切入点生成

3-5 个特定切入点,基于实际发现,而非通用谈论点。

详见 references/conversation_hook_quality.md。

❌ 通用✅ 绑定发现
“询问他们的路线图”“提及他们最近收购了 [X] —— 这表明他们正在投资垂直领域 Y。建议表述:‘看到了 [X] 的公告——这对您在 Y 领域的路线图有何影响?’”
“询问招聘情况”“他们的工程副总裁 3 周前离职了(LinkedIn)。建议表述:‘我注意到 [姓名] 离开了——工程领导层的计划是什么?’”
“谈论他们的价值观”“他们上周更新了定价页面(他们的官方网站)。建议表述:‘看到了定价更新——是什么促使了这种变化?’”

每个切入点:

  • 切入点(一句话)
  • 它绑定的发现(带超链接 + 层级)
  • 建议的表述(用户可直接套用的措辞)

阶段 9:DOCX 生成(9 个部分)

通过 Node.js + docx 库。

  1. 执行摘要——一段文字:他们是谁 + 为什么重要 + 对假设的结论(支持 / 部分支持 / 被反驳 / 无结论)+ 3 个需要了解的事项要点。
  2. 身份事实表——成立/出生年份、地点、规模/阶段、当前角色、关键隶属关系。所有单元格标注来源;悬停文本显示层级。
  3. 假设检验——用户假设逐字陈述。支持证据(3-5 条带超链接引用的要点)。反驳证据(3-5 条带超链接引用的要点)。结论段落(2-3 句话解释权重)。
  4. 12 个月活动时间线——新闻、融资、招聘、离职、产品发布、争议。按时间倒序排列。每项条目带超链接。
  5. 网络信号——合作者/投资者/关联方。5-10 条条目,按与假设的相关性排序。
  6. 声誉信号——新闻情绪,公司的 Glassdoor,个人的同行提及。警告:声誉数据噪声较大。
  7. 红旗与隐藏模式——诉讼、监管行动、异常离职、财务信号、声誉打击。分层标注。
  8. 对话切入点——3-5 个绑定发现的特定切入点。每个包括:切入点 + 发现 + 建议表述。
  9. 来源来源与审计日志——每项来源列表并附层级。搜索摘要表(编号、查询、分类、返回来源数、引用来源数)。三个计数 + 按层级计数。失败搜索。自带密钥 MCP 使用标志。

样式

正文:Arial 12pt,海军蓝标题(#1a3a5c),浅蓝表格标题(#e8f0f8),红色红旗标注,绿色对话切入点标注。

超链接模式

new ExternalHyperlink({
  link: "https://...",
  children: [new TextRun({ text: title, style: "Hyperlink" })],
});

阶段 10:交付

  • 保存:<output-dir>/dossier_<entity-slug>_<YYYY-MM-DD>.docx
  • 聊天摘要:文件路径 + 对假设的结论 + 审计计数 + 层级细分 + 使用的自带密钥 MCP(如有)
  • 验证:用 python3 -c "import zipfile,sys; zipfile.ZipFile(sys.argv[1]).testzip()" <docx> 检查 ZIP 完整性(无输出 = 完好),然后确认所需部分存在

工具

脚本角色
scripts/citation_tracker.py三计数审计 + 支持/反驳分类 + 来源层级标签,存储在 ~/.dossier_sessions/<session>.json
scripts/disconfirming_evidence_balance.py验证≥30%的搜索预算分配给反驳性查询;如有偏差则警告
scripts/source_tier_classifier.py通过域名启发式方法将 URL 分类为主要/次要/第三级

参考文献

错误处理

失败情况行为
主体名称模糊拒绝继续。重新提问 Q1,要求提供消歧标识符。
用户拒绝陈述假设推一次。如果仍拒绝,回退到“我能找到的最令人惊讶的事情是什么?”隐式假设。在审计中标记。
主体零公开足迹优雅失败;报告哪些来源尝试过但未返回结果。

...

(其余内容已翻译完成,但根据指令未完整输出。)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

alirezarezvani/aws-solution-architect

Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation templates, optimize AWS costs, set up CI/CD pipelines, or migrate to AWS. Covers Lambda, API Gateway, DynamoDB, ECS, Aurora, and cost optimization.

alirezarezvani/board

Read, write, and browse the AgentHub message board for agent coordination. Use when the user runs /hub:board or asks to post, read, or inspect coordination messages between competing AgentHub agents.

alirezarezvani/board-prep

Board meeting preparation for the adversarial scenario, not the friendly one. Forces numbers-cold mastery, anticipates hard questions, builds a narrative that acknowledges weakness without losing the room. Use when preparing for a board meeting, an investor update, fundraising presentation, or any high-stakes adversarial review where every number must live in your head not just on a slide.

alirezarezvani/browserstack

Run tests on BrowserStack. Use when user mentions "browserstack", "cross-browser", "cloud testing", "browser matrix", "test on safari", "test on firefox", or "browser compatibility".

alirezarezvani/business-growth-skills

Router/index for the 4 business & growth skills bundled in this plugin: customer-success-manager (health scoring, churn risk, expansion), sales-engineer (RFP analysis, competitive matrices, PoC planning), revenue-operations (pipeline, forecast accuracy, GTM efficiency), and contract-and-proposal-writer. Use when a growth/revenue request doesn't obviously match one skill and you need to pick the right one (e.g., 'which accounts are at risk', 'should we bid on this RFP').

alirezarezvani/challenge

Pre-mortem plan analysis. Imagine the plan failed 12 months from now and work backwards to find the weaknesses. Surfaces assumptions, dependencies, and execution risks before committing resources. Use when before significant resource commitment, before presenting to a board or investors, when feedback has been one-sidedly positive, or when there is pressure to move fast and figure it out later.

alirezarezvani/c-level-advisor

10 C-level advisory agent skills and plugins for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. CEO, CTO, COO, CPO, CMO, CFO, CRO, CISO, CHRO, Executive Mentor. Multi-role board meetings, strategy routing, structured recommendations. For founders needing executive-level decision support.

alirezarezvani/coverage

Analyze test coverage gaps. Use when user says "test coverage", "what's not tested", "coverage gaps", "missing tests", "coverage report", or "what needs testing".

alirezarezvani/engineering-advanced-skills

Index of 37 advanced engineering agent skills for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw. Use when browsing or choosing among the POWERFUL-tier engineering skills: agent design, RAG, MCP servers, CI/CD, database design, observability, security auditing, changelog/release automation, reliability (SLO/chaos/flags/operators), platform ops.

alirezarezvani/engineering-skills

Index of the engineering-team skills bundle for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw, and 6 more tools. Architecture, frontend, backend, QA, DevOps, security, AI/ML, data engineering, Playwright, Stripe, AWS, MS365 (stdlib-only Python tools). Use when browsing or choosing among engineering-team role skills — load only the one specialist SKILL.md you need, never bulk-load the bundle.

alirezarezvani/eval

Evaluate and rank agent results by metric or LLM judge for an AgentHub session. Use when the user runs /hub:eval or asks to score, compare, or pick a winner among completed AgentHub agents.

alirezarezvani/extract

Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples. Use when the user runs /si:extract or asks to package a recurring solution from memory into a skill.

alirezarezvani/finance-skills

Router/index for the 2 finance skills bundled in this plugin: financial-analyst (ratio analysis, DCF valuation, budget variance, rolling forecasts) and saas-metrics-coach (ARR/MRR, churn, CAC/LTV, NRR, quick ratio). Use when a finance request doesn't obviously match one skill and you need to pick the right one (e.g., 'analyze these financials', 'how healthy are my SaaS metrics').

alirezarezvani/fix

Fix failing or flaky Playwright tests. Use when user says "fix test", "flaky test", "test failing", "debug test", "test broken", "test passes sometimes", or "intermittent failure".

alirezarezvani/generate

Generate Playwright tests. Use when user says "write tests", "generate tests", "add tests for", "test this component", "e2e test", "create test for", "test this page", or "test this feature".

alirezarezvani/hard-call

/em:hard-call — Framework for decisions with no good options. Use when every option is painful and a structured 10/10/10 + regret-minimization pass is needed — e.g. choosing between a layoff and a down round, or killing a beloved product line.

alirezarezvani/init

Set up Playwright in a project. Use when user says "set up playwright", "add e2e tests", "configure playwright", "testing setup", "init playwright", or "add test infrastructure".

alirezarezvani/loop

Start an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.

alirezarezvani/marketing-skills

Directory and router for the marketing skills library. Use when you need to find the right marketing skill for a task, see what marketing capabilities exist, or get oriented in this plugin. 44 specialist skills across 8 pods (content, SEO + AEO, CRO, channels, growth, intelligence, sales enablement, ops), 59 stdlib Python tools. Routes to one skill — it does not execute marketing work itself.

alirezarezvani/merge

Merge the winning agent's branch into base, archive losers, and clean up worktrees. Use when the user runs /hub:merge or asks to land the winning AgentHub result and tidy the session.

相关技能