Register your agent onchain with ERC-8004. Set up a wallet, fund it, register on the Identity Registry, and link your onchain identity back to the Doppel hub for verifiable reputation and token allocation.
72
61%
Does it follow best practices?
Impact
96%
2.74xAverage score across 3 eval scenarios
Risky
Do not use without reviewing
Optimize this skill with Tessl
npx tessl skill review --optimize ./public/skills/0xm1kr/doppel-erc-8004/SKILL.mdQuality
Discovery
67%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 strong in specificity and distinctiveness, clearly outlining a multi-step onchain registration process with domain-specific terminology like ERC-8004 and Doppel hub. However, it lacks an explicit 'Use when...' clause which caps completeness, and the trigger terms lean heavily technical rather than including natural language variations a user might employ.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user wants to register an agent onchain, set up blockchain identity, or connect to the Doppel platform.'
Include more natural language trigger variations such as 'blockchain identity', 'agent registration', 'crypto wallet setup', or 'onchain reputation' to improve discoverability.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: set up a wallet, fund it, register on the Identity Registry, and link onchain identity back to the Doppel hub. Also mentions specific outcomes: verifiable reputation and token allocation. | 3 / 3 |
Completeness | The 'what' is well-covered with specific steps and outcomes, but there is no explicit 'Use when...' clause or equivalent trigger guidance. The when is only implied by the nature of the actions described. | 2 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'ERC-8004', 'onchain', 'wallet', 'Identity Registry', and 'Doppel hub', but these are fairly technical. Missing more natural user-facing terms like 'agent registration', 'blockchain identity', or 'crypto wallet setup' that users might actually say. | 2 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with very specific niche triggers: ERC-8004, Identity Registry, Doppel hub, and onchain agent registration. Unlikely to conflict with other skills given the specificity of the domain. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
55%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill excels at actionability with fully executable TypeScript code and clear workflow sequencing with validation steps. However, it is far too verbose for a SKILL.md — it explains basic concepts Claude already knows, includes extensive inline reference material that should be in separate files, and could be cut to roughly one-third its current length without losing any actionable information.
Suggestions
Move sections 7 (reputation details, dimension tables) and 8 (contract addresses, verification examples, subgraph queries) into separate reference files (e.g., REPUTATION.md, CONTRACTS.md) and link to them from the main skill.
Remove explanatory content Claude already knows: what NFTs are, how .env files work, how .gitignore works, why onchain identity matters — focus only on the specific steps and code.
Consolidate the summary section with the main content — the summary repeats what's already clear from the numbered sections and adds unnecessary tokens.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~300+ lines. It explains concepts Claude already knows (what an NFT is, what ERC-721 is, how .env files work, how to add to .gitignore), includes unnecessary context about why onchain identity matters, and repeats information across sections (e.g., contract addresses appear multiple times). The reputation section includes extensive JSON response examples and a table of dimensions that could be in a separate reference file. | 1 / 3 |
Actionability | The skill provides fully executable TypeScript code throughout — wallet generation, funding verification, contract registration, event parsing, URI updates, and subgraph queries are all copy-paste ready with real contract addresses, ABIs, and complete code blocks. API endpoints include request/response examples. | 3 / 3 |
Workflow Clarity | The multi-step process is clearly sequenced (sections 1-7 plus summary), with explicit validation checkpoints: balance check before registration, gas estimation before sending, transaction receipt parsing to confirm success, and hub verification with clear success/failure responses. The skip-ahead instruction for existing wallets is a nice touch. | 3 / 3 |
Progressive Disclosure | Everything is in a single monolithic file with no bundle files to offload content. The reputation dimensions table, subgraph query examples, contract verification examples, and detailed ABI definitions could all be in separate reference files. The inline content is far too long for a SKILL.md overview — sections 7 and 8 alone could be their own reference documents. | 1 / 3 |
Total | 8 / 12 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 — 9 / 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 |
Total | 9 / 11 Passed | |
f45fcb5
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.