Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add devs-30/skill-gate/plugin install skill-gateWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/devs-30/skill-gate/focus-guard)<a href="https://agentmods.dev/skills/devs-30/skill-gate/focus-guard"><img src="https://agentmods.dev/badge/skills/devs-30/skill-gate/focus-guard/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/devs-30/skill-gate/focus-guard"><img src="https://agentmods.dev/badge/skills/devs-30/skill-gate/focus-guard.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00105 | $0.01306 |
| Opus 5.5 | $0.00042 | $0.00522 |
| Sonnet 5.5 | $0.00021 | $0.00261 |
| Haiku 4.5 | $0.00011 | $0.00131 |
Grade B, and why
focus-guard scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- This skill does not need to (and must not) edit `~/.claude/settings.json` or How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Focus Guard
Manage which skills are gated in this project. A gated skill is intercepted
by the skill-gate plugin's PreToolUse hook before it runs and (in the default
confirm mode) blocked until the user explicitly approves it via a YES / NO /
NO+alternative prompt.
How the pieces fit
- The hook (
${CLAUDE_PLUGIN_ROOT}/hooks/skill-gate-hook.js) ships with this plugin and runs on everySkilltool call. It is active whenever theskill-gateplugin is enabled. You do not create it — enabling the plugin is what "creates the hook". - The blocklist lives per project at
<project>/.claude/skill-gate.json. The hook reads it live on every call, so adding/removing a skill takes effect immediately — no restart needed. (Only enabling the plugin itself needs a restart.)
Config shape:
{
"mode": "confirm",
"blocked": ["superpowers:brainstorming", "some-other-skill"],
"debug": false
}
mode:"confirm"(default — YES/NO/alternative prompt),"always"(native permission dialog every time), or"off"(disable gating without losing the list).blocked: exact skill identifiers as the Skill tool uses them — bare name for personal skills (my-skill),plugin:skillfor plugin skills.debug:false(default). Whentrue, the hook appends the full decision flow of every Skill invocation to<project>/skill-gate-debug.log(the repo root) — config read, resolved skill name, blocklist match, mode branch, sentinel state, and final decision. Useful for diagnosing why a skill was or wasn't gated.
Workflow
Pick the branch that matches the request.
Adding skills to the gate
- Discover available skills by hierarchy (user → plugin → project →
project-local). Run the helper:
It printsnode "${CLAUDE_PLUGIN_ROOT}/scripts/list-skills.js"{ "skills": [ { name, tier, description, source } ] }. Reconcile with the skills you can actually see available in this session — the helper covers filesystem skills; your in-context list is the authoritative set of what is invocable here. Prefer the union, deduped byname. - Read the current config at
<project>/.claude/skill-gate.json(treat a missing file as{ "mode": "confirm", "blocked": [] }). Exclude already-blocked skills from the candidates. - Ask the user which to gate with AskUserQuestion (
multiSelect: true), grouping/labeling options by tier so the source is clear. Do not invent skills not in the discovered list. - Write the config: merge the chosen identifiers into
blocked(dedup, keep sorted), preservemode, and create the file (and.claude/dir) if absent. Use exact identifiers from step 1. - Confirm what is now gated and remind the user it takes effect immediately.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 112 lines · 105 tokens per session scan B a8ea24b85c95
focus-guard is a skill published in the GitHub repository devs-30/skill-gate (2 stars, last pushed 4mo ago), licensed MIT. It adds 105 tokens to every session and 1,306 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
focus-guard compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| focus-guarddevs-30/skill-gate | Skill | 2 | 4mo ago | MIT | B | 105 | Claude Code |
| imagegenopenai/codex | Skill | 134k | today | Apache-2.0 | A | 113 | Codex |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | today | MIT | A | 200 | Claude Code, Codex |
| playwright-climicrosoft/playwright | Skill | 99k | today | Apache-2.0 | A | 19 | Claude Code |
| browser-automationopenclaw/openclaw | Skill | 394k | today | MIT | A | 36 | Claude Code |
| systematic-debuggingobra/superpowers | Skill | 314k | 4d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | today | MIT | A | 95 | Claude Code |