技能工作原理
两种模式,根据主题自动路由(见路由表):
- 模式 A — 仓库 / 概念 / 文档(廉价路径):研究 → 克隆(如果是仓库)→ 探索 → 综合 → 输出。松散的并行代理即可。
- 模式 B — 实时网络产品 / 竞争对手 / 数据产品 / 算法 / 格局(完整流程):侦查 → 确认 → 工作流编排的深度侦察 → 真实浏览器捕获 → 逆向工程为验证代码 → 综合。请阅读
@references/competitor-teardown.md并遵循之。
主题类型路由
| 主题 | 信号 | 模式 | 主轴 |
|---|---|---|---|
| GitHub 仓库 | github.com | A | 克隆 + 探索代理 |
| 概念 / 技术 | 无 URL | A | 研究者代理 |
| 文档 / 静态网站 | URL,信息性 | A | 研究者 + WebFetch |
| 实时产品 / 应用 / SaaS / 竞争对手 | URL 是产品;"competitor/teardown/vs us/how do they" | B | 浏览器 + 工作流 + 每主题模式 |
| 计算器 / 估值器 / 预测器 / 定价 / 排名 | 需要破解的公式/算法 | B | 实时探测网格 → 可运行参考实现 → 验证 |
| 整个格局 | "find all the others / everyone in this space" | B | 命名空间发现 → 分解 YES 集 |
决胜规则:如果一个 URL 既是产品又有文档,默认为 B —— 侦察步骤成本低廉,如果没有什么可分解,会降级到 A。
执行规则
- 正确的规模工具:模式 A = 并行的 Task/Agent 调用。模式 B = 在 3 个以上主题或多阶段工作时,使用 Workflow 工具(流水线、结构化输出模式、恢复)。
- 先打基础,再确认:模式 B 在昂贵投入之前,会进行一个廉价的侦察步骤 + 确认关卡(范围 + 侦察边界 + 浏览器)—— 除非用户已经说了 "full shebang / go deep / everything."
- 针对任何计算器/算法,逆向工程为可运行、已验证的代码;与权威基准进行对比,而不是竞争对手自己的说法。
- 视觉丰富:每个主要概念都配有图表或表格。
- 双重输出:在对话中显示执行摘要 + 文件索引;将完整的文档集保存到
~/.claude/explanations/<date>_<slug>/。 - 弹性:繁重的模式 B 研究以后台工作流方式运行;增量持久化工件;在截断时恢复(
resumeFromRunId)。 - 清理:完成后提供删除克隆仓库/保存文件的选项。
模式 B 侦察边界(重要 —— 在任何实时探测前阅读)
竞争侦察在公共表面上合法且正常。完整规则见 @references/competitor-teardown.md。不变量:
- 允许:公共页面/资源、公共 OpenAPI/
/docs、公共 JS 包、一个适度的礼貌网格(约 15-40,低速率)对公共端点的普通用户级请求以推导公式、header 指纹识别、WHOIS/DNS。 - 绝不:破解 CAPTCHA/机器人挑战、绕过认证、批量收集整个数据集(仅限样本)、压力测试、或调用管理/变异/破坏性端点(记录下来,不要调用它们)。观察暴露点;绝不利用它们。绝不在竞争对手的表单中提交用户的真实数据。如果不确定,就不要做 —— 并说明原因。
输入采集关卡
无上下文处理程序
如果 $ARGUMENTS 为空: → 使用 AskUserQuestion:
- header: "Explain"
- question: "你想让我解释什么?"
- options:
- "GitHub 仓库" - 从 GitHub 分析代码库
- "网站或文档" - 理解一个网站、文档或 API
- "竞争对手 / 实时产品 / 格局" - 分解一个实时产品,逆向工程一个计算器,或映射整个竞争空间(模式 B)
- "概念或技术" - 解释一个概念、框架或工具
然后进行上下文分析。
上下文分析
分析 $ARGUMENTS 以提取:
- 类型:GitHub 仓库、网站、概念或其他
- URL/主题:要解释的具体内容
- 隐含目标:学习如何使用?评估?理解架构?贡献?
自动检测类型:
- 包含
github.com→ GitHub 仓库(模式 A) - 模式 B 信号 → "competitor", "teardown", "reverse-engineer", "vs us", "how do they", "find all the others", 或者一个指向产品/应用/计算器的 URL → 模式 B
- 包含
http(信息性/文档)→ 网站(模式 A) - 其他情况 → 概念(模式 A)
初始问题
仅对真正的信息缺口使用 AskUserQuestion(最多 2-3 个问题):
目标(如果不明确):
- "你的目标是什么?" 选项:
- "理解它是如何工作的" - 架构、流程、实现
- "评估是否采用" - 优缺点、替代方案、是否适合我的用例
- "学习如何使用它" - 设置、API、入门
- "学习如何贡献" - 代码库结构、开发工作流
焦点(如果主题宽泛):
- "有什么特别关注的焦点?" 选项:
- "全部" - 全面综合分析
- "仅架构" - 高层结构和模式
- "特定功能" - 一个特定方面(请指定)
背景(如果有帮助):
- "你的技术背景?" 选项:
- "非技术" - 从基本原理出发,使用类比解释
- "有技术背景,但对该领域不熟悉" - 跳过基础,专注于细节
- "专家" - 深入技术细节,假设具备相关知识
决策关卡
得到答案后,使用 AskUserQuestion(模式 A):
- question: "准备好开始深度探索了吗?"
- options:
- "是,开始" - 开始多阶段分析
- "还有更多问题" - 我有需要澄清的地方
- "让我添加一些上下文" - 我想补充细节
模式 B 以此关卡 B2 取代该关卡(快照 + 范围 + 侦察边界 + 开始/深度/浏览器)—— 不要同时问两者;B2 是分解任务的唯一权威关卡。
流程
模式选择
运行 <intake_gate>,然后根据主题类型表进行路由。模式 B(实时产品 / 竞争对手 / 数据产品 / 计算器 / 格局)→ 加载 @references/competitor-teardown.md 并遵循其侦查 → 确认 → 深入 → 综合流程(骨架如下)。模式 A(仓库 / 概念 / 文档)→ 执行下方阶段 1-7。
模式 B — 实时产品 / 竞争对手 / 数据产品分解
完整行动手册见 references/competitor-teardown.md。骨架:
- B0 基础:检查记忆 +
~/.claude/explanations/中的先前分析;进行扩展,而不是重做。 - B1 侦查:每个目标一个轻量级被动侦察代理(WebFetch + headers + WebSearch)→ 基础快照 + 需要浏览器做什么。
- B2 确认关卡:呈现快照 + 范围 + 侦察边界(
<scope_boundary>);使用AskUserQuestion询问开始/深度/浏览器 —— 仅在用户已说 "go deep / full shebang" 时跳过。 - B3 深度侦察(工作流):每个主题一个结构化代理,全部共享每主题模式(参考文件中)。默认使用
pipeline();将大型输出拆分到磁盘。 - B4 浏览器(Claude-in-Chrome):捕获加载时网络、渲染 SPA、跨输入网格对估值器进行实时探测、安全标头、付费墙/认证副本 —— 在边界内(无 CAPTCHA/认证绕过、无变异端点、绝不提交用户数据)。边进行边持久化捕获。
- B5 逆向工程:每个计算器 → 可运行的 TypeScript 参考实现 → 与实时网格验证 → 与权威基准对比。
- B6 命名空间(如果问 "any others?"):DNS+curl+搜索候选域名、分类、查找运营商集群、标记防御性购买域名、仅分解真正独特的 YES 集。
- B7 综合:扇出综合代理 →
DETAILED-<slug>.md×N +ESTIMATORS.md+COMPARISON.md(包括数据完整性 + 运营商集群部分)+REPLICATION-BLUEPRINT.md+ARCHITECTURE.md+NAMESPACE.md+SOURCES-*.md+SUMMARY.md(执行摘要 + 文件索引)。然后执行阶段 7 输出/清理。
模式 A — 仓库 / 概念 / 文档
阶段 1:并行网络研究(5 个研究者代理)
在一条消息中启动所有:
Task(subagent_type="general-purpose", prompt="研究 [主题]:它是什么?谁做的?什么时候?为什么?")
Task(subagent_type="general-purpose", prompt="研究 [主题]:技术栈、架构、关键技术")
Task(subagent_type="general-purpose", prompt="研究 [主题]:文章、评论、社区讨论、观点")
Task(subagent_type="general-purpose", prompt="研究 [主题]:替代方案、比较、何时使用与何时不用")
Task(subagent_type="general-purpose", prompt="研究 [主题]:文档、教程、入门指南")
阶段 2:克隆仓库(如果是 GitHub)
REPO_DIR=~/.claude/explanations/$(date +%Y%m%d_%H%M%S)_$(basename [URL] .git)
git clone [URL] $REPO_DIR
cd $REPO_DIR
阶段 3:并行代码库探索(6 个探索代理)
在一条消息中启动所有,设置 thoroughness="very thorough":
Task(subagent_type="Explore", prompt="架构:整体结构、模块、它们如何关联")
Task(subagent_type="Explore", prompt="入口点:主要文件、CLI、API 端点、如何启动")
Task(subagent_type="Explore", prompt="核心逻辑:关键算法、模式、抽象")
Task(subagent_type="Explore", prompt="配置:设置、环境、扩展点")
Task(subagent_type="Explore", prompt="依赖:关键包、集成、外部服务")
Task(subagent_type="Explore", prompt="测试与质量:测试模式、覆盖率、CI/CD")
阶段 4:并行 Claude Code 上下文(2-3 个通用代理)
如果与 Claude/AI/代理相关:
Task(subagent_type="general-purpose", prompt="解释相关的 Claude Code 概念以理解此内容")
Task(subagent_type="general-purpose", prompt="如果适用,与 Claude 工具/SDK 进行比较")
阶段 5:中间检查(如果复杂)
如果发现复杂性,使用 AskUserQuestion:
- "我发现 [X]。你想让我专注于任何特定方面吗?"
- 基于发现的选项
阶段 6:综合
将所有发现结合成全面的解释,包括:
- 开场类比(非技术性比较)
- 它是什么(1-2 句话)
- 架构图(ASCII)
- 工作原理(分步说明并附图)
- 关键组件表(名称、用途、工作原理)
- 特别之处(差异化因素)
- 能力列表(它能做什么)
- 比较表(与替代方案比较)
- 技术深度探索(实现细节)
- 陷阱与注意事项
阶段 7:输出
在对话中显示
完整的格式化解释,包含所有视觉元素。
保存到文件
OUTPUT_DIR=~/.claude/explanations/$(date +%Y%m%d_%H%M%S)_[topic-slug]
mkdir -p $OUTPUT_DIR
# 保存文件:
# $OUTPUT_DIR/SUMMARY.md - 快速参考(30 秒版本)
# $OUTPUT_DIR/DETAILED.md - 完整分析
# $OUTPUT_DIR/ARCHITECTURE.md - 所有图表
# $OUTPUT_DIR/COMPARISON.md - 替代方案分析
后续跟进
显示后,询问:
- "你想深入探索哪个方面?"
- "对我解释的内容有什么问题吗?"
- 鼓励后续问题
清理
使用 AskUserQuestion 进行清理(如果两者都适用,则合并):
如果克隆了仓库:
- question: "删除克隆的仓库?"
- options:
- "是,删除" - 自动移除 $REPO_DIR
- "不,保留" - 显示路径:"仓库保留在:$REPO_DIR"
如果是:rm -rf $REPO_DIR
如果否:显示路径以供手动访问
始终(解释文件):
- question: "删除保存的解释文件?"
- options:
- "是,删除" - 自动移除 $OUTPUT_DIR
- "不,保留" - 显示路径:"解释文件保存在:$OUTPUT_DIR"
如果是:rm -rf $OUTPUT_DIR
如果否:显示路径以供手动访问
综合问题(如果同时有仓库和文件):
- question: "分析完成。你想清理什么?"
- options:
- "删除仓库和解释文件"
- "仅删除仓库,保留解释文件"
- "仅删除解释文件,保留仓库"
- "全部保留"
根据选择执行删除,并显示任何保留项的路径。
标准图表格式
架构:
┌─────────────┐ ┌─────────────┐
│ 组件 │────►│ 组件 │
└─────────────┘ └─────────────┘
流程:
开始 → 步骤 1 → 步骤 2 → 决策?
├─ 是 → 路径 A
└─ 否 → 路径 B
比较表:
| 方面 | 选项 A | 选项 B | 胜出者 |
|-------------|----------|----------|--------|
| 速度 | 快 | 慢 | A |
组件分解:
┌──────────────────────────────────────┐
│ 系统名称 │
├──────────────────────────────────────┤
│ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │模块 A │ │模块 B │ │模块 C │ │
│ └───┬────┘ └───┬────┘ └───┬────┘ │
│ └──────────┴──────────┘ │
│ 共享层 │
└──────────────────────────────────────┘
成功标准
两种模式:
- 在开始前询问了澄清性问题 / 打好了基础;路由到正确的模式
- 对每个主要概念都生成了可视化图表;包含了可重现的技术深度
- 在对话中显示了执行摘要,并同时将文档集保存到了文件
- 提供了后续跟进 + 清理选项;尊重了用户的保留/删除选择
模式 B(实时产品 / 竞争对手 / 数据产品 / 格局)还需满足:
- 执行了侦察步骤 + 确认关卡(或尊重了明确的 "go deep" 指令)并声明了侦察边界
- 严格遵守边界:没有 CAPTCHA/认证绕过、没有批量收集、没有调用变异/管理端点、从未提交用户数据;观察暴露点但未加以利用
- 一旦有 3 个以上主题/多阶段,就使用带共享每主题模式的工作流工具;持久化工件;对截断具有弹性(恢复)
- 对每个计算器进行了实时探测,并输出了 N/N 验证过、与观察输出一致、并与权威基准对比过的可运行参考实现
- 对于格局分析:发现了完整的命名空间,对每个进行了分类,找到了运营商集群,标记了防御性购买域名,仅分解了独特的域名
- 综合报告包括数据完整性部分 + 运营商集群...