Create, port, revise, or audit repo-local skills and their metadata, engineering contracts, and task routes. Use for skill discovery, ownership, source grounding, and session-derived guidance; diagrams are optional.
58
73%
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/skill-authoring/SKILL.mdUse the installed $skill-creator skill to apply the default authoring workflow. Read it completely and apply its initialization, naming, frontmatter, progressive-disclosure, metadata, validation, and testing guidance.
Apply this skill after $skill-creator. Where the two differ, retain the default requirements and add the repository hierarchy and engineering-contract requirements below.
Read the caddy-security supplement for repository scope, documentation ownership, parser/source grounding, examples, and local validation. The requirements in this skill and its hierarchy contract take precedence over the supplement wherever they differ.
Store every discoverable skill as a direct child of .codex/skills/<skill-name>/; do not nest discoverable skill directories inside one another.
Express hierarchy as actionable routing at any depth:
AGENTS.md --Use A to do X--> skill A --Use B to do Y--> skill B --> ...Write each repo-local route in this form:
Use [skill-name](relative/path/to/SKILL.md) to perform a specific task.Make the action specific enough that an agent can decide whether to load the linked skill. Put routes to broad skills in AGENTS.md. Put routes to narrower skills in the broad skill that delegates the work. A leaf skill needs no hierarchy boilerplate.
Do not add structural ancestry sections or require a downstream skill to link back to its router. The forward Use ... to ... statements define the hierarchy.
Read the skill routing contract when creating, moving, routing, or auditing a skill.
Treat cross-skill references that do not tell the agent to use a skill for a task as supporting links, not hierarchy routes.
Capture durable behavior and workflows needed to develop, review, operate, and verify caddy-security. Treat the Go source, tests, and skills as cooperating project authorities; update the owning skill when implementation work changes its contract.
Prefer observable, language-neutral contracts:
Keep contracts focused on behavior and ownership instead of duplicating source listings or private-symbol inventories. Link relevant source or tests when that helps contributors navigate the current repository, but state durable rules in the skill itself.
Put shared concepts in the broadest skill that needs them. Put specialized behavior in the narrowest routed skill that owns it. Do not duplicate the same rule across routing and routed skills.
After implementing a feature, fixing a bug, or changing dependencies, scripts, or CI behavior, review the final code diff against the relevant repo-local skills before considering the work complete. Update the owning skills and linked references in the same change whenever their guidance is affected; do not wait for a separate documentation request.
Capture the resulting behavior and the guidance another contributor needs: changed inputs, defaults, contracts, lifecycle, failure modes, compatibility limits, operational steps, examples, and validation commands or acceptance scenarios. Remove obsolete instructions and repair affected source/test links. Ground updates in the final implementation and actual test evidence, retaining explicit limits where behavior remains partial or unverified.
Use the narrowest existing owner and its relevant references. Add a skill and its routes only when a new concern has no suitable owner. Keep session logs and one-off results in working artifacts. If a refactor or other code change leaves the guidance accurate and complete, leave it unchanged and briefly state why no skill update was needed. Validate changed skills and affected links using the scoped workflow below.
When asked to analyze a session and update skills, first inventory:
Classify each item as a durable product contract, reusable troubleshooting workflow, implementation evidence, current conformance gap, or transient artifact. Do not preserve session IDs, timestamps, credentials, temporary paths, one-off outputs, or implementation-library choices unless they are part of a public compatibility contract.
Map each durable item to the narrowest existing owner. Compare its source, tests, current contract, and conformance profile before editing. State desired behavior and acceptance evidence in the owner; when source does not yet satisfy the new requirement, mark that boundary partial or unavailable instead of silently describing it as implemented. Preserve user intent as observable behavior—for example level selection, diagnostic evidence, recovery, and remediation—not as a transcript of the conversation.
Diagrams are not required for this repository. Do not create diagram assets, install rendering tools, or block a skill audit on missing diagrams. Prose, examples, and acceptance scenarios must carry the engineering contract.
When the user requests a diagram, apply the
diagram contract to that asset. Render and
inspect changed pages with tools available in this checkout; keep previews in
tmp/. A diagram task does not authorize sibling tooling or source changes.
AGENTS.md and follow the routes relevant to the task. Inventory the full catalog when adding/moving ownership or performing an explicit repository-wide audit.AGENTS.md only when no existing skill owns the concern.$skill-creator workflow under .codex/skills/<skill-name>/. Edit an existing skill in place.SKILL.md.Use [skill](path) to ... statement to the selected routing file. Add no backlink solely to represent routing.agents/openai.yaml only when its interface changes; preserve existing invocation policy and dependencies. Run the default skill validator.AGENTS.md and repair broken targets, cycles, ambiguous actions, and unreachable skills. For an isolated prose correction, check affected links and behavior without imposing unrelated catalog work.When a task matches a routing statement, read and apply the linked skill. Continue following narrower routing statements only while they match the requested work.
Interpret routed skills as focused workflows:
Finish only when:
AGENTS.md; repository-wide audits verify the whole catalogUse ... to ... target exists and its action is unambiguousa48553d
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.