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 williamzujkowski/standards --skill authenticationgit clone --depth 1 https://github.com/williamzujkowski/standardsWrote 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/williamzujkowski/standards/authentication)<a href="https://agentmods.dev/skills/williamzujkowski/standards/authentication"><img src="https://agentmods.dev/badge/skills/williamzujkowski/standards/authentication/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/williamzujkowski/standards/authentication"><img src="https://agentmods.dev/badge/skills/williamzujkowski/standards/authentication.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.00050 | $0.06017 |
| Opus 5.5 | $0.00020 | $0.02407 |
| Sonnet 5.5 | $0.00010 | $0.01203 |
| Haiku 4.5 | $0.00005 | $0.00602 |
Grade A, and why
authentication-security scanned grade A 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 2d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
const response = await axios.post(`${this.authServerUrl}/token`, { How it starts
The opening of the file, as written. The whole thing — 859 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Authentication Security
Quick Navigation: Level 1: Quick Start (5 min) → Level 2: Implementation (30 min) → Level 3: Mastery (Extended)
Level 1: Quick Start (<2,000 tokens, 5 minutes)
Core Principles
- Multi-Factor Always: Require MFA for sensitive operations (TOTP, WebAuthn, hardware keys)
- Secure Tokens: Use RS256 for JWT, never HS256 with shared secrets in distributed systems
- Short-Lived Tokens: Access tokens <15 min, refresh tokens with rotation
- OAuth2 with PKCE: Always use PKCE for SPAs and mobile apps
- Session Security: httpOnly, secure, sameSite cookies with CSRF protection
Essential Checklist
- OAuth2 flow: Authorization code with PKCE for public clients
- JWT signing: RS256 asymmetric keys, never embed secrets in tokens
- Token expiration: Access <15 min, refresh <7 days with rotation
- MFA enabled: TOTP (Google Authenticator) or WebAuthn (hardware keys)
- Session cookies: httpOnly=true, secure=true, sameSite=strict
- CSRF protection: State parameter for OAuth2, CSRF tokens for sessions
- Password storage: bcrypt (cost≥12) or argon2id, never plaintext/MD5/SHA1
- Account lockout: 5 failed attempts → temporary lockout (AC-7)
- TLS required: All auth endpoints require HTTPS (SC-8)
- Audit logging: Log all auth events with timestamps (AU-2)
Quick Example
// @nist ia-2 "Identification and authentication"
// @nist ia-5 "Authenticator management"
const jwt = require('jsonwebtoken');
const fs = require('fs');
// ❌ NEVER do this (shared secret, symmetric)
// const token = jwt.sign({ userId: 123 }, 'hardcoded_secret', { algorithm: 'HS256' });
// ✅ Use RS256 with private/public keypair
const privateKey = fs.readFileSync('./keys/private.pem');
const publicKey = fs.readFileSync('./keys/public.pem');
function generateAccessToken(userId) {
return jwt.sign(
{
sub: userId,
iss: 'auth.example.com',
aud: 'api.example.com'
},
privateKey,
{
algorithm: 'RS256',
expiresIn: '15m' // Short-lived
}
);
}
function verifyToken(token) {
try {
return jwt.verify(token, publicKey, {
algorithms: ['RS256'],
issuer: 'auth.example.com',
audience: 'api.example.com'
});
} catch (err) {
throw new Error('Invalid token');
}
}
What ships with it
9 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.
- resources/nist-800-63b-checklist.md 11 KB
- resources/oauth2-flow-diagram.md 16 KB
- resources/README.md 31 B
- scripts/generate-jwt-keys.sh 5.8 KB runs code
- scripts/README.md 29 B
- templates/jwt-validator.js 5.0 KB runs code
- templates/jwt-validator.py 6.7 KB runs code
- templates/oauth2-client.js 9.3 KB runs code
- templates/README.md 31 B
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.
- 2d ago First seen · 859 lines · 50 tokens per session scan A 98c61655d4fe
authentication-security is a skill published in the GitHub repository williamzujkowski/standards (18 stars, last pushed 1mo ago), licensed MIT. It adds 50 tokens to every session and 6,017 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-29.
Other skills, from other repositories
auth-patterns
Use when implementing authentication (JWT, sessions, OAuth), authorization (RBAC, ABAC), password hashing, MFA, or security best practices for backend services.
nextjs-authentication
Secure token storage (HttpOnly Cookies) and Middleware patterns. Use when implementing authentication, secure session storage, or auth middleware in Next.js.
implementing-jwt-signing-and-verification
JSON Web Tokens (JWT) defined in RFC 7519 are compact, URL-safe tokens used for authentication and authorization in web applications. This skill covers implementing secure JWT signing with HMAC-SHA256.
jwt
Development guide for the jwt JSON Web Token library for Go (github.com/kataras/jwt). Use this skill when signing or verifying JWTs, choosing a signing algorithm (HMAC, RSA, RSA-PSS, ECDSA, EdDSA), reading or validating standard or custom claims, setting expiry and clock-skew tolerance, rotating keys with a kid-based…
configuring-oauth2-authorization-flow
Configure secure OAuth 2.0 authorization flows including Authorization Code with PKCE, Client Credentials, and Device Authorization Grant. This skill covers flow selection, PKCE implementation, token.
auth0-docs
Auth0 — identity platform: auth flows, Universal Login, SSO, identity providers, MFA, RBAC, Actions, tokens.