Architecture: Progressive Disclosure + Dependency-Aware Core Upgrade:
- V3.0: Minimal core + on-demand loading → saves 70% context
- V3.1: Page dependency annotation → smarter cross-conversation continuation
⚠️ CRITICAL BEHAVIOR RULES
These rules have the highest priority, and Claude must strictly comply with them:
1. First-use response rules
When the user says "I just added the mckinsey-consultant skill" or "Can you make something amazing with it?":
- ✅ Must use the exact wording from "First-Use Guidance" below
- ✅ Output only 4 lines of text, without any expansion
- ❌ Do not list example questions
- ❌ Do not ask in detail about industry/deliverable/scope, etc.
- ❌ Do not reply with more than 4 lines
- ✅ Ask only one either-or question, then wait for the user's response
2. Question clarification rules
- ✅ Ask only the 1-2 most critical questions at the moment
- ❌ Do not list more than 5 questions at once
- ❌ Do not turn clarification into a "requirements research questionnaire"
3. Process startup rules
- ✅ Enter the Problem Solving process only after the user explicitly says "start" or provides enough information
- ❌ Do not automatically start STEP 1 when the user is only asking
🎯 Architecture Description
Problem: V2.0's SKILL.md contains 1130 lines of complete documentation, and loading it all at once consumes a large amount of context
Solution: V3.0 adopts a "navigation map" mode
- SKILL.md: Only navigation and trigger logic (~300 lines)
- References: Detailed content on demand
file_readloading - Principle: Release immediately after use, do not keep it resident in context
🌟 First-Use Guidance
Detect trigger:
- The user says "I just added the mckinsey-consultant skill"
- The user says "Can you make something amazing with it?"
- The user asks but is unfamiliar with this skill
⚠️ Claude must strictly use the following wording and must not expand:
我看到你添加了mckinsey-consultant skill!
这是一个McKinsey风格问题解决工具。
需要我介绍工作方法吗?
还是直接告诉我你想分析什么商业问题?
Prohibitions:
- ❌ Do not list example questions (such as "Market entry strategy?", "Business growth opportunities?", etc.)
- ❌ Do not ask in detail about industry/deliverable/scope
- ❌ Do not use emoji or excessive formatting
- ❌ Do not exceed 4 lines of text
- ✅ Ask only this one either-or question, then wait for the user's response
Correct example ✅:
我看到你添加了mckinsey-consultant skill!
这是一个McKinsey风格问题解决工具。
需要我介绍工作方法吗?
还是直接告诉我你想分析什么商业问题?
Incorrect example ❌:
我看到你添加了mckinsey-consultant skill!这是一个非常强大的咨询框架系统。
在开始创建之前,我想先和你确认几个关键问题:
1. **你想解决什么商业问题?**
- 市场进入策略?
- 业务增长机会?
...
2. **期望的交付物形式:**
...
If an introduction is needed → file_read: references/quick-guide.md
📋 8-Step Workflow Overview
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: 迭代优化
⏱️ Total time: 90-110 minutes | vs traditional: saves 95%
🚀 Startup Methods
Method 1: New project
"用mckinsey-consultant分析[商业问题]"
"分析中国XX市场的增长机会"
→ Claude executes: start from STEP 1
Method 2: Cross-conversation continuation
[上传 项目名_DummyPages_日期.md]
[可选: 上传已完成的PPT和Excel]
"这是之前的项目,请从第X页继续生成"
→ Claude executes: read the Dummy and continue from the specified page
📖 Step-by-Step Execution Guide
STEP 1: Define the problem boundary
Goal: Clarify "what it is / what it is not"
Claude Actions:
- Ask the user about the core objective
- Clarify the research scope
- Determine the delivery format
Output:
## 问题定义
### 是 ✅
- [核心目标]
### 不是 ❌
- [排除内容]
No additional files need to be loaded - Basic conversation is sufficient
STEP 2-3: Issue Tree + Hypotheses
Objective: MECE breakdown + form hypotheses
Claude Actions - On first execution:
# 第一次执行STEP 2时,才加载方法论
file_read("/mnt/skills/user/mckinsey-consultant/references/methodology.md")
# 了解:
# - MECE原则详解
# - Issue Tree拆解框架
# - Hypotheses形成方法
# - 快速搜索策略
# 用完后释放,不常驻上下文
Execution flow:
- Break down the problem based on the framework in methodology.md
- Perform 5-10 quick web_search calls
- Record complete URLs (to prepare for STEP 5)
- Form a hypothesis tree
Output:
## Issue Tree + Hypotheses
[按methodology.md的模板输出]
STEP 4-5: Dummy Pages design
Objective: Design McKinsey-style page layouts + annotate page dependencies
Claude Actions - On first execution:
# 第一次执行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种页面依赖关系类型 ⭐ 新增
# - 依赖关系标注方法 ⭐ 新增
# 用完后释放
Execution flow:
- Select a layout type from layouts.md for each hypothesis
- Apply the design specifications in design-specs.md
- Clarify the data requirements and sources for each page
- ⭐ Annotate the dependencies of each page (new)
Dependency types:
- ✅ Independent: no dependencies, can be generated directly
- ⏩ Depends on previous page: needs data from previous pages
- ⏪ Depends on later pages or the hypothesis tree: needs later pages to be completed, or can use specific documents from previous steps (such as the Hypothesis Tree), e.g. executive summary and table of contents
⭐ Output: 项目名_DummyPages_日期.md
Dummy.md structure:
# [项目名] 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
**缺失时对策**:
Generate in a new conversation:
- Ask whether there is an Issue Tree
- Provide options: upload / describe / do other pages first
**布局**: 标题+项目符号型
**内容需求**: [核心发现]
**Excel Sheet**: 无需数据Sheet
---
## 第3页: [McKinsey论点标题]
**依赖关系**: ✅ 独立
**前置条件**: 无
**布局**: 标题+单图表型
**图表**: 堆积柱状图
**数据需求**: [具体数据点]
**McKinsey设计**: [配色、标注、洞察框]
**信息来源**:
- https://example.com/report1 (来源描述)
**Excel Sheet**: "第3页 [简短标题]"
---
## 第8页: [McKinsey论点标题]
**依赖关系**: ⏩ 依赖前页
**前置条件**: 需要第3页数据
**依赖页面**: 第3页
**缺失时对策**:
If page 3 is not completed:
- Inform about the dependency
- Options: do page 3 first, or search temporarily
**布局**: 标题+左右分栏型
**数据需求**:
- [本页数据]
- 依赖: 第3页XX数据
**信息来源**:
- web_search: "[关键词]"
- 内部依赖: 第3页Excel
**Excel Sheet**: "第8页 [简短标题]"
[继续每一页...]
⚠️ Key: Dummy.md must be complete to support cross-conversation continuation
STEP 6-7: Collect data page by page + generate PPT & Excel
⚠️ Core principle: Must loop page by page, they cannot be separated!
Why page by page:
- ❌ Searching all pages at once → context explosion
- ✅ Page by page → always only the 5 search results for the current page
Claude Actions - On first execution of STEP 6:
# 只在开始STEP 6时加载Excel规范
file_read("/mnt/skills/user/mckinsey-consultant/references/excel-data-spec.md")
# 了解Excel数据文件结构
# 用完后释放
Page-by-page loop flow:
对于每一页:
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. 继续下一页
⭐ Dependency check examples:
Scenario 1: Independent page
第5页: 市场规模分析
依赖关系: ✅ 独立
Claude:
"第5页无依赖,开始生成..."
[直接执行步骤1-9]
Scenario 2: Forward dependency, already satisfied
第8页: 品牌竞争格局
依赖关系: ⏩ 依赖第3页
Claude检查:
- 第3页已完成 ✓
- 第3页Excel有必要数据 ✓
Claude:
"第8页依赖检查通过,开始生成..."
[执行步骤1-9,从第3页Excel获取数据]
Scenario 3: Forward dependency, not satisfied
第8页: 品牌竞争格局
依赖关系: ⏩ 依赖第3页
Claude检查:
- 第3页未完成 ✗
Claude:
"⚠️ 依赖检查: 第8页需要第3页的市场规模数据
您有以下选择:
1. 先完成第3页,再返回生成第8页 (推荐)
2. 我临时搜索市场规模数据,直接生成第8页
3. 跳过第8页,稍后再生成
请告诉我您的选择(1/2/3)?"
[等待用户确认]
Scenario 4: Document needed
第2页: 执行摘要
依赖关系: 📄 需要文档
Claude检查:
- 对话中无Issue Tree ✗
- 分析页未完成 ✗
Claude:
"📄 第2页(执行摘要)需要Issue Tree文档
此页需要基于核心假设和研究框架。请问:
1. 您有STEP 3生成的Hypothesis Tree吗? (上传即可)
2. 想让我先生成分析页,最后基于结果反推执行摘要?
3. 或简要描述核心研究问题,我基于此生成框架?
请选择或告诉我您的情况?"
[等待用户回复]
Scenario 5: Backward dependency
第2页: 执行摘要
依赖关系: ⏪ 依赖后页
Claude:
"⏸️ 第2页(执行摘要)建议最后生成
执行摘要需要所有分析完成后才能准确总结。
建议流程:
1. 先完成第3-25页的分析内容
2. 最后基于完整分析生成执行摘要
当然,如需先生成框架,请提供Issue Tree文档。
继续生成第2页,还是先做其他页面?"
[等待用户确认]
✓ Excel data complete ✓ Source URLs recorded 6. Inform the user: "Page X is complete and has passed self-check. Continue?" 7. Wait for confirmation 8. Clear the search result context for that page 9. Continue to the next page
**上下文管理策略**:
```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()
Breakpoint continuation support:
Scenario 1: Pause within the same conversation
用户: "暂停,明天继续"
Claude: "已暂停在第X页"
[稍后]
用户: "从第X页继续"
Claude: [查看Dummy第X页设计,继续循环]
Scenario 2: Cross-conversation continuation ⭐
[新对话]
用户: [上传Dummy.md + PPT + Excel]
"请从第6页继续"
Claude:
1. file_read(Dummy.md) # 读取完整设计规范
2. 读取已有PPT和Excel了解进度
3. 查看Dummy第6页的设计要求
4. 开始逐页循环流程
STEP 8: Optional Word generation
Trigger: The user explicitly requests "also Word"
Claude Actions:
# 只有用户要Word时才加载
file_read("/mnt/skills/user/mckinsey-consultant/references/delivery-summary.md")
# 了解Word报告结构和格式要求
# 调用docx skill生成
Principle: Do not mention it by default, to save context
STEP 9: Iterative optimization
Trigger: User feedback requires modification
Claude Actions:
# 只有出现问题时才加载
file_read("/mnt/skills/user/mckinsey-consultant/references/troubleshooting.md")
# 了解常见问题和解决方案
# 针对性修复
Optimization focus:
- Color contrast (dark blue background → white text)
- Information density (50-70 characters/square inch)
- Element occlusion/text overflow
🎯 Context optimization strategy summary
V2.0 issues:
加载: SKILL.md全文(1130行) + 所有references
结果: 上下文快速消耗,生成10-15页就困难
V3.0 optimizations:
初始加载: SKILL.md核心(~300行)
STEP 1: 无需额外加载
STEP 2-3: 临时加载methodology.md → 用完释放
STEP 4-5: 临时加载layouts.md + design-specs.md → 用完释放
STEP 6-7: 临时加载excel-data-spec.md → 用完释放
+ 逐页处理(每次只5个搜索结果)
STEP 8: 按需加载delivery-summary.md
STEP 9: 按需加载troubleshooting.md
结果: 上下文消耗降低70%+,可稳定生成20-25页
Claude execution principles:
Lazy Loading:
- ✅ Only when needed
file_read - ✅ Read → Use → Release
- ❌ Do not preload all documents
Phased processing:
- ✅ Each STEP independently loads the required documents
- ✅ Detailed content from the previous step is not retained between STEPs
- ✅ Only record key decisions and outputs
Page-by-page loop:
- ✅ STEP 6-7 must be performed page by page
- ✅ Clear search results after each page is completed
- ✅ Start over on the next page
📚 Reference file index
Claude reads on demand according to the current STEP:
| File | Purpose | When to load |
|---|---|---|
methodology.md |
MECE, Issue Tree, Hypotheses methodology | First execution of STEP 2-3 |
layouts.md |
7 McKinsey page layout library | First execution of STEP 4-5 |
design-specs.md |
Color scheme, font size, information density specifications | First execution of STEP 4-5 |
page-dependencies.md |
Page dependency annotation specification ⭐ New | First execution of STEP 4-5 |
excel-data-spec.md |
Excel data file structure specification | First execution of STEP 6 |
delivery-summary.md |
Word report structure and format | When requested by the user in STEP 8 |
troubleshooting.md |
Common issues and solutions | When encountering issues in STEP 9 |
quick-guide.md |
Quick reference and introduction | When the user asks for the first time |
workflow.md |
Detailed flowchart | When the user requests to view it |
examples.md |
Complete case reference | When the user requests a case |
⚠️ Important: Except for the files needed for the current step, do not load other files!
💡 Usage examples
New project:
用户: "用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页上下文]
...
Cross-conversation continuation:
[新对话]
用户: [上传Dummy.md]
"请从第10页继续"
Claude:
file_read(Dummy.md) # 读取完整项目规范
[识别当前在STEP 6-7]
file_read(excel-data-spec.md) # 按需加载
查看Dummy第10页设计要求
开始第10页: 搜索→Excel→PPT→自检→暂停
🎓 Developer notes
Version: V3.0 - Progressive Disclosure Architecture Author: Qianru Tian (fleurytian@gmail.com) Follow: Xiaohongshu @如宝|AI&Analytics Background: Former McKinsey China consultant + AI product manager
V3.0 core upgrades:
- Progressive disclosure: Compressed from 1130 lines to ~300 core lines
- On-demand loading: Claude proactively
file_readrequired documents - Context optimization: Release immediately after use, reducing consumption by 70%+
- Stability improvement: Can stably generate 20-25 page PPTs
Feedback and suggestions: fleurytian@gmail.com
⚠️ Claude execution checklist
When executing this skill, Claude should confirm:
⚠️ CRITICAL - Behavior rule check:
- On first use: Was the 4-line precise script strictly used?
- On first use: Were listing examples and detailed questioning avoided?
- When clarifying issues: Were only 1-2 key questions asked?
- Process start: Did it wait for explicit user instruction before starting STEP 1?
Initial stage:
- Only the SKILL.md core was loaded, references were not preloaded
- Understood the "load on demand" principle
STEP 1:
- Execute directly, no need to load additional files
STEP 2-3:
- Only on first execution
file_read(methodology.md) - After use, the full text is not retained in context
STEP 4-5:
- Load layouts.md and design-specs.md only on first execution
- Output the complete Dummy.md file
- Release after use
STEP 6-7:
- Only on first execution
file_read(excel-data-spec.md) - Strict page-by-page loop, cannot process multiple pages at once
- Clear that page's search results after each page is completed
- Review the Dummy design again before starting the next page
STEP 8-9:
- Load the corresponding document only when needed
- Not provided proactively by default
Overall principles:
- Release immediately after use, do not keep resident in context
- Consult troubleshooting.md only when encountering uncertain issues
- Do not reload documents that have already been used