self-assessment について
Self-Assessment & Learning Path Advisor は、Claude Code ユーザー向けの自己評価スキルです。短い形式または詳細な質問で習熟度と分野別の課題を確認し、依存関係に沿った個別の学習計画を作成します。
主な機能
- 01簡易・詳細の評価モード
- 02Claude Code の機能習熟度を評価
- 03トピック別の課題を特定
- 04全体および分野別のスコア算出
- 05優先順位付き学習計画の作成
- 06依存関係に沿った学習段階の構成
活用シーン
- 01Claude Code の現在の習熟度を把握
- 02MCP、Hooks、CLI などの課題を発見
- 03評価結果に基づく学習計画の策定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ luongnv89/ claude-howto --skill self-assessmentインストール後、Claude Code で/self-assessmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/deep-assessment-rounds.mdoutput-templates.mdtopic-recommendations.md詳細
セルフアセスメントと学習パスのアドバイザー
10 の機能領域にわたって Claude Code の習熟度を評価し、具体的なスキルの不足を特定して、レベルアップのためのパーソナライズされた学習パスを作成する、包括的なインタラクティブアセスメントです。
手順
ステップ 1:ようこそ、アセスメントモードの選択
アセスメントの詳しさを選んでもらいます。
AskUserQuestion を使用して、次の選択肢を提示します。
- クイックアセスメント — 「複数選択式の質問が 2 問(全 8 項目)、約 2 分です。全体的なレベル(初級/中級/上級)を判定し、学習パスを提示します。」
- 詳細アセスメント — 「詳細な質問を含む 5 つのカテゴリ、約 5 分です。トピックごとのスキルスコアを提示し、具体的な不足を特定して、優先順位を付けた学習パスを作成します。」
ユーザーがクイックアセスメントを選んだ場合は、ステップ 2A に進みます。 ユーザーが詳細アセスメントを選んだ場合は、ステップ 2B に進みます。
ステップ 2A:クイックアセスメント
複数選択式の質問を 2 問提示します(AskUserQuestion では選択肢は最大 4 個です)。
質問 1(ヘッダー:「基本」): 「パート 1/2:次の Claude Code のスキルのうち、すでに習得しているものはどれですか?」 選択肢:
- 「Claude Code を起動してチャットする」—
claudeを実行して対話できます - 「CLAUDE.md を作成/編集した」— プロジェクトまたはユーザーのメモリを設定したことがあります
- 「スラッシュコマンドを 3 つ以上使った」— 例:/help、/compact、/model、/clear
- 「カスタムコマンド/スキルを作成した」— SKILL.md またはカスタムコマンドファイルを作成したことがあります
質問 2(ヘッダー:「上級」): 「パート 2/2:次の上級スキルのうち、習得しているものはどれですか?」 選択肢:
- 「MCP サーバーを設定した」— 例:GitHub、データベース、その他の外部データソース
- 「フックを設定した」— 設定ファイル(例:~/.claude/settings.json または .claude/settings.json)でフックを設定したことがあります
- 「サブエージェントを作成/使用した」— タスクの委任に .claude/agents/ を使用したことがあります
- 「プリントモード(claude -p)を使った」— 非インタラクティブな利用や CI/CD で
claude -pを使用したことがあります
スコアリング:
- 合計 0~2 点 = レベル 1:初級
- 合計 3~5 点 = レベル 2:中級
- 合計 6~8 点 = レベル 3:上級
レベルの結果と、ギャップとしてチェックされなかった具体的な項目を列挙し、ステップ 3 に進みます。
ステップ 2B:詳細アセスメント
質問を 5 ラウンドに分け、各ラウンドで AskUserQuestion を 1 回呼び出します。各ラウンドでは、関連する機能領域を 2 つ扱います。すべてのラウンドで複数選択を使用します。
重要:AskUserQuestion では選択肢は最大 4 個です。各ラウンドには、2 つのトピックを扱う選択肢が 4 個ある質問を、必ず 1 問だけ含めます(トピックごとに選択肢 2 個)。
ラウンド 1 — スラッシュコマンドとメモリ(ヘッダー:「コマンド」)
「次のうち、行ったことがあるものをすべて選択してください。」 選択肢:
- 「カスタムのスラッシュコマンドまたはスキルを作成した」— frontmatter を含む SKILL.md ファイルを作成した、または .claude/commands/ ファイルを作成したことがあります
- 「コマンドで動的コンテキストを使用した」— スキル/コマンドファイルで
$ARGUMENTS、$0/$1、バッククォートの!command構文、または@file参照を使用したことがあります - 「プロジェクトと個人のメモリを設定した」— プロジェクトの CLAUDE.md と個人用の ~/.claude/CLAUDE.md(または CLAUDE.local.md)の両方を作成したことがあります
- 「メモリ階層の機能を使用した」— 7 つのメモリの場所がコンテキストに連結される仕組み(ルートから順に読み込まれ、各階層で CLAUDE.local.md が CLAUDE.md の後に追加され、サブディレクトリのファイルは必要に応じて読み込まれる)を理解しており、.claude/rules/ ディレクトリ、パス固有のルール、または @import 構文を使用したことがあります
ラウンド 1 のスコアリング:
- 選択肢 1~2 はスラッシュコマンドに対応します(0~2 点)
- 選択肢 3~4 はメモリに対応します(0~2 点)
ラウンド 2 — スキルとフック(ヘッダー:「自動化」) 「次のうち、実行したことがあるものはどれですか?該当するものをすべて選択してください。」 選択肢:
- 「自動呼び出しされるスキルをインストールして使用した」 — 説明に基づいて自動的に起動するスキルです。手動で
/commandを呼び出す必要はありません - 「スキルの呼び出し動作を制御した」 — SKILL.md のフロントマターで
disable-model-invocation、user-invocable、またはcontext: forkと agent フィールドを使用しました - 「PreToolUse または PostToolUse フックを設定した」 — ツールの実行前後に動作するフック(コマンド検証ツール、自動フォーマッターなど)を設定しました
- 「高度なフック機能を使用した」 — prompt タイプのフック、スキルのフロントマターのフック、HTTP フック、またはカスタム JSON 出力(updatedInput、systemMessage)を伴うフックを設定しました
ラウンド 2 の採点:
- 選択肢 1〜2 は Skills に対応します(0〜2 点)
- 選択肢 3〜4 は Hooks に対応します(0〜2 点)
ラウンド 3 — MCP とサブエージェント(見出し:「Integration」)
「次のうち、実行したことがあるものはどれですか?該当するものをすべて選択してください。」 選択肢:
- 「MCP サーバーに接続し、そのツールを使用した」 — 例:PR や issue に使う GitHub MCP、クエリに使うデータベース MCP、またはその他の外部データソース
- 「高度な MCP 機能を使用した」 — プロジェクトスコープの .mcp.json、OAuth 認証、@mentions による MCP リソース、Tool Search、または
claude mcp serve - 「カスタムサブエージェントを作成または設定した」 — .claude/agents/ で、カスタムツール、モデル、または権限を持つエージェントを定義しました
- 「高度なサブエージェント機能を使用した」 — Worktree による分離、永続的なエージェントメモリ、Ctrl+B によるバックグラウンドタスク、メインスレッドとして実行されるエージェント向けの
Agent(agent_type)によるエージェント許可リストとclaude --agent(Task(...)形式は後方互換性のためのエイリアスです)、またはエージェントチーム
ラウンド 3 の採点:
- 選択肢 1〜2 は MCP に対応します(0〜2 点)
- 選択肢 3〜4 は Subagents に対応します(0〜2 点)
ラウンド 4 — チェックポイントと高度な機能(見出し:「Power User」)
「次のうち、実行したことがあるものはどれですか?該当するものをすべて選択してください。」 選択肢:
- 「安全に試行するためにチェックポイントを使用した」 — Esc+Esc または /rewind でチェックポイントに戻る、コードや会話、またはその両方を復元する、あるいは「要約」オプション(ここから要約/ここまでを要約)のいずれかを使用しました
- 「計画モードまたは拡張思考を使用した」 — /plan、Shift+Tab、または --permission-mode plan で計画モードを有効にしました。拡張思考に対応するモデルで Alt+T/Option+T を使って拡張思考を切り替えた、または
/effortで推論の深さを設定しました - 「権限モードを設定した」 — CLI フラグ、キーボードショートカット、または設定から、6 種類のモード(manual(設定値は
default。v2.1.200 以降は Manual と表示)、acceptEdits、plan、auto、dontAsk、bypassPermissions)のいずれかを使用しました(組み込みの auto のデフォルトで使い始めただけの場合は該当しません) - 「リモート/デスクトップ/ウェブ機能を使用した」 —
claude --remote-control、claude --cloud、/teleport、/desktop、またはclaude -wを使った Worktree を使用しました
ラウンド 4 の採点:
- 選択肢 1 は Checkpoints に対応します(0〜1 点)
- 選択肢 2〜4 は Advanced Features に対応します(0〜3 点)
ラウンド 5 — プラグインと CLI(見出し:「Mastery」)
「次のうち、実行したことがあるものはどれですか?該当するものをすべて選択してください。」 選択肢:
- 「プラグインをインストールまたは作成した」 — マーケットプレイスに同梱されたプラグインを使用した、または plugin.json マニフェストを含む .claude-plugin/ ディレクトリを作成しました
- 「プラグインの高度な機能を使用した」 — プラグインのスキル(
skills/— 推奨される形式。名前空間付きのcommands/は旧形式ですが、引き続き動作します)、プラグインのフック、プラグインの MCP サーバー、LSP 設定、またはテスト用の --plugin-dir フラグを使用しました - 「スクリプトまたは CI/CD でプリントモードを使用した」 — --output-format json、--max-turns、パイプ入力を指定して
claude -pを使用した、または GitHub Actions/CI パイプラインに統合しました - 「高度な CLI 機能を使用した」 — セッションの再開(-c/-r)、--agents フラグ、構造化出力のための --json-schema、--fallback-model、--from-pr、またはバッチ処理ループ
ラウンド 5 の採点:
- 選択肢 1〜2 は Plugins に対応します(0〜2 点)
- 選択肢 3〜4 は CLI に対応します(0〜2 点)
ステップ 3:結果を計算して提示する
3A:簡易評価の場合
選択数を合計し、レベルを判定します。その後、次のように提示します。
## Claude Code Skill Assessment Results
### Your Level: [Level 1: Beginner / Level 2: Intermediate / Level 3: Advanced]
You checked **N/8** items.
[One-line motivational summary based on level]
### Your Skill Profile
| Area | Status |
|------|--------|
| Basic CLI & Conversations | [Checked/Gap] |
| CLAUDE.md & Memory | [Checked/Gap] |
| Slash Commands (built-in) | [Checked/Gap] |
| Custom Commands & Skills | [Checked/Gap] |
| MCP Servers | [Checked/Gap] |
| Hooks | [Checked/Gap] |
| Subagents | [Checked/Gap] |
| Print Mode & CI/CD | [Checked/Gap] |
### Identified Gaps
[For each unchecked item, provide a 1-line description of what to learn and a link to the tutorial]
### Your Personalized Learning Path
[Output the level-specific learning path — see Step 4]
3B: 詳細評価の場合
5ラウンドの結果からトピックごとのスコアを算出します。各トピックは0~2点ですが、Advanced Featuresは0~3点、Checkpointsは0~1点です。その後、次のように提示します。
## Claude Code Skill Assessment Results
### Overall Level: [Level 1 / Level 2 / Level 3]
**Total Score: N/20 points**
[One-line motivational summary]
### Your Skill Profile
| Feature Area | Score | Mastery | Status |
|-------------|-------|---------|--------|
| Slash Commands | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Memory | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Skills | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Hooks | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| MCP | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Subagents | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Checkpoints | N/1 | [None/Proficient] | [Learn/Mastered] |
| Advanced Features | N/3 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| Plugins | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
| CLI | N/2 | [None/Basic/Proficient] | [Learn/Review/Mastered] |
**Mastery key:** 0 = None, 1 = Basic, 2 = Proficient
### Strength Areas
[List topics with score 2/2 — these are mastered]
### Priority Gaps (Learn Next)
[List topics with score 0 — these need attention first, ordered by dependency]
### Review Areas
[List topics with score 1/2 — basics known but advanced features not yet used]
### Your Personalized Learning Path
[Output gap-specific learning path — see Step 4]
詳細評価の総合レベルの算出:
- 合計0~6点 = レベル1:初級
- 合計7~13点 = レベル2:中級
- 合計14~20点 = レベル3:上級
ステップ4:パーソナライズされた学習パスを生成する
評価結果に基づいて、ユーザーの不足している部分に特化した学習パスを生成します。一般的なレベル別のパスをそのまま繰り返すのではなく、内容を調整してください。
学習パスの生成ルール
- 習得済みのトピックは省略する:トピックのスコアが2/2の場合、そのトピックを学習パスに含めないでください。
- 依存関係の順序を優先する:Skillsの前にSlash Commands、Subagentsの前にMemoryなど。依存関係の順序は次のとおりです。
- Slash Commands(依存関係なし) -> Skills(Slash Commandsに依存)
- Memory(依存関係なし) -> Subagents(Memoryに依存)
- CLI Basics(依存関係なし) -> CLI Mastery(すべてに依存)
- Checkpoints(依存関係なし)
- Hooks(Slash Commandsに依存)
- MCP(依存関係なし) -> Plugins(MCP、Skills、Hooksに依存)
- Advanced Features(それ以前のすべてに依存)
- スコアが1/2のトピックの場合:「詳細学習」を推奨し、不足している具体的な上級セクションへのリンクを示します。
- 所要時間を見積もる:学習または復習が必要なトピックのみを合計します。
- フェーズに分ける:残りのトピックを、論理的な2~3トピックずつのフェーズにまとめます。
学習パスの出力形式
### Your Personalized Learning Path
**Estimated time**: ~N hours (adjusted for your current skills)
#### Phase 1: [Phase Name] (~N hours)
[Only if they have gaps in these areas]
**[Topic Name]** — [Learn from scratch / Deep dive into advanced features]
- Tutorial: [link to tutorial directory]
- Focus on: [specific sections/concepts they need]
- Key exercise: [one concrete exercise to do]
- You'll know it's done when: [specific success criterion]
**[Topic Name]** — ...
---
#### Phase 2: [Phase Name] (~N hours)
...
---
### Recommended Practice Projects
Based on your gaps, try these real-world exercises to solidify your learning:
1. **[Project name]**: [1-line description combining 2-3 gap topics]
2. **[Project name]**: [1-line description]
3. **[Project name]**: [1-line description]
トピック別の推奨内容
トピックに不足がある場合は、次の具体的な推奨内容を使用してください。
Slash Commands(スコア0):
- チュートリアル:01-slash-commands/
- 重点項目:組み込みコマンドのリファレンス、最初のSKILL.mdの作成、
$ARGUMENTS構文 - 重要な演習:
/optimizeコマンドを作成してテストする - 完了の目安:引数と動的コンテキストを使用するカスタムスキルを作成できる
Slash Commands(スコア1 — 復習):
- 重点項目:
!`command`構文を使った動的コンテキスト、@file参照、disable-model-invocationとuser-invocableによる制御 - 完了の目安:ライブのコマンド出力を注入し、独自の呼び出し動作を制御するスキルを作成できる
Memory(スコア0):
- チュートリアル:02-memory/
- 重点項目:CLAUDE.mdの作成、
/initおよび/memoryコマンド、自動メモリとの違い(Claudeに何かを覚えるよう頼むと、自動メモリに保存されます。CLAUDE.mdに追加するには、「これをCLAUDE.mdに追加して」と指示するか、/memoryから編集します。以前の#ショートカットは廃止されました) - 重要な演習:コーディング規約を記載したプロジェクト用のCLAUDE.mdを作成する
- 完了の目安:Claudeがセッションをまたいでユーザーの設定を記憶する
Memory(スコア1 — 復習):
- 重点項目:7つのメモリの保存場所と、それらがコンテキストに連結される仕組み(ルートから順に読み込まれ、上書きはされません)、パス固有のルールを設定する
.claude/rules/ディレクトリ、@import構文(最大深度は4)、自動メモリのMEMORY.md(Claudeは先頭から200行または25 KBのいずれか早い方まで読み込みます。これは読み込み上限であり、ファイルサイズの制限ではありません) - 完了の目安:ディレクトリごとにモジュール化したルールを設定し、すべてのメモリファイルがどのようにコンテキストに連結されるかを理解する
Skills(スコア0):
- チュートリアル:03-skills/
- 重点項目:SKILL.md形式、descriptionフィールドによる自動呼び出し、段階的な情報開示(3つの読み込みレベル)
- 重要な演習:
03-skills/code-review-specialistをインストールし、自動的に起動することを確認する - 完了の目安:会話のコンテキストに基づいてスキルが自動的に有効になる
Skills(スコア1 — 復習):
- 重点項目:サブエージェントで実行するための
agentフィールドとcontext: fork、disable-model-invocationとuser-invocable、スキル一覧の予算(コンテキストウィンドウの1%、代替値は8,000文字。各エントリのdescriptionとwhen_to_useは、既定でskillListingMaxDescCharsにより1,536文字までに制限)、バンドルされたリソース(scripts/、references/、assets/) - 完了の目安:フォークされたコンテキストでサブエージェント上で実行されるスキルを作成できる フック(スコア 0):
- チュートリアル:06-hooks/
- 注目点:設定構造(matcher + hooks 配列)、PreToolUse/PostToolUse イベント、終了コード(0=成功、2=ブロック)、JSON 入出力形式
- 主な演習:Bash コマンドを検証する PreToolUse フックを作成する
- 完了条件:実行前に危険なコマンドをブロックするフックを作成できる
フック(スコア 1 — 復習):
- 注目点:33 種類すべてのフックイベント(PostToolUseFailure、StopFailure、TaskCreated、CwdChanged、FileChanged、PostCompact、Elicitation、ElicitationResult、Setup、UserPromptExpansion、MessageDisplay、PreModelSwitch、PostModelSwitch を含む。最後の 2 つは v2.1.251 で追加)、5 種類のフックタイプ(command、http、mcp_tool、prompt、agent — agent フックは実験的機能のため、変更される可能性があります)、SKILL.md のフロントマターに記述するフック(呼び出し後、セッション中は有効なままです。サブエージェントのフロントマターに記述したフックは、サブエージェントとともに終了します)、allowedEnvVars を使う HTTP フック、コマンドまたは HTTP フックが失敗したときにアクションをブロックする
onFailure: "block"(v2.1.295 以降)、SessionStart、Setup、CwdChanged、FileChanged 用のCLAUDE_ENV_FILE - 完了条件:プロンプトベースの Stop フックとスキルのフロントマターに記述するフックを作成できる(また、セッション終了まで登録されたままになることを理解している)
MCP(スコア 0):
- チュートリアル:05-mcp/
- 注目点:
claude mcp addコマンド、トランスポートタイプ(推奨のhttp、stdio、プッシュ形式のサーバー向けのws、および非推奨のsse—--transportはwsを受け付けないため、WebSocket サーバーはclaude mcp add-jsonで追加します)、GitHub MCP のセットアップ、環境変数の展開 - 主な演習:GitHub MCP サーバーを追加して PR を検索する
- 完了条件:MCP 経由で外部サービスのライブデータを検索できる
MCP(スコア 1 — 復習):
- 注目点:プロジェクトスコープの .mcp.json(各ユーザーは初回利用時に承認します。ワークスペースの信頼設定が適用されます)、OAuth 2.0 認証、
@server:resource形式のメンションによる MCP リソースの参照、ツール検索(ENABLE_TOOL_SEARCH)、claude mcp serve、出力制限(10,000 トークンで警告、MAX_MCP_OUTPUT_TOKENSによるデフォルトの最大値は 25,000 トークン、ディスク永続化のしきい値は 50,000 文字) - 完了条件:プロジェクトに .mcp.json があり、ツール検索がデフォルトで MCP ツールをどのように遅延表示するか、および
ENABLE_TOOL_SEARCH=auto/falseで何が変わるかを理解している
サブエージェント(スコア 0):
- チュートリアル:04-subagents/
- 注目点:エージェントファイルの形式(.claude/agents/*.md)、組み込みエージェント(Explore、Plan、general-purpose、claude、statusline-setup、claude-code-guide)、tools/model/permissionMode の設定、起動数の制限(v2.1.219 以降、深さのデフォルトは 3、同時実行数のデフォルトは 20。セッションあたり 200 件の起動上限は v2.1.224 で撤廃)
- 主な演習:code-reviewer サブエージェントを作成し、委任をテストする
- 完了条件:Claude がカスタムエージェントにコードレビューを委任する
サブエージェント(スコア 1 — 復習):
- 注目点:Worktree 分離(
isolation: worktree)、永続的なエージェントメモリ(スコープを指定するmemoryフィールド)、バックグラウンドエージェント(Ctrl+B でバックグラウンドに移行。Ctrl+X Ctrl+K を 2 回押すとすべて停止)、claude --agentで起動したメインスレッドのエージェントに対するAgent(agent_type)によるエージェント許可リスト(Task(...)は引き続き後方互換エイリアスとして使用可能。サブエージェント自身のtoolsではタイプリストは無視されます)、エージェントチーム(--teammate-mode) - 完了条件:永続メモリを備えたサブエージェントを Worktree 分離で実行している
チェックポイント(スコア 0):
- チュートリアル:08-checkpoints/
- 注目点:Esc+Esc と /rewind からのアクセス、6 種類の巻き戻しオプション(コードと会話を復元、会話を復元、コードを復元、ここから要約、ここまでを要約、何もしない)、制限事項 — Bash のファイルシステム操作、サブエージェントによる編集(フォアグラウンドの
context: forkスキルを除く)、Claude Code 外で行った編集は追跡されないこと、復元時にシンボリックリンクおよびハードリンクされたパスはスキップされること - 主な演習:実験的な変更を行い、巻き戻して復元する
- 完了条件:巻き戻せることを把握したうえで、自信を持って試行錯誤できる 高度な機能(スコア 0):
- チュートリアル:09-advanced-features/
- 学習内容:プランニングモード(/plan または Shift+Tab)、権限モード(6 種類:手動 — 設定値は
defaultで、v2.1.200 以降は Manual と表示されます — acceptEdits、plan、auto、dontAsk、bypassPermissions)、拡張思考(Alt+T/Option+T で切り替え — デフォルトモデルの Opus 5.5、Sonnet 5.5、Haiku 5.5、Fable モデルでは効果がなく、思考はオンのままです) - 主な演習:プランニングモードで機能を設計し、その後実装します
- 完了条件:プランニングモードと実装モードをスムーズに切り替えられること
高度な機能(スコア 1 — 復習):
- 学習内容:リモート制御(
claude --remote-control、別名は--rc)、ウェブセッション(claude --cloud。--remoteは非推奨の別名です)、デスクトップへの引き継ぎ(/desktop)、worktree(claude -w)、タスクリスト(Ctrl+T)、エンタープライズ向けの管理設定 - 完了条件:CLI、ウェブ、デスクトップ間でセッションを引き継げること
プラグイン(スコア 0):
- チュートリアル:07-plugins/
- 学習内容:プラグインの構造(.claude-plugin/plugin.json)、プラグインに含まれるもの(スキル、エージェント、MCP、フック、設定 — および、現在も動作しますが新しいプラグインでは
skills/が推奨される従来のcommands/ディレクトリ)、マーケットプレイスからのインストール(/plugin install、またはシェルからのclaude plugin install <plugin> --marketplace <source>) - 主な演習:プラグインをインストールして、その構成要素を確認します
- 完了条件:プラグインと単独のコンポーネントを使い分ける場面を理解していること
プラグイン(スコア 1 — 復習):
- 学習内容:plugin.json マニフェストの作成、プラグインフック(hooks/hooks.json)、LSP 設定(.lsp.json)、
${CLAUDE_PLUGIN_ROOT}変数、テスト用の --plugin-dir、マーケットプレイスへの公開、mods(ペイン、コマンド、ツール呼び出しルールを追加する、プラグインに同梱されたフックモジュール — v2.1.287+) - 完了条件:チーム向けのプラグインを作成してテストできること
CLI(スコア 0):
- チュートリアル:10-cli/
- 学習内容:対話モードとプリントモードの違い、パイプを使った
claude -p、--output-format json、セッション管理(-c/-r) - 主な演習:ファイルを
claude -pにパイプで渡し、JSON 出力を取得します - 完了条件:スクリプトで Claude を非対話形式で使えること
CLI(スコア 1 — 復習):
- 学習内容:JSON 設定を指定する --agents フラグ、構造化出力用の --json-schema、--fallback-model、--from-pr、--strict-mcp-config、for ループを使ったバッチ処理、
claude mcp serve - 完了条件:Claude を使い、構造化された JSON 出力を生成する CI/CD スクリプトがあること
ステップ 5:次のアクションを提案する
結果を提示した後、次に何をしたいかユーザーに尋ねます。
AskUserQuestion を使い、次の選択肢を提示します:
- 学習を始める — 「学習パスの最初のトピックを今すぐ始めるのを手伝ってください」
- 苦手分野を詳しく学ぶ — 「この場で学べるように、苦手分野のひとつを詳しく説明してください」
- 練習用プロジェクト — 「苦手分野をカバーする練習用プロジェクトを用意してください」
- 評価をやり直す — 「クイズをもう一度受けたいです(別のモードでも構いません)」
学習を始めるを選択した場合:最初の苦手分野のチュートリアルの README.md を読み、最初の演習をユーザーと一緒に進めます。 苦手分野を詳しく学ぶを選択した場合:どのトピックが苦手か尋ねてから、該当するチュートリアルの README.md を読み、重要な概念を例とともに説明します。 練習用プロジェクトを選択した場合:苦手分野のトピックを 2~3 個組み合わせた小規模なプロジェクトを、具体的な手順とともに設計します。 評価をやり直すを選択した場合:ステップ 1 に戻ります。
エラー処理
ユーザーがあるラウンドで項目をひとつも選択しない場合
そのラウンドのトピックのスコアを 0 点として扱います。次のラウンドに進みます。
ユーザーがどのラウンドでも項目をひとつも選択しない場合
レベル 1:初心者に設定します。最初から学習を始めるよう勧めます。レベル 1 の学習パス全体を出力します。
ユーザーが評価をやり直したい場合
新たに評価を行い、ステップ 1 から再実行します。
ユーザーが自分のレベルに同意しない場合
ユーザーの希望を尊重します。自分ではどのレベルだと思うか尋ねます。選んだレベルの学習パスを提示し、見落としている可能性のあるトピックについて前提知識を確認します。
ユーザーが特定のトピックについて質問した場合
評価中に、ユーザーが「フックについて教えて」や「MCP について学びたい」などと伝えた場合は、その内容を記録してください。結果を提示した後、スコアにかかわらず、そのトピックを学習パスで重点的に取り上げてください。
検証
トリガーテストスイート
トリガーされるべき場合:
- 「自分のレベルを評価して」
- 「クイズを受ける」
- 「自分のレベルを調べて」
- 「どこから始めればいい?」
- 「自分は何レベル?」
- 「学習パスクイズ」
- 「自己評価」
- 「次に何を学べばいい?」
- 「スキルをチェックして」
- 「スキルチェック」
- 「レベルアップ」
- 「Claude Code をどれくらい使いこなせている?」
- 「Claude Code の知識を評価して」
トリガーされるべきではない場合:
- 「コードをレビューして」
- 「スキルを作成して」
- 「MCP を使うのを手伝って」
- 「スラッシュコマンドを説明して」
- 「チェックポイントとは何?」