secrets-handling

secrets-handling is a skill for Claude Code, Codex from CATWILLgh/MAINFRAME. It costs 56 tokens per session (813 once invoked), scanned B, original, MIT.

A skill for using already-registered credentials without exposing their secret values to the coding agent. It reads credential names and access instructions from a local index, then passes values directly to approved commands.

In plain words
What is it for?
Use it when a task needs an existing API key, password, or other credential. It supports scoped delivery through a secret helper or credential-aware commands such as SSH, GitHub CLI, or curl.
Why use it?
It reduces the risk of printing, copying, logging, or accidentally saving passwords and API keys while still allowing authenticated tools to run.

Skill for Claude CodeCodex

Part of the mainframe plugin — 19 skills, 12 hooks shipped together

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.

agentmods
npx agentmods add skills/catwillgh/mainframe/secrets-handling
Any agent
npx skills add CATWILLgh/MAINFRAME --skill secrets-handling
Clone the repo
git clone --depth 1 https://github.com/CATWILLgh/MAINFRAME

Made for: Claude Code, Codex.

Or install mainframe, the plugin that ships this one along with the rest of its 19 skills, 12 hooks.

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-handling

README.md
[![agentmods](https://agentmods.dev/badge/skills/catwillgh/mainframe/secrets-handling.svg)](https://agentmods.dev/skills/catwillgh/mainframe/secrets-handling)
Your own site
<a href="https://agentmods.dev/skills/catwillgh/mainframe/secrets-handling"><img src="https://agentmods.dev/badge/skills/catwillgh/mainframe/secrets-handling.svg" alt="Measured on agentmods" height="20"></a>
Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 813 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. Scan, not verified.
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 $0.00056 $0.00813
Opus 5 $0.00028 $0.00407
Sonnet 5 $0.00011 $0.00163
Haiku 4.5 $0.00006 $0.00081

Measured 3d ago against content hash f7dab16b0ffe, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

secrets-handling scanned grade B with 2 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.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

[credentials index](~/.claude/credentials-index.md)

Makes network callslowCapability

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

`curl --netrc`, without exposing the backing files.
adapters/claude-code/plugin/skills/secrets-handling/SKILL.md · 85 lines

How it starts

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

Secrets handling

Use the installed credential mechanism without bringing secret values into model context.

Sources of truth

  • Read the credentials index for service names, credential identifiers, access commands, and non-secret operational notes. The index contains no values and is the only credential catalog the model may read.
  • Values live in the protected store under ~/.config/credentials/. Never read, search, print, summarize, or copy that directory.
  • The secret helper is the generic value-delivery interface. Native tools may use their own configured credential mechanism, such as ssh, gh, or curl --netrc, without exposing the backing files.

Consume a registered value

Follow the exact credential name and access pattern in the index. Prefer an environment-scoped child process when the consumer supports it:

secret run REGISTERED_NAME -- consumer-command

secret run removes other names from the managed store from the inherited environment and exposes only the requested names to that one child process. If a consumer requires the value in a specific argument or header, use the narrow inline form without printing it:

curl -H "x-api-key: $(secret get REGISTERED_NAME)" https://example.invalid/

The shell substitutes the helper output into that process without returning the value to the model. An already-exported environment variable may be passed directly when the index names it, but do not assume every stored credential is present in the current environment.

Never:

  • run secret get as a standalone inspection command;
  • echo, log, serialize, or interpolate a value into a response or file;
  • assign a value to a shell variable that later diagnostic output could expose;
  • place a value in a URL, command example, ticket, commit message, or process argument when a credential-aware file, environment, or stdin mechanism is available;
  • weaken TLS, host-key, or certificate checks merely to make authentication succeed.

Read the full file on GitHub · 85 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. 3d ago First seen · 85 lines · 56 tokens per session scan B f7dab16b0ffe

Subscribe to this mod's changes

secrets-handling is a skill published in the GitHub repository CATWILLgh/MAINFRAME (2 stars, last pushed 13d ago), licensed MIT. It adds 56 tokens to every session and 813 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

cc-hooks

Multi-agent hook system: author hooks once as rulesync-canonical hooks.json (HookDefinitionSchema), deploy via superskill install / superskill hook emit to Claude Code, Codex, OpenCode, Pi (pi-hooks), and Gemini CLI. Covers command, prompt, and http hooks, cross-platform event mapping, and safety invariants.

gobing-ai/superskill · 71 tokens

built-for-shopify-standards

Prepare a Shopify app for Built for Shopify status. Covers current quality criteria, performance, accessibility, Shopify admin integration, compliance webhooks, observability, support, application readiness, and ongoing eligibility.

khadinakbarlabs/shopify-app-builder · 47 tokens

dev-troubleshooting

Use when a Shopify dev workflow is failing — shopify app dev cryptic errors, Cloudflare tunnel not starting, App Bridge v3→v4 migration 'No AppBridge context provided', GraphQL 200 OK with throttle errors, webhook 401, double-subscribed webhooks, app proxy 404, REST 302 loops, Rust function wasm-validator errors…

khadinakbarlabs/shopify-app-builder · 175 tokens

merchant-pain-prevention

Use when designing, building, reviewing, or shipping a Shopify app to avoid the patterns that get merchants angry (1-2 star reviews, uninstalls, churn). Covers theme injection / leftover code on uninstall, surprise billing, fake urgency, slow scripts, cancel friction, scope creep, bot-only support, broken on platform…

khadinakbarlabs/shopify-app-builder · 162 tokens

app-pricing-strategy

Use when designing Shopify app pricing, choosing a pricing model (flat tiered / usage-based / freemium / hybrid), setting trial length (7/14/30 days), structuring 3-4 tier plans, sizing capped usage, raising prices on existing customers, or writing pricing copy for the App Store listing. Triggers: 'shopify app…

khadinakbarlabs/shopify-app-builder · 146 tokens

ux-modern-app-feel

Use when you want a Shopify embedded app to feel modern, fast, and opinionated like Linear, Notion, Vercel, or Cron — speed-first, keyboard-first, calm UI, opinionated defaults, no-config success path. Covers keyboard shortcuts inside App Bridge, command palette patterns, micro-interactions Polaris allows, density vs…

khadinakbarlabs/shopify-app-builder · 162 tokens