CtrlK
BlogDocsLog inGet started
Tessl Logo

security-and-hardening

Hardens code against vulnerabilities. Use when handling user input, authentication, data storage, or external integrations. Use when building any feature that accepts untrusted data, manages user sessions, or interacts with third-party services.

66

Quality

79%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/security-and-hardening/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

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

This is a strong, comprehensive security skill with excellent actionable code examples covering the major web application vulnerability categories. Its main weakness is length — at 350+ lines it's a near-monolithic document that could benefit from splitting detailed patterns (OWASP examples, npm audit triage, LLM security) into referenced files. The three-tier boundary system and threat modeling workflow are well-structured, and the inclusion of AI/LLM security patterns is a valuable modern addition.

Suggestions

Move the detailed OWASP prevention patterns (with code examples) and npm audit triage tree into a referenced file like `references/security-patterns.md` to reduce the main skill's token footprint while preserving discoverability.

Remove or significantly trim the 'Common Rationalizations' table — it's motivational content that doesn't provide actionable guidance Claude needs to follow.

DimensionReasoningScore

Conciseness

The skill is mostly efficient with good code examples and tables, but includes some unnecessary content Claude already knows — the 'Common Rationalizations' table is motivational rather than instructional, and some explanatory prose (e.g., 'Security isn't a phase — it's a constraint on every line of code') adds little actionable value. The SSRF section's explanation of what SSRF is could be trimmed. Overall it's reasonably lean for its breadth but could shed ~20% without losing utility.

2 / 3

Actionability

Excellent actionable content throughout: fully executable TypeScript code examples for every major vulnerability category (injection, XSS, SSRF, auth, rate limiting, input validation), concrete bash commands for secret detection, specific library recommendations (zod, helmet, bcrypt, DOMPurify), and copy-paste-ready patterns. The SSRF example even includes the TOCTOU caveat with mitigation suggestions.

3 / 3

Workflow Clarity

The three-tier boundary system (Always Do / Ask First / Never Do) provides clear decision-making structure. The threat modeling process is well-sequenced (map boundaries → name assets → STRIDE → abuse cases). The npm audit triage decision tree is explicit with branching logic. Verification checklists at the end provide validation checkpoints. The 'Ask First' tier acts as a human-in-the-loop checkpoint for destructive/sensitive changes.

3 / 3

Progressive Disclosure

The skill references `references/security-checklist.md` for detailed checklists and OWASP ordering, which is good progressive disclosure. However, no bundle files are provided, so we can't verify the reference exists. The document itself is quite long (~350+ lines) and some sections (like the full OWASP patterns with code examples, the npm audit triage tree, and the rationalizations table) could be split into referenced files to keep the main skill leaner. The structure is well-organized with clear headers but the content is somewhat monolithic.

2 / 3

Total

10

/

12

Passed

Description

82%

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 has strong completeness with explicit 'Use when' clauses and good trigger term coverage across multiple security-related scenarios. Its main weaknesses are the lack of specific concrete actions (what exactly does 'hardens' mean in practice?) and potential overlap with more domain-specific skills covering authentication or data storage.

Suggestions

Add specific concrete actions like 'sanitizes inputs, implements CSRF protection, encrypts sensitive data, validates authentication tokens, prevents SQL injection and XSS attacks' to improve specificity.

Consider adding boundary language to reduce conflict risk, e.g., 'Use this skill specifically for security concerns within these areas, not for general implementation of authentication or data storage features.'

DimensionReasoningScore

Specificity

The description names the domain (security hardening) and mentions several areas (user input, authentication, data storage, external integrations), but doesn't list specific concrete actions like 'sanitize inputs', 'implement CSRF protection', 'encrypt sensitive data', or 'validate tokens'. 'Hardens code against vulnerabilities' is a single somewhat vague action.

2 / 3

Completeness

Clearly answers both 'what' (hardens code against vulnerabilities) and 'when' with explicit 'Use when...' clauses covering multiple trigger scenarios (handling user input, authentication, data storage, external integrations, untrusted data, user sessions, third-party services).

3 / 3

Trigger Term Quality

Includes strong natural trigger terms that users would actually say: 'user input', 'authentication', 'data storage', 'external integrations', 'untrusted data', 'user sessions', 'third-party services'. These cover a good range of security-related scenarios users would naturally describe.

3 / 3

Distinctiveness Conflict Risk

While security hardening is a reasonably distinct niche, the broad scope covering authentication, data storage, and external integrations could overlap with skills specifically focused on those areas (e.g., an authentication skill, a database skill, or an API integration skill). The description doesn't clearly delineate boundaries.

2 / 3

Total

10

/

12

Passed

Validation

100%

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

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
addyosmani/agent-skills
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.