day2-create-context-sync-skill by ai-native-camp/camp-1
npx skills add https://github.com/ai-native-camp/camp-1 --skill day2-create-context-sync-skill当此技能被调用时,必须遵循下面的 STOP PROTOCOL。
本技能中使用的核心术语:
| 术语 | 说明 |
|---|---|
| MCP | Claude 与外部服务(Slack、Gmail 等)对话的通道。是 Day 1 中学到的“工具”向外部扩展的概念 |
| subagent | Claude 调用另一个 Claude 来分配任务。用于同时处理多项任务时 |
| Explore 代理 | 专门用于分析项目文件夹结构的 subagent |
| API | 服务提供的数据接口。在没有 MCP 时,直接通过代码获取数据的方法 |
| 技能(Skill) | 教给 Claude Code 特定工作方法的文档。在 Day 1 Block 3-2 中体验过 |
此协议是本技能的最高优先级规则。违反以下规则将导致课程无法进行。
┌─ Phase A(第一轮)─────────────────────────────────┐
│ 1. 从 references/ 中读取对应区块文件的 EXPLAIN 部分 │
│ 2. 解释功能 │
│ 3. 从 references/ 中读取对应区块文件的 EXECUTE 部分 │
│ 4. 引导“现在请亲自尝试执行” │
│ 5. ⛔ 此处必须 STOP。结束本轮。 │
│ │
│ ❌ 绝对不做的事:出题、读取 QUIZ 部分 │
│ ❌ 绝对不做的事:调用 AskUserQuestion(Block 0,2,4 除外)│
│ ❌ 绝对不做的事:询问“执行了吗?” │
└──────────────────────────────────────────────────────┘
⬇️ 用户返回并输入“做了”、“完成”、“下一步”等
┌─ Phase B(第二轮)─────────────────────────────────┐
│ 1. 从 references/ 中读取对应区块文件的 QUIZ 部分 │
│ 2. 使用 AskUserQuestion 出题 │
│ 3. 提供正确/错误反馈 │
│ 4. 使用 AskUserQuestion 询问是否移动到下一个区块 │
│ 5. ⛔ 如果开始下一个区块,则再次从 Phase A 开始。 │
└──────────────────────────────────────────────────────┘
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
所有区块的 Phase A 开始时,必须原样输出对应 reference 文件顶部的 > 官方文档: URL。
📖 官方文档:[URL]
Phase A 的最后必须输出以下形式的语句并 Stop:
---
👆 请亲自执行以上内容。
执行完毕后,请输入“完成”或“下一步”。
在此语句之后,不输出任何工具调用(包括 AskUserQuestion)或附加文本。
按以下方式进行:
templates/context-sync.md 生成技能文件模板包含了 Slack、Notion、Gmail、Google Calendar 四种工具的示例。根据用户选择的工具组合,只保留需要的部分,新工具按相同模式添加。
每个区块中修改的模板区域:
| Block | 修改目标 | 模板部分 |
|---|---|---|
| 0 | 技能骨架生成 | 整体(仅保留选定的工具) |
| 1 | 反映项目上下文 | frontmatter description,收集范围 |
| 2 | 确定连接方法 | 每个源的“收集方法” |
| 3 | 收集执行 & 验证 | “执行流程”部分 + 调整“提取信息” |
| 4 | 输出格式设置 | “输出格式”部分 |
| 5 | 最终整理 + 执行 | 整体收尾 |
Block 0 的 Phase A 使用 AskUserQuestion。因为工具选择是之后所有区块的前提条件,所以必须接收用户输入。
Phase A 进行顺序:
references/block0-tool-selection.md 的 EXPLAIN 部分并解释templates/context-sync.md 模板.claude/skills/my-context-sync/SKILL.mdBlock 2 的 Phase A 也 使用 AskUserQuestion。需要为每个工具选择 MCP 和 API 中的连接方式。
核心原则:Claude 代为执行设置,用户确认结果。
选择 MCP 时:
references/block2-tool-connection.md 中的 MCP 指南scripts/mcp_servers.py 从 GitHub README.md 中搜索合适的 MCP 服务器.mcp.json/mcp 命令检查服务器连接状态选择 API 时:
scripts/ 文件夹中Block 4 的 Phase A 也 使用 AskUserQuestion。需要选择 Output format。
| 区块 | 文件 | 内容 |
|---|---|---|
| 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-output-format.md | Output format 选择(markdown, Slack, Notion) |
| Block 5 | references/block5-finalize.md | 最终技能完成 + 执行 + 收尾 |
文件路径是相对于此 SKILL.md 的相对路径。每个 reference 文件由
## EXPLAIN、## EXECUTE、## QUIZ部分组成。
| 文件 | 用途 |
|---|---|
templates/context-sync.md | Context Sync 技能基本模板(包含 Slack、Notion、Gmail、GCal 四种) |
scripts/mcp_servers.py | 从 GitHub 搜索 MCP 服务器 + 解析 README.md + 安装指南 |
Gmail/Calendar 等的收集脚本在 Block 2 中由 Claude 根据用户的选择直接编写。
.claude/skills/my-context-sync/ 目录中创建技能curl 将官方文档保存到文件,然后用 Read 工具仔细阅读,并用准确的信息重新回答技能开始时,首先安装最新课程,然后选择区块。
输出以下命令并在 Bash 中执行:
npx skills add ai-native-camp/camp-1 --agent claude-code --yes
简要引导执行结果(例如:“4 个技能已安装为最新版本”)。
展示以下表格,并使用 AskUserQuestion 询问从哪里开始。
| Block | 主题 | 内容 |
|---|---|---|
| 0 | 工具选择 | 选择要同步的工具 + 生成技能骨架 |
| 1 | 项目探索 | 使用 Explore 分析项目结构 |
| 2 | 工具连接 | 使用 MCP 或 API 连接工具 |
| 3 | 收集执行 & 验证 | subagent 并行收集 + 结果验证 |
| 4 | Output 设置 | 选择输出格式 + 修改技能 |
| 5 | 完成 + 执行 | 最终技能执行 + 收尾 |
AskUserQuestion({
"questions": [{
"question": "Day 2: 创建你自己的 Context Sync 技能\n\n你想从哪里开始?",
"header": "起始区块",
"options": [
{"label": "从头开始(Block 0)", "description": "选择要同步的工具 + 生成技能骨架"},
{"label": "工具连接(Block 2)", "description": "已选择工具,从 MCP/API 连接开始"},
{"label": "收集执行 & 验证(Block 3)", "description": "连接完成,从收集开始"},
{"label": "Output 设置(Block 4)", "description": "收集完成,从输出格式开始"}
],
"multiSelect": false
}]
})
选择起始区块后 → 从该区块的 Phase A 开始进行。
Weekly Installs
937
Repository
GitHub Stars
198
First Seen
Feb 15, 2026
Security Audits
Installed on
claude-code928
opencode58
gemini-cli49
cursor49
codex48
github-copilot40
이 스킬이 호출되면 아래 STOP PROTOCOL 을 반드시 따른다.
이 스킬에서 사용하는 핵심 용어:
| 용어 | 설명 |
|---|---|
| MCP | Claude가 외부 서비스(Slack, Gmail 등)와 대화하는 통로. Day 1에서 배운 "도구"를 외부로 확장하는 것 |
| subagent | Claude가 다른 Claude를 불러서 일을 시키는 것. 여러 일을 동시에 처리할 때 사용 |
| Explore 에이전트 | 프로젝트 폴더 구조를 파악해주는 전문 subagent |
| API | 서비스가 제공하는 데이터 창구. MCP가 없을 때 직접 코드로 데이터를 가져오는 방법 |
| 스킬(Skill) | Claude Code에게 특정 작업 방법을 가르치는 문서. Day 1 Block 3-2에서 체험한 것 |
이 프로토콜은 이 스킬의 최우선 규칙이다. 아래 규칙을 위반하면 수업이 망가진다.
┌─ Phase A (첫 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 EXPLAIN 섹션을 읽는다 │
│ 2. 기능을 설명한다 │
│ 3. references/에서 해당 블록 파일의 EXECUTE 섹션을 읽는다 │
│ 4. "지금 직접 실행해보세요"라고 안내한다 │
│ 5. ⛔ 여기서 반드시 STOP. 턴을 종료한다. │
│ │
│ ❌ 절대 하지 않는 것: 퀴즈 출제, QUIZ 섹션 읽기 │
│ ❌ 절대 하지 않는 것: AskUserQuestion 호출 (Block 0,2,4 제외)│
│ ❌ 절대 하지 않는 것: "실행해봤나요?" 질문 │
└──────────────────────────────────────────────────────────┘
⬇️ 사용자가 돌아와서 "했어", "완료", "다음" 등을 입력한다
┌─ Phase B (두 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 QUIZ 섹션을 읽는다 │
│ 2. AskUserQuestion으로 퀴즈를 출제한다 │
│ 3. 정답/오답 피드백을 준다 │
│ 4. 다음 블록으로 이동할지 AskUserQuestion으로 묻는다 │
│ 5. ⛔ 다음 블록을 시작하면 다시 Phase A부터. │
└──────────────────────────────────────────────────────────┘
모든 블록의 Phase A 시작 시, 해당 reference 파일 상단의 > 공식 문서: URL을 반드시 그대로 출력 한다.
📖 공식 문서: [URL]
Phase A의 마지막에는 반드시 아래 형태의 문구를 출력하고 Stop한다:
---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.
이 문구 이후에 어떤 도구 호출(AskUserQuestion 포함)이나 추가 텍스트도 출력하지 않는다.
아래 방식으로 진행한다:
templates/context-sync.md 기반으로 스킬 파일을 즉시 생성한다템플릿에는 Slack, Notion, Gmail, Google Calendar 4가지 도구의 예시가 포함되어 있다. 사용자가 선택한 도구 조합에 맞춰 필요한 부분만 남기고, 새 도구는 같은 패턴으로 추가한다.
각 블록에서 수정하는 템플릿 영역:
| Block | 수정 대상 | 템플릿 섹션 |
|---|---|---|
| 0 | 스킬 골격 생성 | 전체 (선택한 도구만 남기기) |
| 1 | 프로젝트 맥락 반영 | frontmatter description, 수집 범위 |
| 2 | 연결 방법 확정 | 각 소스의 "수집 방법" |
| 3 | 수집 실행 & 검증 | "실행 흐름" 섹션 + "추출할 정보" 조정 |
| 4 | 출력 형식 설정 | "출력 포맷" 섹션 |
| 5 | 최종 정리 + 실행 | 전체 마무리 |
Block 0의 Phase A는 AskUserQuestion을 사용 한다. 도구 선택이 이후 모든 블록의 전제 조건이므로 반드시 사용자 입력을 받아야 한다.
Phase A 진행 순서:
references/block0-tool-selection.md의 EXPLAIN 섹션을 읽고 설명한다templates/context-sync.md 템플릿을 읽는다.claude/skills/my-context-sync/SKILL.md를 생성한다Block 2의 Phase A도 AskUserQuestion을 사용 한다. 각 도구별로 MCP와 API 중 연결 방식을 선택해야 한다.
핵심 원칙: Claude가 설정을 대신 수행하고, 사용자는 결과를 확인한다.
MCP 선택 시:
references/block2-tool-connection.md의 MCP 안내를 따른다scripts/mcp_servers.py를 사용하여 GitHub README.md에서 적합한 MCP 서버를 검색한다.mcp.json에 서버를 등록한다/mcp 명령으로 서버 연결 상태를 함께 확인한다API 선택 시:
scripts/ 폴더에 저장한다Block 4의 Phase A도 AskUserQuestion을 사용 한다. Output format을 선택해야 한다.
| 블록 | 파일 | 내용 |
|---|---|---|
| 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-output-format.md |
파일 경로는 이 SKILL.md 기준 상대경로다. 각 reference 파일은
## EXPLAIN,## EXECUTE,## QUIZ섹션으로 구성된다.
| 파일 | 용도 |
|---|---|
templates/context-sync.md | Context Sync 스킬 기본 템플릿 (Slack, Notion, Gmail, GCal 4종 포함) |
scripts/mcp_servers.py | GitHub에서 MCP 서버 검색 + README.md 파싱 + 설치 안내 |
Gmail/Calendar 등의 수집 스크립트는 Block 2에서 Claude가 사용자의 선택에 맞춰 직접 작성한다.
.claude/skills/my-context-sync/ 디렉토리에 스킬을 생성한다curl로 파일에 저장한 뒤 Read 툴로 꼼꼼히 읽고 정확한 정보로 다시 답한다스킬 시작 시 먼저 최신 커리큘럼을 설치 한 뒤 블록을 선택한다.
아래 명령어를 출력하고 Bash로 실행한다:
npx skills add ai-native-camp/camp-1 --agent claude-code --yes
실행 결과를 간략히 안내한다 (예: "4개 스킬이 최신 버전으로 설치되었습니다").
아래 테이블을 보여주고 AskUserQuestion으로 어디서 시작할지 물어본다.
| Block | 주제 | 내용 |
|---|---|---|
| 0 | 도구 선택 | sync할 도구 고르기 + 스킬 골격 생성 |
| 1 | 프로젝트 탐색 | Explore로 프로젝트 구조 파악 |
| 2 | 도구 연결 | MCP or API로 도구 연결 |
| 3 | 수집 실행 & 검증 | subagent 병렬 수집 + 결과 검증 |
| 4 | Output 설정 | 출력 형식 선택 + 스킬 수정 |
| 5 | 완성 + 실행 | 최종 스킬 실행 + 마무리 |
AskUserQuestion({
"questions": [{
"question": "Day 2: 나만의 Context Sync 스킬 만들기\n\n어디서부터 시작할까요?",
"header": "시작 블록",
"options": [
{"label": "처음부터 (Block 0)", "description": "sync할 도구 고르기 + 스킬 골격 생성"},
{"label": "도구 연결 (Block 2)", "description": "도구 선택은 했고, MCP/API 연결부터"},
{"label": "수집 실행 & 검증 (Block 3)", "description": "연결 완료, 수집부터"},
{"label": "Output 설정 (Block 4)", "description": "수집 완료, 출력 형식부터"}
],
"multiSelect": false
}]
})
시작 블록 선택 후 → 해당 블록의 Phase A부터 진행한다.
Weekly Installs
937
Repository
GitHub Stars
198
First Seen
Feb 15, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
claude-code928
opencode58
gemini-cli49
cursor49
codex48
github-copilot40
99,500 周安装
| Output format 선택 (markdown, Slack, Notion) |
| Block 5 | references/block5-finalize.md | 최종 스킬 완성 + 실행 + 마무리 |