caddy-security is a security application and set of plugins for Caddy v2, a web server, that handles user authentication and controls access to HTTP requests. It supports methods including local, LDAP, OpenID Connect, OAuth 2.0, SAML, JWT, and PASETO, and is used to protect web services behind Caddy.
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 greenpau/caddy-security --skill source-code-managementgit clone --depth 1 https://github.com/greenpau/caddy-securityWrote 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/greenpau/caddy-security/source-code-management)<a href="https://agentmods.dev/skills/greenpau/caddy-security/source-code-management"><img src="https://agentmods.dev/badge/skills/greenpau/caddy-security/source-code-management/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/greenpau/caddy-security/source-code-management"><img src="https://agentmods.dev/badge/skills/greenpau/caddy-security/source-code-management.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.00035 | $0.02129 |
| Opus 5.5 | $0.00014 | $0.00852 |
| Sonnet 5.5 | $0.00007 | $0.00426 |
| Haiku 4.5 | $0.00003 | $0.00213 |
Grade A, and why
source-code-management 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 today.
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 — 208 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Source Code Management
Commit Message Rules
All commits must have a proper commit message. Inspect the requested diff and
git status --short, including staged and unstaged work, before describing it.
Use the user's requested scope; do not include unrelated work merely because it
is present in the checkout. Describe the final behavior and actual validation,
not a transcript or an abandoned implementation. Creating a message does not
stage files, create a commit, tag a release, or publish changes.
A hand-written commit message subject line must conform to the following rules:
- The first line of each commit message is the subject.
- The subject line MUST be less than 87 characters long.
- The subject line MUST NOT terminate with a period (
.). - The subject line MUST start with a change indicator followed by a colon (
:).
Change Indicators
This repository uses change indicators as a mix of product-surface labels and maintenance labels. Prefer the most specific product surface when the change is clearly about one Caddy security directive, parser, provider, or runtime path. Use a maintenance label when the change is repository plumbing, documentation, testing, release work, or a bug fix that cuts across multiple surfaces.
Selection rules:
- Use exactly one indicator. Do not combine indicators or add parenthesized scopes.
- Prefer public Caddyfile and module names over internal abbreviations. For
example, use
authenticateinstead ofauthn, andauthorizeinstead ofauthz. - Use
caddyfilefor parser/adaptation infrastructure that affects several directives, Caddyfile fixture changes, or generic config loading. - Use provider indicators such as
ldap,oauth, orsamlonly when the change is provider-specific. Useidentitywhen the change is shared by identity stores or identity providers. - Use
breakfixfor a reported regression, panic, or shipped behavior that is visibly broken for users. Usefixfor narrower correctness fixes that are not tied to a known user breakage. - Use
tests, notunittest, for Go tests, Caddyfile adapt fixtures, andtestdatachanges whose primary purpose is coverage. - Use
skillsfor AI agent skills, skill metadata, or agent-facing repository instructions. Prefer it overdocsoropswhen the primary purpose is helping AI agents work with this repository. - Use
opsfor dependency or toolchain version bumps. Usebuildonly when the build behavior itself changes. - The Makefile release target creates the subject
ops: released v<VERSION>. For hand-written release workflow changes, useops. Follow release-and-versioning for the release procedure and publication scope; an automated subject does not replace the body requirements for hand-written commit messages. - Use
variousonly when a commit intentionally spans unrelated surfaces and no more specific indicator is honest. - Normalize older repository labels when creating new messages: use
authenticateforauthn,authorizeforauthz,ldapforids/ldap,localforids/local,featforfeature, andtestsforunittest. Replacemiscorchorewith a more specific indicator when possible, orops/variouswhen it is truly general maintenance. - Use colon form for new dependency bumps, such as
ops: update go-authcrunch dependency.
What ships with it
1 file 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.
- today First seen · 208 lines · 35 tokens per session scan A 39eb01d353b8
source-code-management is a skill published in the GitHub repository greenpau/caddy-security (2,263 stars, last pushed today), licensed Apache-2.0. It adds 35 tokens to every session and 2,129 once invoked, about $0.0001 per session on Opus 5.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-10-25.
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.
auth0-docs
Auth0 — identity platform: auth flows, Universal Login, SSO, identity providers, MFA, RBAC, Actions, tokens.
JWT Security Testing
Comprehensive JWT token security testing including signature verification, expiration checks, algorithm confusion attacks, and claim validation.
ship-verification
Post-merge verification pass for Grantex. After any PR merges to main or ships to prod, run this pass without being asked — verify README, Mintlify docs, landing page, SDK READMEs (TS, Python, Go), integration docs, and SEO surfaces are consistent with what just shipped. Use this skill whenever a PR merges, a release…
security-review
Security Code Review: Reviews code for security vulnerabilities including authentication (OAuth2, JWT), authorization (RBAC, roles), API security, data protection, payment security, and common attack vectors. Use whenever the user wants a security review, penetration test analysis, threat model, or mentions OAuth2…
create-pr
Creates a GitHub PR with a Linear-ticket-prefixed title and a decision-led, narrative description for Prisma 8. Use when the user wants to create a pull request, open a PR, or submit changes for review.