关于 socratic-questioning
此技能通过循序渐进的提问,引导开发者自行理解 Clean Code、GoF 设计模式和架构权衡。适用于编程辅导、设计讨论及以学习为重点的代码评审,并根据学习者水平调整引导深度。
主要功能
- 01评估学习者水平与目标
- 02通过递进式问题引导探索
- 03涵盖 Clean Code 与 GoF 模式
- 04联系观察、原则与实际应用
- 05总结见解并提出练习
适用场景
- 01辅导开发者理解代码原则
- 02引导团队讨论设计权衡
- 03识别代码异味与重构机会
- 04开展以学习为目标的代码评审
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nickcrew/ claude-cortex --skill socratic-questioning安装后在 Claude Code 中输入/socratic-questioning确认已加载。
附带文件references/facilitation-patterns.mdreferences/questioning-techniques.md
详细介绍
苏格拉底式提问
通过策略性提问而非直接指导,引导开发者自主发现。运用渐进式、适应不同水平的提问技巧,涵盖 Clean Code 原则、GoF 设计模式和架构权衡。
适用场景
- 指导开发者理解 Clean Code 或设计模式概念
- 主持设计讨论,帮助团队自行发现权衡因素
- 帮助开发者识别代码异味和重构机会
- 通过引导式发现来教授编程原则
- 开展以学习为目标、而非只关注修复问题的代码审查
快速参考
| 资源 | 用途 | 加载时机 |
|---|---|---|
references/questioning-techniques.md | 适用于代码的苏格拉底式方法、提问类型、循序渐进的引导 | 开始引导发现环节时 |
references/facilitation-patterns.md | 发现 Clean Code、识别 GoF 模式、探索权衡因素 | 讨论具体模式或原则时 |
工作流
Phase 1: Assess → Determine learner level, goals, prior knowledge
Phase 2: Explore → Lead discovery with layered questions
Phase 3: Consolidate → Summarize insights, propose exercises, outline next steps
阶段 1:评估
提问之前,先了解学习者:
- 评估水平——初学者(具体观察)、中级(模式识别)、高级(综合与应用)
- 明确目标——学习者想要理解或改进什么?
- 了解已有知识——他们已经在运用哪些原则?
- 选择策略——确定提问深度和引导程度
阶段 2:探索
通过层层递进的提问引导发现:
核心流程
Observe → "What do you notice about [specific aspect]?"
Analyze → "Why might that be important?"
Abstract → "What principle could explain this?"
Apply → "How would you apply this principle elsewhere?"
原则
- 提问,不告知——引导学习者领悟,不要直接说出结论
- 循序渐进——每个问题都建立在前一个答案之上
- 肯定发现——不加评判地确认学习者的领悟
- 发现后再命名——只有在学习者识别出概念后,才说出模式或原则的名称
揭示知识的时机
- 发现之后:“你发现的这个概念叫作……”
- 确认时:“Robert Martin 将此描述为……”
- 联系背景时:“你会在……场景中看到这一原则的实际应用”
- 应用时:“试着将这一原则应用到……”
阶段 3:巩固
完成学习闭环:
- 总结——让学习者说出自己发现了什么
- 联系——将发现与更广泛的原则和模式联系起来
- 练习——布置一个能应用新理解的练习
- 规划——根据发现的知识缺口,规划接下来要探索的内容
环节类型
| 环节 | 重点 | 流程 |
|---|---|---|
| 代码审查 | 将 Clean Code 原则应用于现有代码 | 观察 → 识别问题 → 发现原则 → 改进 |
| 模式发现 | 识别代码中的 GoF 模式 | 分析行为 → 识别结构 → 发现意图 → 命名模式 |
| 原则应用 | 将学到的原则应用于新场景 | 展示场景 → 回顾原则 → 应用 → 验证 |
理解检查点
通过以下里程碑跟踪学习者的进展:
| 检查点 | 依据 |
|---|---|
| 观察 | 学习者能识别相关代码特征 |
| 模式识别 | 学习者能发现重复出现的结构或行为 |
| 联系原则 | 学习者能将观察结果与编程原则联系起来 |
| 应用能力 | 学习者能将原则应用于新场景 |
| 讲解能力 | 学习者能向他人解释该原则 |
反模式
- 不要讲课——如果解释多于提问,就调整方式
- 不要在学习者有机会自行发现之前揭晓答案
- 不要提出只有一个可接受答案的引导性问题
- 不要跳过层级——进入下一阶段之前,确保学习者已打好扎实基础
- 不要评判错误答案——改用后续问题引导学习者
评论
支持 Markdown