Skip to content
PluginStats

@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

View on npm Fresh · Oct 27, 2026 · data Jul 1, 2026

@zgeoff/skill-gate has 0 recorded weekly downloads on npm.

Weekly downloads
0
Official API · Jul 1, 2026
7-day growth
—
Insufficient history
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
—
Among tracked npm listings

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

@zgeoff/skill-gate weekly downloads on npm, last 90 days: 0 weekly downloads as of Jul 1, 2026.@zgeoff/skill-gateWeekly downloads on npm · Last 90 days0downloads / weekNo observations recorded in this periodno observations · 0 observations · Updated Jul 1, 2026pluginstats.com
@zgeoff/skill-gate weekly downloads on npm, last 90 days: 0 weekly downloads as of Jul 1, 2026.

7/30/90-day growth

@zgeoff/skill-gate weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.@zgeoff/skill-gateWeekly downloads growth on npm0downloads / week now7-day growthinsufficient historyInsufficient history30-day growthinsufficient historyInsufficient history90-day growthinsufficient historyInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Jul 1, 2026pluginstats.com
@zgeoff/skill-gate weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

@zgeoff/skill-gate has no ranking history on npm yet.@zgeoff/skill-gatenpm ranking · by weekly downloads · Last 90 daysNo ranking observations in this periodno observations · 0 observations · Updated Jul 1, 2026pluginstats.com
@zgeoff/skill-gate has no ranking history on npm yet.

Listing placement

All npm2,577 listings · 129 pages · 1,290 shown · page 129, #14 (overall #2,574)
All npm: every listing in weekly downloads order

Listing placement

Claude Code351 listings · 18 pages · page 18, #10 (overall #350)
Claude Code: every listing in weekly downloads order

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)
Recent weekly downloads observations for @zgeoff/skill-gate
Date (UTC)Weekly downloadsChange vs. previous
0—

Similar npm Claude Code plugins

All 20 @zgeoff/skill-gate alternatives

Data 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.