CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

nft-standards

Master ERC-721 and ERC-1155 NFT standards, metadata best practices, and advanced NFT features.

Quality

59%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/nft-standards/SKILL.md

The canonical home for this skill is nft-standards in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

53%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.

The content is highly actionable, with executable OpenZeppelin-based Solidity for every major NFT use case (minting, royalties, soulbound, dynamic, ERC721A), but it is organized as a monolithic pattern dump: no launch workflow with validation steps, generic filler instructions, and a progressive-disclosure failure where full contracts are inlined while all listed reference and asset files are missing from the bundle. Fixing the dead references and moving contract templates into actual reference files would substantially raise quality.

Suggestions

Create the referenced bundle files (references/erc721.md, references/erc1155.md, references/metadata-standards.md, references/enumeration.md, and the assets/) or remove the dead listings; also fix the inconsistent "resources/implementation-playbook.md" path.

Move the full contract templates out of SKILL.md into those reference files, keeping the body a lean overview with one short quick-start example per topic — the ~340 lines of inlined contracts are what progressive disclosure is meant to avoid.

Replace the generic Instructions filler ("Clarify goals...", "Apply relevant best practices") with a concrete, sequenced launch workflow with validation checkpoints (e.g. define supply/price -> deploy to testnet -> verify tokenURI and metadata render -> test mint/batch paths -> mainnet).

DimensionReasoningScore

Conciseness

The bulk is dense Solidity code with little prose padding, but the generic filler sections ("Clarify goals, constraints, and required inputs. Apply relevant best practices and validate outcomes." and the boilerplate "Do not use this skill when" bullets) add nothing Claude doesn't know, and full ERC-721/ERC-1155 OpenZeppelin templates are boilerplate Claude already produces reliably. Matches "Mostly efficient but includes some unnecessary explanation or could be tightened"; not 4 because the generic Instructions section is pure padding.

3 / 5

Actionability

The body provides near copy-paste-ready Solidity covering the common cases: payable batch mint with supply/price checks, ERC-1155 mint/mintBatch/burn with authorization, EIP-2981 royaltyInfo, soulbound transfer blocking, dynamic state, and ERC721A gas-optimized minting, plus a concrete IPFS metadata JSON example. Not 5 because of non-executable stubs (generateSVG returns "...", generateMetadata returns "") and missing imports (Strings, Base64) that leave minor gaps.

4 / 5

Workflow Clarity

Content is organized by task with headers, but there is no sequenced workflow (e.g. design -> deploy -> verify metadata -> test on testnet) and no validation checkpoints; the "Instructions" bullets are generic and non-sequential. Batch minting operations without verification steps cap workflow clarity at 3 per the judging guidelines; it is not 2 because the task sections are coherent and individually complete.

3 / 5

Progressive Disclosure

The body inlines ~340 lines of full contract templates that clearly belong in separate reference files, and every listed resource (references/erc721.md, references/erc1155.md, references/metadata-standards.md, references/enumeration.md, assets/erc721-contract.sol, assets/erc1155-contract.sol, assets/metadata-schema.json, assets/metadata-uploader.py, plus the "resources/implementation-playbook.md" path, which is also inconsistently named vs "references/") points to files that do not exist in the bundle. Matches "Minimal structure; content that clearly belongs in separate files is inlined" plus broken navigation; not 3 because the inlining is extensive and the reference paths are dead, not merely unclear.

2 / 5

Total

12

/

20

Passed

Description

48%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.

The description names a clear niche domain (ERC-721/ERC-1155 NFT standards, metadata) but relies on the generic verb "Master" instead of concrete actions, and provides no explicit "Use when..." trigger guidance, capping completeness at 3. Core keywords are present but natural variations users would actually say (minting, non-fungible token, collection, marketplace) are missing.

Suggestions

Add an explicit "Use when..." clause naming concrete triggers, e.g. "Use when creating NFT collections, implementing ERC-721 or ERC-1155 contracts, setting up royalties (EIP-2981), or building marketplace functionality."

Replace the generic "Master" with concrete actions such as "Implement ERC-721/ERC-1155 contracts, batch-mint with ERC721A, build on-chain and IPFS metadata, and add EIP-2981 royalties."

Include natural synonyms users say, e.g. "non-fungible tokens", "NFTs", "minting", "NFT collection", "marketplace", "soulbound tokens".

DimensionReasoningScore

Specificity

"Master ERC-721 and ERC-1155 NFT standards, metadata best practices, and advanced NFT features" names the domain clearly but the only action verb is generic ("Master") with no concrete actions such as implementing minting, royalties, or metadata. Not 3 because it names zero concrete actions, matching "Names the domain but actions are minimal or generic".

2 / 5

Completeness

The "what" is clear (ERC-721/ERC-1155 standards, metadata best practices, advanced NFT features), but there is no "Use when..." clause or equivalent trigger guidance; use is only weakly implied by the domain. A missing trigger clause caps this at 3 per the judging guidelines; it is not 4 because the "when" is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

"ERC-721", "ERC-1155", "NFT standards", and "metadata" are natural terms users would say, but common variations and synonyms are missing: "non-fungible token", "minting", "NFT collection", "marketplace", "soulbound", "royalties". This matches "Some relevant keywords but missing common variations or synonyms" rather than 4, where only a few terms would be missing.

3 / 5

Distinctiveness Conflict Risk

"ERC-721" and "ERC-1155" are distinct niche triggers making the skill clearly distinguishable from non-NFT skills, matching "Mostly distinct; minor overlap risk with closely related skills". Not 5 because "metadata best practices" and "advanced NFT features" are broad phrases with some overlap risk against generic metadata or smart-contract development skills.

4 / 5

Total

12

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 8 missing

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/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.