CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

sharp-edges

sharp-edges

Quality

52%

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 ./plugins/AI-Agents-Safe-Coding-Skills/skills/sharp-edges/SKILL.md

The canonical home for this skill is sharp-edges in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

73%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 strong, dense analysis methodology: concrete detection patterns, a four-phase workflow with explicit validation, a feedback loop, and a closing checklist, plus a sensible severity rubric. Its two real defects are structural: all 16+ referenced bundle files listed in the References section are absent from the skill directory (breaking progressive disclosure entirely), and a malformed duplicate frontmatter block with a truncated description sits at the top of the body.

Suggestions

Ship the referenced files or fix the references: references/crypto-apis.md, config-patterns.md, auth-patterns.md, case-studies.md, the eleven lang-*.md guides, and language-specific.md are all listed but none exist in the bundle — every pointer currently dead-ends.

Standardize reference paths — one in-body pointer reads "See config-patterns.md" without the references/ prefix used everywhere else.

Remove the stray duplicate frontmatter block (lines 8–11) from the top of the body; it is truncated mid-sentence and renders as noise.

DimensionReasoningScore

Conciseness

The body is dense and pattern-driven — a "Rationalizations to Reject" table, bulleted "Detection patterns:" lists, and short illustrative snippets — with almost no tutorial-style padding. It is not a 5 because of minor waste: the stray duplicate frontmatter block at the top of the body, and snippets that re-explain concepts Claude already knows (JWT `alg: "none"`, timing-unsafe `==` comparison). It is above 3 because there are no padded sections or unnecessary conceptual explanations.

4 / 5

Actionability

Concrete, usable guidance throughout: specific detection patterns ("Function parameters like `algorithm`, `mode`, `cipher`, `hash_type`"), explicit probing questions ("What happens with `timeout=0`? `max_attempts=0`? `key=\"\"`?"), three well-defined adversary personas (The Scoundrel, The Lazy Developer, The Confused Developer), and per-finding validation steps ("Reproduce the misuse: Write minimal code demonstrating the footgun"). Not a 5 because the code examples are signature-level illustrative fragments rather than complete executable programs, and there is no runnable tooling; this is acceptable for an analysis skill but leaves minor gaps.

4 / 5

Workflow Clarity

The Analysis Workflow is a clearly sequenced four-phase process (Surface Identification → Edge Case Probing → Threat Modeling → Validate Findings) where Phase 4 is explicit validation (reproduce the misuse, verify exploitability, check documentation, test mitigations). It includes a feedback loop ("If a finding seems questionable, return to Phase 2 and probe more edge cases") and a closing "Quality Checklist" — matching the anchor "Clear sequence with explicit validation steps; feedback loops for error recovery; checklists for complex processes". This is a read-only analysis skill, so the destructive/batch validation cap does not apply.

5 / 5

Progressive Disclosure

The body is well-sectioned and the reference index is cleanly organized by category and language, but scored against the actual bundle structure it fails: every one of the 16+ referenced files (references/crypto-apis.md, references/config-patterns.md, references/auth-patterns.md, references/case-studies.md, eleven references/lang-*.md, references/language-specific.md) is missing — no references/ directory exists at all, so following any pointer fails. One in-body pointer even drops the path ("See config-patterns.md"). Not a 1 because the SKILL.md itself is well structured rather than a monolithic wall or nested reference chain, but the promised disclosure layer simply does not exist.

2 / 5

Total

15

/

20

Passed

Description

11%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 actual YAML frontmatter description is literally "sharp-edges" — just the skill name repeated, with no actions, no trigger phrases, and no use-when guidance, scoring at the bottom of the scale. Compounding this, a second malformed frontmatter block sits in the body containing a richer description ("Identifies error-prone APIs, dangerous configurations, and footgun designs...") that is truncated mid-sentence with an unterminated quote, so even the intended description never survives to a usable form. The description is effectively non-functional for skill selection.

Suggestions

Replace the frontmatter description with a complete what+when statement, e.g.: "Identifies error-prone APIs, dangerous configurations, and footgun designs that enable security mistakes. Use when reviewing API designs, configuration schemas, cryptographic API ergonomics, or checking whether code follows secure-by-default principles."

Remove the duplicate, truncated second frontmatter block from the body — it is invalid YAML/marker noise and its description string is cut off mid-sentence with an unterminated quote.

Add natural trigger keywords users would actually say ("API review", "footguns", "insecure defaults", "dangerous config", "crypto misuse") so the skill is discoverable and distinguishable from generic code-review skills.

DimensionReasoningScore

Specificity

The entire description is the bare noun phrase "sharp-edges" — no verb, no concrete action whatsoever. This matches the anchor "Entirely vague; no concrete actions; pure abstract language" (even the anchor-2 example "Processes PDF files" names a minimal action, so a score of 2 would require at least some named action).

1 / 5

Completeness

The text answers neither "what does this do" nor "when should Claude use it" — it is only a name. This squarely matches anchor 1 ("Missing both what and when"); anchor 2 requires at least a vague 'what' or a 'when' to be present. The missing 'Use when...' clause caps this dimension at 3, and the score is well below that cap.

1 / 5

Trigger Term Quality

"sharp-edges" is one domain-relevant term a developer might occasionally say, but the description is missing every natural trigger phrase for this skill ("API review", "security", "footguns", "insecure defaults", "crypto"). This fits "One or two generic keywords; missing the natural phrases users say" rather than anchor 1, since "sharp edges" is a semi-natural developer idiom, not pure technical jargon like "document object model manipulation".

2 / 5

Distinctiveness Conflict Risk

With no capability language at all, the description provides zero information to distinguish this skill from any other, and as a lone token it could semantically match any discussion of edge cases or API design. It is not "entirely generic" in the anchor-1 sense ("helps with code and documents"), so 2 fits better than 1, but no niche is established.

2 / 5

Total

6

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

description_field

'description' is very short (11 chars), consider making it more detailed

Warning

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 16 missing

Warning

Total

13

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/sharp-edges/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.