jpskill.com
📦 その他 コミュニティ

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本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して verify-output.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → verify-output フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

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 を整形して出力する (コンパクト形式を使用してください)

原則

  1. 書き込み前に検証 - 無効なデータを出力しないでください
  2. スキーマは法律 - フィールドの欠落 = Executor による拒否
  3. 空は有効 - "knowledge_updates":[] は OK
  4. 迅速な失敗 - エラーが伝播する前にキャッチします
  5. コンパクト 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 reflection fields
  • 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

  1. Validate before write - Never output invalid data
  2. Schema is law - Missing fields = rejection by executor
  3. Empty is valid - "knowledge_updates":[] is okay
  4. Fail fast - Catch errors before they propagate
  5. Compact JSON - Single line, no formatting