CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

configuration-runtime-resolution

Configure and validate Caddy runtime placeholders, secret lookups, encoded instructions, and resolved fixtures. Use to determine which fields resolve and preserve exact values; manager blocks belong to secrets.

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.codex/skills/configuration-runtime-resolution/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a dense, accurate rulebook with concrete syntax, named tests, and strong fail-closed validation guidance — highly actionable for a maintainer of this codebase. Its weaknesses are form, not substance: run-on paragraphs, repeated parallel clauses, and a per-field catalog inlined where a reference file would keep SKILL.md an overview.

Suggestions

Break the multi-clause paragraph walls (especially the 38-line opening of "What Gets Resolved") into short rule-per-bullet entries so each constraint is scannable.

Move the per-area field-resolution catalog (state, raw configs, params, sso_providers, portals, policies, cookies, token refresh, OAuth providers, documents) into a references/resolved-fields.md and keep SKILL.md as an overview with a summary table of supported areas.

Add one worked fixture example (a small <prefix>.Caddyfile + <prefix>.env + <prefix>_resolved.json triple) so the replacement pipeline is end-to-end executable.

DimensionReasoningScore

Conciseness

The body carries no padding and no explanations of concepts Claude already knows — every sentence is a project-specific constraint — but it is ~300 lines with run-on paragraph walls (e.g., the 38-line paragraph in "What Gets Resolves") and repeated clauses ("resolve each value once" / "resolve once" / "resolve exactly once" reappear across the cookie, token-refresh, documents, and OAuth sections) that could be tightened. Matches anchor 3; not 2 because nothing is filler, not 4 because the prose needs restructuring rather than minor trims.

3 / 5

Actionability

Concrete executable elements abound: caddyfile placeholder examples, the exact lookup syntax "secrets:<secret_id>:<key>", named fixture files ("<prefix>.env", "<prefix>_resolved.json"), named tests, and a specific pipeline ("Raw encoded directive fields usually need `cfgutil.DecodeArgs`, replacement of each argument, lossless encoding, and validation"). Not 5 because there is no worked end-to-end fixture example showing the transform from .Caddyfile/.env to resolved JSON.

4 / 5

Workflow Clarity

"When adding a new placeholder-bearing field, check the authcrunch struct and validation path first" establishes a clear sequence (check struct → decode → replace → re-encode → validate → extend test coverage), and validation checkpoints with fail-closed semantics and named tests ("the old deployment still authorizes requests") are emphasized throughout. Not 5 because the full workflow is never assembled into one coherent ordered flow — the reader must piece it together from scattered sections.

4 / 5

Progressive Disclosure

Section headers are clear and the cross-references to sibling skills are well signaled and one level deep (e.g., "See [persistent runtime state](../configuration-state/SKILL.md)"), but the skill has no bundle files of its own and ~200 lines of per-field resolution catalog are inlined in "What Gets Resolved" — exactly the material that belongs in a separate reference file. Matches anchor 3 (content that should be separate is inline); not 4 because the core detail is not split out of SKILL.md.

3 / 5

Total

14

/

20

Passed

Description

58%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description names a specific niche and several concrete capabilities, but reads as internal documentation rather than a triggering description. It lacks an explicit "Use when..." trigger, and its jargon-heavy second sentence limits natural keyword match.

Suggestions

Add an explicit trigger clause, e.g. "Use when generating or editing Caddyfiles that contain {env.*} placeholders or secrets: lookups, or when provisioning adapted Caddy JSON at runtime."

Replace jargon like "resolved fixtures" and "manager blocks belong to secrets" with user-facing phrasing such as "expected post-resolution JSON fixtures" and "secrets manager block syntax is covered by the configuration-secrets skill".

Include natural search terms users would say: "Caddyfile", "environment variables", "{env.*}", "runtime resolution".

DimensionReasoningScore

Specificity

"Configure and validate Caddy runtime placeholders, secret lookups, encoded instructions, and resolved fixtures" plus "determine which fields resolve and preserve exact values" lists several concrete capabilities. Not 5 because the items are object nouns more than distinct actions and "resolved fixtures" is vague; clearly above 3 because coverage goes beyond 1-2 actions.

4 / 5

Completeness

The "what" is concretely stated, but there is no "when" clause: "Use to determine which fields resolve and preserve exact values" describes purpose, not a trigger situation (e.g., "Use when generating Caddyfiles with runtime placeholders"). Per the judging guideline, a missing explicit trigger caps completeness at 3; not 2 because the "what" is specific rather than vague.

3 / 5

Trigger Term Quality

Natural terms like "Caddy", "placeholders", and "secret lookups" are present, but common user variations ("{env.*}", "environment variables", "Caddyfile") are missing, and phrases like "resolved fixtures" and "manager blocks belong to secrets" are internal jargon rather than what a user would say. Matches anchor 3 (some relevant keywords, missing variations), not 4 because keyword coverage leans on project vocabulary rather than natural phrasing.

3 / 5

Distinctiveness Conflict Risk

The niche (Caddy runtime placeholder/secret resolution) has mostly distinct triggers, though vocabulary like "placeholders" and "secret lookups" overlaps with closely related sibling skills (configuration-secrets, configuration-state, cookies). Minor overlap risk with closely related skills matches anchor 4; not 5 because the description does not sharply separate it from that skill family.

4 / 5

Total

14

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 9 suspicious

Warning

Total

15

/

16

Passed

Repository

greenpau/caddy-security

Path

.codex/skills/configuration-runtime-resolution/SKILL.md

Reviewed

Table of Contents

Is this your skill?

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.