mcpField
D
day2-create-context-sync-skill

day2-create-context-sync-skill

github.com/ai-native-campAgent 工作流2431.6k 次安装34 周前更新
代码仓库

关于 day2-create-context-sync-skill

面向 Claude Code 的教学技能,指导用户逐步构建 Context Sync 技能,将所选工具的数据汇集到项目上下文中。课程按区块推进,并以模板为起点逐步定制。

主要功能

  1. 01按区块分阶段教学
  2. 02从模板生成技能文件
  3. 03探索项目结构并连接工具
  4. 04并行收集与验证数据
  5. 05配置输出格式并运行技能

适用场景

  1. 01为项目定制上下文同步流程
  2. 02选择 Slack、Notion、Gmail 或 Google Calendar 作为数据源
  3. 03练习通过 MCP 或 API 连接服务

MCP 相关

讲解并引导通过 MCP 或 API 连接所选数据源;选择 MCP 时会搜索服务器并协助登记到 `.mcp.json`。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ai-native-camp/camp-1 --skill day2-create-context-sync-skill

安装后在 Claude Code 中输入/day2-create-context-sync-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
block0-tool-selection.md
block1-project-explore.md
block2-tool-connection.md
block3-parallel-collection.md
block4-output-format.md
block5-finalize.md
templates/
context-sync.md

详细介绍

第 2 天:创建自己的 Context Sync 技能

调用此技能时,必须遵循以下 STOP PROTOCOL。


术语整理

此技能中使用的核心术语:

术语说明
MCPClaude 与外部服务(Slack、Gmail 等)对话的通道。将第 1 天学到的“工具”扩展到外部
subagentClaude 调用另一个 Claude 并让它执行任务。用于同时处理多项任务
Explore Agent用于了解项目文件夹结构的专业 subagent
API服务提供的数据入口。没有 MCP 时,直接通过代码获取数据的方法
技能(Skill)教 Claude Code 如何执行特定任务的文档。第 1 天 Block 3-2 中体验过的内容

STOP PROTOCOL — 绝对禁止违反

此协议是此技能的最高优先级规则。 违反以下规则会毁掉课程。

每个 Block 必须分 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부터.                │
└──────────────────────────────────────────────────────────┘
核心禁止事项(绝对禁止违反)
  1. Phase A 中不得调用 AskUserQuestion(Block 0、2、4 除外) — 这 3 个 Block 必须由用户选择,因此例外
  2. Phase A 中不得出测验题 — 仅在 Phase B 中阅读 QUIZ 部分
  3. Phase A 中不得询问“试着运行了吗?” — 等待用户先开口
  4. 不得在一轮中同时进行 EXPLAIN + QUIZ — 必须分成 2 轮
输出官方文档 URL(绝对不可遗漏)

每个 Block 的 Phase A 开始时,必须原样输出对应 reference 文件顶部的 > 官方文档: URL。

📖 공식 문서: [URL]
  • 如果 reference 文件中有多个 URL,则全部输出
  • 不得概述或省略 URL
Phase A 结束时的必备语句

Phase A 结束时,必须输出以下格式的语句,然后停止:

---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.

此语句之后,不得调用任何工具(包括 AskUserQuestion),也不得输出任何额外文本。


核心策略:先用模板,再逐步自定义

按以下方式进行:

  1. 在 Block 0 中,用户选择工具后,立即基于 templates/context-sync.md 创建技能文件
  2. 之后在 Block 1~5 中,仅修改/扩展已创建技能的相应部分
  3. 最后运行完成的技能,确认结果

模板中包含 Slack、Notion、Gmail、Google Calendar 这 4 种工具的示例。 根据用户选择的工具组合,仅保留所需部分;添加新工具时采用相同模式。

Block 与模板章节的对应关系

各 Block 中修改的模板区域:

Block修改目标模板章节
0创建技能框架全部(仅保留所选工具)
1纳入项目背景frontmatter description、收集范围
2确定连接方式各来源的“收集方法”
3执行收集并验证“执行流程”章节 + 调整“要提取的信息”
4设置输出格式“输出格式”章节
5最终整理并运行整体收尾

Block 特殊规则

  • Block 0(选择工具 + 创建技能):Phase A 中进行说明,并通过 AskUserQuestion 选择工具。根据所选结果创建基于模板的技能 → 停止。Phase B 中进行关于已创建技能的测验。
  • 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(设置 Output):Phase A 中说明 Output format 的选择,并通过 AskUserQuestion 提问 → 根据选择修改技能 → 停止。Phase B 中进行测验。
  • Block 5(完成并运行):Phase A 中整理最终技能配置 + 实际运行 → 停止。Phase B 中进行综合测验 + 收尾。
Block 0 例外规则

Block 0 的 Phase A 使用 AskUserQuestion。工具选择是之后所有 Block 的前提,因此必须获取用户输入。

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 介绍)
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 4 例外规则

Block 4 的 Phase A 也使用 AskUserQuestion。需要选择 Output format。

References 文件映射

区块文件内容
Block 0references/block0-tool-selection.md工具选择 + 基于模板创建技能
Block 1references/block1-project-explore.md使用 Explore Agent 了解项目结构
Block 2references/block2-tool-connection.md选择 MCP 或 API 连接方式 + 执行
Block 3references/block3-parallel-collection.mdsubagent 并行收集 + 验证结果
Block 4references/block4-output-format.md选择输出格式(markdown、Slack、Notion)
Block 5references/block5-finalize.md完成最终技能 + 执行 + 收尾

文件路径相对于此 SKILL.md。 每个 reference 文件由 ## EXPLAIN、## EXECUTE、## QUIZ 部分组成。


Templates / Scripts 文件映射

文件用途
templates/context-sync.mdContext Sync 技能基础模板(包含 Slack、Notion、Gmail、GCal 4 种工具)
scripts/mcp_servers.py在 GitHub 上搜索 MCP 服务 + 解析 README.md + 提供安装说明

Gmail/Calendar 等收集脚本由 Claude 在 Block 2 中根据用户的选择直接编写。


进行规则

  • 一次进行一个区块
  • 使用“下一个”、“skip”或区块编号/名称进行跳转
  • 在后续区块中逐步修改 Block 0 创建的技能文件
  • 在用户项目的 .claude/skills/my-context-sync/ 目录中创建技能
  • Explore Agent 和 subagent 的使用至关重要,因此应积极利用
  • 如果有人询问 Claude Code 相关问题,使用 claude-code-guide Agent(内置工具)作答。回答后,分步骤引导用户亲自操作;提问时使用 AskUserQuestion。如果认为内置 Agent 的回答不准确,则用 curl 将官方文档保存到文件,再用 Read 工具仔细阅读,并基于准确信息重新作答

开始

启动技能时,先安装最新课程,再选择区块。

Step 1:安装最新技能

输出以下命令并使用 Bash 执行:

npx skills add ai-native-camp/camp-1 --agent claude-code --yes

简要说明执行结果(例如:“已安装 4 个技能的最新版本”)。

Step 2:选择区块

显示下表,并使用 AskUserQuestion 询问从哪里开始。

Block主题内容
0工具选择选择要 sync 的工具 + 创建技能骨架
1项目探索使用 Explore 了解项目结构
2工具连接通过 MCP 或 API 连接工具
3执行收集和验证subagent 并行收集 + 验证结果
4输出设置选择输出格式 + 修改技能
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 开始。

评论

支持 Markdown