Create or review caddy-security commit messages using repository indicators, required body sections, and timestamped message files. A message request does not create a commit.
64
80%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.codex/skills/source-code-management/SKILL.mdAll 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:
.).:).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:
authenticate instead of authn, and authorize instead of
authz.caddyfile for parser/adaptation infrastructure that affects several
directives, Caddyfile fixture changes, or generic config loading.ldap, oauth, or saml only when the
change is provider-specific. Use identity when the change is shared by
identity stores or identity providers.breakfix for a reported regression, panic, or shipped behavior that is
visibly broken for users. Use fix for narrower correctness fixes that are
not tied to a known user breakage.tests, not unittest, for Go tests, Caddyfile adapt fixtures, and
testdata changes whose primary purpose is coverage.skills for AI agent skills, skill metadata, or agent-facing repository
instructions. Prefer it over docs or ops when the primary purpose is
helping AI agents work with this repository.ops for dependency or toolchain version bumps. Use build only
when the build behavior itself changes.ops: released v<VERSION>.
For hand-written release workflow changes, use ops. 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.various only when a commit intentionally spans unrelated surfaces and no
more specific indicator is honest.authenticate for authn, authorize for authz, ldap for ids/ldap,
local for ids/local, feat for feature, and tests for unittest.
Replace misc or chore with a more specific indicator when possible, or
ops/various when it is truly general maintenance.ops: go-authcrunch to v1.1.40, even though older history has subjects
like upgrade to github.com/greenpau/go-authcrunch v1.1.39.Use one of these product-surface indicators:
app: Caddy security app provisioning, lifecycle, config validation, or
runtime config resolutionauthenticate: authenticate handler behavior, authentication portals,
cookies, crypto, transforms, or authentication Caddyfile directivesauthorize: authorize handler behavior, authorization policies, ACLs,
bypass rules, crypto, claim extraction, or header injectioncaddyfile: global security Caddyfile parsing, directive ordering, adapt
behavior, parser helpers, or Caddyfile fixtures spanning multiple surfacescredentials: credential directives and credentials configidentity: shared identity store or identity provider behaviorldap: LDAP-specific identity store or provider behaviorlocal: local identity store or local user behaviormessaging: messaging directives and messaging configoauth: OAuth or OpenID Connect provider behaviorregistration: user registration directives and registration policy behaviorsaml: SAML provider behaviorsecrets: secrets manager directives and secret resolution behaviorsso: SSO provider directives and single sign-on provider configui: portal UI directives, labels, icons, metadata, themes, or UI assetscmd: cmd/authcrunch wrapper behaviorUse one of these maintenance indicators:
breakfix: reported regression, panic, or user-visible breakage fixfix: correctness fix without a known production breakagefeat: user-facing capability that does not fit a more specific product
surface indicatordocs: documentation-only changestests: test additions, fixture updates, or coverage improvementsrefactor: behavior-preserving code restructuringskills: AI agent skills, skill metadata, AGENTS.md, or agent-facing
repository instructionsops: dependency, Caddy, Go, toolchain, release, version-reference, or
repository maintenance changesbuild: Makefile, build output, xcaddy, packaging, or local build behaviorgithub: GitHub Actions, issue templates, CLA workflow, or repository GitHub
metadatasecurity: vulnerability, dependency audit, hardening, or disclosure-policy
changesvarious: intentionally mixed changes that do not fit one indicatorThe commit message body must contain the following sections in this order:
Before this commit:After this commit:Tests:More info:The body may also contain the following optional sections:
Resolves:Partial Resolution:See also:Links:The following rules apply to the body of a commit message:
:).Links and More info.Resolves ONLY when the PR or commit resolves an issue completely.Partial Resolution when the PR or commit addresses an issue partially.See also for additional related references.Resolves, Partial Resolution, and See also MUST contain valid links., ).Tests MUST describe the command or manual check performed.Tests MUST say not run and include the
reason.More info MUST summarize the implementation details or notable decisions.The Links section must contain a list of valid links or references, e.g.:
- Text reference
- [HTTP link](http://google.com/)Use this template for commit messages:
indicator: concise subject under 87 characters
Before this commit: describe the previous behavior, limitation, or state.
After this commit: describe the new behavior, implementation, or state.
Tests: describe the command or manual check performed.
More info: summarize important implementation details or decisions.For example, a commit message may look like this:
docs: add contributing guidance
Before this commit: the repository had no guidance related to open-source
contributions.
After this commit: contribution guidance is documented in `CONTRIBUTING.md`.
Tests: reviewed the rendered Markdown manually.
More info: added a focused contributor workflow and repository etiquette notes.For every request to create or generate a commit message, write it below
tmp/commits with a YYYYMMDD_HHMM_ prefix and always provide the corresponding
git commit -F ... command. Do not require the user to ask separately for a
message file. A review-only request does not create a file unless asked.
Commit message files in tmp/commits are working artifacts and should not be
committed unless explicitly requested.
tmp/commits and its
git commit -F command; a review-only request does not create or commit files.a48553d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.