Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add melodic-software/claude-code-plugins --skill generate-file-name-gategit clone --depth 1 https://github.com/melodic-software/claude-code-pluginsWrote 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/melodic-software/claude-code-plugins/generate-file-name-gate)<a href="https://agentmods.dev/skills/melodic-software/claude-code-plugins/generate-file-name-gate"><img src="https://agentmods.dev/badge/skills/melodic-software/claude-code-plugins/generate-file-name-gate/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/melodic-software/claude-code-plugins/generate-file-name-gate"><img src="https://agentmods.dev/badge/skills/melodic-software/claude-code-plugins/generate-file-name-gate.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.00143 | $0.01820 |
| Opus 5.5 | $0.00057 | $0.00728 |
| Sonnet 5.5 | $0.00029 | $0.00364 |
| Haiku 4.5 | $0.00014 | $0.00182 |
Grade A, and why
generate-file-name-gate scanned grade A with 0 findings 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 3d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generate File Name Gate
Purpose
A naming rule that nothing enforces decays back into a mixed tree, one file at a time. This skill writes the thing that enforces it: a checker over the tracked set, plus the suite that proves the checker still means what it says.
The checker is the consumer's file, not this plugin's. The rule, the roots, and every exemption are inlined at emission, so a checkout with the plugin uninstalled, or a CI runner that never had it, still enforces what the team agreed.
A path-scoped rule file is not a substitute. A rule is guidance Claude reads during its own session: it blocks nothing, binds no human editor or other tool, and never runs in CI. The gate runs over the whole tracked set wherever it is invoked. That is why the gate is the deliverable and the rule is the option.
- Pointer: when weighing whether a rule could stand in for the gate, fetch memory § Path-specific rules live.
- As of: 2026-10-11
- Recheck trigger: that section gives a path-scoped rule a way to block a tool call, or to apply outside a Claude session.
Emit
${CLAUDE_SKILL_DIR}/scripts/emit-gate.sh --root <repo> [--out-dir <dir>] [--rule] [--force]
--out-dirplaces the pair somewhere other thanscripts/. The emitted checker resolves the repository from its own location, so any depth works.--rulealso writes.claude/rules/file-names.md.--forceoverwrites. Without it an existing target refuses the run and nothing is written, including the files that did not exist yet.
The output is EMITTED rows for what it wrote, possibly a REINDEX row, and
NOT-WIRED rows for what it did not. Report all three kinds; the NOT-WIRED
rows are the point of the run as much as the files are.
What the templates render
| Template | Emitted as | Carries |
|---|---|---|
templates/check-file-names.sh.tmpl |
<out-dir>/check-file-names.sh |
the rule, the roots, the exemptions, and the case-collision pass |
templates/check-file-names.test.sh.tmpl |
<out-dir>/check-file-names.test.sh |
one case per declared exemption, seeded with a name the rule would reject |
templates/file-names-rule.md.tmpl |
.claude/rules/file-names.md, only with --rule |
the rule in prose, scoped to the roots, naming the gate |
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 3d ago Changed · +7 lines 4f3e93fedb2e
- 14d ago Changed · -2 tokens per session b0e57c680c81
- 1mo ago First seen · 133 lines · 145 tokens per session scan A fa270c89a495
generate-file-name-gate is a skill published in the GitHub repository melodic-software/claude-code-plugins (25 stars, last pushed today), licensed MIT. It adds 143 tokens to every session and 1,820 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-13.
Other skills, from other repositories
test-structural-invariants
For data structure validation: test lengths, relationships, constraints that must hold, verify setup is correct.
test-with-examples
For example-driven development: test cases as specifications, input/output pairs, documentation through examples.
verify-solution-properties
For solution checking: independent verification that result is correct, separate from how it was computed.
verify-with-inline-tests
For test co-location: tests in same file as code, run with main, tests as documentation and examples.
testing-flutter
Testing Flutter 3.47 / BLoC v9 / Riverpod 3 - Stratégie Complète. Use when writing tests, reviewing test coverage, or setting up testing.
phpunit-test-team-reviewing
Use this skill when the user asks for a team-based, consensus, multi-reviewer, or red-team review of Shopware PHPUnit tests — trigger phrases like "team review these tests", "consensus review the tests in PR.