day2-create-context-sync-skill
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDay 2: 나만의 Context Sync 스킬 만들기
Day 2:打造专属Context Sync Skill
이 스킬이 호출되면 아래 STOP PROTOCOL을 반드시 따른다.
当调用此Skill时,必须遵循以下STOP PROTOCOL。
용어 정리
术语定义
이 스킬에서 사용하는 핵심 용어:
| 용어 | 설명 |
|---|---|
| MCP | Claude가 외부 서비스(Slack, Gmail 등)와 대화하는 통로. Day 1에서 배운 "도구"를 외부로 확장하는 것 |
| subagent | Claude가 다른 Claude를 불러서 일을 시키는 것. 여러 일을 동시에 처리할 때 사용 |
| Explore 에이전트 | 프로젝트 폴더 구조를 파악해주는 전문 subagent |
| API | 서비스가 제공하는 데이터 창구. MCP가 없을 때 직접 코드로 데이터를 가져오는 방법 |
| 스킬(Skill) | Claude Code에게 특정 작업 방법을 가르치는 문서. Day 1 Block 3-2에서 체험한 것 |
本Skill中使用的核心术语:
| 术语 | 说明 |
|---|---|
| MCP | Claude与外部服务(Slack、Gmail等)交互的通道,是对Day 1所学「工具」的外部扩展 |
| subagent | Claude调用其他Claude来执行任务,用于同时处理多项工作 |
| Explore Agent | 专门负责分析项目文件夹结构的子Agent |
| API | 服务提供的数据接口,在没有MCP时通过代码直接获取数据的方法 |
| Skill | 向Claude Code传授特定工作方法的文档,即Day 1 Block 3-2中体验的内容 |
STOP PROTOCOL — 절대 위반 금지
STOP PROTOCOL — 严禁违反
이 프로토콜은 이 스킬의 최우선 규칙이다. 아래 규칙을 위반하면 수업이 망가진다.
本协议是本Skill的最高优先级规则,违反将导致课程无法正常进行。
각 블록은 반드시 2턴에 걸쳐 진행한다
每个模块必须分2轮完成
┌─ Phase A (첫 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 EXPLAIN 섹션을 읽는다 │
│ 2. 기능을 설명한다 │
│ 3. references/에서 해당 블록 파일의 EXECUTE 섹션을 읽는다 │
│ 4. "지금 직접 실행해보세요"라고 안내한다 │
│ 5. ⛔ 여기서 반드시 STOP. 턴을 종료한다. │
│ │
│ ❌ 절대 하지 않는 것: 퀴즈 출제, QUIZ 섹션 읽기 │
│ ❌ 절대 하지 않는 것: AskUserQuestion 호출 (Block 0,2,5 제외)│
│ ❌ 절대 하지 않는 것: "실행해봤나요?" 질문 │
└──────────────────────────────────────────────────────────┘
⬇️ 사용자가 돌아와서 "했어", "완료", "다음" 등을 입력한다
┌─ Phase B (두 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 QUIZ 섹션을 읽는다 │
│ 2. AskUserQuestion으로 퀴즈를 출제한다 │
│ 3. 정답/오답 피드백을 준다 │
│ 4. 다음 블록으로 이동할지 AskUserQuestion으로 묻는다 │
│ 5. ⛔ 다음 블록을 시작하면 다시 Phase A부터. │
└──────────────────────────────────────────────────────────┘┌─ Phase A (第一轮) ──────────────────────────────┐
│ 1. 读取references/中对应模块文件的EXPLAIN章节 │
│ 2. 说明功能 │
│ 3. 读取references/中对应模块文件的EXECUTE章节 │
│ 4. 提示「现在请亲自尝试执行」 │
│ 5. ⛔ 在此必须停止,结束本轮对话。 │
│ │
│ ❌ 严禁操作:出题测验、读取QUIZ章节 │
│ ❌ 严禁操作:调用AskUserQuestion(Block 0、2、5除外)│
│ ❌ 严禁操作:询问「你执行了吗?」 │
└──────────────────────────────────────────────────────────┘
⬇️ 用户返回「完成了」「搞定」「下一个」等内容后
┌─ Phase B (第二轮) ──────────────────────────────┐
│ 1. 读取references/中对应模块文件的QUIZ章节 │
│ 2. 通过AskUserQuestion出题测验 │
│ 3. 给出正确/错误的反馈 │
│ 4. 通过AskUserQuestion询问是否进入下一个模块 │
│ 5. ⛔ 进入下一个模块后,重新从Phase A开始。 │
└──────────────────────────────────────────────────────────┘핵심 금지 사항 (절대 위반 금지)
核心禁止事项(严禁违反)
- Phase A에서 AskUserQuestion을 호출하지 않는다 (Block 0, 2, 5 제외) — 이 3개 블록은 사용자 선택이 필수이므로 예외
- Phase A에서 퀴즈를 내지 않는다 — QUIZ 섹션은 Phase B에서만 읽는다
- Phase A에서 "실행해봤나요?"를 묻지 않는다 — 사용자가 먼저 말할 때까지 기다린다
- 한 턴에 EXPLAIN + QUIZ를 동시에 하지 않는다 — 반드시 2턴으로 나눈다
- Phase A中禁止调用AskUserQuestion(Block 0、2、5除外) — 这3个模块因必须由用户选择,故为例外
- Phase A中禁止出题测验 — QUIZ章节仅在Phase B中读取
- Phase A中禁止询问「你执行了吗?」 — 等待用户主动告知
- 禁止在一轮对话中同时进行EXPLAIN + QUIZ — 必须拆分为2轮
공식 문서 URL 출력 (절대 누락 금지)
必须输出官方文档URL(严禁遗漏)
모든 블록의 Phase A 시작 시, 해당 reference 파일 상단의 URL을 반드시 그대로 출력한다.
> 공식 문서:📖 공식 문서: [URL]- reference 파일에 URL이 여러 개 있으면 전부 출력한다
- URL을 요약하거나 생략하지 않는다
在所有模块的Phase A开始时,必须原样输出对应reference文件顶部的 URL:
> 官方文档:📖 官方文档: [URL]- 若reference文件中有多个URL,需全部输出
- 不得总结或省略URL
Phase A 종료 시 필수 문구
Phase A结束时的必填语句
Phase A의 마지막에는 반드시 아래 형태의 문구를 출력하고 Stop한다:
---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.이 문구 이후에 어떤 도구 호출(AskUserQuestion 포함)이나 추가 텍스트도 출력하지 않는다.
Phase A的最后必须输出以下格式的语句后停止:
---
👆 请亲自尝试执行上述内容。
执行完成后,请输入「完成」或「下一个」。此语句之后不得输出任何工具调用(包括AskUserQuestion)或额外文本。
핵심 전략: 템플릿 먼저, 단계별 커스터마이징
核心策略:先模板,再分步定制
아래 방식으로 진행한다:
- Block 0에서 사용자가 도구를 선택하면, 기반으로 스킬 파일을 즉시 생성한다
templates/context-sync.md - 이후 Block 1~6에서 생성된 스킬의 해당 부분만 수정/확장한다
- 최종적으로 완성된 스킬을 실행하여 결과를 확인한다
템플릿에는 Slack, Notion, Gmail, Google Calendar 4가지 도구의 예시가 포함되어 있다. 사용자가 선택한 도구 조합에 맞춰 필요한 부분만 남기고, 새 도구는 같은 패턴으로 추가한다.
按以下方式推进:
- 在Block 0中用户选择工具后,立即基于生成Skill文件
templates/context-sync.md - 后续在Block 1~6中仅修改/扩展已生成Skill的对应部分
- 最终运行完成的Skill并验证结果
模板中包含Slack、Notion、Gmail、Google Calendar 4种工具的示例。 根据用户选择的工具组合保留必要部分,并按照相同模式添加新工具。
블록-템플릿 섹션 매핑
模块-模板章节映射
각 블록에서 수정하는 템플릿 영역:
| Block | 수정 대상 | 템플릿 섹션 |
|---|---|---|
| 0 | 스킬 골격 생성 | 전체 (선택한 도구만 남기기) |
| 1 | 프로젝트 맥락 반영 | frontmatter description, 수집 범위 |
| 2 | 연결 방법 확정 | 각 소스의 "수집 방법" |
| 3 | 병렬 수집 실행 | "실행 흐름" 섹션 |
| 4 | 수집 결과 반영 | "추출할 정보" 조정 |
| 5 | 출력 형식 설정 | "출력 포맷" 섹션 |
| 6 | 최종 정리 + 실행 | 전체 마무리 |
每个模块对应的模板修改区域:
| Block | 修改对象 | 模板章节 |
|---|---|---|
| 0 | 生成Skill框架 | 整体(仅保留选中的工具) |
| 1 | 反映项目上下文 | frontmatter描述、收集范围 |
| 2 | 确定连接方式 | 每个数据源的「收集方法」 |
| 3 | 执行并行收集 | 「执行流程」章节 |
| 4 | 反映收集结果 | 调整「需提取的信息」 |
| 5 | 设置输出格式 | 「输出格式」章节 |
| 6 | 最终整理 + 执行 | 整体收尾 |
블록 특수 규칙
模块特殊规则
- Block 0 (도구 선택 + 스킬 생성): Phase A에서 설명 + AskUserQuestion으로 도구 선택. 선택 결과로 템플릿 기반 스킬 생성 → Stop. Phase B에서 생성된 스킬 확인 퀴즈.
- Block 1 (프로젝트 탐색): Phase A에서 Explore 에이전트로 프로젝트 구조를 파악하고 결과 공유 → Stop. Phase B에서 퀴즈.
- Block 2 (도구 연결): Phase A에서 MCP vs API 선택 안내 + AskUserQuestion → Claude가 설정을 대신 수행하고 사용자는 결과를 확인 → Stop. Phase B에서 퀴즈.
- Block 3 (Context 수집): Phase A에서 subagent 병렬 수집 설명 + 실행 → 수집 결과를 성공/실패로 구분하여 보여주기 → Stop. Phase B에서 퀴즈.
- Block 4 (결과 검증): Phase A에서 실패한 소스 재시도 + 수집 데이터 품질 확인 → Stop. Phase B에서 퀴즈.
- Block 5 (Output 설정): Phase A에서 Output format 선택 안내 + AskUserQuestion → 선택에 따라 스킬 수정 → Stop. Phase B에서 퀴즈.
- Block 6 (완성 + 실행): Phase A에서 최종 스킬 구성 정리 + 실제 실행 → Stop. Phase B에서 종합 퀴즈 + 마무리.
- Block 0(工具选择 + Skill生成):Phase A中说明内容 + 通过AskUserQuestion获取工具选择。根据选择结果基于模板生成Skill → 停止。Phase B中出题测验验证生成的Skill。
- Block 1(项目探索):Phase A中通过Explore Agent分析项目结构并共享结果 → 停止。Phase B中出题测验。
- Block 2(工具连接):Phase A中说明MCP与API的选择 + 通过AskUserQuestion获取选择 → 由Claude代为完成设置,用户仅需确认结果 → 停止。Phase B中出题测验。
- Block 3(上下文收集):Phase A中说明subagent并行收集 + 执行 → 将收集结果按成功/失败分类展示 → 停止。Phase B中出题测验。
- Block 4(结果验证):Phase A中重新尝试收集失败的数据源 + 验证数据质量 → 停止。Phase B中出题测验。
- Block 5(输出设置):Phase A中说明输出格式选择 + 通过AskUserQuestion获取选择 → 根据选择修改Skill → 停止。Phase B中出题测验。
- Block 6(完成 + 执行):Phase A中整理最终Skill结构 + 实际运行 → 停止。Phase B中进行综合测验 + 收尾。
Block 0 예외 규칙
Block 0例外规则
Block 0의 Phase A는 AskUserQuestion을 사용한다. 도구 선택이 이후 모든 블록의 전제 조건이므로 반드시 사용자 입력을 받아야 한다.
Phase A 진행 순서:
- 의 EXPLAIN 섹션을 읽고 설명한다
references/block0-tool-selection.md - AskUserQuestion으로 도구를 선택받는다 (multiSelect: true)
- 템플릿을 읽는다
templates/context-sync.md - 선택된 도구에 맞춰 사용자의 프로젝트에 를 생성한다
.claude/skills/my-context-sync/SKILL.md - 생성된 파일의 전체 구조만 간략히 보여주고 Stop한다 (세부 내용은 이후 블록에서)
Block 0的Phase A允许使用AskUserQuestion,因为工具选择是后续所有模块的前提,必须获取用户输入。
Phase A执行顺序:
- 读取的EXPLAIN章节并说明
references/block0-tool-selection.md - 通过AskUserQuestion获取工具选择(multiSelect: true)
- 读取模板
templates/context-sync.md - 根据选中的工具,在用户项目中创建
.claude/skills/my-context-sync/SKILL.md - 仅简要展示生成文件的整体结构后停止(详细内容在后续模块中处理)
Block 2 예외 규칙
Block 2例外规则
Block 2의 Phase A도 AskUserQuestion을 사용한다. 각 도구별로 MCP와 API 중 연결 방식을 선택해야 한다.
핵심 원칙: Claude가 설정을 대신 수행하고, 사용자는 결과를 확인한다.
MCP 선택 시:
- 의 MCP 안내를 따른다
references/block2-tool-connection.md - 를 사용하여 GitHub README.md에서 적합한 MCP 서버를 검색한다
scripts/mcp_servers.py - 검색 결과를 보여주고, Claude가 에 서버를 등록한다
.mcp.json - 명령으로 서버 연결 상태를 함께 확인한다
/mcp
API 선택 시:
- Claude가 직접 API 호출 코드를 작성한다
- 사용자의 스킬 폴더에 저장한다
scripts/
Block 2的Phase A也允许使用AskUserQuestion,必须为每个工具选择MCP或API连接方式。
核心原则:由Claude代为完成设置,用户仅需确认结果。
选择MCP时:
- 遵循中的MCP指引
references/block2-tool-connection.md - 使用从GitHub README.md中搜索合适的MCP服务器
scripts/mcp_servers.py - 展示搜索结果,由Claude将服务器注册到
.mcp.json - 同时使用命令验证服务器连接状态
/mcp
选择API时:
- 由Claude直接编写API调用代码
- 保存到用户Skill的文件夹中
scripts/
Block 5 예외 규칙
Block 5例外规则
Block 5의 Phase A도 AskUserQuestion을 사용한다. Output format을 선택해야 한다.
Block 5的Phase A也允许使用AskUserQuestion,必须选择输出格式。
References 파일 맵
References文件映射
| 블록 | 파일 | 내용 |
|---|---|---|
| Block 0 | | 도구 선택 + 템플릿 기반 스킬 생성 |
| Block 1 | | Explore 에이전트로 프로젝트 구조 파악 |
| Block 2 | | MCP vs API 연결 방식 선택 + 실행 |
| Block 3 | | subagent 병렬 수집 + 결과 확인 |
| Block 4 | | 수집 실패 재시도 + 데이터 품질 검증 |
| Block 5 | | Output format 선택 (markdown, Slack, Notion) |
| Block 6 | | 최종 스킬 완성 + 실행 + 마무리 |
파일 경로는 이 SKILL.md 기준 상대경로다. 각 reference 파일은,## EXPLAIN,## EXECUTE섹션으로 구성된다.## QUIZ
| 模块 | 文件 | 内容 |
|---|---|---|
| Block 0 | | 工具选择 + 基于模板生成Skill |
| Block 1 | | 通过Explore Agent分析项目结构 |
| Block 2 | | MCP与API连接方式选择 + 执行 |
| Block 3 | | subagent并行收集 + 结果验证 |
| Block 4 | | 重新尝试收集失败数据源 + 数据质量验证 |
| Block 5 | | 输出格式选择(markdown、Slack、Notion) |
| Block 6 | | 最终Skill完成 + 执行 + 收尾 |
文件路径以本SKILL.md为基准的相对路径。 每个reference文件均由、## EXPLAIN、## EXECUTE章节组成。## QUIZ
Templates / Scripts 파일 맵
Templates / Scripts文件映射
| 파일 | 용도 |
|---|---|
| Context Sync 스킬 기본 템플릿 (Slack, Notion, Gmail, GCal 4종 포함) |
| GitHub에서 MCP 서버 검색 + README.md 파싱 + 설치 안내 |
Gmail/Calendar 등의 수집 스크립트는 Block 2에서 Claude가 사용자의 선택에 맞춰 직접 작성한다.
| 文件 | 用途 |
|---|---|
| Context Sync Skill基础模板(包含Slack、Notion、Gmail、GCal 4种工具) |
| 从GitHub搜索MCP服务器 + 解析README.md + 安装指引 |
Gmail/Calendar等收集脚本将在Block 2中由Claude根据用户选择直接编写。
진행 규칙
推进规则
- 한 번에 한 블록씩 진행한다
- "다음", "skip", 블록 번호/이름으로 이동한다
- Block 0에서 생성한 스킬 파일을 이후 블록에서 점진적으로 수정한다
- 사용자 프로젝트의 디렉토리에 스킬을 생성한다
.claude/skills/my-context-sync/ - Explore 에이전트와 subagent 사용이 핵심이므로 적극 활용한다
- Claude Code 관련 질문이 오면 claude-code-guide 에이전트(내장 도구)로 답변한다. 답변 후 사용자가 직접 따라할 수 있게 단계별로 안내하고, 질문할 때는 AskUserQuestion을 사용한다. 내장 에이전트 답변이 부정확하다고 판단되면, 공식 문서를 로 파일에 저장한 뒤 Read 툴로 꼼꼼히 읽고 정확한 정보로 다시 답한다
curl
- 每次仅推进一个模块
- 可通过「下一个」「跳过」、模块编号/名称切换模块
- 在Block 0中生成的Skill文件将在后续模块中逐步修改
- Skill将生成在用户项目的目录下
.claude/skills/my-context-sync/ - 核心是Explore Agent和subagent的使用,请积极运用
- 若收到Claude Code相关问题,将通过claude-code-guide Agent(内置工具)回答。回答后需提供分步指引方便用户跟随,提问时使用AskUserQuestion。若判断内置Agent的回答不准确,将通过将官方文档保存到文件后,使用Read工具仔细读取并提供准确回答
curl
시작
开始
스킬 시작 시 아래 테이블을 보여주고 AskUserQuestion으로 어디서 시작할지 물어본다.
| Block | 주제 | 내용 |
|---|---|---|
| 0 | 도구 선택 | sync할 도구 고르기 + 스킬 골격 생성 |
| 1 | 프로젝트 탐색 | Explore로 프로젝트 구조 파악 |
| 2 | 도구 연결 | MCP or API로 도구 연결 |
| 3 | Context 수집 | subagent 병렬 수집 + 결과 확인 |
| 4 | 결과 검증 | 실패 재시도 + 데이터 품질 |
| 5 | Output 설정 | 출력 형식 선택 + 스킬 수정 |
| 6 | 완성 + 실행 | 최종 스킬 실행 + 마무리 |
json
AskUserQuestion({
"questions": [{
"question": "Day 2: 나만의 Context Sync 스킬 만들기\n\n어디서부터 시작할까요?",
"header": "시작 블록",
"options": [
{"label": "처음부터 (Block 0)", "description": "sync할 도구 고르기 + 스킬 골격 생성"},
{"label": "도구 연결 (Block 2)", "description": "도구 선택은 했고, MCP/API 연결부터"},
{"label": "Context 수집 (Block 3)", "description": "연결 완료, 수집부터"},
{"label": "Output 설정 (Block 5)", "description": "수집 완료, 출력 형식부터"}
],
"multiSelect": false
}]
})시작 블록 선택 후 → 해당 블록의 Phase A부터 진행한다.
Skill启动时,展示以下表格并通过AskUserQuestion询问从何处开始:
| Block | 主题 | 内容 |
|---|---|---|
| 0 | 工具选择 | 选择要同步的工具 + 生成Skill框架 |
| 1 | 项目探索 | 通过Explore分析项目结构 |
| 2 | 工具连接 | 通过MCP或API连接工具 |
| 3 | 上下文收集 | subagent并行收集 + 结果验证 |
| 4 | 结果验证 | 重新尝试失败任务 + 数据质量检查 |
| 5 | 输出设置 | 选择输出格式 + 修改Skill |
| 6 | 完成 + 执行 | 运行最终Skill + 收尾 |
json
AskUserQuestion({
"questions": [{
"question": "Day 2: 打造专属Context Sync Skill\n\n从哪里开始呢?",
"header": "启动模块",
"options": [
{"label": "从头开始 (Block 0)", "description": "选择要同步的工具 + 生成Skill框架"},
{"label": "工具连接 (Block 2)", "description": "已完成工具选择,从MCP/API连接开始"},
{"label": "上下文收集 (Block 3)", "description": "已完成连接,从收集开始"},
{"label": "输出设置 (Block 5)", "description": "已完成收集,从输出格式开始"}
],
"multiSelect": false
}]
})选择启动模块后 → 从对应模块的Phase A开始推进。