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 Mathews-Tom/armory --skill repo-sentinelgit clone --depth 1 https://github.com/Mathews-Tom/armoryWrote 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/mathews-tom/armory/repo-sentinel)<a href="https://agentmods.dev/skills/mathews-tom/armory/repo-sentinel"><img src="https://agentmods.dev/badge/skills/mathews-tom/armory/repo-sentinel/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/mathews-tom/armory/repo-sentinel"><img src="https://agentmods.dev/badge/skills/mathews-tom/armory/repo-sentinel.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Tool Misuse · line 51 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
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.00065 | $0.01849 |
| Opus 5 | $0.00032 | $0.00924 |
| Sonnet 5 | $0.00013 | $0.00370 |
| Haiku 4.5 | $0.00006 | $0.00185 |
Grade A, and why
repo-sentinel 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 7d 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 — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Repo Sentinel
Everything in a public repo is permanent attacker surface. This skill defines what belongs in a public repo, what does not, how to detect violations across 12 attack surfaces, how to remediate when the boundary is violated, and how to enforce continuously.
Reference files
This skill uses bundled reference files for detailed patterns and templates. Read them as needed:
| File | When to read |
|---|---|
references/attack-surfaces.md |
When auditing any surface — full definitions for Surfaces 0–12 |
references/scan-patterns.md |
When running any audit (fast-path or full) — contains all detection commands |
references/pre-release-checklist.md |
When running the Pre-Release Audit (Stage 4) — §4.1–§4.8 readiness checklist |
references/templates.md |
When setting up enforcement, generating .gitignore, or creating CI gates |
references/remediation.md |
When fixing findings or scrubbing history — contains all fix procedures |
Prerequisites
ghCLI installed and authenticated (gh auth statusmust pass) — required for GitHub-specific surface checks (Surface 10)- Active git repository context — the skill operates on
gitobjects; non-git directories are out of scope trufflehogorgitleaks— optional but strongly recommended for Surface 0 (git history) secret detection with entropy analysis; without them, fall back togit log -pgrep patterns fromreferences/scan-patterns.md- Read access to the full git object store — shallow clones (
--depth N) will miss history secrets; warn the user if a shallow clone is detected
Calibration Rules
- Public vs. private visibility: Apply stricter severity ratings for public repos — findings classified MEDIUM in a private repo (e.g., internal URL in a comment) escalate to HIGH in a public repo. Confirm repo visibility before scoring.
- Stack-scoped surfaces: Scope the audit to attack surfaces relevant to the detected tech stack. A static HTML repo has no meaningful Surface 6 (containers) or Surface 7 (lock files) exposure — mark those surfaces N/A rather than penalizing.
- N/A handling: Surfaces scored N/A are not penalized and do not lower the overall risk posture. Document N/A surfaces explicitly so the user understands what was skipped.
- Tool availability: If
trufflehog/gitleaksare unavailable, note this in the audit header and describe the reduced confidence in Surface 0 coverage. - False positive discipline: Flag a finding only when there is evidence of actual exposure, not just pattern proximity. A variable named
api_keywith a placeholder value is LOW, not CRITICAL.
What ships with it
6 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.
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.
- 7d ago First seen · 145 lines · 65 tokens per session scan A d32eba63b67d
repo-sentinel is a skill published in the GitHub repository Mathews-Tom/armory (317 stars, last pushed today), licensed MIT. It adds 65 tokens to every session and 1,849 once invoked, about $0.0003 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-09-05.
Other skills, from other repositories
mx-pr
Draft a pull request from the feature spec and git log, run an autonomous commit-history cleanup (content check), then publish to GitHub or GitLab (Bitbucket experimental) — or hand off. Use when a feature branch is ready for PR, standalone or from mx-flow. Usage: /mx-pr [name].
safe-public-release
Use when publishing, open-sourcing, exporting, sanitizing, or moving code, agent skills, prompts, templates, fixtures, datasets, workshop assets, or other artifacts from a private repository, vendor/runtime environment, or mixed working directory into a public repository or registry. Builds a provenance inventory…
git-workflow-and-versioning
Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving conflicts, splitting uncommitted work in a messy working tree into clean atomic commits, opening or reviewing a pull request (PR), pushing to a remote, or when you need to organize work across multiple…
comet-archive
A workflow for the fifth stage of Comet Classic: archiving a completed change, merging its specification updates, and finishing the branch. It uses Comet commands and a fixed layout for tracking the change.
finishing-a-development-branch
A process for finishing a completed development branch. A branch is a separate line of code changes that can later be merged or submitted as a pull request.
skillshare-changelog
Generate CHANGELOG.md entry from recent commits in conventional format. Also syncs the website changelog page. Use this skill whenever the user asks to: generate a changelog, document what changed between tags, or create a new CHANGELOG entry. If you see requests like "write the changelog for v0.17", "what changed…