目次

株式会社インフォメーション・ディベロプメント様向け

ハンズオンガイドDay3 理想的なハーネスと、ハーネスの作り方

ハーネスを一式そろえた配布フォルダで、理想的なハーネスを動かします。成功した手順をSkillにし、skill-creatorでも1本作って、別のテーマに使い回します。

2026年11月25日(水) Zoom 個人演習 Claude Code(WSL の Ubuntu)
Givery のロゴ
01

本日のゴール

今日は、1つのプロジェクトにそろえるハーネスを全部入れたフォルダで、どのハーネスがどの工程で働くかを動かして確かめます。後半は、うまくいった手順をSkillにする方法を2つ試し、別のテーマの試作品づくりに使い回します。

本日の学び

  • CLAUDE.md、Subagent、command、Skill、Hookが、要求抽出から試作品までの工程のどこで働くかを、自分の画面で見る
  • うまくいった対話の手順をSkillにし、新しい会話でも同じ形の結果が出ることを確かめる
  • 公式のskill-creatorと相談してSkillを作り、プロジェクト設定とユーザー設定に何を置くかを決める
学びを確かめる成果物
  • docs/01-requirements-raw.md。在庫管理のヒアリングから抜き出した要求一覧で、FR、NFR、CONの全行に発言者とタイムスタンプがある
  • .claude/skills/に、自分で作ったSkillが2本ある。D3-2で作った発注候補表のSkillと、D3-3でskill-creatorと作ったSkill
  • 成果物/D3-4/index.html。会議室予約の試作品で、条件4つと自分の工夫1つが入っている。画面のスクリーンショットをZoomのチャットに貼ってある

3日間の全体像

3日間の演習は、下の3つの力のどれかを練習します。

  1. AIエージェントに任せて確かめる力Claude Codeは、ファイルを読み、書き、コマンドを動かして作業を進めます。何を任せるか、承認の画面で何を読むか、結果をどう確かめるかは人が決めます。
  2. ハーネスで振る舞いをそろえる力CLAUDE.md、Subagents、Skills、Hooks、MCPを置くと、同じ依頼でも結果が変わります。どれをいつ使うかを、自分の画面の差で確かめます。
  3. コンテキストを整える力AIに渡す資料の種類と置き場を決めておくと、毎回説明しなくても前提がそろいます。
回身に付くこと作るもの
Day1 Claude Codeの基礎とバイブコーディング対話型AIとAIエージェントの違いを知り、言葉だけで動く画面を作り、注意点を守って確かめるバイブコーディングで作った工数集計の画面1枚
Day2 CLAUDE.md、ハーネス、コンテキストCLAUDE.mdと4種類のハーネスとコンテキストが、同じ依頼の結果をどう変えるかを自分の画面で見る見比べ表5枚と、自分で育てたCLAUDE.md
Day3 理想的なハーネスと、ハーネスの作り方(本日)1つのプロジェクトにそろえるハーネスの全体像を知り、成功した手順をSkillに落とし、別のテーマに使い回す自作のSkill 2本と、別テーマの成果物

研修のあとに持ち帰るのは、Day2で育てたCLAUDE.md、今日作るSkill 2本、ハーネス一式の入ったidcc-day3のフォルダです。自分の案件に持ち込むときに書き換える3か所は、idcc-day3/.claude/README.mdに書いてあります。

02

当日の流れ

全体で [180min]です。休憩は前半のあとに [10min]あります。

枠中身形式時間
開始Day1 とDay2のおさらいと、Day3の配布フォルダの展開説明[10min]
講義とあるプロジェクトの理想的なハーネス設計と解説講義[20min]
D3-1理想的なハーネスの試運転個人演習[20min]
講義ハーネスの作り方と使い方講義[10min]
D3-2成功体験のSkill化個人演習[20min]
休憩[10min]
D3-3skill-creatorでのSkill作成個人演習[20min]
講義プロジェクト設定とユーザー設定講義[10min]
D3-4別テーマでの成果物づくり個人演習[40min]
閉会3日間のまとめ、質疑応答、アンケート、閉会質疑[20min]

Zoom での進め方

  • 講師がZoomで画面を共有し、同じ操作を見せながら進めます。手元で使うのは、WSLにつないだVS Codeと、その中のターミナルで動かすClaude Code、Windowsのブラウザです。画面が1枚の方は、Zoomの画面を小さくして横に並べてください。
  • 演習はすべて個人で進めます。発表や、ほかの受講者との話し合いはありません。
  • 質問や、詰まったときは、Zoomのチャットに「D1-2 STEP 3ブラウザに表が出ない」のように、演習の番号、STEP、起きていることを書いてください。講師が順に答えます。
  • 各STEPの[Nmin]は目安です。時間になったら講師が次のSTEPへ進めます。結果が途中でも、次のSTEPへ移って構いません。
  • 見出しに 発展 のバッジが付いたSTEPは、演習の枠の時間に入っていません。必須のSTEPが終わったら、発展を待たずに次の演習へ進みます。
  • Claudeの応答を待つ間は、次のSTEPの本文を読んでください。
  • 研修用の組織の利用枠を、受講者全員で使います。同じ依頼を何度も送り直さず、うまくいかないときはZoomのチャットで知らせてください。研修の時間の外で長く使い続けることも控えてください。
03

始める前の準備

教材サイトからidcc-day3_20261125.zipをダウンロードし、WSLのUbuntuで展開します。開始の [10min]の中で、全員の起動をそろえます。

配布フォルダを展開する

  1. 教材サイトのDay3の欄からidcc-day3_20261125.zipをダウンロードします。Windowsのダウンロードのフォルダに保存されます。
  2. VS Codeのターミナルで、次のコマンドを1行ずつ打ちます。
