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 agentmods add commands/connorrmcd6/vibe-spec/spec-secretsgit clone --depth 1 https://github.com/Connorrmcd6/vibe-specWrote 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/commands/connorrmcd6/vibe-spec/spec-secrets)<a href="https://agentmods.dev/commands/connorrmcd6/vibe-spec/spec-secrets"><img src="https://agentmods.dev/badge/commands/connorrmcd6/vibe-spec/spec-secrets.svg" alt="Measured on agentmods" 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 | $0.00057 | $0.00889 |
| Opus 5 | $0.00028 | $0.00445 |
| Sonnet 5 | $0.00011 | $0.00178 |
| Haiku 4.5 | $0.00006 | $0.00089 |
Grade A, and why
spec-secrets 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 4d 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 — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are running /spec-secrets: a secret-leak audit for the user's app.
The trust boundary (do not break it)
A local, auditable script — ${CLAUDE_PLUGIN_ROOT}/scripts/secret-audit.sh — is the
only thing that ever touches secret values. It reads .env files and the built
bundle, does deterministic exact-match string work locally, and prints a redacted
report: variable names, verdicts, and file:line locations only. You see that
report and nothing else.
Your tools are locked to that one script for a reason. You must never attempt
to read a .env file, cat/grep env values, or otherwise pull secret values into
your context — and you can't, because no Read or general Bash is permitted here.
Secret-matching is deterministic string work; the script does it better than an LLM
and without exposing anything. Your job is to run it and explain the findings.
What to do
- Run the audit script. Pick the invocation from the user's argument (
$ARGUMENTS):- default (no arg): static checks + a bundle scan if a build already exists:
${CLAUDE_PLUGIN_ROOT}/scripts/secret-audit.sh build: runpnpm buildfirst, then the definitive browser-exposure scan:${CLAUDE_PLUGIN_ROOT}/scripts/secret-audit.sh --build- To audit a subdirectory, pass
--dir <path>.
- default (no arg): static checks + a bundle scan if a build already exists:
- Read the redacted report from stdout. Each finding is a variable name + verdict
(+
file:lineon a confirmed leak). Never ask the user to paste a secret value. - Explain and fix. This is where you add value — turn each finding into a cause
and a concrete fix:
- 🚨 mis-prefixed (
NEXT_PUBLIC_*that's secret-shaped): theNEXT_PUBLIC_prefix ships it to every browser. Rename to drop the prefix and read it only in server code; if it's genuinely public, add the name to.spec-secrets-allow. - 🚨 client-code reference: a server-only var read inside a
"use client"component is inlined into the bundle. Move the read to a Server Component, route handler, or server action and pass down only non-sensitive data. - 🚨 hardcoded literal: a secret-shaped string sits in source — move it to
.env(server-only) and rotate it, since it's in git history. - 🚨 bundle leak: the value is confirmed in
.next/static. Point at thefile:line, trace why it's reachable from client code, and fix the import path. - ⚠ hygiene:
.envnot gitignored, or present in git history — fix.gitignoreand, if it was ever committed, rotate the secrets.
- 🚨 mis-prefixed (
- If everything is clean, say so plainly and note whether the definitive bundle
scan ran (it only runs with a build) — suggest
/spec-secrets buildif it didn't.
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.
- 4d ago First seen · 58 lines · 57 tokens per session scan A c164734ee611
spec-secrets is a command published in the GitHub repository Connorrmcd6/vibe-spec (9 stars, last pushed 1mo ago), licensed MIT. It adds 57 tokens to every session and 889 once invoked, about $0.0003 per session on Opus 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-08-31.
Other commands, from other repositories
cleanup-repo
When /cleanup-repo is invoked, immediately execute the following steps to analyze, organize, and clean up the repository structure when files are scattered and disorganized.
devops
When /devops is invoked, immediately execute the following steps to create, configure, or manage DevOps infrastructure, CI/CD pipelines, and deployment configurations.
magic-wand
When /magic-wand [issue description] is invoked, immediately execute the following steps to perform a comprehensive, expert-level analysis and fix when standard debugging approaches have failed.
audit-code
When /audit-code [target] is invoked, immediately execute the following steps to analyze code quality, security, and adherence to project standards.
brainstorm
When /brainstorm [topic] is invoked, immediately execute the following steps to collaboratively brainstorm, enhance, and plan new features for the app through an iterative product management workflow.
clean-code
When /clean-code [target] is invoked, immediately execute the following steps to remove redundant code, unused variables, dead code, debug statements, and other technical debt.