@zgeoff/skill-gate weekly downloads statistics
By zgeoff · npm · Claude Code
A Claude Code and Codex CLI hook that denies an edit or a gated tool call until the session loads the skills and reads the reference files it needs, and blocks after a Bash command that changed a gated file without them
@zgeoff/skill-gate has 0 recorded weekly downloads on npm.
About @zgeoff/skill-gate
@zgeoff/skill-gate
The skill gate is a Claude Code and Codex CLI hook that denies an edit until the session has loaded
every skill the path needs, and names the missing skills. It denies a call to a gated tool, such as
an MCP tool, the same way until the session has loaded the skills and read the reference files the
tool needs. After a Bash command, it compares git status with the status before the command, and
it blocks when the command changed a gated file that the session lacks the skills for. The package
holds no rules: each repo keeps its own in .claude/skill-gate.json, and a repo without that file
has no gate.
Install
bun add -d @zgeoff/skill-gate
Install it at the repo root, so that Bun resolves it from .claude/hooks/. The package runs on Bun.
Entry point
The hook runs a file in the repo that calls the package's runSkillGate, at
.claude/hooks/skill-gate/skill-gate.ts. The hook-skill-gate entry of repo-sync delivers this
file from zgeoff/tools. runSkillGate reads the hook payload from stdin, prints the hook output,
and exits the process.
Register the entry point in .claude/settings.json, before a Bash command and after it. The command
runs Bun with --no-install, so the hook never fetches the package from npm: in a checkout with no
node_modules, the hook blocks each gated edit until bun install runs. The PreToolUse matcher
names each tool that a tool gate names, since the hook never sees a call that the matcher skips.
This example gates mcp__tracker__update_ticket:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write|MultiEdit|Bash|mcp__tracker__update_ticket",
"hooks": [
{
"type": "command",
"command": "bun --no-install \"$CLAUDE_PROJECT_DIR/.claude/hooks/skill-gate/skill-gate.ts\""
}
]
}
],
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bun --no-install \"$CLAUDE_PROJECT_DIR/.claude/hooks/skill-gate/skill-gate.ts\""
}
]
}
],
"PostToolUseFailure": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bun --no-install \"$CLAUDE_PROJECT_DIR/.claude/hooks/skill-gate/skill-gate.ts\""
}
]
}
]
}
}
Codex
The same entry point runs as a Codex hook when its command passes --harness codex, and it gates
apply_patch edits, gated tools and Bash commands as it does under Claude Code. Codex has no Skill
tool, so the gate keeps a ledger of what each session loaded.
Gating Codex edits holds the .codex/hooks.json example,
the trust step and the ledger rules.
Rules
.claude/skill-gate.json maps path globs to the skills each path needs, and the optional tools
list gates a tool call by name.
{
"ignore": ["node_modules/", "dist/"],
"gates": [{ "match": "**/*.md", "skills": ["docs-writing"] }],
"tools": [{ "tool": "mcp__tracker__update_ticket", "skills": ["ticket-review"] }]
}
Writing skill-gate rules covers each key, the glob shapes to avoid, and how the gate treats a mistake in the rules file.
Documentation
The skill gate architecture describes how the entry point fails closed, which skill loads and reference reads the gate counts, and how it checks what a Bash command changed.
Description from the npm listing.
- claude-code
- codex
- hook
- skills
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (1)Similar npm Claude Code plugins
All 20 @zgeoff/skill-gate alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@zgeoff/skill-gate. First seen Oct 27, 2026; last successful collection Oct 27, 2026. See the methodology.