Interact with Alchemy's Web3 APIs for blockchain data, NFTs, tokens, transfers, and webhooks across 80+ chains.
62
44%
Does it follow best practices?
Impact
98%
1.04xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./data/skills-md/0xgizmolab/alchemy-web3-skill/alchemy-web3/SKILL.mdQuality
Discovery
54%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 identifies a clear niche (Alchemy Web3 APIs) with good trigger terms but lacks explicit trigger guidance ('Use when...') and could be more specific about concrete actions. The categories listed (NFTs, tokens, transfers, webhooks) are helpful but read more as topic areas than actionable capabilities.
Suggestions
Add a 'Use when...' clause, e.g., 'Use when the user asks about Alchemy APIs, querying blockchain data, fetching NFT metadata, tracking token transfers, or setting up webhooks.'
Replace category nouns with concrete action phrases, e.g., 'Query token balances, fetch NFT metadata and ownership, track wallet transfers, configure notification webhooks' instead of just listing 'NFTs, tokens, transfers, webhooks'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (Alchemy's Web3 APIs) and lists several areas (blockchain data, NFTs, tokens, transfers, webhooks), but these are more like categories than concrete actions. It doesn't specify what actions are performed (e.g., 'query token balances', 'create webhooks', 'fetch NFT metadata'). | 2 / 3 |
Completeness | The description answers 'what' at a high level but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also somewhat weak, so this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Alchemy', 'Web3', 'blockchain', 'NFTs', 'tokens', 'transfers', 'webhooks', and 'chains'. These cover a good range of terms a user working with Alchemy APIs would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | The mention of 'Alchemy' as a specific platform combined with 'Web3 APIs' creates a clear niche. This is unlikely to conflict with other skills since it targets a specific third-party service for blockchain interactions. | 3 / 3 |
Total | 9 / 12 Passed |
Implementation
35%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides broad coverage of Alchemy's API surface with concrete examples across multiple formats (CLI, curl, JS), but is significantly undermined by excessive verbosity, repeated promotional content, and redundant presentation of the same operations in multiple formats inline rather than in referenced files. The lack of validation steps and error recovery workflows, combined with unverifiable CLI script references, reduce its practical reliability.
Suggestions
Remove all promotional/marketing content for GizmoLab (appears 8+ times with UTM tracking links) — this wastes tokens and adds no instructional value.
Move the detailed curl and JavaScript examples into the referenced files (references/nft-api.md, references/token-api.md, etc.) and keep only the CLI quick reference and one representative curl example in SKILL.md.
Add a validation step after setup (e.g., 'Verify your key works: `./alchemy.sh balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045` — expected: numeric ETH balance') and error recovery guidance for common failures.
Provide the actual bundle files (especially alchemy.sh and the referenced markdown files) so the skill is self-contained and verifiable.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is excessively verbose with significant redundancy — it shows the same operations (get balance, get NFTs, etc.) three different ways (CLI, curl, JavaScript) without clear justification. It includes promotional content and marketing links for GizmoLab repeated multiple times, an 'About' section that is pure advertising, and explanations Claude doesn't need (e.g., what webhooks are, what a portfolio tracker is). The promotional material alone wastes substantial tokens. | 1 / 3 |
Actionability | The curl commands and JavaScript examples are concrete and mostly executable, but the CLI commands reference a script (alchemy.sh) whose existence cannot be verified since no bundle files are provided. Some commands like `./alchemy.sh collection` and `--category` flags appear without documentation of whether they actually exist. The comment outputs (e.g., '# Returns: 1234.56 ETH') are illustrative but not actual API responses. | 2 / 3 |
Workflow Clarity | Setup steps are sequenced (get key → configure → use), and common patterns section shows multi-step workflows. However, there are no validation checkpoints — no guidance on verifying the API key works, no error recovery steps beyond listing error codes, and the multi-chain query pattern lacks any error handling for failed requests across chains. | 2 / 3 |
Progressive Disclosure | The 'See Also' section references five separate reference files (nft-api.md, token-api.md, etc.), which is good structure. However, no bundle files are provided to verify these exist, and the main SKILL.md itself is bloated with content that should be in those reference files (full curl examples for NFT API, Token API, Transfers API are all inline rather than in the referenced files). The inline content contradicts the progressive disclosure intent. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
72%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 8 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 8 / 11 Passed | |
25d5403
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.