From copilot-consultant
Designs, creates, and reviews VS Code Agent lifecycle hooks for events like PreToolUse, SessionStart, and SubagentStart to automate security, code quality, and logging in .github/hooks/*.json files.
npx claudepluginhub yuma-722/github-copilot-consultantThis skill uses the workspace's default tool permissions.
このSkillは、VS Code の **Agent hooks** を設計し、ワークスペースへ追加する。Hooksはエージェントセッションのライフサイクルポイントでシェルコマンドを確定的に実行し、セキュリティ強制・コード品質自動化・監査ログなどを実現する。
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
このSkillは、VS Code の Agent hooks を設計し、ワークスペースへ追加する。Hooksはエージェントセッションのライフサイクルポイントでシェルコマンドを確定的に実行し、セキュリティ強制・コード品質自動化・監査ログなどを実現する。
| イベント | タイミング | 主な用途 |
|---|---|---|
SessionStart | 新しいセッション開始時 | リソース初期化、プロジェクトコンテキスト注入 |
UserPromptSubmit | ユーザーがプロンプト送信時 | リクエスト監査、システムコンテキスト注入 |
PreToolUse | ツール実行前 | 危険操作のブロック、承認制御、入力変更 |
PostToolUse | ツール実行後 | フォーマッタ実行、結果ログ、追加アクション |
PreCompact | コンテキスト圧縮前 | 重要コンテキストの退避 |
SubagentStart | サブエージェント生成時 | サブエージェントの追跡・初期化 |
SubagentStop | サブエージェント完了時 | 結果集約、クリーンアップ |
Stop | セッション終了時 | レポート生成、リソース後処理 |
| スコープ | パス |
|---|---|
| ワークスペース(チーム共有) | .github/hooks/*.json |
| ワークスペース(ローカル) | .claude/settings.local.json |
| ワークスペース(共有) | .claude/settings.json |
| ユーザー全体 | ~/.claude/settings.json |
ワークスペースhooksがユーザーhooksより優先される。通常は .github/hooks/ にJSON ファイルを作成する。
JSON 形式で hooks オブジェクトを記述する:
{
"hooks": {
"<イベント名>": [
{
"type": "command",
"command": "./scripts/my-hook.sh",
"timeout": 15
}
]
}
}
| プロパティ | 型 | 説明 |
|---|---|---|
type | string | 必須。"command" 固定 |
command | string | 実行コマンド(クロスプラットフォームデフォルト) |
windows | string | Windows 固有コマンド |
linux | string | Linux 固有コマンド |
osx | string | macOS 固有コマンド |
cwd | string | 作業ディレクトリ(リポジトリルートからの相対パス) |
env | object | 追加の環境変数 |
timeout | number | タイムアウト秒数(デフォルト: 30) |
OS固有コマンドが定義されていない場合、command にフォールバックする。
フックは stdin で JSON を受け取り、stdout で JSON を返す。
共通入力フィールド:
{
"timestamp": "2026-02-09T10:30:00.000Z",
"cwd": "/path/to/workspace",
"sessionId": "session-identifier",
"hookEventName": "PreToolUse",
"transcript_path": "/path/to/transcript.json"
}
共通出力フィールド:
{
"continue": true,
"stopReason": "理由(モデルに表示)",
"systemMessage": "ユーザーに表示するメッセージ"
}
終了コード:
| コード | 意味 |
|---|---|
0 | 成功: stdout を JSON としてパース |
2 | ブロッキングエラー: 処理を停止しエラーをモデルに表示 |
| その他 | 非ブロッキング警告: 警告を表示し処理を続行 |
/hooks コマンドで対話的にフック設定を管理できるchmod +x)詳細な入出力仕様は references/EVENTS.md を参照。
テンプレートと実装例は references/TEMPLATES.md を参照。
chat.tools.edits.autoApprove 設定でフックスクリプトの自動編集を禁止することを推奨する.github/hooks/<name>.json の新規作成、または既存フック設定の改善.github/hooks/scripts/ 等)を作成する