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 nth5693/gemini-kit --skill securitygit clone --depth 1 https://github.com/nth5693/gemini-kitWrote 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/nth5693/gemini-kit/security)<a href="https://agentmods.dev/skills/nth5693/gemini-kit/security"><img src="https://agentmods.dev/badge/skills/nth5693/gemini-kit/security/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/nth5693/gemini-kit/security"><img src="https://agentmods.dev/badge/skills/nth5693/gemini-kit/security.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.00000 | $0.00533 |
| Opus 5.5 | $0.00000 | $0.00213 |
| Sonnet 5.5 | $0.00000 | $0.00107 |
| Haiku 4.5 | $0.00000 | $0.00053 |
Grade A, and why
security 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 1mo 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 — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Security Skill
Overview
Security audit, vulnerability scanning, and secure coding practices.
OWASP Top 10 Checks
1. Injection (SQL, NoSQL, Command)
// ❌ Vulnerable
const query = `SELECT * FROM users WHERE id = ${userId}`;
// ✅ Safe - Parameterized query
const query = 'SELECT * FROM users WHERE id = $1';
await db.query(query, [userId]);
2. Authentication Flaws
// Password hashing
import bcrypt from 'bcrypt';
async function hashPassword(password: string) {
return bcrypt.hash(password, 12);
}
async function verifyPassword(password: string, hash: string) {
return bcrypt.compare(password, hash);
}
3. XSS Prevention
// ❌ Dangerous
element.innerHTML = userInput;
// ✅ Safe - Escape output
element.textContent = userInput;
// React auto-escapes, but avoid dangerouslySetInnerHTML
4. CSRF Protection
// Use CSRF tokens
import csrf from 'csurf';
const csrfProtection = csrf({ cookie: true });
app.use(csrfProtection);
// In form
<input type="hidden" name="_csrf" value={csrfToken} />
5. Security Headers
// helmet middleware
import helmet from 'helmet';
app.use(helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
scriptSrc: ["'self'", "'unsafe-inline'"],
styleSrc: ["'self'", "'unsafe-inline'"],
},
},
}));
JWT Security
import jwt from 'jsonwebtoken';
// ✅ Best practices
const token = jwt.sign(
{ userId: user.id },
process.env.JWT_SECRET,
{
algorithm: 'HS256',
expiresIn: '15m', // Short expiry
issuer: 'my-app',
audience: 'my-app-users',
}
);
// Verify with options
jwt.verify(token, process.env.JWT_SECRET, {
algorithms: ['HS256'], // Prevent algorithm switching
issuer: 'my-app',
});
Secrets Management
# Never commit secrets
.env
.env.local
*.pem
*.key
Security Audit Commands
# NPM audit
npm audit --audit-level=high
# Check for leaked secrets
npx secretlint "**/*"
# Dependency vulnerabilities
npx snyk test
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.
- 1mo ago First seen · 115 lines · 0 tokens per session scan A e8c807e56c8b
security is a skill published in the GitHub repository nth5693/gemini-kit (372 stars, last pushed 7mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 533 tokens. 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-30.
Other skills, from other repositories
minimalist-general
Subtraction-first thinking for non-coding tasks: writing, planning, research, summarizing, decision-making, or any request that isn't producing code. Same discipline as the minimalist coding skill — question whether the ask is even needed, reuse what already exists, do the smallest thing that fully answers it …
minimalist
Subtraction-first engineering for any coding task. Use when writing, fixing, refactoring, reviewing, or designing code; when choosing dependencies; or whenever the user asks for minimalist, less code, simplest thing, YAGNI, or complains about bloat. Prefer deletion, existing code, stdlib, and native platform features…
beads
Git-backed issue tracker for multi-session work with dependencies and persistent memory across conversation compaction. Use when work spans sessions, has blockers, or needs context recovery after compaction.
minimalist-audit
Audit a codebase or directory for deletion candidates: dead code, unused dependencies, single-use abstractions, config that never varies, and duplicated helpers. Use when the user says "minimalist audit" or asks what can be deleted from a project.
minimalist-gain
Report what minimalist actually measured in this session or project — LOC avoided, scope rejected, dependencies declined. Use when the user says "minimalist gain", "what did you save", or asks for the savings report.
minimalist-review
Review code, a diff, or a PR strictly for bloat: unrequested abstractions, dead scope, dependency creep, symptom-patching, and drive-by changes. Use when the user says "minimalist review", asks "is this over-engineered?", or wants a leanness review of a change.