CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flash-loan

Flash-loan exploit patterns — callback reentrancy, oracle amplification, governance attacks, unauthenticated callback handlers.

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/contracts/flash-loan/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

81%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 strong, high-signal audit playbook: every section carries concrete patterns, exact checks, executable search commands, and a working Foundry PoC template, with a clear four-step audit workflow and explicit validation recipe. The main gaps are the undefined foundry_inflation_test pseudo-invocation, placeholder values in the PoC, and a monolithic layout that could offload the PoC template and exemplars to reference files.

Suggestions

Define or implement foundry_inflation_test (e.g., as a scripts/ tool) or replace it with the concrete Foundry test code it stands for, since the current invocation has no backing in the bundle.

Move the PoC template and known-exemplars list into a references/ file (e.g., references/poc-template.md and references/exemplars.md), keeping SKILL.md as a tighter overview with clearly signaled one-level-deep links.

Tighten the intro and OPSEC sections: drop the one-line explanation of what a flash loan is and reduce the watcher/dashboard narration to the operative instruction (use a forked anvil / private mempool for PoCs).

DimensionReasoningScore

Conciseness

The body is dense and efficient — attack patterns, checks, and a PoC template with almost no padding of concepts Claude already knows. It misses anchor 5 on minor points: the opening line explains what a flash loan is, and the OPSEC section spends a few lines on narration ('this is on-chain', listing watcher dashboards) that could be trimmed to a single directive.

4 / 5

Actionability

Mostly executable guidance: a concrete grep command ('grep -rn 'executeOperation\|flashLoan\|onFlashLoan...' src/'), per-handler check items with exact expressions ('amounts[i] + premiums[i] is repaid'), a Foundry PoC template, and a severity table. It stops short of anchor 5 because 'foundry_inflation_test(vault_address="...", ...)' is an undefined invocation with no backing script in the bundle, and the PoC template uses placeholders (TARGET = 0x..., fork URL placeholder, WETH never declared/imported).

4 / 5

Workflow Clarity

The audit workflow is a clear sequence — locate integrations via grep, check each handler against an explicit checklist, delegate price functions, then validate share math — and includes a fully specified validation procedure with expected outcomes ('Victim deposits 1e18 → gets 0 shares', 'Attacker withdraws 1 share → gets 100% of pool') plus a severity calibration table for triage. This matches anchor 5's clear sequence, explicit validation steps, and checklists; the skill is analysis/PoC work, so no destructive-operation cap applies.

5 / 5

Progressive Disclosure

Good structure: well-organized sections, and cross-references to sibling skills ('see oracle-manipulation/SKILL.md') are clearly signaled and one level deep. It does not reach anchor 5 because at ~180 lines the skill is monolithic — the ~50-line PoC template and the exemplars list could live in reference files, keeping SKILL.md as a tighter overview — and no bundle files exist to split content across.

4 / 5

Total

17

/

20

Passed

Description

66%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, correctly scoping a flash-loan security niche with concrete pattern names, but it omits any 'when to use' trigger clause from the description itself and relies on noun phrases rather than stating the skill's actions. Moving trigger guidance (from metadata.when_to_use) into the description would substantially raise completeness and trigger-term quality.

Suggestions

Add a 'Use when...' clause to the description with concrete trigger phrases, e.g., 'Use when auditing flash-loan integrations, Aave/Balancer/dYdX callbacks, ERC-4626 vaults, or DeFi protocols mentioning flash loans.'

State what the skill does in verb form (e.g., 'Identify and exploit flash-loan vulnerabilities') so the pattern nouns become capabilities rather than a bare topic list.

Include the protocol names and key synonyms (Aave, Balancer, Uniswap, ERC-4626 inflation attack, oracle manipulation) in the description so users naming those terms naturally trigger the skill.

DimensionReasoningScore

Specificity

The description names the domain ('Flash-loan exploit patterns') and lists several concrete pattern categories ('callback reentrancy, oracle amplification, governance attacks, unauthenticated callback handlers'). It falls short of anchor 5 because these are noun-phrase pattern names rather than concrete actions — it never states what the skill actually does (e.g., audit, detect, or exploit these patterns).

4 / 5

Completeness

The 'what' is clear (a catalog of flash-loan exploit patterns), but there is no 'Use when...' clause or equivalent explicit trigger guidance in the description field, which caps completeness at 3 per the judging guidelines. The trigger terms sit in metadata.when_to_use ('flash loan aave dydx balancer composition') rather than the description itself.

3 / 5

Trigger Term Quality

It includes natural terms users would say when needing this skill: 'flash-loan', 'callback reentrancy', 'oracle', 'governance attacks'. It does not reach anchor 5 because common variations and synonyms are missing — e.g., Aave, Balancer, dYdX, DeFi, oracle manipulation, ERC-4626, inflation attack, audit — several of which appear only in the body or metadata.when_to_use, not the description.

4 / 5

Distinctiveness Conflict Risk

Flash-loan attacks are a clear niche with distinct triggers, giving minimal conflict with unrelated skills. It stays at anchor 4 rather than 5 because the listed patterns ('callback reentrancy', 'oracle amplification') overlap with sibling skills the body itself cross-references (oracle-manipulation, reentrancy), so a query about plain reentrancy or oracle manipulation could trigger this skill too.

4 / 5

Total

15

/

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

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

relative_links

Relative link issues: 3 missing

Warning

Total

13

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

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