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 everywan-dev/claude-code-engineering --skill keep-secrets-out-of-the-repositorygit clone --depth 1 https://github.com/everywan-dev/claude-code-engineeringWrote 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/everywan-dev/claude-code-engineering/keep-secrets-out-of-the-repository)<a href="https://agentmods.dev/skills/everywan-dev/claude-code-engineering/keep-secrets-out-of-the-repository"><img src="https://agentmods.dev/badge/skills/everywan-dev/claude-code-engineering/keep-secrets-out-of-the-repository/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/everywan-dev/claude-code-engineering/keep-secrets-out-of-the-repository"><img src="https://agentmods.dev/badge/skills/everywan-dev/claude-code-engineering/keep-secrets-out-of-the-repository.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.00043 | $0.01199 |
| Opus 5 | $0.00022 | $0.00600 |
| Sonnet 5 | $0.00009 | $0.00240 |
| Haiku 4.5 | $0.00004 | $0.00120 |
Grade A, and why
keep-secrets-out-of-the-repository 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 10d 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 — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Keep secrets out of the repository
Two facts do most of the work here.
A secret that reached a repository is compromised, not "at risk". Clones, forks, CI caches, backups, editor histories and mirrors all copied it while you were deciding what to do.
Rewriting history does not undo that. It makes the repository look clean, which is a different thing, and an actively dangerous one if it lets you skip the step that matters.
🔴 Rotate first. Scrub second, if at all. The scrub is cosmetic; the rotation is the fix. Doing them in the other order means the credential is still valid while you are busy tidying.
When to use this
- You are about to commit a config file, an
.env, a compose file, a notebook - A secret is already committed, in history, or was pasted into an issue or chat
- You are adding or fixing a secret scanner
- A token was shared to unblock someone and never revoked
- A test fixture contains "a fake key" that is not fake
If one is already committed
1. Rotate it. Now, before anything else. New credential issued, old one revoked at the source. Until that is done, everything else is theatre.
2. Check whether it was used. Access logs at the provider, not guesses. A rotation without a look at the logs answers "can they still get in?" but not "did they?".
3. Only then decide about history. Rewriting is expensive: it changes every commit id, breaks every open branch and fork, and requires a force-push that everyone must recover from. It is worth it for a public repository. It is often not worth it for a private one where the credential is already dead.
4. If you do rewrite, say so. People with clones need to know their history diverged and how to recover. A silent force-push turns one incident into several.
Preventing the next one
Keep the shape of a secret out of the file, not just the value. A
config.example with PASSWORD=changeme teaches the pattern; a real file
committed once teaches nothing but costs everything.
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.
- 10d ago First seen · 112 lines · 43 tokens per session scan A b990b7f2e692
keep-secrets-out-of-the-repository is a skill published in the GitHub repository everywan-dev/claude-code-engineering (2 stars, last pushed 9d ago), licensed Apache-2.0. It adds 43 tokens to every session and 1,199 once invoked, about $0.0002 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 skills, from other repositories
backfill
Reconstruct an OKF bundle by event-sourcing a repository's history (git log and Claude session transcripts). Use when creating an .okf/ bundle for an existing repository that predates this skill, or when resuming an interrupted backfill session. Triggers on: "reconstruct the OKF bundle", "backfill the knowledge…
han-release
Cut a Han release: update CHANGELOG.md with the changes since the last release, bump and tag every plugin that changed as {plugin-name}--v{version} so a version-constrained dependency can resolve, and publish a GitHub release crediting every merged pull request and closed issue to the people behind it. Use when…
han-update-documentation
Update Han plugin documentation so every skill, agent, guidance doc, index, and cross-reference is current and accurate. On a non-default branch, scopes the pass to entities the branch actually touched. On the default branch, performs a full documentation sweep across the whole plugin. Use when updating, refreshing…
release-expert
Multi-repo release coordination: version alignment, RC lifecycle, release waves, rollback planning. Use when saying "release", "version alignment", or "cut an RC".
release
Guide through the Cortex TMS release process — version bump, changelog, sync, tag, publish. Every step requires user approval.
do
Work an increment task by task through the ledger: task next, claim, implement, commit, task done with evidence. Use when saying "implement", "start working", or "continue increment".