create-hook
Installation
SKILL.md
Create Hook
Use when the user wants to add Codex hooks and explains the behavior they want.
Workflow
-
Determine scope.
- If the user says
global, use the personal/home scope. - If the user says
project, use the repo scope. - If scope is missing or unclear, ask:
Should this be global or project-scoped?
- If the user says
-
Determine hook type.
- If the event is missing or unclear, ask which hook they want:
SessionStartUserPromptSubmitPreToolUsePostToolUseStop
- If the user wants more than one, keep them separate unless they explicitly want shared behavior.
- If the event is missing or unclear, ask which hook they want:
-
Determine behavior.
- Ask what the hook should do if the intent is not already clear.
- Prefer the smallest deterministic script that satisfies the request.
-
Write the hook files in the chosen scope.
- Global:
~/.codex/hooks.jsonand~/.codex/hooks/ - Project:
<repo>/.codex/hooks.jsonand<repo>/.codex/hooks/ - Keep script paths explicit and relative where practical.
- Global:
-
Enable the feature flag if the target Codex build still gates hooks.
- Set
[features] codex_hooks = truein the relevantconfig.toml.
- Set
-
Keep the hook output clear.
- Use
statusMessagefor a short visible signal. - For logging hooks, write to a repo-local or home-local log file.
- For blocking hooks, return a nonzero exit only when the hook should actually stop the tool.
- Use
-
Verify the result.
- Run a command that should trigger the hook.
- Confirm the log, output, or blocking behavior matches the requested scope and event.
Practical defaults
- Use
PreToolUsefor prevention. - Use
PostToolUsefor logging, formatting, or test follow-up. - Use
UserPromptSubmitfor prompt shaping and injected context. - Use
SessionStartfor startup context. - Use
Stopfor end-of-turn checks.
Weekly Installs
3
Repository
am-will/codex-skillsGitHub Stars
855
First Seen
12 days ago
Security Audits
Installed on
codex3
opencode2
gemini-cli2
deepagents2
antigravity2
github-copilot2