【結論】VS Code Taskを読み取り専用で使う
VS Codeでは公式Claude Code拡張を基本とし、定型の読み取り専用処理だけをtasks.jsonからHeadless実行できます。
Task Runnerではclaude -p、構造化出力、Tool allowlistを使います。
編集処理は公式Panelか対話CLIで差分を確認します。
# .vscode/tasks.jsonへ記載:読み取り専用レビューTask
{
"version": "2.0.0",
"tasks": [{
"label": "Claude: Review Diff",
"type": "shell",
"command": "claude",
"args": ["-p", "git diffをレビューしてJSONで返す", "--allowedTools", "Read,Grep,Glob,Bash(git diff:*)", "--output-format", "json"],
"problemMatcher": []
}]
}
# VS Codeで実行:Tasks: Run Taskを選択具体的な手順・設定方法
公式Extensionで日常の対話・編集Workflowを構築します。
Task RunnerはReview、要約、静的調査など副作用のない用途へ限定します。
Promptとargsを配列で分離し、Shell injectionを避けます。
出力をFileまたはJSONとして保存し、CIへ渡す前に検証します。
実践プロンプト / 活用テクニック
# VS CodeのTask向けPrompt
現在のgit diffだけをレビューしてください。
重大度、File、Line、根拠、修正案をJSON配列で返してください。
File編集、Command実行、Network access、Git操作は禁止です。注意点・よくあるエラーと対処法
存在しないrequire_confirmation false設定を前提にしないでください。
Task定義へSecretを直接記載しないでください。
未検証入力をShellへ連結するとCommand injectionが起こります。