受講のヒント
リアクション
✅ わかった / 進んで OK
❌ わからない / 詳しく説明して
✋(挙手) 質問あり
メモ・振り返り
講義・実習中に 気になったこと をメモ
例: 理解できたこと / 引っかかった箇所 / 試したいこと
Part 末で 3 分振り返り
→ Claude Code に要約
→ 共有場所へ投稿
Claude Code + ターミナル 2 つ
① Claude Code (claude 起動)
② 開発サーバ用 (npm run dev / uvicorn / go run 等)
③ コマンドを単発で打つ用
横に分割: ターミナル右上の Split ボタン
または ⌘+Shift+P →「Split Terminal」
上下に並べる: タブを上のエディタ枠へドラッグ
💡 リアクションの場所 : Zoom 画面下部の リアクション ボタン (ハート / 顔アイコン) から ✅ / ❌ / 挙手 をクリック。下部メニューが見えない場合は Zoom ウィンドウ内をクリックすると表示される(左の画像クリックで拡大)
Part 5 の ゴール
Claude Code の Skillの構造を理解し、
自分で育てて動かす
1
Skill とは何か
機能拡張の設定ファイル
Claude に能力を追加する仕組み
2
書き方のコツ
description(自動発動の判断材料)
allowed-tools(使えるツール宣言)
3
自分で育てて動かす
読む・育てる・動かすの
3 ステップを体験する
Skills とは — Claude に能力を 1 つ加える設定ファイル
SKILL.md を 書く・所定のディレクトリに 置く・/スキル名 で 呼ぶ。この 3 ステップだけ
📂 手元の InsightLog: .claude/skills/{observe, evolve, planner-team, reviewer-team, research-ai, training}/ に 6 個が常備済み
① 明示呼び出し
ユーザーが /スキル名 で直接呼ぶ
自分で「これを使いたい」と選ぶ
例:
/observe(振り返り生成)
/planner-team(Agent Teams 編成)
② 自動呼び出し
Claude が会話から判断して呼ぶ
description(説明文)を読んで
Claude が「今これを使うべき」と決める
会話の流れで勝手に Claude が判断して発動
SKILL.md の構造 — フロントマター + 指示本文
フロントマターでメタ情報(name / description / allowed-tools)を宣言し、本文に Claude が従う手順を書く
---
name: research-ai
description: AI 関連の最新情報を RSS フィードから自動収集し、
重要度で選別して Markdown サマリーを返す。
週次の AI アップデートをキャッチアップしたい時に使う。
allowed-tools: WebFetch(domain:code.claude.com)
---
# research-ai
## 手順
1. references/feeds.md から RSS URL を取得
2. 各 RSS を WebFetch で取得し entry を抽出
3. Breaking / 新機能 / 補足 / 除外 の 4 段階で選別
※ name=呼び出し名 / description=自動発見のトリガー / allowed-tools=使えるツールの事前承認
段階的開示(Progressive Disclosure)
大きい・複雑な Skill で使う設計。
フロントマター がセッション開始時に読まれ、
呼び出し時に SKILL.md 本文 が展開され、
必要時のみ 本文からリンクされたサブファイル が読まれる
①
リファレンス
API 仕様 /
チェックリスト /
詳細ドキュメント
④
スクリプト
Claude が実行する
補助プログラム
📂 手元の実例 — .claude/skills/research-ai/(実習 で改造する Skill)
SKILL.md(入口)+ references/feeds.md(情報源)/ references/article-item-template.md(テンプレ)/ examples/sample-summary.md(出力例)/ scripts/zenn_recent.sh(実習で新設)の 4 種
公開されている Skill も たくさん ある
自分で書くのが全てじゃない。
オープン標準 として Claude Code / Codex / ChatGPT 向けに数十万件が公開済み。
気になったら覗いてみてください
Skill セキュリティチェック は Claude に頼む
公式 Skill / 野良 Skill どちらも、Claude Code に 1 プロンプト 打てば監査完了。Anthropic 公式マーケットでも事故事例あり、インストール前に必ず実行
.claude/skills/<skill-name>/ 配下を全て読み (SKILL.md / references/ / scripts/ / hooks/ など全ファイル)、以下 6 観点 でセキュリティ監査して報告:
① 任意コマンド実行 (curl | sh / 外部 DL / シェル injection)
② 機密情報アクセス (環境変数 / .env / ~/.ssh/ / 認証情報)
③ 外部送信 (外部 URL POST / 認証情報送信 / ホワイトリスト API 経由の流出)
④ プロンプトインジェクション (description / 本文 / 出力例 で Claude を別挙動に誘導)
⑤ allowed-tools の妥当性 (主目的と一致 / 過剰権限の有無)
⑥ cross-marketplace 依存 (他 Skill / Plugin / MCP への暗黙依存)
各観点で「問題なし / 警告 / 危険」を判定、最後に総合判定 (✅ 安全 / ⚠️ 警告あり / ❌ インストール非推奨) と理由を出力してください。
プロンプト内の <skill-name> を置き換えて打つだけ。Claude が SKILL.md / scripts / hooks を読み、6 観点で判定する
実習 — 投入プロンプト(コピーして Claude に投げる)
.claude/skills/research-ai/ を Zenn 対応に拡張してください。
まず SKILL.md と references/feeds.md を読んで現状構成を確認してから、3 点セットで実装します。
① scripts/zenn_recent.sh を新設(Zenn API(公開、無認証) / Topic「AI」× 直近 7 日 × liked_count 50 以上)
② SKILL.md の手順に Zenn 取得ステップ、出力フォーマットに Zenn セクションを追加
③ allowed-tools に Bash 実行権限を追加
ゴール:/research-ai を叩くと changelog と Zenn 人気記事が同じサマリーに並んで返る状態。
実装前に設計案を 1 度見せてください。実装後は /research-ai で動作確認します。
Part 5 まとめ — Skills の使い方を整理
01
呼び出し方は
/スキル名 が主
明示で確実に起動
description は補助の
自動発動材料
02
本文は短く
description は明確に
本文 500 行以内
詳細は別ファイル
description は
何を・いつ
03
Skill を
改良し続ける
サブファイル追加 / description 修正 /
手順の調整など
継続的にカスタマイズ
04
外部の Skill も
選択肢に置く
公式 marketplace /
skills.sh / SkillsMP
必要なら取り込んで調整
Skill = Claude に能力を 1 つ加える設定ファイル。
まずは既存 Skill を見て理解 → 改造 → ゼロから書く、の順で慣れる
3分振り返りタイム (目安 3 分)
これまでの メモ・感想 を Claude Code に要約・まとめ させて記録する。
発見や気づきなどがあれば追記
Part 5
質疑応答
挙手 or チャットで
気軽にどうぞ
(10 分)
Part 5 で扱ったトピック
| セクション | 内容 |
| 講義 | Skills の本質 / SKILL.md の構造 / 段階的開示 |
| 実習 | /research-ai に Zenn 取得機能を 1 ファイル追加 |
| まとめ | 呼び出し方 / SKILL.md の絞り方 / 差分追加 / 外部 Skill |
休憩 ☕ 10 分
後半開始まで席を立って構いません
10:00
受講のヒント
リアクション
✅ わかった / 進んで OK
❌ わからない / 詳しく説明して
✋(挙手) 質問あり
メモ・振り返り
講義・実習中に 気になったこと をメモ
例: 理解できたこと / 引っかかった箇所 / 試したいこと
Part 末で 3 分振り返り
→ Claude Code に要約
→ 共有場所へ投稿
Claude Code + ターミナル 2 つ
① Claude Code (claude 起動)
② 開発サーバ用 (npm run dev / uvicorn / go run 等)
③ コマンドを単発で打つ用
横に分割: ターミナル右上の Split ボタン
または ⌘+Shift+P →「Split Terminal」
上下に並べる: タブを上のエディタ枠へドラッグ
💡 リアクションの場所 : Zoom 画面下部の リアクション ボタン (ハート / 顔アイコン) から ✅ / ❌ / 挙手 をクリック。下部メニューが見えない場合は Zoom ウィンドウ内をクリックすると表示される(左の画像クリックで拡大)
Part 6 の ゴール
Claude Code に 任せるための 3 つの仕組み を理解する
今日の実習
Hooks
イベントで自動起動
コミット・プロンプト送信などのイベントでスクリプトが勝手に走る
道を整える / ガードレール
講義で俯瞰
Subagent
委譲(親 → 子)
親 = Claude Code 自身、子 = Subagent(別セッション)
重い作業を任せ、結果だけ要約で戻す
講義で俯瞰
Agent Teams
協働(並列チーム)
複数のエージェントが相互に議論
計画策定 / レビュー向き
手元 .claude/{settings.json,agents,skills/planner-team}/ に 3 つとも実例あり
Hooks とは — イベント駆動の自動化
Claude の動きの節目(イベント)に任意のスクリプトを差し込む仕組み。全 26 イベント中、まずこの 6 つ で実務の 8 割
📂 手元の .claude/settings.json の hooks.PostToolUse に Playwright スクショ後の自動オープンが登録済み
| イベント名 | タイミング | ブロック | 代表的な用途 |
| SessionStart | 開始 / 再開時 | — | 環境チェック / 初期化 |
| SessionEnd | 終了時 | — | 一時ファイル削除 / ログ保存 |
| UserPromptSubmit | プロンプト送信時 | ✅ | 禁止語チェック / 補助文脈の注入 |
| PreToolUse | ツール実行前 | ✅ | 権限制御 / 危険操作ブロック / 引数の書き換え |
| PostToolUse | ツール実行後 | — | コード整形 / 通知 / 結果のロギング |
| Stop | 応答完了時 | ✅ | 完了状態の検証 / 品質ゲート |
イベントごとに仕掛ければ Claude が勝手に動く — ✅ は処理を止められる
Hook の設定 — settings.json に書くだけ
// .claude/settings.json — git commit する直前に git status を走らせる例
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"if": "Bash(git commit *)",
"command": "git status"
}]
}]
}
}
イベント名 + matcher(対象ツール)+ if(さらに絞る条件)+ command を書けば、
その操作が走る瞬間に自動で起動する
📂 手元の InsightLog では PostToolUse + matcher: mcp__playwright__browser_take_screenshot で
スクショ撮影後にプレビューを自動 open する設定(講師ノート参照)
Hooks の実習に入る前に
Subagent と Agent Teams の説明をします
詳しくは手元のコードベースを見たり動かしたりしてください
Subagent — 委譲の仕組み
1 セッション内で 別の作業用セッション を起動し、重い仕事を委譲する
関係
親 → 子
親 = Claude Code 自身
子 = Subagent(別セッション)
独立コンテキストで動き、結果を 要約 して親に返す
用途
コンテキスト汚染防止
検索調査・大量ファイル読み込み
など 重い作業 をメインから隔離
メインは判断と指示出しに集中
部下は 結果だけ報告、上司のデスク(コンテキスト)を散らかさない
📂 手元の Subagent: .claude/agents/ に committer.md / implementer.md / e2e-planner.md / e2e-runner.md / pr-creator.md / test-writer.md / cc-feature-review.md の 7 体。各定義の tools と model で能力範囲を絞っている
Agent Teams — 協働の仕組み
複数の独立したインスタンスが 対等なチームメイト として協働する (実験的機能)
コミュニケーション
メッセージ交換可能
Direct Message(個別)
Broadcast(全員向け)
共有タスクリストで進行状態を共有
📂 InsightLog の実例
.claude/skills/planner-team/
.claude/skills/reviewer-team/
PM・Searcher・Architect・Devil の
4 ロールを SKILL.md 1 本で編成
呼び出しは /planner-team / /reviewer-team
委譲ではなく 並行で分担 — 相互レビューや議論が価値を生む場面で効く
※ 手元 settings.json で env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 有効化済み(仕様変更の可能性あり)
Subagent vs Agent Teams — 使い分け
| 観点 | Subagent(委譲) | Agent Teams(協働) |
| 関係 | 親 → 子(上司と部下) | 対等なチームメイト |
| 通信 | 結果報告のみ 子同士は通信不可 | Direct Message / Broadcast 共有タスクリスト |
| コンテキスト | 独立 結果は要約されて親に返る | 完全に独立した別セッション |
| トークン消費(合計) | 子 1 体分 結果が要約されて親に戻る | teammate 体数に比例 各 teammate が別 Claude instance |
| 使いどころ | 重い処理の委譲 コンテキスト汚染防止 | 相互レビュー 議論 / 並行分担 |
独立タスクは Subagent、多角的な視点が要るなら Agent Teams
実習で Hooks をやる理由
実務では Auto-mode で権限拡大しがち
= ハーネス(手綱) が不可欠
= Hooks の設定が重要 になる
ハーネスエンジニアリング
ハーネスの中核
イベントで 確定的に 仕掛けが走る。動きを 制限・補強・自動化 できる
危険操作の阻止から、忘れがちな習慣の定期実行まで、同じ仕組み で組める
実習 で使う 2 つの Skill
実習 では git commit 直前に /observe 実行を促す Hook を作る。
その前に /observe と /evolve が何をする Skill か簡潔に押さえる
/observe (観察)
セッションを観察する
直近のセッションを振り返り、
摩擦点を検出して
improvements.md (改善提案リスト) に追記
Rubric (ルーブリック / 採点表) で 5 基準 10 点採点 / 失敗パターン照合 / 1 サイクル 1 件まで
/evolve (進化)
提案を採否判定する
improvements.md の proposed (提案中) を
低リスクは 自動適用、
高リスクは 人間承認キューに
Status: proposed (提案中) → applied (適用済み) → verified (検証済み) のサイクル / observe の出口で連鎖実行
/observe = 気づく、/evolve = 反映する。コミットの節目で 2 つを連鎖させると改善サイクルが回る
実習 — コミット時に振り返りを促す
手動起動で忘れがちな /observe を、git commit の節目で自動起動させる。前回の振り返りから 1 時間ほど空いていれば Hooks がそっと促す。コミット自体は止めない
今日の題材は 手動運用の自動化。同じ Hooks で危険コマンド阻止などの safety 型も組めるが、実務で効く身近な題材を選んだ
Step 1
仕組みを Claude に書いてもらう
プロンプトを
コピペして投げるだけ
▶
Step 2
動作テストを依頼
Claude が代わりに
空コミットを打ってくれる
▶
Step 3
observe → evolve が連続起動
低リスクは自動適用
高リスクは人間判断を待つ
低リスクは自動適用、高リスクは人間承認キュー に残して 人間判断 を守る
実習 — 手順 (目安 20 分)
下のプロンプトを Claude に投げるだけ。hook スクリプトと設定ファイルは Claude が書く
プロンプト — コミット前に振り返りを促す仕組みを追加
git commit が完了したタイミングで、前回の /observe 実行から 1 時間ほど空いていたら『/observe を実行してください。observe は内部で /evolve も連続実行します(low risk は自動適用、high risk は人間判断キューに)』と Claude にそっと伝える仕組みを .claude/ 配下に追加してください。コミット自体はブロックしないでください。既に .claude/hooks/observe-check-commit.sh が存在する場合は中身を確認して、必要なら差分修正、不要なら .claude/settings.json の登録だけ行ってください。既存の hooks は壊さない差分で。できたら 動作テストもお願いします。
| # | やること | 確認ポイント |
| 1 | 上のプロンプトを そのままコピペ して Claude に投げる | hook スクリプトと設定ファイル(.claude/ 配下)が更新される |
| 2 | プロンプトの最後で依頼した 動作テスト を Claude が実行(空コミットを代行) | /observe → /evolve が連続起動。事前配置の proposed 3 件のうち低リスクは自動適用、高リスクは人間判断キューに残る |
| 3 | 残った高リスク提案を 承認 / 却下 する判断を体験 | 「自動化する範囲」と「人間が握る範囲」の 線引き を体感 |
Part 6 まとめ — 自走させたいなら手綱を握る必要がある
01
Hooks で
仕組みで守る
「厳守」を指示するより
イベントで確定的に動かす
実習 で .claude/settings.json に追加したのがこれ
02
Subagent で
判断力を温存
重い作業は子に振る
メインは指示と検収に集中
.claude/agents/ の 7 体が手元にある
03
Agent Teams で
議論を起こす
多角的な視点が要るときだけ
チームとして動かす
/planner-team / /reviewer-team
Hooks で手綱を握り、必要なときに Subagent / Agent Teams で任せる幅を広げる
3分振り返りタイム (目安 3 分)
これまでの メモ・感想 を Claude Code に要約・まとめ させて記録する。
発見や気づきなどがあれば追記
Part 6
質疑応答
挙手 or チャットで
気軽にどうぞ
(10 分)
Part 6 で扱ったトピック
| セクション | 内容 |
| 講義 | Hooks(イベント駆動の自動化) |
| 講義 | Subagent と Agent Teams |
| 実習 | Hook で git commit 時に振り返りを促す仕組みを作る |
| まとめ | 部下に任せる 3 つの型 — Hook / Subagent / Agent Teams |