ターミナルに打つコマンドメモ帳で <ここに…> を埋めてから貼る
cd ~
unzip /mnt/c/Users/<ここにWindowsのユーザー名>/Downloads/idcc-day3_20261125.zip
cd ~/idcc-day3
code .

VS CodeがWSLにつながってidcc-day3を開きます。左のエクスプローラーに.claude、CLAUDE.md、ハーネスの地図.mdが見えれば合っています。

Claude Code を起動する

VS Code のターミナルに打つコマンド
claude
  1. このフォルダを信頼するかの画面が出ます。選択の印はNo, continue without these permissionsに付いているので、↓キーでYes, I trust this folderに動かしてからEnterを押します。
  2. 入力欄の下にmanual mode onと出たら、起動できています。
フォルダを信頼するかの画面。このフォルダの設定が先に許可する8つの操作が並ぶ。↓キーで Yes, I trust this folder を選ぶ
図1:フォルダを信頼するかの画面。このフォルダの設定が先に許可する8つの操作が並ぶ。↓キーでYes, I trust this folderを選ぶ
起動した直後の画面。入力欄の下に manual mode on と出ている。モデルとプランの表示はアカウントで変わる
図2:起動した直後の画面。入力欄の下にmanual mode onと出ている。モデルとプランの表示はアカウントで変わる
Noのまま進むと、ハーネスの一部が働きません。.claude/settings.jsonの権限とHooksが読み込まれず、D3-1のHookの演習で何も止まりません。Noを選んでしまったときは、/exitで終了してclaudeを打ち直します。同じ画面がもう一度出るので、Yesを選んでください。

モード

Shift+Tabを押すたびに、入力欄の下の表示がmanual mode on、accept edits on、plan mode onの順に変わり、manual mode onに戻ります。auto mode onが出ることがありますが、研修では使いません。

モード入力欄の下の表示Day3 での使い方
通常manual mode on起動した直後のモード。Claudeに頼まないSTEPは、このままで構わない
編集の自動承認accept edits onD3-1 からD3-4の、Claudeに頼むSTEPで使う
Planplan mode onDay3 では使わない
自動auto mode on研修では使わない

accept edits onでは、ファイルの作成と書き換えが承認なしで進みます。多くのコマンドと.claude/の中への書き込みは、承認の画面を出してから動く仕組みです。危険なコマンドと機密値は、承認の画面より前にHookが止めます。

2つ目のターミナル

D3-3 とD3-4では、Claude Codeとは別に、自分でコマンドを打つターミナルを使います。VS Codeのターミナルの右上の+を押すと、2つ目のターミナルが開きます。プロンプトの末尾が~/idcc-day3$になっていることを確かめ、次を打ってください。

2つ目のターミナルに打つコマンド
python3 --version

Python 3.10から始まる表示が出れば、Hookが動きます。

04

理想的なハーネスの設計

配布フォルダには、架空株式会社(フィクション)の在庫管理システム刷新のために、1つのプロジェクトでそろえるハーネスを全部入れてあります。顧客ヒアリングから保守運用までの10工程に、どのハーネスがどこで働くかを割り当てた形です。

工程働くハーネスDay3 で動かす演習
01 ヒアリング解析req-extractor、req-reviewer、/extract-requirements、check_requirements.pyD3-1、D3-4
02 要求精査・優先度付けprioritizerなし
03 要件定義書作成rdd-template、review_gate.pyD3-4 のreview_gate.py
04 仕様定義から06詳細設計spec-writer、architect、detail-designer、.claude/templates/なし
07 実装/build-prototype、code-reviewer、check_prototype.py、simplifyD3-4
08 テスト&レビュー/full-review、qa-engineer、security-reviewD3-1+の発展
09 CI/CD・デプロイ、10保守運用devops、incident-responder、postmortemなし
全工程CLAUDE.md、block_dangerous.py、check_secrets.pyD3-1

ハーネスの種類ごとの違い

種類いつ働くかこのフォルダでの例
CLAUDE.mdセッションの最初に毎回読まれる応答は10行以内、保存先の約束、要求には発言者と根拠を付ける
Subagent親の会話から呼ばれ、別のコンテキストで動くreq-extractorが抜き出し、req-reviewerが別の目でレビューする
command人が/名前と打ったときに、決めた手順を動かす/extract-requirementsが、Subagent 2体を順に呼ぶ
Skill頼んだ内容が説明に合うと読まれるrdd-templateが、要件定義書の章立てを当てはめる
Hook決まった瞬間に必ず動く。Claudeの判断に頼らないrm -rfを実行の前に止める。レビューの指摘が残ったまま次の工程に進むのを止める

必須の演習では、同時に動くSubagentを1体までにしてあります。Subagentを3体並列に動かす/full-reviewは、利用量が増えるので発展だけで使います。

研修の環境に合わせて変えたところ

