verify-output
最終的な成果物が指定された形式やルールに合致しているかを、完成前に確認することで、手戻りを防ぎ、品質を確保するSkill。
📜 元の英語説明(参考)
Pattern for verifying your output matches required schema before completing. Use before writing final output to ensure validity.
🇯🇵 日本人クリエイター向け解説
最終的な成果物が指定された形式やルールに合致しているかを、完成前に確認することで、手戻りを防ぎ、品質を確保するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o verify-output.zip https://jpskill.com/download/17966.zip && unzip -o verify-output.zip && rm verify-output.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17966.zip -OutFile "$d\verify-output.zip"; Expand-Archive "$d\verify-output.zip" -DestinationPath $d -Force; ri "$d\verify-output.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
verify-output.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
verify-outputフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
出力検証 Skill
自動検証を使用して、出力が必要なスキーマに一致することを保証するためのパターンです。
使用する場面
- 最終的な出力ファイルを書き込む前
- タスク完了後
- 構造化された JSON 出力を生成する場合
簡単なリファレンス
書き込み前の検証:
./scripts/validate.sh <schema_name> <file_path>
利用可能なスキーマ
| スキーマ | 使用者 | 出力パス |
|---|---|---|
demand |
PM | memory/reports/demand.json |
design |
Architect | memory/reports/designs/*.json |
task-output |
Implementer | memory/tasks/*/output.json |
verification |
Verifier | memory/tasks/*/verification.json |
reflection |
Reflector | memory/reflections/*.json |
evolution-proposal |
Evolver | memory/evolution/*.json |
contract |
Executor | memory/contracts/*.json |
検証プロセス
ステップ 1: スキーマの決定
エージェントの役割に基づいて:
PM agent → demand.schema.json
Architect agent → design.schema.json
Implementer agent → task-output.schema.json
Verifier agent → verification.schema.json
Reflector agent → reflection.schema.json
Evolver agent → evolution-proposal.schema.json
ステップ 2: 出力を一時的な場所に書き込む
Write(memory/tasks/{id}/output.json.tmp, content)
ステップ 3: 検証
./scripts/validate.sh task-output memory/tasks/{id}/output.json.tmp
ステップ 4: 有効な場合、最終的な場所に移動
mv memory/tasks/{id}/output.json.tmp memory/tasks/{id}/output.json
ステップ 5: 無効な場合、修正して再試行
一般的な検証エラーと修正:
| エラー | 修正 |
|---|---|
'X' is a required property |
不足しているフィールドを追加します |
'Y' is not one of ['a', 'b'] |
有効な enum 値を使用します |
'Z' is not of type 'array' |
値を配列で囲みます: [value] |
Additional properties not allowed |
余分なフィールドを削除します |
出力形式: コンパクト JSON
すべてのエージェントの出力は、コンパクトな JSON (単一行、余分な空白なし) である必要があります。
{"task_id":"001","status":"pre_complete","knowledge_updates":[],"reflection":{"what_worked":[],"what_failed":[],"patterns_noticed":[]}}
必須フィールド (すべてのエージェント)
すべての出力には以下を含める必要があります。
{"knowledge_updates":[{"category":"codebase","content":"string","confidence":"certain"}],"reflection":{"what_worked":["string"],"what_failed":["string"],"patterns_noticed":["string"]}}
更新がない場合は、空の配列を使用します。
{"knowledge_updates":[],"reflection":{"what_worked":[],"what_failed":[],"patterns_noticed":[]}}
有効な値:
category:"codebase"|"convention"|"decision"|"gotcha"confidence:"certain"|"likely"|"uncertain"
書き込み前検証パターン
エージェントに推奨されるパターン:
1. メモリ内に出力オブジェクトを構築します
2. {output_path}.tmp に書き込みます
3. 実行: ./scripts/validate.sh {schema} {output_path}.tmp
4. 検証に合格した場合:
→ mv {output_path}.tmp {output_path}
→ ログ: "Output validated and written"
5. そうでない場合:
→ 検証エラーを読み取ります
→ 出力オブジェクトを修正します
→ ステップ 2 から再試行します
→ 最大 3 回再試行し、検証の失敗を報告します
よくある間違い
knowledge_updatesを忘れる (空の配列の場合でも)reflectionフィールドを忘れる- 無効な enum 値を使用する (許可されている値についてはスキーマを確認してください)
- 必須のネストされたフィールドが欠落している
- 型が間違っている (配列の代わりに文字列など)
- JSON の代わりに YAML を使用する
- JSON を整形して出力する (コンパクト形式を使用してください)
原則
- 書き込み前に検証 - 無効なデータを出力しないでください
- スキーマは法律 - フィールドの欠落 = Executor による拒否
- 空は有効 -
"knowledge_updates":[]は OK - 迅速な失敗 - エラーが伝播する前にキャッチします
- コンパクト JSON - 単一行、フォーマットなし
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Verify Output Skill
Pattern for ensuring outputs match required schemas using automated validation.
When to Use
- Before writing final output file
- After completing a task
- When producing structured JSON output
Quick Reference
Validate before writing:
./scripts/validate.sh <schema_name> <file_path>
Available Schemas
| Schema | Used By | Output Path |
|---|---|---|
demand |
PM | memory/reports/demand.json |
design |
Architect | memory/reports/designs/*.json |
task-output |
Implementer | memory/tasks/*/output.json |
verification |
Verifier | memory/tasks/*/verification.json |
reflection |
Reflector | memory/reflections/*.json |
evolution-proposal |
Evolver | memory/evolution/*.json |
contract |
Executor | memory/contracts/*.json |
Validation Process
Step 1: Determine Your Schema
Based on your agent role:
PM agent → demand.schema.json
Architect agent → design.schema.json
Implementer agent → task-output.schema.json
Verifier agent → verification.schema.json
Reflector agent → reflection.schema.json
Evolver agent → evolution-proposal.schema.json
Step 2: Write Output to Temp Location
Write(memory/tasks/{id}/output.json.tmp, content)
Step 3: Validate
./scripts/validate.sh task-output memory/tasks/{id}/output.json.tmp
Step 4: If Valid, Move to Final Location
mv memory/tasks/{id}/output.json.tmp memory/tasks/{id}/output.json
Step 5: If Invalid, Fix and Retry
Common validation errors and fixes:
| Error | Fix |
|---|---|
'X' is a required property |
Add the missing field |
'Y' is not one of ['a', 'b'] |
Use valid enum value |
'Z' is not of type 'array' |
Wrap value in array: [value] |
Additional properties not allowed |
Remove extra fields |
Output Format: Compact JSON
All agent outputs MUST be compact JSON (single line, no extra whitespace):
{"task_id":"001","status":"pre_complete","knowledge_updates":[],"reflection":{"what_worked":[],"what_failed":[],"patterns_noticed":[]}}
Mandatory Fields (All Agents)
Every output MUST include:
{"knowledge_updates":[{"category":"codebase","content":"string","confidence":"certain"}],"reflection":{"what_worked":["string"],"what_failed":["string"],"patterns_noticed":["string"]}}
Or empty arrays if no updates:
{"knowledge_updates":[],"reflection":{"what_worked":[],"what_failed":[],"patterns_noticed":[]}}
Valid values:
category:"codebase"|"convention"|"decision"|"gotcha"confidence:"certain"|"likely"|"uncertain"
Pre-Write Validation Pattern
Recommended pattern for agents:
1. Construct output object in memory
2. Write to {output_path}.tmp
3. Run: ./scripts/validate.sh {schema} {output_path}.tmp
4. IF validation passes:
→ mv {output_path}.tmp {output_path}
→ Log: "Output validated and written"
5. ELSE:
→ Read validation errors
→ Fix output object
→ Retry from step 2
→ Max 3 retries, then report validation failure
Common Mistakes
- Forgetting
knowledge_updates(even if empty array) - Forgetting
reflectionfields - Using invalid enum values (check schema for allowed values)
- Missing required nested fields
- Wrong type (string instead of array, etc.)
- Using YAML instead of JSON
- Pretty-printing JSON (use compact format)
Principles
- Validate before write - Never output invalid data
- Schema is law - Missing fields = rejection by executor
- Empty is valid -
"knowledge_updates":[]is okay - Fail fast - Catch errors before they propagate
- Compact JSON - Single line, no formatting