关于 explain
面向有经验开发者的深度讲解技能,用于分析代码、追踪依赖并组织系统性说明。它强调依据实际代码和官方文档核验内容,并标注不确定之处。
主要功能
- 01检查目标代码及其调用关系
- 02追踪依赖与外部 API
- 03按自上而下或执行流程组织讲解
- 04解释架构选择与性能影响
- 05核验结论并指出不确定性
适用场景
- 01理解函数、类或系统的实现
- 02追踪代码中的依赖和数据流
- 03分析框架行为或错误信息
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ laststance/ skills --skill explain安装后在 Claude Code 中输入/explain确认已加载。
详细介绍
Explain — 深入系统性讲解
Codex 兼容性
在 Codex 中运行此技能时,执行操作前请将仅适用于 Claude Code 的原语转换为对应能力:AskUserQuestion -> chat/request_user_input,TodoWrite -> update_plan,Task/TaskCreate/TeamCreate/SendMessage -> 在可用且获准时使用 spawn_agent/send_input/wait_agent,EnterPlanMode/ExitPlanMode -> 简明的聊天计划并明确征求批准。
将 Read/Write/Edit/Bash/WebSearch/WebFetch 对应到 Codex 文件、Shell 和 Web 工具;除非任务明确针对 Claude Code,否则将 ~/.claude/... 路径映射到 ~/.agents/... 或 ~/.codex/...。
Cursor 兼容性
在 Cursor Agent 中运行此技能时,执行操作前请将仅适用于 Claude Code 的原语转换为对应能力:AskUserQuestion -> AskQuestion;TodoWrite -> Cursor TodoWrite 或等效的检查清单;Task/TaskCreate/TeamCreate/SendMessage/多 Agent 工作流 -> 在获准时使用 Cursor Task(子 Agent)、并行 Task 或 run_in_background(TeamCreate/SendMessage 可能没有完全对应的功能);EnterPlanMode/ExitPlanMode -> Plan mode(SwitchMode / CreatePlan)并明确征求用户批准。
通过 Cursor Composer 或 Agent 的等效功能处理 Read/Write/Edit/StrReplace/Bash/Web/搜索/MCP。通常,写作 mcp__server__tool 的 MCP 名称对应于配置的服务标识符和 call_mcp_tool。除非任务明确针对 Claude Code,否则将 ~/.claude/... 映射到 ~/.cursor/skills/、.cursor/skills/ 和 .cursor/rules/。
高级讲解,包含内省标记、系统性分析和准确性验证。
<essential_principles>
始终启用
- 高级水平:假设读者是经验丰富的开发者。无需手把手指导。 讲解“为什么”和架构层面的推理,而不仅是“是什么”
- 内省标记:让推理过程清晰可见:
- 🤔 推理 — “🤔 这种模式表明……”
- 🎯 决策 — “🎯 作者选择 X 而不是 Y,是因为……”
- ⚡ 性能 — “⚡ 由于……,其复杂度为 O(n²)”
- 📊 质量 — “📊 这符合/违反 SRP 原则”
- 💡 洞见 — “💡 这种模式也可应用于……”
- 呈现前验证:绝不猜测。阅读实际代码。讲解库/框架行为时查阅官方文档。明确指出不确定之处
- 无项目特定规则:此技能适用于所有项目和 AI Agent
</essential_principles>
阶段 1:分析
在讲解之前,全面检查目标。
- 确定范围:目标是文件、函数、类、概念还是系统?
- 阅读代码:使用 Read、Grep、Glob 获取实际源代码
- 追踪依赖:跟进导入、引用和调用点,理解上下文
- 检查外部 API:必要时使用 Context7 或 WebSearch 查询库/框架细节
- 🤔 建立目标工作方式的心智模型
工具:Read、Grep、Glob、mcp__serena__find_symbol、mcp__serena__get_symbols_overview、mcp__context7__query-docs
阶段 2:构建结构
规划讲解,力求清晰明了。
- 确定核心洞见——理解问题的关键
- 决定讲解顺序:
- 自顶向下:从整体概况开始,再深入细节
- 自底向上:从构建块开始,逐步组合成整体
- 按流程讲解:沿着数据/执行流程,从输入讲到输出
- 🎯 选择最适合目标的讲解方式
阶段 3:讲解
深入、清晰地呈现讲解。
- 开篇交代背景:这是什么?为什么存在?
- 核心讲解:说明其工作方式,并贯穿使用内省标记
- 关键决策:为什么采用这种实现方式?有哪些替代方案?
- 关联:它与更广泛的系统/模式有何关系?
- 代码示例:讲解代码时引用实际行号(
file:line)
讲解格式
对关键知识点使用洞见块格式:
`★ Insight ─────────────────────────────────────`
[2-3 key educational points]
`─────────────────────────────────────────────────`
阶段 4:验证
验证说明准确且完整。
- ✅ 对照实际代码核实相关说法(必要时重新阅读)
- ✅ 根据官方文档验证库/框架的行为
- ✅ 对任何不确定之处标注“⚠️ Note: ...”
- ✅ 确保没有可能造成误导的过度简化
示例
/explain src/auth/middleware.ts
/explain "how does React Suspense work"
/explain the hook system in this project
/explain this error message: "Cannot read property of undefined"
边界
会:
- 提供深入、准确的说明,并清楚展示推理过程
- 阅读并追踪实际代码,而不是根据文件名猜测
- 针对框架/库的具体行为引用官方文档
- 诚实地指出不确定之处和知识盲区
不会:
- 提供浅显或面向初学者的说明(请直接使用 Claude)
- 不阅读源代码就猜测行为
- 修改任何代码(这是一项只读说明技能)