CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

nft-standards

Implement NFT standards (ERC-721, ERC-1155) with proper metadata handling, minting strategies, and marketplace integration. Use when creating NFT contracts, building NFT marketplaces, or implementing digital asset systems.

62

Quality

78%

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/nft-standards/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

62%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 well-organized, code-first reference with genuinely executable OpenZeppelin-based contracts for the core standards and a correctly structured one-level-deep reference file. Its main weakness is the absence of any workflow or validation guidance for risky operations like deploying payable mints and withdrawing funds, plus a non-executable on-chain metadata example.

Suggestions

Add a brief deployment workflow with validation checkpoints (e.g., write the contract, run tests with `forge test`, verify behavior on a local fork, then deploy and verify the contract on a block explorer) so risky payable-mint operations aren't executed without verification.

Make the on-chain metadata example executable: import the needed libraries and provide a working `generateSVG` implementation, or explicitly label it as an abbreviated pattern to be completed.

Signpost the contents of `references/details.md` per topic (e.g., 'Soulbound tokens: see references/details.md') and move the full ERC-721/ERC-1155 template contracts into the reference file, keeping condensed patterns in SKILL.md.

DimensionReasoningScore

Conciseness

The body is almost entirely executable code with no explanation of concepts Claude already knows (no "what is an NFT" padding), but the opening sentence "Master ERC-721 and ERC-1155 NFT standards, metadata best practices, and advanced NFT features" and the inlined override boilerplate (tokenURI/supportsInterface pass-throughs) are tokens that could be trimmed, fitting the 'efficient; minor instances of over-explanation' anchor.

4 / 5

Actionability

The ERC-721, ERC-1155, and EIP-2981 examples are complete, copy-paste-ready contracts with real OpenZeppelin imports, but the on-chain metadata example is not executable: `generateSVG` returns the placeholder "..." and `Base64`/`Strings`/`ERC721` are referenced without imports, matching 'mostly executable guidance; concrete code with minor gaps' rather than fully copy-paste ready.

4 / 5

Workflow Clarity

The skill is a pattern library with no sequence at all — there is no guidance on the order of operations (write contract, test, deploy, verify) and no validation or verification checkpoints for genuinely risky steps like deploying a payable mint contract (`withdraw` moves contract balance, `mint` accepts user funds). The batch/destructive cap applies: this sits between 'steps missing; no sequence; no validation' and 'rough sequence present but many gaps'.

2 / 5

Progressive Disclosure

The single reference `references/details.md` exists, is one level deep, and is clearly signaled ("More detailed templates and worked examples live in `references/details.md`"), but it is one generic pointer — the soulbound, dynamic-NFT, and ERC721A topics it contains are not individually signposted, and the three full contract templates inlined in SKILL.md could partially live in the reference file, matching 'good structure; minor organization gaps'.

4 / 5

Total

14

/

20

Passed

Description

83%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 with an explicit third-person "what" plus a concrete "Use when..." trigger clause and named standards. Its weaknesses are incomplete coverage of the skill's own feature set (royalties, soulbound, dynamic NFTs) and slightly generic trigger phrasing.

DimensionReasoningScore

Specificity

"Implement NFT standards (ERC-721, ERC-1155) with proper metadata handling, minting strategies, and marketplace integration" names the domain and several concrete actions, but omits capabilities the skill actually covers (royalties/EIP-2981, soulbound tokens, dynamic NFTs), matching the 'several specific actions; minor gaps in coverage' anchor rather than the comprehensive-coverage anchor.

4 / 5

Completeness

It explicitly answers both questions: a concrete "what" (implement ERC-721/ERC-1155, metadata handling, minting strategies, marketplace integration) followed by an explicit trigger clause "Use when creating NFT contracts, building NFT marketplaces, or implementing digital asset systems", matching the top anchor exactly.

5 / 5

Trigger Term Quality

"NFT contracts", "NFT marketplaces", "digital asset systems", plus the named standards ERC-721/ERC-1155 give good natural keyword coverage, but common user phrasings like "NFT collection", "mint", and "royalties" are absent, fitting the 'good keyword coverage; a few natural terms missing' anchor.

4 / 5

Distinctiveness Conflict Risk

The ERC-721/ERC-1155 NFT niche is clear and mostly distinct, but "implementing digital asset systems" is broad enough to overlap with a general smart-contract or token standards skill, matching 'mostly distinct; minor overlap risk with closely related skills' rather than the minimal-conflict anchor.

4 / 5

Total

17

/

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/nft-standards/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.