CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

web3-testing

Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols.

63

Quality

79%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./plugins/blockchain-web3/skills/web3-testing/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 solid, code-heavy reference for Hardhat and Foundry testing with good bundle structure and an appropriately signaled reference file. Main weaknesses: filler intro and stub test bodies wasting tokens, dated pinned versions and deprecated networks/plugins without a 'deprecated' framing, and no explicit run/verify workflow steps.

Suggestions

Delete the filler intro sentence ('Master comprehensive testing strategies...') and either complete the stub test bodies (time-based tests, Uniswap swap, impersonation) or replace them with one-line pointers to references/details.md.

Add an explicit workflow section: write tests → run `npx hardhat test` / `forge test` → `npx hardhat coverage` → check coverage thresholds before verifying on Etherscan.

Move time-sensitive config (Solidity 0.8.19, goerli, deprecated @nomiclabs/hardhat-etherscan) into a clearly labeled 'old patterns / deprecated' section or update to current equivalents, and de-duplicate the three inline mainnet-forking sections.

DimensionReasoningScore

Conciseness

The body is mostly efficient code with little explanatory prose, but it opens with a redundant filler sentence ('Master comprehensive testing strategies...') that repeats the title, includes stub test bodies with empty placeholder comments ('// Test time-dependent functionality', '// Test with real Uniswap contracts'), and pins time-sensitive values (solidity '0.8.19', blockNumber 15000000, deprecated goerli network and @nomiclabs plugin) without any 'old patterns/deprecated' framing — which the guidelines explicitly penalize. It fits the 'mostly efficient but includes some unnecessary content or could be tightened' anchor, not the 4 anchor's merely minor trims.

3 / 5

Actionability

Nearly all guidance is concrete, executable code: a complete hardhat.config.js, working Chai/Hardhat fixture patterns, Foundry tests with cheatcodes (vm.prank, vm.expectRevert, fuzzing, vm.createSelectFork), snapshot/revert, and account impersonation. Minor gaps keep it below the fully copy-paste-ready 5 anchor: the gas test references an undefined addr1, the whale example uses a '0x...' placeholder, and several test bodies are comment stubs — matching the 4 anchor's 'concrete code with minor gaps'.

4 / 5

Workflow Clarity

Sections imply a rough order (config setup → unit tests → advanced patterns) but there is no explicit multi-step workflow, no instruction to actually run the tests (no `npx hardhat test`/`forge test` in the body), and no validation checkpoints such as checking coverage thresholds or confirming fork state — matching the 3 anchor's 'sequence present but checkpoints missing'. It is above the 2 anchor's poorly defined steps since each section is self-contained and coherent.

3 / 5

Progressive Disclosure

The bundle structure is sound: SKILL.md covers core patterns and clearly signals a real, one-level-deep pointer ('More detailed templates and worked examples live in references/details.md') that holds genuinely secondary material (gas comparison, coverage, Etherscan verification, CI). It falls short of the 5 anchor because SKILL.md itself is a ~280-line pattern library rather than a lean overview — e.g., mainnet forking appears in three separate inline sections with some duplication — but there are no buried or nested references, placing it at 4.

4 / 5

Total

14

/

20

Passed

Description

87%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 description: explicit what-and-when structure, concrete capabilities, and highly distinctive domain triggers. The only weaknesses are the filler word 'comprehensively' and missing coverage of several real capabilities (fuzzing, gas optimization, coverage reporting, Etherscan verification).

DimensionReasoningScore

Specificity

The description names the domain ('Test smart contracts') and tools ('Hardhat and Foundry') with concrete actions ('unit tests, integration tests, and mainnet forking'), matching the 'several specific actions with minor gaps' anchor — capabilities shown in the body like fuzzing, gas optimization, and coverage reporting are absent, and 'comprehensively' is filler. It does not reach the 5 anchor's comprehensive coverage, and it is well above the 3 anchor's 1-2 concrete actions.

4 / 5

Completeness

It explicitly answers both: what it does ('Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking') and when to use it ('Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols') with concrete trigger phrases — a direct match for the 5 anchor, and strictly stronger than the 4 anchor's 'when could be more explicit'.

5 / 5

Trigger Term Quality

Triggers include natural user phrasing — 'testing Solidity contracts', 'setting up blockchain test suites', 'validating DeFi protocols', 'mainnet forking' — plus tool names Hardhat/Foundry. It falls short of the 5 anchor because common synonyms and tool-component terms are missing (e.g., Forge, gas optimization, fuzzing) and it clearly exceeds the 3 anchor's partial keyword coverage.

4 / 5

Distinctiveness Conflict Risk

Smart-contract testing with named tooling (Hardhat, Foundry, mainnet forking, DeFi protocols) is a clear niche with distinct triggers and minimal conflict risk against generic testing or web-dev skills, matching the 5 anchor; the domain-specific terms prevent the overlap that would pull it to 4.

5 / 5

Total

18

/

20

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

wshobson/agents

Path

plugins/blockchain-web3/skills/web3-testing/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.