KiaroSama

Hook Maker — AI skill for Claude Code

AI community

Windows PowerShell wizard to build, install and manage hooks for Claude Code and Codex CLI - including a cross-project .ai knowledge sync.

How to install Hook Maker

This entry records only its repository, not the path inside it, so there is no exact command to give. Open KiaroSama/Hook-Maker and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Hook Maker does

Windows PowerShell wizard to build, install and manage hooks for Claude Code and Codex CLI - including a cross-project .ai knowledge sync.

Alternatives in AI

  • Claude Squad — by smtg-ai - Claude Squad is a terminal app that manages multiple Claude Code, Codex (and other local agents i 6.5k ★
  • Bot On Anything — A large model-based chatbot builder that can quickly integrate AI models (including ChatGPT, Claude, Gemini) i 4.2k ★
  • Token Monitor — Local-first desktop widget for tracking token usage, costs, and limits across 32+ AI coding tools—including Cl 1.8k ★

README

Hook Maker

Build, install, and manage Claude Code / Codex CLI hooks — including a ready-made cross-project knowledge sync: it keeps the `.ai` knowledge directories of related projects in sync. When a source project's knowledge changes, the hook stages the changed files inside the destination project and asks the agent to review and import what is durable — before it starts the user's task.

Layout

Path Purpose
run.ps1 The launcher — the only script in the root. Runs the wizard in the current terminal (PowerShell 7 first).
sync-hooks.example.json The tracked example config (what CI validates).
sync-hooks.json Your real profiles and routes — machine-local and git-ignored (it holds your project paths). Auto-created from the sample on the first wizard run.
hooks// One folder per hook: .ps1 + .env.example (tracked) + .env (your local copy, git-ignored).
hooks/_hooklib.ps1 Shared helpers (stdin/.env/path/object/hash/JSON/work-time) the shipped hooks dot-source; the _ prefix keeps it out of the hook picker. It also pins the hook's own stdin/stdout to UTF-8 at dot-source time: [Console] otherwise decodes with the console code page, and a hook process with no attached console (a GUI-hosted client, or any parent spawning it with CreateNoWindow + redirected pipes) falls back to the machine's OEM page — which silently corrupts every non-ASCII prompt, path, and filename before the hook sees it. It also holds Get-HookClientId, the one shared resolution of which client is running the hook: an explicit client id always wins; an explicit id that is not a known client resolves to unknown rather than falling through to a guess; CLAUDE_PROJECT_DIR is Claude's own positive signal; and Codex stays the default only for a runtime carrying no explicit id — which is every Claude/Codex install made before this existed, so those resolve byte-for-byte as they always did. The known-client