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.

62

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./skills/security-and-hardening/SKILL.md

The canonical home for this skill is security-and-hardening in addyosmani/agent-skills

SKILL.md
Quality
Evals
Security

Quality

Content

64%Scale 1-3

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

This is a comprehensive, highly actionable security skill with excellent executable code examples covering OWASP Top 10, input validation, SSRF, LLM security, and more. Its main weaknesses are length (could benefit from splitting detailed patterns into referenced files) and some redundancy between sections (red flags, checklists, and verification overlap significantly). The workflow for actually applying these security measures could be more explicitly sequenced with validation checkpoints.

Suggestions

Move detailed OWASP prevention patterns and code examples into a referenced file (e.g., `references/owasp-patterns.md`) to reduce the main SKILL.md length and improve progressive disclosure.

Consolidate the overlapping 'Red Flags', 'Security Review Checklist', and 'Verification' sections into a single checklist to reduce redundancy and improve conciseness.

Add an explicit workflow with validation checkpoints for applying security hardening to an existing codebase (e.g., '1. Run npm audit → 2. Fix criticals → 3. Grep for secrets → 4. Verify headers → if any fail, loop back').

DimensionReasoningScore

Conciseness

The skill is generally well-written but includes some content Claude already knows (e.g., the 'Common Rationalizations' table is motivational rather than instructional, and some OWASP explanations are redundant for Claude). The STRIDE table and threat modeling section add value, but the overall document is quite long (~400 lines) and could be tightened in places like the npm audit decision tree prose and the red flags section which largely duplicates the checklist.

2 / 3

Actionability

Excellent actionability throughout — nearly every section includes executable TypeScript code examples that are copy-paste ready (Zod validation, bcrypt hashing, helmet configuration, rate limiting, SSRF prevention with ipaddr.js). Commands like `npm audit`, `git diff --cached | grep`, and `npm ci` are concrete and specific. The SSRF example even includes a nuanced TOCTOU caveat with mitigation suggestions.

3 / 3

Workflow Clarity

The 'Process: Threat Model First' section provides a clear 4-step sequence, and the npm audit triage has a decision tree. However, the overall document lacks explicit validation checkpoints and feedback loops for the security hardening process itself — there's no 'do X, then verify Y, if it fails do Z' workflow for implementing security controls. The verification checklist at the end is good but disconnected from the implementation steps.

2 / 3

Progressive Disclosure

The document references `references/security-checklist.md` for detailed checklists and pre-commit steps, which is good progressive disclosure. However, the main SKILL.md is very long (~400 lines) and includes substantial inline content (full OWASP patterns, complete code examples for every category, npm audit triage, supply chain hygiene) that could be split into referenced files. The single reference to a bundle file that doesn't exist is also a concern.

2 / 3

Total

9

/

12

Passed

Description

82%Scale 1-3

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

This is a solid description with strong trigger term coverage and good completeness thanks to explicit 'Use when...' clauses. Its main weaknesses are the somewhat vague capability statement ('hardens code against vulnerabilities' without listing specific security actions) and potential overlap with domain-specific skills for authentication, data storage, or integrations.

Suggestions

Add specific concrete actions to improve specificity, e.g., 'Sanitizes inputs, prevents injection attacks, implements CSRF protection, encrypts sensitive data, validates authentication tokens'

Consider adding a distinguishing qualifier to reduce conflict risk, e.g., 'from a security perspective' after mentioning authentication/data storage, to differentiate from functional skills in those domains

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 passwords, validate tokens'. 'Hardens code against vulnerabilities' is somewhat vague as a capability statement.

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 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, terms like 'authentication', 'data storage', and 'external integrations' could overlap with skills specifically focused on those domains (e.g., an auth skill, a database skill, or an API integration skill). The description could conflict with feature-building skills that also handle these areas.

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
finlay611/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.