day2-create-context-sync-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Day 2: 나만의 Context Sync 스킬 만들기

Day 2:打造专属Context Sync Skill

이 스킬이 호출되면 아래 STOP PROTOCOL을 반드시 따른다.

当调用此Skill时,必须遵循以下STOP PROTOCOL

용어 정리

术语定义

이 스킬에서 사용하는 핵심 용어:
용어설명
MCPClaude가 외부 서비스(Slack, Gmail 등)와 대화하는 통로. Day 1에서 배운 "도구"를 외부로 확장하는 것
subagentClaude가 다른 Claude를 불러서 일을 시키는 것. 여러 일을 동시에 처리할 때 사용
Explore 에이전트프로젝트 폴더 구조를 파악해주는 전문 subagent
API서비스가 제공하는 데이터 창구. MCP가 없을 때 직접 코드로 데이터를 가져오는 방법
스킬(Skill)Claude Code에게 특정 작업 방법을 가르치는 문서. Day 1 Block 3-2에서 체험한 것

本Skill中使用的核心术语:
术语说明
MCPClaude与外部服务(Slack、Gmail等)交互的通道,是对Day 1所学「工具」的外部扩展
subagentClaude调用其他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开始。                │
└──────────────────────────────────────────────────────────┘

핵심 금지 사항 (절대 위반 금지)

核心禁止事项(严禁违反)

  1. Phase A에서 AskUserQuestion을 호출하지 않는다 (Block 0, 2, 5 제외) — 이 3개 블록은 사용자 선택이 필수이므로 예외
  2. Phase A에서 퀴즈를 내지 않는다 — QUIZ 섹션은 Phase B에서만 읽는다
  3. Phase A에서 "실행해봤나요?"를 묻지 않는다 — 사용자가 먼저 말할 때까지 기다린다
  4. 한 턴에 EXPLAIN + QUIZ를 동시에 하지 않는다 — 반드시 2턴으로 나눈다
  1. Phase A中禁止调用AskUserQuestion(Block 0、2、5除外) — 这3个模块因必须由用户选择,故为例外
  2. Phase A中禁止出题测验 — QUIZ章节仅在Phase B中读取
  3. Phase A中禁止询问「你执行了吗?」 — 等待用户主动告知
  4. 禁止在一轮对话中同时进行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)或额外文本。

핵심 전략: 템플릿 먼저, 단계별 커스터마이징

核心策略:先模板,再分步定制

아래 방식으로 진행한다:
  1. Block 0에서 사용자가 도구를 선택하면,
    templates/context-sync.md
    기반으로 스킬 파일을 즉시 생성한다
  2. 이후 Block 1~6에서 생성된 스킬의 해당 부분만 수정/확장한다
  3. 최종적으로 완성된 스킬을 실행하여 결과를 확인한다
템플릿에는 Slack, Notion, Gmail, Google Calendar 4가지 도구의 예시가 포함되어 있다. 사용자가 선택한 도구 조합에 맞춰 필요한 부분만 남기고, 새 도구는 같은 패턴으로 추가한다.
按以下方式推进:
  1. 在Block 0中用户选择工具后,立即基于
    templates/context-sync.md
    生成Skill文件
  2. 后续在Block 1~6中仅修改/扩展已生成Skill的对应部分
  3. 最终运行完成的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 진행 순서:
  1. references/block0-tool-selection.md
    의 EXPLAIN 섹션을 읽고 설명한다
  2. AskUserQuestion으로 도구를 선택받는다 (multiSelect: true)
  3. templates/context-sync.md
    템플릿을 읽는다
  4. 선택된 도구에 맞춰 사용자의 프로젝트에
    .claude/skills/my-context-sync/SKILL.md
    를 생성한다
  5. 생성된 파일의 전체 구조만 간략히 보여주고 Stop한다 (세부 내용은 이후 블록에서)
Block 0的Phase A允许使用AskUserQuestion,因为工具选择是后续所有模块的前提,必须获取用户输入。
Phase A执行顺序:
  1. 读取
    references/block0-tool-selection.md
    的EXPLAIN章节并说明
  2. 通过AskUserQuestion获取工具选择(multiSelect: true)
  3. 读取
    templates/context-sync.md
    模板
  4. 根据选中的工具,在用户项目中创建
    .claude/skills/my-context-sync/SKILL.md
  5. 仅简要展示生成文件的整体结构后停止(详细内容在后续模块中处理)

Block 2 예외 규칙

Block 2例外规则

Block 2의 Phase A도 AskUserQuestion을 사용한다. 각 도구별로 MCP와 API 중 연결 방식을 선택해야 한다.
핵심 원칙: Claude가 설정을 대신 수행하고, 사용자는 결과를 확인한다.
MCP 선택 시:
  1. references/block2-tool-connection.md
    의 MCP 안내를 따른다
  2. scripts/mcp_servers.py
    를 사용하여 GitHub README.md에서 적합한 MCP 서버를 검색한다
  3. 검색 결과를 보여주고, Claude가
    .mcp.json
    에 서버를 등록한다
  4. /mcp
    명령으로 서버 연결 상태를 함께 확인한다
