day2-create-context-sync-skill について
Claude Code向けの学習スキルです。テンプレートを起点に、選んだツールのデータをプロジェクトのコンテキストに集めるContext Syncスキルを段階的に作成します。
主な機能
- 01ブロックごとの段階的な学習
- 02テンプレートからスキルを作成
- 03プロジェクト調査とツール接続
- 04データの並列収集と検証
- 05出力形式の設定と実行
活用シーン
- 01プロジェクトに合わせたコンテキスト同期の作成
- 02Slack、Notion、Gmail、Google Calendarをデータソースに選択
- 03MCPまたは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.mdblock1-project-explore.mdblock2-tool-connection.mdblock3-parallel-collection.mdblock4-output-format.mdblock5-finalize.mdtemplates/context-sync.md詳細
Day 2:自分だけの Context Sync スキルを作る
このスキルが呼び出されたら、以下のSTOP PROTOCOLに必ず従うこと。
用語の整理
このスキルで使用する主な用語:
| 用語 | 説明 |
|---|---|
| MCP | Claudeが外部サービス(Slack、Gmailなど)とやり取りするための経路です。Day 1で学んだ「ツール」を外部に拡張するものです |
| subagent | Claudeが別のClaudeを呼び出して作業を依頼することです。複数の作業を同時に処理するときに使用します |
| Explore エージェント | プロジェクトのフォルダー構造を把握する専門のsubagentです |
| API | サービスが提供するデータの窓口です。MCPがない場合に、コードを直接書いてデータを取得する方法です |
| スキル(Skill) | Claude Codeに特定の作業方法を教えるドキュメントです。Day 1 Block 3-2で体験したものです |
STOP PROTOCOL — 絶対に違反禁止
このプロトコルは、このスキルの最優先ルールです。 以下のルールに違反すると、レッスンが台無しになります。
各ブロックは必ず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ではAskUserQuestionを呼び出さない(Block 0、2、4を除く) — この3つのブロックではユーザーの選択が必須のため、例外です
- Phase Aではクイズを出さない — QUIZセクションはPhase Bでのみ読みます
- Phase Aでは「実行してみましたか?」と尋ねない — ユーザーが先に話すまで待ちます
- 1ターンでEXPLAINとQUIZを同時に行わない — 必ず2ターンに分けます
公式ドキュメントURLの出力(絶対に省略禁止)
すべてのブロックでPhase Aを開始する際、該当するreferenceファイルの先頭にある> 공식 문서: URLを必ずそのまま出力します。
📖 공식 문서: [URL]
- referenceファイルにURLが複数ある場合は、すべて出力します
- URLを要約したり省略したりしません
Phase A終了時の必須文言
Phase Aの最後には、必ず以下の形式の文言を出力してStopします。
---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.
この文言の後に、ツール呼び出し(AskUserQuestionを含む)や追加のテキストを出力してはいけません。
主な戦略:テンプレートを先に用意し、段階的にカスタマイズする
以下の方法で進めます。
- Block 0でユーザーがツールを選択したら、
templates/context-sync.mdを基にスキルファイルをすぐに作成します - 以降、Block 1~5で、作成したスキルの該当部分のみを修正・拡張します
- 最後に完成したスキルを実行して、結果を確認します
テンプレートにはSlack、Notion、Gmail、Google Calendarの4つのツールの例が含まれています。 ユーザーが選択したツールの組み合わせに合わせて必要な部分だけを残し、新しいツールは同じパターンで追加します。
ブロックとテンプレートのセクション対応
各ブロックで修正するテンプレートの領域:
| Block | 修正対象 | テンプレートのセクション |
|---|---|---|
| 0 | スキルの骨格を作成 | 全体(選択したツールのみ残す) |
| 1 | プロジェクトのコンテキストを反映 | frontmatter description、収集範囲 |
| 2 | 接続方法を確定 | 各ソースの「収集方法」 |
| 3 | 収集の実行と検証 | 「実行フロー」セクション+「抽出する情報」の調整 |
| 4 | 出力形式を設定 | 「出力フォーマット」セクション |
| 5 | 最終調整+実行 | 全体の仕上げ |
ブロック固有のルール
- Block 0(ツール選択+スキル作成):Phase Aで説明し、AskUserQuestionでツールを選択します。選択結果に基づいてテンプレートからスキルを作成し、Stopします。Phase Bでは作成したスキルに関するクイズを出します。
- Block 1(プロジェクト探索):Phase AでExplore エージェントを使ってプロジェクト構造を把握し、結果を共有してStopします。Phase Bではクイズを出します。
- Block 2(ツール接続):Phase AでMCPとAPIのどちらを使うか案内し、AskUserQuestionで選択してもらいます。→ Claudeが設定を代行し、ユーザーは結果を確認します → Stopします。Phase Bではクイズを出します。
- Block 3(収集の実行と検証):Phase Aでsubagentによる並列収集を説明して実行します。→ 収集結果を成功・失敗に分けて表示します → 失敗したソースを再試行し、収集データの品質を確認します → Stopします。Phase Bではクイズを出します。
- Block 4(Output設定):Phase AでOutput formatを案内し、AskUserQuestionで選択してもらいます。→ 選択内容に応じてスキルを修正します → Stopします。Phase Bではクイズを出します。
- Block 5(完成+実行):Phase Aで最終的なスキル構成をまとめて、実際に実行します。→ Stopします。Phase Bでは総合クイズを出して、締めくくります。
Block 0の例外ルール
Block 0のPhase AではAskUserQuestionを使用します。ツールの選択は以降のすべてのブロックの前提条件となるため、必ずユーザーの入力を受け取ります。
Phase Aの進行順序:
references/block0-tool-selection.mdのEXPLAINセクションを読んで説明します- AskUserQuestionでツールを選択してもらいます(multiSelect: true)
templates/context-sync.mdテンプレートを読みます- 選択されたツールに合わせて、ユーザーのプロジェクトに
.claude/skills/my-context-sync/SKILL.mdを作成します - 作成したファイルの全体構成のみを簡潔に示してStopします(詳細は以降のブロックで扱います)
Block 2の例外ルール
Block 2のPhase AでもAskUserQuestionを使用します。各ツールについて、MCPとAPIのどちらを接続方法として使うか選択してもらいます。
主な原則:Claudeが設定を代行し、ユーザーは結果を確認します。
MCPを選択した場合:
references/block2-tool-connection.mdのMCPに関する案内に従いますscripts/mcp_servers.pyを使用してGitHub README.mdから適切なMCPサーバーを検索します- 検索結果を表示し、Claudeが
.mcp.jsonにサーバーを登録します /mcpコマンドを使って、サーバーの接続状態を一緒に確認します
APIを選択した場合:
- ClaudeがAPI呼び出しコードを直接作成します
- ユーザーのスキルの
scripts/フォルダーに保存します
Block 4の例外ルール
Block 4のPhase AでもAskUserQuestionを使用します。Output formatを選択してもらいます。
References ファイルマップ
| ブロック | ファイル | 内容 |
|---|---|---|
| Block 0 | references/block0-tool-selection.md | ツールの選択+テンプレートベースのスキル作成 |
| Block 1 | references/block1-project-explore.md | Explore エージェントでプロジェクト構造を把握 |
| Block 2 | references/block2-tool-connection.md | MCP と API の接続方法を選択+実行 |
| Block 3 | references/block3-parallel-collection.md | subagent による並列収集+結果の検証 |
| Block 4 | references/block4-output-format.md | 出力形式の選択(markdown、Slack、Notion) |
| Block 5 | references/block5-finalize.md | 最終スキルの完成+実行+仕上げ |
ファイルパスは、この SKILL.md からの相対パスです。 各 reference ファイルは
## EXPLAIN、## EXECUTE、## QUIZのセクションで構成されています。
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 がユーザーの選択に合わせて直接作成します。
進行ルール
- 一度に 1 つのブロックずつ進めます
- 「次へ」、「skip」、ブロック番号または名前で移動します
- Block 0 で作成したスキルファイルを、以降のブロックで段階的に編集します
- ユーザープロジェクトの
.claude/skills/my-context-sync/ディレクトリにスキルを作成します - Explore エージェントと subagent の使用が重要なので、積極的に活用します
- Claude Code に関する質問には、claude-code-guide エージェント(組み込みツール)で回答します。回答後、ユーザー自身で進められるよう手順を段階的に案内し、質問する際は AskUserQuestion を使用します。組み込みエージェントの回答が不正確だと判断した場合は、公式ドキュメントを
curlでファイルに保存した後、Read ツールで注意深く読み、正確な情報で改めて回答します
開始
スキルの開始時に、まず最新のカリキュラムをインストールしてから、ブロックを選択します。
Step 1: 最新スキルのインストール
次のコマンドを表示し、Bash で実行します:
npx skills add ai-native-camp/camp-1 --agent claude-code --yes
実行結果を簡潔に案内します(例:「4 個のスキルが最新バージョンでインストールされました」)。
Step 2: ブロックの選択
次のテーブルを表示し、AskUserQuestion でどこから始めるかを尋ねます。
| Block | テーマ | 内容 |
|---|---|---|
| 0 | ツールの選択 | 同期するツールを選択+スキルの骨組みを作成 |
| 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 から進めます。