secrets

secrets is a skill for Claude Code from bks-lab/open-bridge. It costs 76 tokens per session (3,488 once invoked), scanned A, original, MIT.

A skill for handling secret references and passing secret values to programs without displaying them in the conversation or command arguments. It also finds plaintext values that should have been stored as references.

In plain words
What is it for?
It is for resolving secret references, placing new secret values in declared stores, checking whether references resolve, and detecting exposed plaintext secrets.
Why use it?
Secrets can leak through chat transcripts, logs, or command histories; this keeps the actual values out of those places.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit It is for resolving secret references, placing new secret values in declared stores, checking whether references resolve, and detecting exposed plaintext secrets.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/bks-lab/open-bridge/secrets
Install

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.

Any agent
npx skills add bks-lab/open-bridge --skill secrets
Clone the repo
git clone --depth 1 https://github.com/bks-lab/open-bridge

Made for: Claude Code.

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

agentmods badge for secrets

README.md
[![agentmods](https://agentmods.dev/badge/skills/bks-lab/open-bridge/secrets/github.svg)](https://agentmods.dev/skills/bks-lab/open-bridge/secrets)
Your own site
<a href="https://agentmods.dev/skills/bks-lab/open-bridge/secrets"><img src="https://agentmods.dev/badge/skills/bks-lab/open-bridge/secrets/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.

agentmods 80×15 button for secrets

Your own site · 80×15
<a href="https://agentmods.dev/skills/bks-lab/open-bridge/secrets"><img src="https://agentmods.dev/badge/skills/bks-lab/open-bridge/secrets.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 76 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,488 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00076 $0.03488
Opus 5.5 $0.00030 $0.01395
Sonnet 5.5 $0.00015 $0.00698
Haiku 4.5 $0.00008 $0.00349

Measured 19d ago against content hash c0b9f6b2e1a2, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

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 19d ago.

The scan reads SKILL.md. This mod also ships 47 executable files (engine/__init__.py, engine/audit.py, engine/backends/__init__.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

skills/secrets/SKILL.md · 239 lines

How it starts

The opening of the file, as written. The whole thing — 239 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Secrets

Owns every secret reference written down in this tree: what they are, whether they still resolve here, and how a value reaches a program without reaching the answer. Read the referenced file ONLY when triggered.

The engine is skills/secrets/engine/ behind the shim skills/secrets/secrets.sh. The grammar it parses is the machine readable twin of rules/secret-placement.md, which stays the source of truth for which schemes exist and where a secret belongs.

The principle

An agent reads this output. Whatever is printed here sits in the model's context for the rest of the session, in the transcript, and in whatever log the harness keeps. So this skill hands out three things about a secret and never a fourth: its NAME (the reference), its LENGTH in bytes, and a FINGERPRINT (the first eight hex characters of its sha256). That is enough to tell two live tokens apart, to see that a rotation actually landed, and to prove that something was read. It is not enough to use.

There is deliberately no command that prints a value. Not behind a flag, not behind a confirmation, not in --json. run is the one path a value takes, and it goes into a child process rather than into the answer: the child's own output is scrubbed on the way back, and a stream that still holds the value after scrubbing is dropped rather than printed.

The second thing the report carries is the one nobody had: CONTEXT. The same reference is readable from a desktop session and refused over ssh. A report that says ok on a laptop and missing on the same laptop over ssh is not measuring the vault, it is measuring the session, and it has to say which.

Where a new secret goes

The other half of the question, and the half that had no answer. An agent handed a token decided for itself where to keep it, and the result was small text files with credentials in working folders on two machines. The answer is declared once, in infra/secret-stores/*.yaml: one file per store, saying where that store is, who reaches it from where, and which KIND of secret belongs in it.

Read the full file on GitHub · 239 lines

Files

What ships with it

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

Changes

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.

  1. 19d ago Changed · -6 lines · -113 tokens per session c0b9f6b2e1a2
  2. 25d ago First seen · 245 lines · 189 tokens per session scan A 4898e0506f8d

Subscribe to this mod's changes

secrets is a skill published in the GitHub repository bks-lab/open-bridge (13 stars, last pushed today), licensed MIT. It adds 76 tokens to every session and 3,488 once invoked, about $0.0003 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-21.