openbao-secrets

openbao-secrets is a skill for Claude Code from dryvist/claude-code-plugins. It costs 57 tokens per session (2,274 once invoked), scanned A, original, Apache-2.0.

A set of rules for getting and handling secrets through OpenBao, an open-source system that stores and issues credentials.

In plain words
What is it for?
Use it when fetching API keys, cloud credentials, or other secrets, especially when choosing between temporary credentials and stored values.
Why use it?
It helps avoid keeping long-lived passwords and keys in workspaces, while defining how credentials should be read and changed safely.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the openbao plugin — 2 skills shipped together

Good fit Use it when fetching API keys, cloud credentials, or other secrets, especially when choosing between temporary credentials and stored values.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dryvist/claude-code-plugins/openbao-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 dryvist/claude-code-plugins --skill openbao-secrets
Clone the repo
git clone --depth 1 https://github.com/dryvist/claude-code-plugins

Made for: Claude Code.

Or install openbao, the plugin that ships this one along with the rest of its 2 skills.

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 openbao-secrets

README.md
[![agentmods](https://agentmods.dev/badge/skills/dryvist/claude-code-plugins/openbao-secrets/github.svg)](https://agentmods.dev/skills/dryvist/claude-code-plugins/openbao-secrets)
Your own site
<a href="https://agentmods.dev/skills/dryvist/claude-code-plugins/openbao-secrets"><img src="https://agentmods.dev/badge/skills/dryvist/claude-code-plugins/openbao-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 openbao-secrets

Your own site · 80×15
<a href="https://agentmods.dev/skills/dryvist/claude-code-plugins/openbao-secrets"><img src="https://agentmods.dev/badge/skills/dryvist/claude-code-plugins/openbao-secrets.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,274 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. 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.00057 $0.02274
Opus 5.5 $0.00023 $0.00910
Sonnet 5.5 $0.00011 $0.00455
Haiku 4.5 $0.00006 $0.00227

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

Security

Grade A, and why

openbao-secrets scanned grade A 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 8d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

no `echo`, no `curl -v`, no dumping the environment to check it landed.
openbao/skills/openbao-secrets/SKILL.md · 193 lines

How it starts

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

OpenBao Secrets Access

How to get a credential without creating a standing one, and how to handle it once you have it. Two rules carry most of the weight: mint, don't store, and reading is pre-authorized, writing is gated.

Agent quickstart

The fast path for a read, in order:

  1. Log in with flow-lock approle-token, which mints one fresh single-use secret_id for the target AppRole and logs in with it. Supply BAO_ADDR and the AppRole issuer pair from Doppler:

    token=$(doppler run -p iac-conf-mgmt -c prd -- flow-lock approle-token ROLE)
    

    Replace ROLE with the target AppRole name. Run flow-lock help for usage.

  2. Read the value from the KV path you need:

    value=$(BAO_TOKEN="$token" bao kv get -field=<key> <mount>/<path>)
    
  3. Pick the mount by reachability, not habit. Two KV mounts share identical sub-paths: secrets-external/ for anything reachable from the public internet (a SaaS API key, a third-party webhook secret), secret/ for everything internal-only. Only the mount changes, never the path shape.

  4. Prefer an engine over a KV copy. GitHub, AWS, and Slack already mint short-lived credentials on demand — read from the engine (an installation token, an STS session, an OAuth-app token) and never keep a static copy of what it can mint.

  5. Never print the value. Capture it into a variable and use the variable — no echo, no curl -v, no dumping the environment to check it landed.

  6. A helper that exits 0 having exported nothing is the bug, not a quiet success. If a credential-fetch wrapper reports success but the variable it was supposed to set is empty, report that as a defect — never work around it by hand-typing the value instead.

State warning: which engines are configured differs per environment and changes over time. Verify capability before relying on it (below) — never assume an engine is live because a config flag says enabled. A default is not a running system.

Read the full file on GitHub · 193 lines

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. 8d ago Changed · +2 lines a740fb6fe873
  2. 1mo ago Changed · -46 tokens per session 1c8101cec3fe
  3. 1mo ago Changed · +49 lines 3ee846692131
  4. 2mo ago Changed · +42 lines b32fb05bf47d
  5. 2mo ago First seen · 100 lines · 103 tokens per session scan A d58bf627384b

Subscribe to this mod's changes

openbao-secrets is a skill published in the GitHub repository dryvist/claude-code-plugins (3 stars, last pushed today), licensed Apache-2.0. It adds 57 tokens to every session and 2,274 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.

Related

openbao-secrets compared with skills from other repositories

openbao-secrets next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
openbao-secretsdryvist/claude-code-pluginsSkill3todayApache-2.0A57Claude Code
detect-github-urlidan-yaron/claude-cowork-skills-toolkitSkill56mo agoMITA107Claude Code
example-feature-generatorqf-studio/navigatorSkill3555d agoMITA33Claude Code
media-gemini-3-image-promptmodu-ai/moai-coworkSkill31529d agoApache-2.0A329Claude Code
commerce-jtbd-personamodu-ai/moai-coworkSkill31529d agoApache-2.0A286Claude Code
agent-flutter-developertravisjneuman/.claudeSkill1072d agoMITA74Claude Code
content-repurposertravisjneuman/.claudeSkill1072d agoMITA43Claude Code, Codex