一键导入
gemini-hooks
Gemini CLI Hooks Skill
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Gemini CLI Hooks Skill
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | gemini-hooks |
| version | 1 |
| description | Gemini CLI Hooks Skill |
Gemini CLI Hooks allow you to customize the behavior of the CLI at specific points in its lifecycle. Hooks can be used to set up environments, perform cleanup, log activity, or intercept tool calls.
Hooks are an experimental feature and must be explicitly enabled in your settings.json:
{
"experimental": {
"enableAgents": true
},
"hooks": {
"enabled": true
},
"tools": {
"enableHooks": true
}
}
| Event Name | Description |
|---|---|
SessionStart | Triggered when the CLI session begins. |
SessionEnd | Triggered when the CLI session ends. |
BeforeAgent | After user prompt submission, before planning. |
AfterAgent | After the agent loop completes. |
BeforeModel | Before sending a request to the LLM. |
AfterModel | After receiving a response from the LLM. |
BeforeTool | Before a tool (e.g., run_shell_command) executes. |
AfterTool | After a tool has executed. |
Notification | Triggered for system notifications (e.g., tool permissions). |
Hooks are defined in the hooks array within your settings.json (User or Project scope).
{
"hooks": {
"enabled": true,
"hooks": [
{
"name": "startup-script",
"type": "command",
"command": "~/.gemini/hooks/session-start.sh",
"description": "Run custom logic on session start"
}
]
}
}
Use a matcher to target specific tools or events:
{
"name": "log-shell-commands",
"type": "command",
"command": "./scripts/log-tool.sh",
"matcher": "run_shell_command"
}
Hooks communicate using standard input/output:
stdin containing event details.stdout/stderr for logging.You can manage hooks directly from the Gemini prompt:
/hooks list: Show all configured hooks and their status./hooks enable-all: Enable all hooks./hooks disable-all: Disable all hooks./hooks enable <name>: Enable a specific hook./hooks disable <name>: Disable a specific hook.SessionStart for repo-specific envs) in
.gemini/settings.json.0 unless you intend to stop the
session/tool.This skill provides the foundation for automating your Gemini CLI environment using lifecycle hooks.
Read, write, search and reorganise notes in the local Obsidian vaults. Use for anything touching ~/Documents/R3_vault, ~/Documents/Synechron or ~/Documents/My_Obsidian_Vault/Privat — finding notes, adding or editing content, renaming/moving notes without breaking links, and daily notes. Triggers on "my notes", "my vault", "Obsidian", "write this up in my notes", or a request to look something up in personal documentation.
Manage DNS records for the user's GoDaddy-registered domains. Add/upsert, delete, list, look up specific records, verify a stored record matches an expected value, and check public DNS resolution via dig. Triggers on `/dns`, requests to add/change/check A, AAAA, CNAME, MX, TXT, NS, SRV records on the user's domains, debugging DNS propagation, or auditing what's set at GoDaddy vs what's resolving in the wild.
Operate Google Workspace from the terminal via the `gog` CLI (gogcli). Use for checking and replying to Gmail, managing Google Tasks, reading and creating Calendar events, Google Chat (spaces/DMs/messages), Meet spaces, Contacts, Drive/Docs/Sheets, and more. Triggers on `/gog`, `/gog mail`, `/gog tasks`, `/gog events`, `/gog chat`, `/gog meet`, or any request to check/read/reply/send email, list or add tasks, see today's agenda, or message someone on Chat for the user's Google account.
Agenix Skill
cargo2nix Skill
COSMIC Desktop Environment Skill