API 선택 시:
  1. Claude가 직접 API 호출 코드를 작성한다
  2. 사용자의 스킬
    scripts/
    폴더에 저장한다
Block 2的Phase A也允许使用AskUserQuestion,必须为每个工具选择MCP或API连接方式。
核心原则:由Claude代为完成设置,用户仅需确认结果。
选择MCP时:
  1. 遵循
    references/block2-tool-connection.md
    中的MCP指引
  2. 使用
    scripts/mcp_servers.py
    从GitHub README.md中搜索合适的MCP服务器
  3. 展示搜索结果,由Claude将服务器注册到
    .mcp.json
  4. 同时使用
    /mcp
    命令验证服务器连接状态
选择API时:
  1. 由Claude直接编写API调用代码
  2. 保存到用户Skill的
    scripts/
    文件夹中

Block 5 예외 규칙

Block 5例外规则

Block 5의 Phase A도 AskUserQuestion을 사용한다. Output format을 선택해야 한다.

Block 5的Phase A也允许使用AskUserQuestion,必须选择输出格式。

References 파일 맵

References文件映射

블록파일내용
Block 0
references/block0-tool-selection.md
도구 선택 + 템플릿 기반 스킬 생성
Block 1
references/block1-project-explore.md
Explore 에이전트로 프로젝트 구조 파악
Block 2
references/block2-tool-connection.md
MCP vs API 연결 방식 선택 + 실행
Block 3
references/block3-parallel-collection.md
subagent 병렬 수집 + 결과 확인
Block 4
references/block4-result-validation.md
수집 실패 재시도 + 데이터 품질 검증
Block 5
references/block5-output-format.md
Output format 선택 (markdown, Slack, Notion)
Block 6
references/block6-finalize.md
최종 스킬 완성 + 실행 + 마무리
파일 경로는 이 SKILL.md 기준 상대경로다. 각 reference 파일은
## EXPLAIN
,
## EXECUTE
,
## QUIZ
섹션으로 구성된다.

模块文件内容
Block 0
references/block0-tool-selection.md
工具选择 + 基于模板生成Skill
Block 1
references/block1-project-explore.md
通过Explore Agent分析项目结构
Block 2
references/block2-tool-connection.md
MCP与API连接方式选择 + 执行
Block 3
references/block3-parallel-collection.md
subagent并行收集 + 结果验证
Block 4
references/block4-result-validation.md
重新尝试收集失败数据源 + 数据质量验证
Block 5
references/block5-output-format.md
输出格式选择(markdown、Slack、Notion)
Block 6
references/block6-finalize.md
最终Skill完成 + 执行 + 收尾
文件路径以本SKILL.md为基准的相对路径。 每个reference文件均由
## EXPLAIN
## EXECUTE
## QUIZ
章节组成。

Templates / Scripts 파일 맵

Templates / Scripts文件映射

파일용도
templates/context-sync.md
Context Sync 스킬 기본 템플릿 (Slack, Notion, Gmail, GCal 4종 포함)
scripts/mcp_servers.py
GitHub에서 MCP 서버 검색 + README.md 파싱 + 설치 안내
Gmail/Calendar 등의 수집 스크립트는 Block 2에서 Claude가 사용자의 선택에 맞춰 직접 작성한다.

文件用途
templates/context-sync.md
Context Sync Skill基础模板(包含Slack、Notion、Gmail、GCal 4种工具)
scripts/mcp_servers.py
从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을 사용한다. 내장 에이전트 답변이 부정확하다고 판단되면, 공식 문서를
    curl
    로 파일에 저장한 뒤 Read 툴로 꼼꼼히 읽고 정확한 정보로 다시 답한다

  • 每次仅推进一个模块
  • 可通过「下一个」「跳过」、模块编号/名称切换模块
  • 在Block 0中生成的Skill文件将在后续模块中逐步修改
  • Skill将生成在用户项目的
    .claude/skills/my-context-sync/
    目录下
  • 核心是Explore Agent和subagent的使用,请积极运用
  • 若收到Claude Code相关问题,将通过claude-code-guide Agent(内置工具)回答。回答后需提供分步指引方便用户跟随,提问时使用AskUserQuestion。若判断内置Agent的回答不准确,将通过
    curl
    将官方文档保存到文件后,使用Read工具仔细读取并提供准确回答

시작

开始

스킬 시작 시 아래 테이블을 보여주고 AskUserQuestion으로 어디서 시작할지 물어본다.
Block주제내용
0도구 선택sync할 도구 고르기 + 스킬 골격 생성
1프로젝트 탐색Explore로 프로젝트 구조 파악
2도구 연결MCP or API로 도구 연결
3Context 수집subagent 병렬 수집 + 결과 확인
4결과 검증실패 재시도 + 데이터 품질
5Output 설정출력 형식 선택 + 스킬 수정
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开始推进。