Content
82%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A high-quality, opinionated hardening body: concrete thresholds and commands throughout, a threat-model-first workflow with explicit checkpoints, and a clean one-level-deep split into hardening-patterns.md whose anchors all verify. The two real defects are the broken '../../references/security-checklist.md' path (referenced three times, missing from the bundle) and padding from well-known security basics (the STRIDE table, generic header lists) that could be trimmed.
Suggestions
Fix the '../../references/security-checklist.md' path — it is referenced three times (Destructive paths, Dependencies, Review Checklist) but no such file exists in the bundle; move it under references/ or inline the checklist.
Trim or compress content Claude already knows — the six-row STRIDE mitigation table and the generic Always-Do header/cookie lists — to free tokens for the non-obvious guidance that makes this skill valuable.
Add an explicit validate→fix→retry loop to the dependency process (e.g., what to do when the frozen install or signature verification fails) so workflow verification is a feedback loop rather than a one-shot checklist.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Most sections carry non-obvious, dense guidance — 'in-memory counters silently become max × instances', the DNS-rebinding TOCTOU gap, 'trust follows who *wrote* a value, not which channel delivered it' — so it largely assumes Claude's competence. It is not anchor 5 because some space goes to concepts Claude already knows: the six-row STRIDE table with standard mitigations, the basic header/cookie lists, and the Common Rationalizations table (12 rows) restate familiar security platitudes alongside genuinely sharp entries ('The audit passed, so the dependency is safe'). | 4 / 5 |
Actionability | For an instruction-only skill, the guidance is fully concrete and executable: 'bcrypt (≥12 rounds)', 'about 10 attempts per 15 minutes', 'CSP starts from default-src 'self'', 'resolve **all** DNS records and reject any private or reserved address (loopback, link-local 169.254.169.254…)', 'grep the staged diff before committing', and a three-condition test for destructive paths (allowlisted root, minimum depth, ownership evidence). Per the rubric's code-vs-instruction note, the absence of code is not penalized when guidance is this specific. | 5 / 5 |
Workflow Clarity | Multiple processes are clearly sequenced with checkpoints: the threat-model-first steps, the 4-step dependency process with explicit stops ('stop on disagreement or competing lockfiles', 'Never blanket-approve'), the Review Checklist, and the terminal Verification checklist with item-level acceptance criteria. It falls short of anchor 5 because there is no validate→fix→retry feedback loop — verification is a one-shot final checklist, and the destructive-path rule says 'log the rejected target and stop' without a recovery path. | 4 / 5 |
Progressive Disclosure | The split is genuinely good: the body holds the rules, references/hardening-patterns.md holds implementations, every one of the 15 anchored links resolves to a real section in that file, and it is one level deep with a clear instruction ('Open the section you need when you reach that code, not before'). It is not anchor 5 because the body references '../../references/security-checklist.md' three times — including the entire Review Checklist section — yet no such file exists in the bundle's references/ directory; that path escapes the skill directory and does not resolve. | 4 / 5 |
Total | 17 / 20 Passed |