もとのハーネスは、Giveryが公開しているデモ(https://docdemo.give-app.net)のClaude Code版です。研修の環境で動くように、次の4つを変えました。変えた理由は.claude/README.mdにあります。

  • 書いたあとの検査を、Node.jsの検査からpython3の検査に置き換えた
  • Gitの手順を外し、成果物/のフォルダに保存する手順にした
  • MCPの設定を外した。MCPはDay2の講師のデモで扱った
  • モデルを固定する設定を外した。受講者の既定のモデルで動く
05

D3-1 理想的なハーネスの試運転

[20min]個人演習

この演習の [20min]は、必須のSTEP 1〜3の合計です。

ねらい

配布フォルダのハーネスが、要求の抽出のどこで働くかを自分の画面で確かめます。先に地図で予想を立て、動いたあとに結果を付けて、予想と違ったところを見つけます。

押さえること

STEP 2 のレビューで出たWARNは、この演習では書き換えません。WARNを人が判断して先に進む手順は、D3-4で通します。

できあがりの目安

  • docs/01-requirements-raw.mdができ、FR、NFR、CONの全行に発言者とタイムスタンプがある
  • docs/01-requirements-review.mdに、レビューの指摘がERROR、WARN、INFOに分かれて並んでいる
  • rm -rfをHookが止めた表示が出て、成果物/練習用のフォルダは残っている
  • ハーネスの地図.mdの予想と結果の列に印が付いている
抜き出しとレビューが終わったときの報告。要求とレビューの件数、重い指摘の上位3件、次にすることが返る。件数は人によって違います
図3:抜き出しとレビューが終わったときの報告。要求とレビューの件数、重い指摘の上位3件、次にすることが返る。件数は人によって違います

使うファイルと作るファイル

区分ファイル使い方
使うtranscripts/kakuu-2026-04-15.txt在庫管理システムのヒアリングの文字起こし。30発言ある。書き換えない
使うハーネスの地図.mdどのハーネスがどの工程で働くかの表。予想と結果の列に印を付ける
作るdocs/01-requirements-raw.mdreq-extractorが書く要求一覧
作るdocs/01-requirements-review.mdreq-reviewerが書くレビュー
地図への予想の印→要求の抽出とレビュー→Hookの確かめ

この演習は、1つの会話で最後まで進めます。STEPの文面は前のSTEPの続きとして送るので、途中で/clearを打たないでください。演習が変わったら、/clearで会話を空にしてから始めます。

STEP 1 地図への予想の印 AIを開かない [5min]

Claude Codeの入力欄に次のコマンドを打ちます。モデルは呼ばれないので、利用量は増えません。

入力欄に打つコマンド
/context

Custom agentsの欄にSubagentが10体並びます。SkillsのProjectの欄にあるのは、Skill 4本とcommand 3本の合わせて7本です。見たらEscで閉じます。

〔/context〕 の下のほう。このフォルダの Subagent 10体と、Skill と command の7本が並ぶ
図4:/contextの下のほう。このフォルダのSubagent 10体と、Skillとcommandの7本が並ぶ
  1. VS Codeのエクスプローラーでハーネスの地図.mdを開きます。
  2. STEP 2 とSTEP 3の間に動くと思うハーネスの行の予想の列に、〇を書き込みます。
  3. 気になったハーネスを1つ選び、.claude/の中のファイルを開いて中身を読みます。

STEP 2 要求の抽出とレビュー [10min]

Shift+Tabを押して、入力欄の下にaccept edits onを出してから、次の文面を送ります。

Claude に送る文面
/extract-requirements transcripts/kakuu-2026-04-15.txt

commandの手順どおりに、req-extractorが要求を抜き出し、終わってからreq-reviewerがレビューします。2体は順に動き、同時には動きません。終わるまでの目安は2〜3分です。

2体の Subagent が順に動いた画面。req-extractor が終わってから req-reviewer が動く
図5:2体のSubagentが順に動いた画面。req-extractorが終わってからreq-reviewerが動く
  1. 報告が返ったら、VS Codeでdocs/01-requirements-raw.mdを開きます。
  2. FR、NFR、CONの行に、発言者とタイムスタンプが書いてあるかを、上から5行ほど見ます。
  3. docs/01-requirements-review.mdを開き、WARNの指摘を1つ読みます。
  4. ハーネスの地図.mdの結果の列に、動いたハーネスの印を付けます。
Tips書き終えたあとに、check_requirements.pyのHookが全行の根拠を数えています。根拠の無い行があるとHookがClaudeに知らせ、Claudeが書き直します。

STEP 3 Hookの確かめ [5min]

危険なコマンドを、わざと頼みます。

Claude に送る文面
Hookの働きを確かめる練習です。成果物/練習用 というフォルダを作り、そのあとBashで rm -rf 成果物/練習用 を実行してみてください。止められたら、止めた表示をそのまま見せてください。

Claudeはフォルダを作ってからrm -rfを実行しようとし、block_dangerous.pyが実行の前に止めます。赤い文字で、止めた理由とコマンドが出ます。コマンドの承認の画面が出たら、中身がmkdirとlsだけかを読んでから1. Yesを選んでください。

Hook が 〔rm -rf〕 を止めた画面。止めた理由が日本語で出て、フォルダは消えずに残る
図6:Hookがrm -rfを止めた画面。止めた理由が日本語で出て、フォルダは消えずに残る

ハーネスの地図.mdの結果の列に、block_dangerous.pyの印を付けます。空の成果物/練習用は、残したままで構いません。

うまくいかないとき

/extract-requirementsが候補に出ない

プロンプトの末尾が~/idcc-day3$のターミナルで起動したかを確かめてください。違うフォルダで起動していたら、/exitで終えてcd ~/idcc-day3を打ち、claudeで起動し直します。

5分たっても抽出が終わらない

画面の●の行に、Subagentの経過が出ていれば動いています。経過が5分以上変わらないときは、Escで止めてZoomのチャットで知らせてください。

Hookが止めず、Claudeが自分で実行を断った

文面の頭の「Hookの働きを確かめる練習です」が抜けていると、ClaudeがCLAUDE.mdの規約を読んで自分で断ることがあります。前置きを入れて送り直してください。

Hookが何も表示しない

2つ目のターミナルでpython3 --versionを打ち、3.10以上が出るかを見てください。出るのにHookが働かないときは、フォルダを信頼するかの画面でNoを選んだ可能性があります。/exitで終えて、起動し直してください。

早く終わった方へ

追加と考察

STEP 3 でコマンドを止めたのはblock_dangerous.pyです。CLAUDE.mdに「rm -rfを使わない」と書くだけの場合と比べて、何が違うかを考えてみてください。CLAUDE.mdの規約は、Claudeが読んで判断するので、守られないことがあります。Hookは、Claudeの判断に関係なく決まった瞬間に必ず動きます。

発展課題

D3-1+ 3つのレビューを並列に動かします。Subagentが3体同時に動くので、利用量が増えます。必須の演習が終わって時間が余ったときだけ試してください。

Claude に送る文面
/full-review docs

セキュリティ、規約、確かめの手順の3つのレビューが同時に動き、docs/08-review-report.mdに1つにまとまります。STEP 2のreq-reviewerと見比べて、どの観点の指摘が増えたかを見てください。

06

ハーネスの作り方と使い方

ハーネスは、4つの手で作れます。D3-2とD3-3で、3つ目と4つ目を試します。

手中身Day3 の演習
公式から持ってくるAnthropicが公開しているSkillやプラグインを取り込むD3-3 STEP 1
チームで使い回す.claude/とCLAUDE.mdをプロジェクトのフォルダに置くと、同じフォルダを開いた全員に同じハーネスが働くD3-4 で、このフォルダのハーネスを別のテーマに使う
成功体験を落とすうまくいった対話の手順を、そのままSkillにしてもらうD3-2
AIと相談して作るskill-creatorに、何を自動化したいかを話しながら作るD3-3

公式の入手先

もの入手先
skill-creatorなどの公式のSkillgithub.com/anthropics/skills
Claude Codeの公式のプラグイン(skill-creatorを含む)github.com/anthropics/claude-plugins-official
プラグインの入れ方https://code.claude.com/docs/en/discover-plugins
Skillの書き方と置き場https://code.claude.com/docs/en/skills
Subagentの書き方https://code.claude.com/docs/en/sub-agents
Hookの書き方https://code.claude.com/docs/en/hooks

skill-creatorは、Apache License 2.0で公開されています。取り込んだSkillは、中身のSKILL.mdを読んでから使ってください。Skillにはスクリプトが入っていることがあり、承認の画面で何を動かそうとしているかを読む必要があるためです。

Skill の形

Skillは、SKILL.mdを1つ入れたフォルダです。.claude/skills/<名前>/SKILL.mdに置くとプロジェクトのSkill、~/.claude/skills/<名前>/SKILL.mdに置くと自分が開く全部のフォルダで使えるSkillになります。会話の途中で足しても、Claude Codeは起動し直さずに読み込みます。

SKILL.md の形の例
---
name: meeting-actions
description: 会議のメモから、決まったことと宿題を抜き出し、担当と期限の表にする
---
# 会議のメモの整理

1. 決まったことを抜き出す
2. 宿題に担当と期限を付ける
3. 表にして保存する

Claudeはdescriptionを読んで、頼まれた内容に合うSkillを自分で選びます。頼むときに使う言葉をdescriptionに入れておくと、呼ばれやすくなります。

07

D3-2 成功体験のSkill化

[20min]個人演習

この演習の [20min]は、必須のSTEP 1〜3の合計です。

ねらい

Claudeと3往復で仕上げた作業を、その場でSkillにします。会話を空にしてから一言だけ頼み、3往復で伝えた中身がSkillから再現されるかを確かめます。

押さえること

Skillの出来よりも、作る手順を持ち帰ることを優先します。3往復の文面は例のとおりでも、自分で変えても構いません。

できあがりの目安

  • .claude/skills/<名前>/SKILL.mdがあり、手順が3つ書いてある。自分で直した箇所が1か所ある
  • 成果物/D3-2/に、3往復で仕上げた表と、/clearのあとに一言で頼んだ表の2つがある
  • 2つの表の列と並び順が同じになっている
〔/clear〕 のあとに一言で頼んだ表の頭。拠点ごとの見出しと、3往復で決めた列が並ぶ。表の形は人によって違います
図7:/clearのあとに一言で頼んだ表の頭。拠点ごとの見出しと、3往復で決めた列が並ぶ。表の形は人によって違います

使うファイルと作るファイル

区分ファイル使い方
使うdata/在庫_202609.csv東京3拠点の在庫を並べたCSV。書き換えない
使うdata/列の説明.md列の意味
作る成果物/D3-2/発注候補表_202609.md3往復で仕上げる表
作る.claude/skills/<名前>/SKILL.md3往復の手順を落としたSkill
作る成果物/D3-2/発注候補表_clear後.md/clearのあとに一言で頼んだ表
3往復での表の仕上げ→手順のSkill化→/clearのあとの一言

STEP 1 とSTEP 2は、1つの会話で進めます。STEP 3の最初に/clearを打ち、会話を空にしてから一言だけ頼みます。

STEP 1 3往復での表の仕上げ [9min]

入力欄の下がaccept edits onになっていることを確かめます。次の3つの文面を、前の応答を読んでから1つずつ送ります。

1つ目の文面
@data/在庫_202609.csv を読んで、在庫数が安全在庫を下回っている品目を抜き出してください。結果は表にして、成果物/D3-2/発注候補表_202609.md に保存してください。
2つ目の文面
拠点ごとに見出しを分けて、拠点の中は不足数の大きい順に並べてください。
3つ目の文面
発注数の決め方を変えます。安全在庫まで戻す数に、月間出庫の半月分を足し、発注単位の倍数に切り上げた数にしてください。計算の式を表の下に1行で書いてください。

1つ目の文面だけで、Claudeが不足数や発注数まで出すことがあります。そのときも、2つ目と3つ目をそのまま送ってください。並べ方と発注数の決め方を変えておくと、STEP 3でSkillの効き目が見えます。

3つ目の文面への応答。発注数を新しい決め方で計算し直し、表の下に計算の式を書いた
図8:3つ目の文面への応答。発注数を新しい決め方で計算し直し、表の下に計算の式を書いた

STEP 2 手順のSkill化 [5min]

Claude に送る文面
今のやり方をSkillにしてください。手順は3つにまとめてください。

.claude/の中に書き込む前に、承認の画面が出ます。保存先が.claude/skills/<名前>/SKILL.mdになっているかを読んでから、1. Yesを選びます。

  1. VS Codeで、できたSKILL.mdを開きます。
  2. 手順が3つあるか、3往復で伝えた並べ方と発注数の決め方が入っているかを読みます。
  3. 1か所を自分で直して保存します。迷ったら、descriptionの行に、頼むときに使う言葉を足してください。
Claude が作った SKILL.md の例。手順が「抜き出す」「計算して並べる」「書き出す」の3つに分かれている
図9:Claudeが作ったSKILL.mdの例。手順が「抜き出す」「計算して並べる」「書き出す」の3つに分かれている

STEP 3 /clearのあとの一言 [6min]

入力欄に打つコマンド
/clear

会話が空になってから、一言だけで頼みます。並べ方も発注数の決め方も書きません。

Claude に送る文面
9月の在庫で発注候補表を作って、成果物/D3-2/発注候補表_clear後.md に保存して。

画面にSkill(<名前>)の行が出れば、Claudeが自分でSkillを読み込んでいます。

一言で頼んだあと、Claude が order-candidates の Skill を読み込んだ画面
図10:一言で頼んだあと、Claudeがorder-candidatesのSkillを読み込んだ画面

VS Codeで発注候補表_202609.mdと発注候補表_clear後.mdを並べて開き、列と並び順が同じかを見比べます。

うまくいかないとき

Skill(<名前>)の行が出ず、表の形が違う

SKILL.mdのdescriptionに、頼んだ文面の言葉が入っているかを見てください。「発注候補表」のような言葉を足して保存し、/clearのあとにもう一度頼みます。/<名前>と打って、名前で呼ぶこともできます。

Skillの保存で承認の画面が出たまま進まない

1. Yesを選ぶと進みます。Noを選んだときは、「さっきのSkillを保存してください」と送ってください。

1つ目の文面で、拠点ごとの表までできた

Claudeが先回りして作ることがあります。2つ目と3つ目の文面は、そのまま送ってください。

早く終わった方へ

追加と考察

STEP 3 の一言の依頼で、3往復で伝えたことのうち、再現されなかったものがあったかを見てください。あれば、SKILL.mdのどこに書けば再現されるかを考えます。

発展課題

D3-2+ Skillに確かめの手順を足します。

Claude に送る文面メモ帳で <ここに…> を埋めてから貼る
<ここに Skill の名前> のSkillに、4つ目の手順として確かめを足してください。抜き出した件数を、CSVを数え直した件数と突き合わせ、合わなければ表を保存せずに知らせる手順にしてください。

/clearのあとにSTEP 3と同じ一言を送り、報告に件数の突き合わせが出るかを見ます。

08

D3-3 skill-creatorでのSkill作成

[20min]個人演習

この演習の [20min]は、必須のSTEP 1〜3の合計です。

ねらい

公式のskill-creatorをプロジェクトに取り込み、作りたいSkillを3行で伝えて、相談しながらSKILL.mdを作ります。作ったSkillを1回動かして、結果を保存します。

押さえること

3行の題材は、自分の業務でくり返している作業から選びます。思いつかないときは、別テーマ/かdata/のCSVを使うSkillにしてください。

できあがりの目安

  • .claude/skills/skill-creator/SKILL.mdがある
  • .claude/skills/<自分で決めた名前>/SKILL.mdがあり、STEP 2の3行の中身が手順に入っている
  • 成果物/D3-3/に、作ったSkillを1回動かした結果がある
作った Skill の結果の例。CSV の9列の名前、データ型、説明、実例が表になっている
図11:作ったSkillの結果の例。CSVの9列の名前、データ型、説明、実例が表になっている

使うファイルと作るファイル

区分ファイル使い方
使う_予備/skill-creator/公式から取り込めないときだけ使う写し
作る.claude/skills/skill-creator/公式から取り込むskill-creator
作る.claude/skills/<名前>/SKILL.mdskill-creatorと作る自分のSkill
作る成果物/D3-3/作ったSkillを動かした結果の置き場
skill-creatorの取り込み→3行での相談→Skillの1回の実行

この演習は、1つの会話で最後まで進めます。STEPの文面は前のSTEPの続きとして送るので、途中で/clearを打たないでください。演習が変わったら、/clearで会話を空にしてから始めます。

STEP 1 skill-creatorの取り込み AIを開かない [4min]

2つ目のターミナルで、公式のリポジトリからskill-creatorを取り込みます。コマンドを1行ずつ打ってください。

2つ目のターミナルに打つコマンド
cd ~/idcc-day3
curl -fsSL https://codeload.github.com/anthropics/skills/tar.gz/refs/heads/main -o /tmp/anthropic-skills.tgz
tar xzf /tmp/anthropic-skills.tgz -C /tmp
cp -r /tmp/skills-main/skills/skill-creator .claude/skills/
ls .claude/skills .claude/skills/skill-creator

最後のlsの結果に、skill-creatorとSKILL.mdが出れば取り込めています。Claude Codeは起動し直さずに、このSkillを読み込みます。

公式のリポジトリから取り込んだ画面。〔.claude/skills/〕 に skill-creator が増えた
図12:公式のリポジトリから取り込んだ画面。.claude/skills/にskill-creatorが増えた

curlでエラーが出たときは、配布フォルダに入れてある写しを使います。2026年10月21日に公式から写したものです。

2つ目のターミナルに打つコマンド
cp -r _予備/skill-creator .claude/skills/
Tipsskill-creatorは、Claude Codeのプラグインとしても入れられます。入れ方はhttps://code.claude.com/docs/en/discover-pluginsにあります。研修でフォルダに写す方法を使うのは、中身のファイルを目で読めるようにするためです。

STEP 2 3行での相談 [10min]

  1. 作りたいSkillを3行で書きます。1行目に何を渡すか、2行目に何を作るか、3行目にどこへ保存するかを書きます。保存先は成果物/D3-3/にしてください。
  2. Skillの名前を、英小文字とハイフンで決めます。
  3. 次の文面の<ここに…>を埋めて送ります。
Claude に送る文面メモ帳で <ここに…> を埋めてから貼る
/skill-creator 次の3行のSkillを作りたいです。名前は <ここに英小文字とハイフンの名前> にしてください。評価のテストとベンチマークは行わず、SKILL.mdを書いたら終えてください。
<ここに 1行目から3行目>
「評価のテストとベンチマークは行わず」の一文は消さないでください。skill-creatorは、Skillを作ったあとに、テストの会話を何本も並列に動かす手順を持っています。研修用の組織の利用量が大きく増えます。

skill-creatorが質問してきたら、答えを1文で返します。.claude/skills/<名前>/に書き込む前に承認の画面が出るので、保存先を読んでから1. Yesを選んでください。

skill-creator に3行を送った画面。テストとベンチマークを行わずに SKILL.md を書くと返ってきた
図13:skill-creatorに3行を送った画面。テストとベンチマークを行わずにSKILL.mdを書くと返ってきた
3行の例を見る

CSVのファイルを渡すと、列ごとに中身と例を表にした説明を作る

例は、実際の値から1つずつ取る

説明は成果物/D3-3/<CSVの名前>_列の説明.mdに保存する

名前はcsv-columnsにした例です。自分の業務に近い題材があれば、そちらで作ってください。

STEP 3 Skillの1回の実行 [6min]

作ったSkillを、名前で呼んで1回動かします。

Claude に送る文面メモ帳で <ここに…> を埋めてから貼る
/<ここに Skill の名前> <ここに渡すファイル>

結果が成果物/D3-3/に保存されたら、VS Codeで開いて、3行に書いたとおりの中身かを読みます。違うところがあれば、SKILL.mdを自分で1か所直します。

作った Skill を名前で呼んだ画面。CSV を読み、〔成果物/D3-3/〕 に説明を保存した
図14:作ったSkillを名前で呼んだ画面。CSVを読み、成果物/D3-3/に説明を保存した

うまくいかないとき

/skill-creatorが候補に出ない

2つ目のターミナルでls .claude/skills/skill-creator/SKILL.mdを打ち、ファイルがあるかを見てください。.claude/skills/skill-creator/skill-creator/のように1段深くなっていたら、写し方が違います。講師に知らせてください。

skill-creatorがテストを始めた

Escで止めて、「テストは行わず、SKILL.mdを書いたら終えてください」と送ってください。

curlでCould not resolve hostなどのエラーが出る

研修のPCからGitHubに届いていません。STEP 1の_予備/skill-creatorを写すコマンドを使ってください。

作ったSkillが成果物/D3-3/以外に保存した

SKILL.mdの保存先の行を成果物/D3-3/に直して、もう一度動かしてください。

早く終わった方へ

追加と考察

D3-2 とD3-3のSKILL.mdを並べて、descriptionの書き方を比べてください。3行の例で作ったcsv-columnsでは、skill-creatorが「〜の場合に使う」という呼ばれる条件までdescriptionに書き込みました。

発展課題

D3-3+作ったSkillをユーザー設定に置き、別のフォルダでも動かします。

2つ目のターミナルに打つコマンドメモ帳で <ここに…> を埋めてから貼る
mkdir -p ~/.claude/skills ~/d3-try
cp -r .claude/skills/<ここに Skill の名前> ~/.claude/skills/
cp 別テーマ/会議室.csv ~/d3-try/
cd ~/d3-try
claude

~/d3-tryで起動したClaude Codeで、/<名前> 会議室.csvを送り、Skillが呼べるかを確かめます。研修のPCは、ユーザーを共有していることがあります。確かめたら/exitで終え、ユーザー設定に置いたSkillを消してください。

2つ目のターミナルに打つコマンドメモ帳で <ここに…> を埋めてから貼る
rm -r ~/.claude/skills/<ここに Skill の名前>
cd ~/idcc-day3
09

プロジェクト設定とユーザー設定

同じ種類の設定でも、置く場所によって、だれに働かせるかが変わります。

置き場働く範囲置くもの
プロジェクトの.claude/settings.jsonとCLAUDE.mdそのフォルダを開いた全員チームで守る規約、権限、Hooks。配布フォルダの設定がこれにあたる
プロジェクトの.claude/settings.local.jsonとCLAUDE.local.mdそのフォルダを開いた自分だけ自分の環境に依存する設定
ユーザーの~/.claude/settings.jsonと~/.claude/CLAUDE.md自分が開く全部のフォルダ口調、自分の好み、どの案件でも使うSkill(~/.claude/skills/)

設定が重なったときの優先順位

settings.jsonの同じ項目が2か所以上にあると、上の段の値が使われます。

順置き場補足
1組織が配る管理の設定(managed settings)利用者の設定では上書きできない
2起動のときに--settingsで渡した設定そのセッションだけ
3プロジェクトの.claude/settings.local.json自分だけ
4プロジェクトの.claude/settings.jsonそのフォルダを開いた全員
5ユーザーの~/.claude/settings.json自分が開く全部のフォルダ

許可と禁止の一覧(permissions.allowなど)は、上の段で置き換わらず、全部の段の一覧が足し合わされます。

CLAUDE.mdには、この優先順位が当てはまりません。見つかったCLAUDE.mdは全部読まれ、ユーザーの~/.claude/CLAUDE.mdとプロジェクトのCLAUDE.mdの両方がClaudeに渡ります。読まれる順番は、起動したフォルダに近いものほどあとです。同じフォルダの中では、CLAUDE.md、CLAUDE.local.mdの順です。

優先順位は公式の設定のページ、読み込みの順番は CLAUDE.mdのページにあり、2026年10月22日に確かめました。

Tips読み込まれた設定ファイルの種類は、入力欄で/statusを打つと、StatusのタブのSetting sourcesの行に出ます。CLAUDE.mdの置き場は、/memoryを打つとProject instructionsとUser instructionsの行に出ます。
研修のPCは、ユーザーを共有していることがあります。ユーザーの~/.claude/に置いたものは、次にそのPCを使う人のClaude Codeにも読み込まれます。D3-3+とD3-4+でユーザー設定に置いたものは、確かめたら消してください。
10

D3-4 別テーマでの成果物づくり

[40min]個人演習

この演習の [40min]は、必須のSTEP 1〜4の合計です。

ねらい

在庫管理のために作ったハーネスを、会議室予約という別のテーマにそのまま使います。要求の抽出、レビューの判断、試作品づくりをcommandの手順どおりに進め、条件4つと自分の工夫1つを入れた画面を作ります。

押さえること

成果物は人によって違って構いません。条件4つを満たしたうえで、どこを工夫したかをZoomのチャットに1行で添えます。

できあがりの目安

  • 成果物/D3-4/01-requirements-review.mdのWARNが、判断を書き足した[確認済]になっている
  • ブラウザでhttp://localhost:8000/成果物/D3-4/index.htmlを開くと、条件4つが動く
  • 自分の工夫が1つ、画面に入っている
  • 画面のスクリーンショットと工夫の1行が、Zoomのチャットにある
試作品の例。今日と明日の予約が一覧で出る。この例の工夫は、プロジェクターのある部屋に付けた PJ の印です
図15:試作品の例。今日と明日の予約が一覧で出る。この例の工夫は、プロジェクターのある部屋に付けたPJの印です

使うファイルと作るファイル

区分ファイル使い方
使う別テーマ/ヒアリングメモ_会議室予約.mdサンプル電機株式会社(架空)の総務とのヒアリングメモ。発言に行番号がある
使う別テーマ/会議室.csv、別テーマ/予約_202612.csv試作品が読むサンプルデータ。列の意味は別テーマ/データの説明.md
作る成果物/D3-4/01-requirements-raw.md、成果物/D3-4/01-requirements-review.md要求一覧とレビュー
作る成果物/D3-4/index.html、成果物/D3-4/02-code-review.md試作品と、code-reviewerのレビュー

試作品の条件

条件ブラウザでの確かめ方
予約の一覧12月1日を基準日にすると、その日と翌日の予約が出る
会議室と日付での絞り込み会議室と日付を選ぶと、その日の予約と空いている時間が出る
重複予約のエラー表示ある予約と重なる時間で登録すると、エラーが出て一覧の件数が増えない
予約の取り消し取り消すと、一覧からその予約が消える

試作品は、HTMLとJavaScriptの1ファイルで作ります。登録と取り消しは画面を開いている間だけ有効で、データのCSVは書き換えません。

メモを読んで工夫を決める→要求の抽出から試作品まで→ブラウザでの確かめ→Zoomのチャットでの共有

この演習は、1つの会話で最後まで進めます。STEPの文面は前のSTEPの続きとして送るので、途中で/clearを打たないでください。演習が変わったら、/clearで会話を空にしてから始めます。

STEP 1 メモを読んで工夫を決める AIを開かない [5min]

  1. VS Codeで別テーマ/ヒアリングメモ_会議室予約.mdを開き、16行目から36行目の発言を読みます。
  2. 条件4つのもとになった発言がどの行かを探します。
  3. 条件のほかに、自分が画面に加える工夫を1つ決め、1行のメモに書きます。メモの発言から選んでも、自分で考えても構いません。
ヒアリングメモの発言。左の数字が行番号で、要求一覧の根拠に使われる
図16:ヒアリングメモの発言。左の数字が行番号で、要求一覧の根拠に使われる

STEP 2 要求の抽出から試作品まで [20min]

入力欄の下がaccept edits onになっていることを確かめてから送ります。終わるまでの目安は2〜3分です。

Claude に送る文面
/extract-requirements 別テーマ/ヒアリングメモ_会議室予約.md 成果物/D3-4

報告にWARNが出ても、そのまま次の文面を送ります。<ここに…>は、STEP 1で決めた工夫に置き換えます。

Claude に送る文面メモ帳で <ここに…> を埋めてから貼る
/build-prototype 成果物/D3-4/01-requirements-raw.md <ここに STEP 1 で決めた工夫>

レビューのWARNが残っているので、review_gate.pyのHookが送信を止めます。止められた送信では、モデルは呼ばれません。

D3-1 の 〔docs/〕 で同じ文面を試し、Hook が止めた画面。D3-4 では 〔成果物/D3-4〕 のレビューの WARN が並ぶ
図17:D3-1 のdocs/で同じ文面を試し、Hookが止めた画面。D3-4では成果物/D3-4のレビューのWARNが並ぶ
  1. VS Codeで成果物/D3-4/01-requirements-review.mdを開きます。
  2. [WARN]の行を1件ずつ読み、行の終わりに「判断:」から始まる1文を書き足します。
  3. 書き足した行の[WARN]を[確認済]に書き換えて保存します。[ERROR]があれば同じように扱います。
  4. 入力欄で↑キーを押して、/build-prototypeの文面を呼び出し、もう一度送ります。
書き換えた行の形
- [確認済] FR-005 (指摘の文はそのまま残す) 判断: 試作品では扱わない。次のヒアリングで確かめる

判断に迷った指摘は、上の形の「試作品では扱わない。次のヒアリングで確かめる」で構いません。全部を深く検討する時間はありません。

2回目の送信では、Claudeがindex.htmlを書き、code-reviewerが1回だけレビューします。ERRORはClaudeが直し、WARNとINFOは報告に出ます。こちらも、終わるまでの目安は2〜3分です。

試作品ができたときの報告。入れた機能と要求 ID、加えた工夫、レビューの件数、開き方が返る
図18:試作品ができたときの報告。入れた機能と要求ID、加えた工夫、レビューの件数、開き方が返る

STEP 3 ブラウザでの確かめ AIを開かない [8min]

2つ目のターミナルで、プロジェクトの直下からサーバを動かします。

2つ目のターミナルに打つコマンド
cd ~/idcc-day3
python3 -m http.server 8000

Windowsのブラウザで次のURLを開きます。

ブラウザのアドレス欄
http://localhost:8000/成果物/D3-4/index.html

試作品の条件の表を見ながら、4つを1つずつ画面で確かめます。終わる時刻と同じ時刻から始まる予約が登録できるかも、メモの24行目と照らして試してください。

予約の一覧。基準日の12月1日の予約が6件並ぶ
図19:予約の一覧。基準日の12月1日の予約が6件並ぶ
会議室Aと12月1日で絞り込んだ画面。予約2件と、30分ごとの空きが出る
図20:会議室Aと12月1日で絞り込んだ画面。予約2件と、30分ごとの空きが出る
会議室Aの9時30分から10時30分を登録した画面。重なる予約があるので、エラーが出て登録されない
図21:会議室Aの9時30分から10時30分を登録した画面。重なる予約があるので、エラーが出て登録されない
9時の予約を取り消した画面。一覧の件数が1件減った
図22:9時の予約を取り消した画面。一覧の件数が1件減った

動かない条件があれば、何が起きたかを1文でClaudeに伝えて直させます。2回伝えても直らなければ、Zoomのチャットで講師に知らせてください。

STEP 4 Zoomのチャットでの共有 AIを開かない [7min]

  1. ブラウザに試作品を出したまま、Win+Shift+Sを押します。
  2. 画面の上に出る切り取りの道具で、工夫が見える範囲をドラッグで囲みます。
  3. Zoomのチャットの入力欄をクリックし、Ctrl+Vで貼り付けます。
  4. 工夫を1行添えて送ります。

貼り付けても画像が出ないときは、Zoomの主催者の設定で、チャットのファイル送信が止められている可能性があります。工夫の1行だけを送り、画像が送れないことを書き添えてください。

うまくいかないとき

書き換えたのに、まだHookに止められる

Hookの表示に、残っている行のファイル名と行番号が出ます。その行の頭に[WARN]か[ERROR]が残っていないかを見てください。書き換えたあと、VS Codeでファイルを保存したかも確かめます。

ブラウザに404と出る、またはデータが出ない

サーバを~/idcc-day3で動かしているかを見てください。成果物/D3-4の中で動かすと、試作品がサンプルデータを読めません。アドレス欄がfile://で始まっていたら、http://localhost:8000/から開き直します。

Address already in useと出て、サーバが動かない

別のターミナルで、もうサーバが動いています。そのままブラウザで開いてください。

Claudeがサーバを起動しようとする

承認の画面で止める側の選択肢を選び、「サーバは自分で動かします」と送ってください。サーバのコマンドは終わらないので、Claudeの会話が止まります。

早く終わった方へ

追加と考察

STEP 2 で[確認済]に書いた判断が、試作品のどこに反映されたかを見てください。index.htmlの画面の下にある要求IDの対応表で、入った要求と入らなかった要求が分かります。

発展課題

D3-4+ユーザー設定の~/.claude/CLAUDE.mdに自分の好みを書き、成果物の見た目が変わるかを見ます。

  1. 2つ目のターミナルでcode ~/.claude/CLAUDE.mdを打ち、VS Codeでファイルを開きます。ファイルが無ければ、新しいファイルとして開きます。
  2. 最後の行に、自分の好みを1行足して保存します。例は「画面は白い背景にし、色は紺の濃淡だけで作る」です。
  3. Claude Codeで/exitを打って終え、claudeで起動し直します。CLAUDE.mdは起動のときに読まれるためです。
  4. 下の文面を送り、元のindex.htmlと見比べます。
Claude に送る文面
成果物/D3-4/index.html の見た目を、自分の好みに合わせて直し、成果物/D3-4/index_好み.html という別のファイルに保存してください。

研修のPCは、ユーザーを共有していることがあります。確かめたら、~/.claude/CLAUDE.mdに足した行を消して保存してください。

11

よくある質問

/usageで、上限に近いという表示が出ました

Zoomのチャットで講師に知らせてください。研修用の組織の利用枠を全員で使っています。発展の課題は止めて、必須のSTEPだけを進めます。

Claudeの応答が10行で終わり、細かいところが分かりません

CLAUDE.mdで応答を短くしてあります。詳しい中身は、Claudeが書いたファイルを開いて読んでください。「〜の理由を詳しく」と頼めば、その回だけ長く答えます。

モデルを変えたほうがよいですか

既定のモデルのままで進めてください。配布フォルダの設定とSubagentは、モデルを決めていません。研修用の組織の既定のモデルで動きます。

Hookを止めたいときはどうしますか

研修では止めません。.claude/settings.jsonと.claude/hooks/は、Claudeが書き換えられないように設定してあります。Hookが止めた理由が分からないときは、表示をそのままZoomのチャットに貼ってください。

このハーネスを自分の案件に持ち込めますか

.claude/とCLAUDE.mdをフォルダごと写せば動きます。案件に合わせて書き換える箇所は、CLAUDE.mdの規約とsettings.jsonの禁止の一覧、review_gate.pyが止めるcommandの3つです。書き換え方は.claude/README.mdにあります。持ち込む前に、所属先の利用の決まりを確かめてください。

作ったものを手元に残せますか

~/idcc-day3は普通のフォルダです。Windowsのエクスプローラーのアドレス欄に\\wsl$\Ubuntu-22.04\home\ユーザー名\idcc-day3と打つと開けるので、コピーして残せます。

Subagentの一覧を見るコマンドはありますか

入力欄に/contextと打つと、Custom agentsの欄に出ます。Subagentの中身は、.claude/agents/のファイルをVS Codeで開いて読みます。