CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

security

Secure app data, actions, routes, and external input. Use when changing authentication, authorization, database access, uploads, untrusted content, or server-side requests to user-provided URLs.

Quality

90%

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

SKILL.md
Quality
Evals
Security

Quality

Content

93%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.

An excellent instruction-style skill body: dense with project-specific, directly actionable rules and named helper APIs, lean with no over-explanation, and well-organized with sensible delegation to related skills. The only notable gap is the absence of any verification checkpoint for confirming that access controls were applied correctly.

Suggestions

Add a brief closing verification step, e.g., 'Before finishing, confirm every read/write path for the changed table passes through the owner filter or accessFilter helper.'

DimensionReasoningScore

Conciseness

Nearly every sentence is a project-specific rule (Zod schemas, Drizzle parameter binding, `ownableColumns()`, `ssrfSafeFetch`, `needsApproval`) rather than explanation of concepts Claude already knows; the only background clause, "React escapes rendered text", is three words serving as rationale for the rule that follows. No padded or repetitive sections exist, matching the lean-and-efficient anchor rather than the minor-trimming-needed level of 4.

5 / 5

Actionability

Guidance is concrete and executable throughout: named APIs with signatures (`accessFilter(table, sharesTable)`, `resolveAccess(type, id)`, `assertAccess(type, id, role)`, `ssrfSafeFetch` from `@agent-native/core/extensions/url-safety`), an import path, specific anti-patterns to avoid, and a decision table mapping data patterns to access models. Per the instruction-skill scoring note, the absence of code blocks is not penalized since the guidance is specific and directly actionable, placing it at the top anchor rather than the minor-gaps level of 4.

5 / 5

Workflow Clarity

The body is organized as a clear conditional decision procedure (validate inputs -> pick an access model from the table -> apply sharing helpers -> handle untrusted content -> protect credentials/approvals) with unambiguous branch guidance. It stops short of 5 because no validation/verification checkpoints tell Claude how to confirm a change is secure (e.g., re-checking that every read/write path passes the access filter), though as design-time guidance it involves no destructive or batch operations that would trigger the workflow-clarity cap.

4 / 5

Progressive Disclosure

The single-file body is well-sectioned and appropriately sized for inline rules, and it correctly delegates deeper material to sibling skills ("Use the shared credential flow in the `secrets` skill"; a Related skills section listing `actions`, `secrets`, `sharing`) instead of inlining it. There are no bundle files to mis-organize, no buried references, and no monolithic wall of text, matching the well-organized single-file pattern the rubric treats as full marks.

5 / 5

Total

19

/

20

Passed

Description

83%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.

A strong, well-formed description that clearly states the what and an explicit, concrete when-list of security-relevant triggers. Its only weaknesses are a single generic action verb and a few missing natural synonyms (permissions, login, SSRF) that would broaden trigger coverage.

Suggestions

Consider naming a second concrete action alongside 'Secure' (e.g., 'Validate inputs, authorize row access, and secure app data...') to sharpen the what.

Add one or two common user phrasings as triggers, such as 'permissions' or 'login/auth', since users often describe auth work with those words.

DimensionReasoningScore

Specificity

"Secure app data, actions, routes, and external input" names several concrete objects of protection, and the when-clause enumerates specific capability areas ("authentication, authorization, database access, uploads, untrusted content, or server-side requests to user-provided URLs"), giving broad coverage. It falls short of a 5 because the core action is a single generic verb ("Secure") rather than multiple distinct concrete actions, and it is above 3 because far more than 1-2 concrete items are named.

4 / 5

Completeness

It explicitly answers what ("Secure app data, actions, routes, and external input") and when ("Use when changing authentication, authorization, database access, uploads, untrusted content, or server-side requests to user-provided URLs") with a concrete trigger list. This matches the anchor for clear and explicit what-and-when with concrete trigger phrases; the 4 anchor would require the when to be less explicit or specific, which it is not.

5 / 5

Trigger Term Quality

"authentication", "authorization", "database access", "uploads", and "untrusted content" are natural phrases users would say when touching security-sensitive code. A few natural terms are missing (e.g., "permissions", "login", "secrets", "SSRF", "validation"), keeping it below the comprehensive synonym coverage of a 5 but comfortably above the generic-keyword level of a 3.

4 / 5

Distinctiveness Conflict Risk

The triggers (auth/authz changes, uploads, user-provided URLs) are distinctly security-flavored and unlikely to fire for unrelated skills, with deliberate omission of credentials (deferred to a separate secrets skill). Minor overlap remains: changes to "database access" or "uploads" could also legitimately trigger database/file-handling skills, so it is not a fully conflict-free niche as a 5 would require.

4 / 5

Total

17

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

BuilderIO/agent-native

Path

.agents/skills/security/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.