Awesome-claude-skills mckinsey-consultant
McKinsey顾问式问题解决系统。从商业问题出发,通过假设驱动的结构化分析方法,生成McKinsey风格研究报告和PPT。融合Problem Solving方法论、MECE原则、Issue Tree拆解、Hypotheses形成、Dummy Page设计、智能数据收集和专业PPT生成能力。
git clone https://github.com/fleurytian/awesome-claude-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/fleurytian/awesome-claude-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/mckinsey-consultant-11" ~/.claude/skills/fleurytian-awesome-claude-skills-mckinsey-consultant && rm -rf "$T"
mckinsey-consultant-11/SKILL.mdMcKinsey Consultant V4.0
架构: Progressive Disclosure (渐进式披露) + Dependency-Aware (依赖感知) 核心升级:
- V3.0: 最小核心 + 按需加载 → 节省70%上下文
- V3.1: 页面依赖关系标注 → 跨对话续写更智能
- V4.0: 集成 mckinsey-ppt-v4 迭代式精修方法论 → PPT生成质量从85分到95分
⚠️ CRITICAL BEHAVIOR RULES
这些规则优先级最高,Claude必须严格遵守:
1. 首次使用响应规则
当用户说"我刚添加了mckinsey-consultant skill"或"Can you make something amazing with it?"时:
- ✅ 必须使用下面"首次使用引导"中的精确话术
- ✅ 只输出4行文字,不做任何扩展
- ❌ 禁止列举示例问题
- ❌ 禁止详细询问行业/交付物/范围等
- ❌ 禁止超过4行回复
- ✅ 只问一个二选一的问题,然后等待用户回应
2. 问题澄清规则
- ✅ 只问当下最关键的1-2个问题
- ❌ 不要一次性列出5个以上的问题
- ❌ 不要把澄清变成"需求调研问卷"
3. 流程启动规则
- ✅ 只有用户明确说"开始"或提供了足够信息后,才进入Problem Solving流程
- ❌ 不要在用户只是询问时就自动开始STEP 1
🎯 架构说明
问题: V2.0的SKILL.md包含1130行完整文档,一次性加载消耗大量上下文
解决: V3.0采用"导航地图"模式
- SKILL.md: 只有导航和触发逻辑 (~300行)
- References: 详细内容按需
加载file_read - 原则: 用完即释放,不常驻上下文
🌟 首次使用引导
检测触发:
- 用户说"我刚添加了mckinsey-consultant skill"
- 用户说"Can you make something amazing with it?"
- 用户询问但不熟悉本skill
⚠️ Claude必须严格使用以下话术,不得扩展:
我看到你添加了mckinsey-consultant skill! 这是一个McKinsey风格问题解决工具。 需要我介绍工作方法吗? 还是直接告诉我你想分析什么商业问题?
禁止事项:
- ❌ 不要列举示例问题(如"市场进入策略?"、"业务增长机会?"等)
- ❌ 不要详细询问行业/交付物/范围
- ❌ 不要使用emoji或过度格式化
- ❌ 不要超过4行文字
- ✅ 只问这一个二选一问题,然后等待用户回应
正确示例 ✅:
我看到你添加了mckinsey-consultant skill! 这是一个McKinsey风格问题解决工具。 需要我介绍工作方法吗? 还是直接告诉我你想分析什么商业问题?
错误示例 ❌:
我看到你添加了mckinsey-consultant skill!这是一个非常强大的咨询框架系统。 在开始创建之前,我想先和你确认几个关键问题: 1. **你想解决什么商业问题?** - 市场进入策略? - 业务增长机会? ... 2. **期望的交付物形式:** ...
如果需要介绍 →
file_read: references/quick-guide.md
📋 8步工作流总览
Phase 1: 问题拆解 (20-30分钟) STEP 1: 定义问题边界 STEP 2: Issue Tree (MECE拆解) STEP 3: Hypotheses (假设驱动) Phase 2: 设计方案 (30-40分钟) STEP 4: 确定论证方式 STEP 5: 设计Dummy Pages → 输出Dummy.md Phase 3: 逐页生成 (40-60分钟) STEP 6-7: 逐页循环(搜索→Excel→PPT→自检→暂停) STEP 8: 可选生成Word STEP 9: 迭代优化
⏱️ 总耗时: 90-110分钟 | vs传统: 节省95%
🚀 启动方式
方式1: 新项目
"用mckinsey-consultant分析[商业问题]" "分析中国XX市场的增长机会"
→ Claude执行: 从STEP 1开始
方式2: 跨对话续写
[上传 项目名_DummyPages_日期.md] [可选: 上传已完成的PPT和Excel] "这是之前的项目,请从第X页继续生成"
→ Claude执行: 读取Dummy,从指定页继续
📖 分步执行指南
STEP 1: 定义问题边界
目标: 明确"是什么/不是什么"
Claude动作:
- 询问用户核心目标
- 明确研究范围
- 确定交付形式
输出:
## 问题定义 ### 是 ✅ - [核心目标] ### 不是 ❌ - [排除内容]
无需加载额外文件 - 基础对话即可
STEP 2-3: Issue Tree + Hypotheses
目标: MECE拆解 + 形成假设
Claude动作 - 首次执行时:
# 第一次执行STEP 2时,才加载方法论 file_read("/mnt/skills/user/mckinsey-consultant/references/methodology.md") # 了解: # - MECE原则详解 # - Issue Tree拆解框架 # - Hypotheses形成方法 # - 快速搜索策略 # 用完后释放,不常驻上下文
执行流程:
- 基于methodology.md的框架拆解问题
- 执行5-10次快速web_search
- 记录完整URL(为STEP 5准备)
- 形成假设树
输出:
## Issue Tree + Hypotheses [按methodology.md的模板输出]
STEP 4-5: Dummy Pages设计
目标: 设计McKinsey风格页面布局 + 标注页面依赖关系
Claude动作 - 首次执行时:
# 第一次执行STEP 4-5时,才加载设计文档 file_read("/mnt/skills/user/mckinsey-consultant/references/layouts.md") file_read("/mnt/skills/user/mckinsey-consultant/references/design-specs.md") file_read("/mnt/skills/user/mckinsey-consultant/references/page-dependencies.md") # 了解: # - 7种McKinsey页面布局 # - 配色规范(PRIMARY_BLUE等) # - 字号体系(标题26pt等) # - 信息密度标准(50-70字符/平方英寸) # - 3种页面依赖关系类型 ⭐ 新增 # - 依赖关系标注方法 ⭐ 新增 # 用完后释放
执行流程:
- 为每个假设选择layouts.md中的布局类型
- 应用design-specs.md的设计规范
- 明确每页的数据需求和来源
- ⭐ 标注每页的依赖关系 (新增)
依赖关系类型:
- ✅ 独立: 无依赖,可直接生成
- ⏩ 依赖前页: 需要前面页面的数据
- ⏪ 依赖后页或hypothesis tree: 需要后面页面完成,也可以用前序step中的特定文档(如Hypothesis Tree),如执行摘要和目录
⭐ 输出:
项目名_DummyPages_日期.md
Dummy.md结构:
# [项目名] Dummy Pages ## 项目信息 - 创建日期: YYYY-MM-DD - 总页数: XX页 - 预计章节: X章 ## PPT设计规范 [从design-specs.md复制统一规范] ## ⭐ 页面依赖关系总览 (新增) 建议生成顺序: **第一轮: 独立页面** (可任意顺序) - 第1页 (封面) ✅ 独立 - 第3-10页 (基础数据分析) ✅ 独立 **第二轮: 前向依赖页面** (依赖第一轮) - 第11页 (趋势总结) ⏩ 需要第3-10页 **第三轮: 后向依赖页面** (最后生成) - 第2页 (执行摘要) ⏪ 需要后页或hypothesis tree ## 断点续写说明 [说明如何在新对话中续写] --- ## 第1页: 封面 **依赖关系**: ✅ 独立 **前置条件**: 无 **布局**: 标题居中型 **内容**: [封面内容] **Excel Sheet**: 无需数据Sheet --- ## 第2页: 执行摘要 **依赖关系**: ⏪ 依赖后页或hypothesis tree **前置条件**: - 理想: 所有分析页完成 - 最低: 需要Issue Tree文档 **必需文档**: STEP 3的Hypothesis Tree **缺失时对策**:
新对话中生成:
- 询问是否有Issue Tree
- 提供选项: 上传/描述/先做其他页
**布局**: 标题+项目符号型 **内容需求**: [核心发现] **Excel Sheet**: 无需数据Sheet --- ## 第3页: [McKinsey论点标题] **依赖关系**: ✅ 独立 **前置条件**: 无 **布局**: 标题+单图表型 **图表**: 堆积柱状图 **数据需求**: [具体数据点] **McKinsey设计**: [配色、标注、洞察框] **信息来源**: - https://example.com/report1 (来源描述) **Excel Sheet**: "第3页 [简短标题]" --- ## 第8页: [McKinsey论点标题] **依赖关系**: ⏩ 依赖前页 **前置条件**: 需要第3页数据 **依赖页面**: 第3页 **缺失时对策**:
若第3页未完成:
- 告知依赖
- 选项: 先做第3页 或 临时搜索
**布局**: 标题+左右分栏型 **数据需求**: - [本页数据] - 依赖: 第3页XX数据 **信息来源**: - web_search: "[关键词]" - 内部依赖: 第3页Excel **Excel Sheet**: "第8页 [简短标题]" [继续每一页...]
⚠️ 关键: Dummy.md必须完整,支持跨对话续写
STEP 6-7: 逐页收集数据 + 生成PPT&Excel
⚠️ 核心原则: 必须逐页循环,不能分离!
为什么逐页:
- ❌ 一次性搜索所有页 → 上下文爆炸
- ✅ 逐页进行 → 始终只有当前页的5次搜索结果
Claude动作 - 首次执行STEP 6时:
# 加载Excel规范 file_read("/mnt/skills/user/mckinsey-consultant/references/excel-data-spec.md") # 加载PPT V4生成规范(迭代式精修方法论) file_read("/mnt/skills/user/mckinsey-consultant/references/ppt-v4-specs.md") # 或按需只加载配置: file_read("/mnt/skills/user/mckinsey-consultant/references/ppt-v4-config.yaml") # 了解: # - Excel数据文件结构 # - PPT生成的6类常见问题及解决方案(布局/溢出/颜色/图表/边框/比例) # - McKinsey设计铁律(直角矩形/无边框/颜色对比度) # - 质量检查清单(生成时+生成后双重检查) # - Python-pptx实用工具函数库 # 用完后释放
逐页循环流程:
对于每一页: 0. ⭐ 依赖检查 (新增): - 查看该页的"依赖关系"标注 - 如果是"✅ 独立": 直接继续 - 如果有依赖: 执行检查流程 * 检查依赖页面是否完成 * 检查必需文档是否提供 * 如有缺失,告知用户并提供"缺失时对策" * 等待用户确认后再继续 1. 查看Dummy.md中该页的设计要求 2. 根据该页的"信息来源"执行2-5次web_search 3. 按excel-data-spec.md规范在Excel中记录数据: - 【区域A】原始数据 + 来源URL - 【区域B】最终数据 4. 生成该页PPT(严格按Dummy设计) 5. 自检6项: ✓ 布局类型匹配 ✓ 图表类型匹配 ✓ 真实数据 ✓ 设计元素完整 ✓ Excel数据完整 ✓ 来源URL记录 6. 告知用户: "第X页完成,已自检通过。是否继续?" 7. 等待确认 8. 清空该页搜索结果上下文 9. 继续下一页
⭐ 依赖检查示例:
场景1: 独立页面
第5页: 市场规模分析 依赖关系: ✅ 独立 Claude: "第5页无依赖,开始生成..." [直接执行步骤1-9]
场景2: 前向依赖,已满足
第8页: 品牌竞争格局 依赖关系: ⏩ 依赖第3页 Claude检查: - 第3页已完成 ✓ - 第3页Excel有必要数据 ✓ Claude: "第8页依赖检查通过,开始生成..." [执行步骤1-9,从第3页Excel获取数据]
场景3: 前向依赖,未满足
第8页: 品牌竞争格局 依赖关系: ⏩ 依赖第3页 Claude检查: - 第3页未完成 ✗ Claude: "⚠️ 依赖检查: 第8页需要第3页的市场规模数据 您有以下选择: 1. 先完成第3页,再返回生成第8页 (推荐) 2. 我临时搜索市场规模数据,直接生成第8页 3. 跳过第8页,稍后再生成 请告诉我您的选择(1/2/3)?" [等待用户确认]
场景4: 需要文档
第2页: 执行摘要 依赖关系: 📄 需要文档 Claude检查: - 对话中无Issue Tree ✗ - 分析页未完成 ✗ Claude: "📄 第2页(执行摘要)需要Issue Tree文档 此页需要基于核心假设和研究框架。请问: 1. 您有STEP 3生成的Hypothesis Tree吗? (上传即可) 2. 想让我先生成分析页,最后基于结果反推执行摘要? 3. 或简要描述核心研究问题,我基于此生成框架? 请选择或告诉我您的情况?" [等待用户回复]
场景5: 后向依赖
第2页: 执行摘要 依赖关系: ⏪ 依赖后页 Claude: "⏸️ 第2页(执行摘要)建议最后生成 执行摘要需要所有分析完成后才能准确总结。 建议流程: 1. 先完成第3-25页的分析内容 2. 最后基于完整分析生成执行摘要 当然,如需先生成框架,请提供Issue Tree文档。 继续生成第2页,还是先做其他页面?" [等待用户确认]
✓ Excel数据完整 ✓ 来源URL记录 6. 告知用户: "第X页完成,已自检通过。是否继续?" 7. 等待确认 8. 清空该页搜索结果上下文 9. 继续下一页
**上下文管理策略**: ```python # 每页开始前 current_page_context = { "dummy_design": read_from_dummy_md(page_number), "search_results": [], # 最多5个 "excel_data": {} } # 每页完成后 clear_context(current_page_context) # 释放该页数据 move_to_next_page()
断点续写支持:
场景1: 同一对话内暂停
用户: "暂停,明天继续" Claude: "已暂停在第X页" [稍后] 用户: "从第X页继续" Claude: [查看Dummy第X页设计,继续循环]
场景2: 跨对话续写 ⭐
[新对话] 用户: [上传Dummy.md + PPT + Excel] "请从第6页继续" Claude: 1. file_read(Dummy.md) # 读取完整设计规范 2. 读取已有PPT和Excel了解进度 3. 查看Dummy第6页的设计要求 4. 开始逐页循环流程
STEP 8: 可选生成Word
触发: 用户明确要求"也要Word"
Claude动作:
# 只有用户要Word时才加载 file_read("/mnt/skills/user/mckinsey-consultant/references/delivery-summary.md") # 了解Word报告结构和格式要求 # 调用docx skill生成
原则: 默认不提,节省上下文
STEP 9: 迭代优化
触发: 用户反馈需要修改
Claude动作:
# 加载问题排查手册 file_read("/mnt/skills/user/mckinsey-consultant/references/troubleshooting.md") # 如果涉及PPT视觉问题,加载V4迭代优化方法论 file_read("/mnt/skills/user/mckinsey-consultant/references/ppt-v4-specs.md") # 快速参考: file_read("/mnt/skills/user/mckinsey-consultant/references/ppt-v4-checklist.md") # 了解: # - V4迭代式优化工作流(5轮迭代: 初稿→识别→修复→拆分→打磨) # - 6类问题的精确解决方案 # - 批量检查和自动修复函数 # 针对性修复
优化重点 (V4方法论):
- 颜色对比度(深蓝背景→白色文字) — 头号问题,强制规则
- 信息密度(50-70字符/平方英寸) — 超标则拆页而非压缩
- 元素遮挡/文字溢出 — 重建而非修补
- McKinsey形状规范 — 大文本框直角矩形,无边框为常态
- 图表标签空间 — 预留0.35英寸+
🎯 上下文优化策略总结
V2.0问题:
加载: SKILL.md全文(1130行) + 所有references 结果: 上下文快速消耗,生成10-15页就困难
V4.0优化 (含ppt-v4集成):
初始加载: SKILL.md核心(~300行) STEP 1: 无需额外加载 STEP 2-3: 临时加载methodology.md → 用完释放 STEP 4-5: 临时加载layouts.md + design-specs.md + page-dependencies.md → 用完释放 STEP 6-7: 临时加载excel-data-spec.md + ppt-v4-specs.md → 用完释放 + 逐页处理(每次只5个搜索结果) + 每页自检使用ppt-v4-checklist.md STEP 8: 按需加载delivery-summary.md STEP 9: 按需加载troubleshooting.md + ppt-v4-specs.md(迭代优化方法论) 结果: 上下文消耗降低70%+,PPT质量从85分提升到95分
Claude执行原则:
按需加载 (Lazy Loading):
- ✅ 只在需要时
file_read - ✅ 读取 → 使用 → 释放
- ❌ 不预加载所有文档
分阶段处理:
- ✅ 每个STEP独立加载所需文档
- ✅ STEP间不保留上一步的详细内容
- ✅ 只记录关键决策和输出
逐页循环:
- ✅ STEP 6-7必须逐页进行
- ✅ 每页完成清空搜索结果
- ✅ 下一页重新开始
📚 Reference文件索引
Claude根据当前STEP,按需读取:
| 文件 | 用途 | 何时加载 |
|---|---|---|
| MECE、Issue Tree、Hypotheses方法论 | STEP 2-3首次执行 |
| 7种McKinsey页面布局库 | STEP 4-5首次执行 |
| 配色、字号、信息密度规范 | STEP 4-5首次执行 |
| 页面依赖关系标注规范 | STEP 4-5首次执行 |
| Excel数据文件结构规范 | STEP 6首次执行 |
| PPT V4迭代式精修方法论 (原mckinsey-ppt-v4) | STEP 6首次执行 + STEP 9 |
| PPT配色/字号/布局参数常量 | STEP 6按需 |
| PPT V4终极检查清单 | STEP 6-7每页自检 + STEP 9 |
| PPT V4快速参考卡 | 按需速查 |
| Word报告结构和格式 | STEP 8用户要求时 |
| 常见问题和解决方案 | STEP 9遇到问题时 |
| 快速参考和介绍 | 用户首次询问时 |
| 详细流程图 | 用户要求查看时 |
| 完整案例参考 | 用户要求案例时 |
⚠️ 重要: 除了当前步骤需要的文件,不要加载其他文件!
💡 使用示例
新项目:
用户: "用mckinsey-consultant分析中国新能源汽车市场" Claude: [加载: 无,基于SKILL.md核心即可] STEP 1: 定义问题边界... [第一次到STEP 2时] file_read(methodology.md) STEP 2-3: 构建Issue Tree... [用完释放methodology.md] [第一次到STEP 4-5时] file_read(layouts.md) file_read(design-specs.md) STEP 4-5: 设计Dummy Pages... [输出Dummy.md] [用完释放layouts.md, design-specs.md] [第一次到STEP 6时] file_read(excel-data-spec.md) STEP 6-7: 逐页生成... 第1页: 搜索→Excel→PPT→自检→暂停 [清空第1页上下文] 第2页: 搜索→Excel→PPT→自检→暂停 [清空第2页上下文] ...
跨对话续写:
[新对话] 用户: [上传Dummy.md] "请从第10页继续" Claude: file_read(Dummy.md) # 读取完整项目规范 [识别当前在STEP 6-7] file_read(excel-data-spec.md) # 按需加载 查看Dummy第10页设计要求 开始第10页: 搜索→Excel→PPT→自检→暂停
🎓 开发者说明
版本: V4.0 - Progressive Disclosure + PPT V4 Integration 作者: Qianru Tian (fleurytian@gmail.com) 关注: 小红书@如宝|AI&Analytics 背景: 前麦肯锡中国咨询顾问 + AI产品经理
V4.0核心升级:
- 渐进式披露: 从1130行压缩到~300行核心
- 按需加载: Claude主动
所需文档file_read - 上下文优化: 用完即释放,降低70%+消耗
- 稳定性提升: 可稳定生成20-25页PPT
- PPT V4集成: 迭代式精修方法论,6类问题解决方案,质量双重检查,Python工具函数库
反馈与建议: fleurytian@gmail.com
⚠️ Claude执行检查清单
在执行本skill时,Claude应该确认:
⚠️ CRITICAL - 行为规则检查:
- 首次使用时:是否严格使用了4行精确话术?
- 首次使用时:是否避免了列举示例和详细询问?
- 问题澄清时:是否只问了1-2个关键问题?
- 流程启动:是否等待用户明确指示后才开始STEP 1?
初始阶段:
- 只加载了SKILL.md核心,没有预加载references
- 理解了"按需加载"原则
STEP 1:
- 直接执行,无需加载额外文件
STEP 2-3:
- 首次执行时才
file_read(methodology.md) - 使用完后不在上下文中保留全文
STEP 4-5:
- 首次执行时才加载layouts.md和design-specs.md
- 输出完整Dummy.md文件
- 使用完后释放
STEP 6-7:
- 首次执行时才
file_read(excel-data-spec.md) - 严格逐页循环,不能一次性处理多页
- 每页完成后清空该页搜索结果
- 下一页开始前重新查看Dummy设计
STEP 8-9:
- 只在需要时才加载对应文档
- 默认不主动提供
全程原则:
- 用完即释放,不常驻上下文
- 遇到不确定的问题才查阅troubleshooting.md
- 不重复加载已经用过的文档