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 skills/sbom-tool/gh-guard/migration-guidenpx skills add sbom-tool/gh-guard --skill migration-guidegit clone --depth 1 https://github.com/sbom-tool/gh-guardWrote 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/sbom-tool/gh-guard/migration-guide)<a href="https://agentmods.dev/skills/sbom-tool/gh-guard/migration-guide"><img src="https://agentmods.dev/badge/skills/sbom-tool/gh-guard/migration-guide.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.00017 | $0.01835 |
| Opus 5 | $0.00009 | $0.00918 |
| Sonnet 5 | $0.00003 | $0.00367 |
| Haiku 4.5 | $0.00002 | $0.00184 |
Grade B, and why
migration-guide scanned grade B 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 5d 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.
Reaches for credential filesmediumPrivilege escalation
SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.
5. **Signing key** — `git config --global gpg.format ssh && git config --global user.signingkey ~/.ssh/id_ed25519.pub` Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
How it starts
The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hardening Level Migration Guide
This guide covers upgrading between gh-guard hardening levels (Minimal → Standard → Hardened), including detecting your current level, generating only the delta files, and rolling back individual components.
Level Summary
| Upgrade | New Files | New Manual Steps |
|---|---|---|
| None → Minimal | CI workflow, deny.toml, dependabot.yml, SECURITY.md, rust-toolchain.toml |
Verify CI passes, review deny allowlist |
| Minimal → Standard | Publish workflow, CodeQL workflow, Scorecard workflow, release script | Create crates-io env, configure Trusted Publishing, disable CodeQL default, set up signing key, branch protection |
| Standard → Hardened | Fuzz workflow, osv-scanner.toml + modify publish workflow (add SLSA jobs) |
Init fuzz targets, register CII badge, review osv-scanner overrides |
Detecting Current Level
Use the hardening-detection skill for the full marker list and classification algorithm. It is the single source of truth for level detection, shared by /audit, /harden, and this guide.
In brief: check for marker files across three tiers (Minimal: 4 markers, Standard: +4, Hardened: +3). The effective level is the highest tier where ALL markers are present. "Custom" means partial coverage — recommend filling gaps before upgrading.
Minimal → Standard Upgrade
Prerequisites
- CI workflow is passing on
main - At least one version published to crates.io (for Trusted Publishing setup)
-
ghCLI installed and authenticated - Git signing key configured
Files to Add
- Publish workflow —
.github/workflows/publish.yml(fromtemplates/workflows/publish.yml) - CodeQL workflow —
.github/workflows/codeql.yml(fromtemplates/workflows/codeql.yml) - Scorecard workflow —
.github/workflows/scorecard.yml(fromtemplates/workflows/scorecard.yml) - Release script —
scripts/release.sh(fromtemplates/release.sh)
Manual Steps
- Create
crates-ioenvironment — repo Settings > Environments > New environment > name itcrates-io - Configure Trusted Publishing — visit
crates.io/crates/<name>/settings, add publisher: repo, workflowpublish.yml, environmentcrates-io - Disable CodeQL default setup — repo Settings > Code Security > Code scanning > disable "Default setup" (required before custom workflow works)
- Branch protection — Settings > Branches > Add rule for
main: require status check "CI", require PR reviews - Signing key —
git config --global gpg.format ssh && git config --global user.signingkey ~/.ssh/id_ed25519.pub
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.
- 5d ago First seen · 122 lines · 17 tokens per session scan B 995c5fc0644a
migration-guide is a skill published in the GitHub repository sbom-tool/gh-guard (15 stars, last pushed 5mo ago), licensed MIT. It adds 17 tokens to every session and 1,835 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reaches for credential files). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
apiiro-mcp-secure-prompt
Use the Apiiro MCP tool apiirosecureprompt when Apiiro MCP is configured in the client and the user wants security guidance added to a coding task before implementation. Trigger on secure-prompt via MCP, or when the user asks for security-aware prompt enhancement before coding (auth, new APIs, persistence, secrets…
bob-egress
List, add, test, enable, disable, or remove Hacker Bob egress profiles from Codex.
detecting-dependency-confusion
Detect and prevent public-over-private name resolution in npm, PyPI, and Maven.
detecting-typosquatting-packages
Flag misspelled, brandjacked, and typosquatted package names across npm, PyPI, and crates.io before installation using edit-distance, keyboard-proximity, and known-target corpus matching with typomania, OSSGadget, and pypi-scan.
diet-evaluate-removal
Data-driven deep evaluation of whether a dependency is worth removing.
codeinspectus-fix-one
Investigate and remediate exactly one user-selected CodeInspectus finding with evidence-gated reproduction, a separately approved minimal patch, focused regression testing, and an exact-prior-scan rescan. Use when a user asks an agent to examine, reproduce, fix, or verify one CodeInspectus finding without batching…