- Version-controlled hooks: a repository can declare its webhooks in a
skillhook.yaml at its root.
Each hook maps a webhook name to what runs: run: (a shell command, executed in the repository
with the payload on stdin), skill: (a SKILL.md directory in the repository, served under the
hook's name) or prompt: (inline instructions for the agent), plus any field of the skillhook:
block (auth, when, model, cwd, env, …). Secrets are named, never stored, in the file.
skillhook link [dir] registers a repository (the new projects key in skillhook.json),
skillhook unlink <dir> removes it, skillhook projects lists linked repositories with their
hooks and URLs, and skillhook projects init [dir] writes a starter file (a git pull --ff-only
hook for merged GitHub pull requests) and links it. The server re-reads projects, every
skillhook.yaml and every referenced SKILL.md on change, so link and git pull need no
restart. Names in ~/.skillhook/skills win over repositories; a name defined twice is reported by
skills list, skills validate, doctor and the server log instead of being served.
skills list gained a source column, skills show a source: line, GET /skills and the MCP
skill tools a source field ({type: "home"} or {type: "project", dir, file, kind}), and
doctor a project <dir> check per linked repository. New MCP tools: list_projects,
link_project (with init), unlink_project.
schema/skillhook.yaml.schema.json (generated by npm run schema) gives editors validation and
completion for skillhook.yaml; the starter file references it on its first line.
- This repository now carries its own
skillhook.yaml: linking a checkout serves a
pull-after-merge hook that fast-forwards it when a pull request merges.
npm install -g @meterapp/skillhook@0.2.0 · npm · changelog