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.
78
57%
Does it follow best practices?
Impact
92%
1.19xAverage score across 6 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/blockchain-web3/skills/web3-testing/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly defines its scope around smart contract testing with specific tools and methodologies. It includes an explicit 'Use when...' clause with natural trigger terms covering Solidity, blockchain testing, and DeFi. The description is concise, uses third person voice, and is highly distinguishable from other skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking.' This names specific tools (Hardhat, Foundry), test types (unit, integration), and techniques (mainnet forking). | 3 / 3 |
Completeness | Clearly answers both 'what' (test smart contracts using Hardhat and Foundry with unit tests, integration tests, and mainnet forking) and 'when' (Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols) with an explicit 'Use when...' clause. | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'smart contracts', 'Hardhat', 'Foundry', 'unit tests', 'integration tests', 'mainnet forking', 'Solidity contracts', 'blockchain test suites', 'DeFi protocols'. These cover a good range of terms a developer would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive niche combining smart contract testing with specific tools (Hardhat, Foundry) and blockchain-specific techniques (mainnet forking, DeFi protocol validation). Unlikely to conflict with general testing or other development skills. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
14%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads as a comprehensive but bloated reference document rather than a focused, actionable skill. It dumps large amounts of boilerplate code that Claude already knows how to produce, lacks a clear workflow with validation steps, and makes no attempt at progressive disclosure. The code examples, while mostly concrete, have several incomplete placeholders that undermine actionability.
Suggestions
Drastically reduce content to only non-obvious patterns and project-specific conventions—remove standard Hardhat config, basic Chai assertions, and CI/CD boilerplate that Claude can generate from memory.
Add a clear sequential workflow (e.g., 1. Set up project → 2. Write unit tests → 3. Run and validate → 4. Add coverage → 5. Verify) with explicit validation checkpoints at each stage.
Split advanced topics (Foundry testing, mainnet forking, gas optimization, CI/CD) into separate referenced files and keep SKILL.md as a concise overview with navigation links.
Complete all placeholder code examples (e.g., the empty Uniswap swap test, the time-based test stub) or remove them—incomplete examples reduce trust and actionability.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~300+ lines, covering topics Claude already knows well (Hardhat config, basic Chai assertions, GitHub Actions YAML). Much of this is boilerplate that doesn't add novel knowledge—e.g., explaining how to write a CI/CD workflow or how coverage reporting works. The 'When to Use This Skill' section and many code blocks could be drastically trimmed. | 1 / 3 |
Actionability | The code examples are mostly concrete and executable, but several are incomplete (e.g., 'Should swap on Uniswap' with empty body, time-based test with '// Test time-dependent functionality' placeholder, gas optimization test referencing undefined `addr1`). The Foundry fork test uses a placeholder RPC URL. These gaps prevent a score of 3. | 2 / 3 |
Workflow Clarity | There is no clear sequenced workflow for setting up and running a test suite end-to-end. The content is organized as a reference catalog of patterns rather than a guided process. There are no validation checkpoints, no error recovery steps, and no guidance on what order to follow when building a test suite from scratch. | 1 / 3 |
Progressive Disclosure | The content is a monolithic wall of code examples with no references to external files and no layered structure. Everything from basic unit tests to CI/CD configuration is dumped inline. Topics like Foundry testing, mainnet forking, and gas optimization could easily be split into separate referenced files. | 1 / 3 |
Total | 5 / 12 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 — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
112197c
Table of Contents
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.