When this skill is invoked, you must follow the STOP PROTOCOLbelow.
Terminology
Key terms used in this skill:
| Term | Description |
|---|---|
| MCP | A channel through which Claude converses with external services (Slack, Gmail, etc.). Extending the "tools" learned in Day 1 to the outside |
| subagent | Claude calling another Claude to do work. Used when handling multiple tasks simultaneously |
| Explore agent | A specialized subagent that figures out the project folder structure |
| API | A data gateway provided by a service. A way to fetch data directly with code when there is no MCP |
| Skill | A document that teaches Claude Code how to perform a specific task. The one experienced in Day 1 Block 3-2 |
STOP PROTOCOL — Never Violate
This protocol is the top-priority rule of this skill. Violating the rules below will ruin the class.
Each block must proceed over exactly 2 turns
┌─ 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부터. │
└──────────────────────────────────────────────────────────┘
Key Prohibitions (Never Violate)
- Do not call AskUserQuestion in Phase A (except Blocks 0, 2, 4) — these 3 blocks are exceptions because user selection is required
- Do not give a quiz in Phase A — read the QUIZ section only in Phase B
- Do not ask "Did you try running it?" in Phase A — wait until the user speaks first
- Do not do EXPLAIN + QUIZ at the same time in one turn — always split into 2 turns
Output official documentation URLs (never omit)
At the start of Phase A of every block, output the > 공식 문서: URL을 at the top of the corresponding reference file exactly as is.
📖 공식 문서: [URL]
- If there are multiple URLs in the reference file, output all of them
- Do not summarize or omit URLs
Required phrase at the end of Phase A
At the end of Phase A, you must output a phrase in the form below and Stop:
---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.
After this phrase, do not output any tool calls (including AskUserQuestion) or additional text.
Core Strategy: Template First, Step-by-Step Customization
Proceed in the following way:
- When the user selects a tool in Block 0,
templates/context-sync.mdimmediately create the skill file based on - Afterward, in Blocks 1–5, modify/expand only the relevant parts of the created skill
- Finally, run the completed skill and check the result
The template includes examples for 4 tools: Slack, Notion, Gmail, and Google Calendar. Keep only the parts needed for the tool combination the user selected, and add new tools using the same pattern.
Block-Template Section Mapping
Template areas modified in each block:
| Block | Modification Target | Template Section |
|---|---|---|
| 0 | Generate skill skeleton | Entire (keep only selected tools) |
| 1 | Reflect project context | frontmatter description, collection scope |
| 2 | Finalize connection method | "Collection Method" for each source |
| 3 | Execute & verify collection | "Execution Flow" section + adjust "Information to Extract" |
| 4 | Set output format | "Output Format" section |
| 5 | Final cleanup + execution | Overall wrap-up |
Block-Specific Rules
- Block 0 (Tool selection + skill generation): In Phase A, explain + select tools with AskUserQuestion. Generate a template-based skill from the selection results → Stop. In Phase B, a quiz on the generated skill.
- Block 1 (Project exploration): In Phase A, understand the project structure with the Explore agent and share the results → Stop. In Phase B, a quiz.
- Block 2 (Tool connection): In Phase A, guidance on choosing MCP vs API + AskUserQuestion → Claude performs the setup on the user's behalfand the user checks the results → Stop. In Phase B, a quiz.
- Block 3 (Execute & verify collection): In Phase A, explain parallel collection with subagents + execute → show collection results classified as success/failure → retry failed sources + check collected data quality → Stop. In Phase B, a quiz.
- Block 4 (Output settings): In Phase A, guidance on selecting Output format + AskUserQuestion → modify the skill according to the selection → Stop. In Phase B, a quiz.
- Block 5 (Completion + execution): In Phase A, summarize the final skill configuration + actual execution → Stop. In Phase B, a comprehensive quiz + wrap-up.
Block 0 Exception Rules
Block 0의 Phase A는 Use AskUserQuestion. Since the tool selection is a prerequisite for all subsequent blocks, user input must be obtained.
Phase A progression order:
references/block0-tool-selection.mdRead and explain the EXPLAIN section of- Receive the tool selection via AskUserQuestion (multiSelect: true)
templates/context-sync.mdRead the template- In the user's project, according to the selected tools,
.claude/skills/my-context-sync/SKILL.mdcreate - Briefly show only the overall structure of the generated file and Stop (details are covered in later blocks)
Block 2 Exception Rules
Block 2의 Phase A도 Use AskUserQuestion. For each tool, the connection method must be selected between MCP and API.
Core principle: Claude performs the setup on the user's behalf, and the user checks the results.
When MCP is selected:
references/block2-tool-connection.mdFollow the MCP guidance inscripts/mcp_servers.pyuse to search for a suitable MCP server in the GitHub README.md- Show the search results, and Claude
.mcp.jsonregister the server in /mcpalso check the server connection status with the command
When selecting API:
- Claude writes the API call code directly
- the user's skill
scripts/save to the folder
Block 4 Exception Rules
Block 4의 Phase A도 use AskUserQuestion. You must select the Output format.
References File Map
| Block | File | Content |
|---|---|---|
| Block 0 | references/block0-tool-selection.md |
Tool selection + template-based skill generation |
| Block 1 | references/block1-project-explore.md |
Identify project structure with the Explore agent |
| Block 2 | references/block2-tool-connection.md |
Select MCP vs API connection method + execute |
| Block 3 | references/block3-parallel-collection.md |
subagent parallel collection + result verification |
| Block 4 | references/block4-output-format.md |
Select Output format (markdown, Slack, Notion) |
| Block 5 | references/block5-finalize.md |
Finalize skill + execute + wrap up |
File paths are relative to this SKILL.md. Each reference file consists of the
## EXPLAIN,## EXECUTE,## QUIZsection.
Templates / Scripts File Map
| File | Purpose |
|---|---|
templates/context-sync.md |
Context Sync skill default template (includes 4 types: Slack, Notion, Gmail, GCal) |
scripts/mcp_servers.py |
Search for MCP servers on GitHub + parse README.md + installation guide |
Collection scripts for Gmail/Calendar etc. are written directly by Claude in Block 2 according to the user's choices.
Progress Rules
- Proceed one block at a time
- Move with "next", "skip", or block number/name
- Gradually modify the skill file created in Block 0 in subsequent blocks
- In the user's project
.claude/skills/my-context-sync/create the skill in the directory - Using the Explore agent and subagents is key, so actively utilize them
- If a question about Claude Code comes up, answer with the claude-code-guide agent (built-in tool). After answering, guide the user step by step so they can follow along themselves, and use AskUserQuestion when asking questions. If you determine that the built-in agent's answer is inaccurate, save the official documentation to a file as
curlthen read it carefully with the Read tool and answer again with accurate information
Start
When starting the skill, first install the latest curriculumand then select a block.
Step 1: Install the latest skill
Output the command below and run it with Bash:
npx skills add ai-native-camp/camp-1 --agent claude-code --yes
Briefly inform the user of the execution result (e.g., "4 skills have been installed at the latest version").
Step 2: Select Block
Show the table below and ask with AskUserQuestion where to start.
| Block | Topic | Content |
|---|---|---|
| 0 | Tool selection | Choose tools to sync + generate skill skeleton |
| 1 | Project exploration | Identify project structure with Explore |
| 2 | Tool Connection | Connect tools via MCP or API |
| 3 | Run Collection & Verify | Parallel collection via subagents + result verification |
| 4 | Output Settings | Select output format + modify skill |
| 5 | Complete + Run | Run the final skill + wrap up |
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
}]
})
After selecting a starting block → proceed from that block's Phase A.