auth-middleware

auth-middleware is a skill for Claude Code from berkcangumusisik/claude-code-practices. It costs 0 tokens per session (383 once invoked), scanned A, original, MIT.

A generator for authentication and authorization middleware in Express, Fastify, or Hono web applications. Authentication checks who a user is; authorization checks what that user may access.

In plain words
What is it for?
Use it to generate JWT, session, API-key, or OAuth middleware, including role checks and related protections such as token refresh, rate limiting, and brute-force protection when applicable.
Why use it?
It creates the request-handling code needed to protect routes, while considering the framework and authentication patterns already in the project.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: positional $N argument.

Install

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.

agentmods
npx agentmods add skills/berkcangumusisik/claude-code-practices/auth-middleware
Any agent
npx skills add berkcangumusisik/claude-code-practices --skill auth-middleware
Clone the repo
git clone --depth 1 https://github.com/berkcangumusisik/claude-code-practices

Made for: Claude Code.

Wrote 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.

agentmods badge for auth-middleware

README.md
[![agentmods](https://agentmods.dev/badge/skills/berkcangumusisik/claude-code-practices/auth-middleware.svg)](https://agentmods.dev/skills/berkcangumusisik/claude-code-practices/auth-middleware)
Your own site
<a href="https://agentmods.dev/skills/berkcangumusisik/claude-code-practices/auth-middleware"><img src="https://agentmods.dev/badge/skills/berkcangumusisik/claude-code-practices/auth-middleware.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 383 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.00383
Opus 5 $0.00000 $0.00192
Sonnet 5 $0.00000 $0.00077
Haiku 4.5 $0.00000 $0.00038

Measured 6d ago against content hash 2a95868822be, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

auth-middleware 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 6d 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.

skills/auth-middleware/SKILL.md · 54 lines

What it actually says

Generate Auth Middleware

Strategy: $1 (jwt | session | api-key | oauth)

  1. Detect framework and existing auth patterns:
cat package.json | grep -E '"express"|"fastify"|"hono"|"jsonwebtoken"|"jose"|"passport"'
grep -rn "middleware\|authenticate\|authorize" src/ --include="*.ts" -l | head -5
  1. Read existing auth code if present.

  2. Generate the middleware for the requested strategy:

JWT example:

export async function authenticate(req: Request, res: Response, next: NextFunction) {
  const token = req.headers.authorization?.split(' ')[1]
  if (!token) return res.status(401).json({ error: 'Unauthorized' })
  
  try {
    const payload = await verifyJWT(token)
    req.user = payload
    next()
  } catch {
    return res.status(401).json({ error: 'Invalid token' })
  }
}

export function authorize(...roles: Role[]) {
  return (req: Request, res: Response, next: NextFunction) => {
    if (!roles.includes(req.user?.role)) return res.status(403).json({ error: 'Forbidden' })
    next()
  }
}
  1. Include:

    • Token refresh logic (if JWT)
    • Rate limiting for auth endpoints
    • Brute force protection (lockout after N failures)
    • Proper error messages (don't leak info)
  2. Generate tests for all auth scenarios.

Changes

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.

  1. 6d ago First seen · 54 lines · 0 tokens per session scan A 2a95868822be

Subscribe to this mod's changes

auth-middleware is a skill published in the GitHub repository berkcangumusisik/claude-code-practices (10 stars, last pushed 4mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 383 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-31.

Related

Other skills, from other repositories

open-source

Documentation reference for writing Python code using the browser-use open-source library. Use this skill whenever the user needs help with Agent, Browser, or Tools configuration, is writing code that imports from browseruse, asks about @sandbox deployment, supported LLM models, Actor API, custom tools, lifecycle…

browser-use/browser-use · 137 tokens

skill-builder

Automatically detect source types and build AI skills using Skill Seekers. Use when the user wants to create skills from documentation, repos, PDFs, videos, or other knowledge sources.

yusufkaraaslan/Skill_Seekers · 38 tokens

golden-rss-empty

Use when testing the empty rss golden build.

yusufkaraaslan/Skill_Seekers · 14 tokens

prompt-master

Generates optimized prompts for AI tools. Activates only when the user explicitly asks to write, fix, improve, or adapt a prompt for a specific AI tool (LLM, Cursor, Midjourney, image AI, video AI, coding agents, etc.). Does not activate for general conversation, coding tasks, document writing, or other…

nidhinjs/prompt-master · 78 tokens

kayba-stage-5-action-plan

Triage each insight into discard/code-fix/prompt-fix and produce a prioritized action plan with specific recommendations. Trigger when the user says "run stage 5", "make action plan", "triage skills", or when invoked by the kayba-pipeline orchestrator. Requires eval outputs from stages 1-4.

kayba-ai/agentic-context-engine · 74 tokens

kayba-stage-2-domain-context

Gather domain context about the repository and agent — system prompt, tool definitions, domain docs, and behavior patterns from traces. Trigger when the user says "run stage 2", "gather context", "domain context", or when invoked by the kayba-pipeline orchestrator.

kayba-ai/agentic-context-engine · 64 tokens