Skip to content
Development
Skill

/create-hook

Create a hook (.json) to enforce policy or automate agent lifecycle events.

From plugin
vscode
195k26 skills1 MCP

Claude Code

$ npx -y skills add microsoft/vscode --skill create-hook --agent claude-code

SKILL.md

create-hook.SKILL.md
name: create-hook
description: 'Create a hook (.json) to enforce policy or automate agent lifecycle events.'
argument-hint: What should be enforced or automated?
disable-model-invocation: true

Related skill: `agent-customization`. Load and follow **hooks.md** for template and principles.

Guide the user to create a hook in `.github/hooks/`.

Extract from Conversation

First, review the conversation history. If the user has been expressing concerns about agent behavior (e.g., "don't run this command", "always check before doing X", "inject this context"), generalize that into a hook. Extract:

  • Actions that should be blocked or gated
  • Context that should be injected at certain points
  • Automation needs at session start/end or tool use

Clarify if Needed

If no clear policy need emerges from the conversation, clarify:

  • What event should trigger this hook? (e.g. PreToolUse, SessionStart, Stop)
  • Should it block, warn, or inject context?
  • Does it need a companion script?

Path Conventions

  • Hook commands and companion scripts run with `cwd` defaulting to the workspace root (when a workspace folder is available); otherwise `cwd` falls back to the user home directory. Relative paths resolve from `cwd`. Absolute paths are fine when intentional — just be deliberate about which you use.
  • Do not use environment variables for pathing. The only exception is plugin-provided environment variables in hooks shipped as part of an agent plugin; never use environment variables for pathing outside of a plugin context.

Iterate

1. Draft the hook JSON (and any scripts) and save them. 2. Identify the most ambiguous or weak parts and ask about those. 3. Once finalized, summarize what the hook enforces, suggest ways to test it, and propose related customizations to create next.

Remember to follow the `agent-customization` guidelines to create highly effective hooks.

Read more
@microsoft
Ships withvscode

Visual Studio Code

195k26 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
195.3k
Star history of microsoft/vscode on GitHub, a chart by star-history.com

Other skills on vscode.

agent-customization

agent-customization

**WORKFLOW SKILL** — Create, update, review, fix, or debug VS Code agent customization files (.instructions.md, .prompt.md,…

@microsoft@microsoftInstall Skill
chronicle

chronicle

Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks…

@microsoft@microsoftInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about create-hook.

Which coding agents can use create-hook?
create-hook installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.