CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

reentrancy

Hunt and validate reentrancy bugs — classic cross-function, same-function, read-only, and cross-contract variants.

Quality

78%

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 ./packages/decepticon/decepticon/skills/standard/contracts/reentrancy/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

A tight, actionable audit playbook: concrete scan patterns, executable Foundry PoC commands, and explicit success criteria with a sensible scan-to-verify sequence. The only real gaps are the undefined provenance of the `solidity_scan_file`/`foundry_reentrancy_test` tools and the absence of an error-recovery loop after test execution.

DimensionReasoningScore

Conciseness

The body is lean and assumes domain competence — variant taxonomy, audit checks, and commands appear with no padding or explanation of basics. Minor trimmable content exists (the Known exemplars list and CVSS boilerplate restate history Claude largely knows), so it fits anchor 4 rather than 5's "every token earns its place", and is far above the verbosity of anchor 3.

4 / 5

Actionability

Concrete, executable guidance throughout: `solidity_scan_file` scan targets (".call{value:...}" and `delegatecall`), a parameterized PoC invocation (`foundry_reentrancy_test(target="Vault", function="withdraw", target_path="src/Vault.sol")`), and copy-paste bash (`forge test -vvv --match-contract Test_withdraw`). Minor gaps keep it at 4 rather than 5 — attacker-contract construction is delegated to a tool never defined in the skill, and no fallback is given if the tools are unavailable.

4 / 5

Workflow Clarity

A clear sequence runs scan → per-hit checks (state-write ordering, nonReentrant, checks-effects-interactions) → call-graph trace → PoC → test execution, with the forge test plus success criteria ("attacker contract balance grows by more than its initial deposit") serving as a validation checkpoint. It stops short of anchor 5 because there is no explicit error-recovery loop (what to do when the test fails or no hit validates); the destructive/batch cap does not apply since this is analysis and test generation.

4 / 5

Progressive Disclosure

The body is under 50 lines with no need for external references, and content is well-organized into clear sections (Variants, Audit steps, PoC, Success criteria, CVSS, Known exemplars). Per the simple-skill exception this scores 5; no bundle files exist to verify and no dangling file references appear in the body.

5 / 5

Total

17

/

20

Passed

Description

70%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 description is specific and distinctive within the smart-contract security domain, clearly naming the bug class and its variants. Its main weakness is the missing "Use when..." trigger clause in the description field itself, leaving the "when" guidance buried in metadata.

Suggestions

Add an explicit trigger clause to the description, e.g., "Use when auditing Solidity contracts for reentrancy, reviewing external calls and callbacks, or investigating exploits involving reentrant calls.", to raise completeness above the cap of 3.

Include natural keyword variants such as "re-entrancy", "reentrant", or "reentrancy attack/vulnerability" so users phrasing the need differently still match.

Mention the outcome deliverables (e.g., PoC generation and CVSS severity rating) in the description to broaden capability coverage beyond "hunt and validate".

DimensionReasoningScore

Specificity

"Hunt and validate reentrancy bugs" names two concrete actions and enumerates five specific variants ("classic cross-function, same-function, read-only, and cross-contract"). It lists several specific capabilities with minor gaps (no mention of PoC generation or severity assessment), matching anchor 4 rather than 3 because coverage goes beyond 1-2 generic actions, and not 5 because the action verbs are limited to two.

4 / 5

Completeness

The "what" is clear (hunt and validate reentrancy bug variants) but the description field contains no "Use when..." clause or equivalent trigger guidance — the trigger keywords live only in metadata.when_to_use, not the description. Per the guideline, a missing explicit "when" caps completeness at 3; it is not 2 because the "what" is concrete and specific.

3 / 5

Trigger Term Quality

"reentrancy" is the natural term a user would say, reinforced by domain keywords "cross-function", "read-only", and "cross-contract". Good keyword coverage with a few natural terms missing (e.g., "re-entrancy", "reentrant", "reentrancy attack/vulnerability"), fitting anchor 4 rather than 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

"Reentrancy bugs" is a highly specific smart-contract security niche with distinct trigger terms (reentrancy, cross-function, read-only), giving it a clear niche with minimal conflict risk against other skills. It matches anchor 5; no neighboring anchor fits better since nothing generic remains.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/contracts/reentrancy/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.