nft-standards

nft-standards is a skill for Claude Code from HermeticOrmus/claude-code-game-development. It costs 48 tokens per session (2,598 once invoked), scanned A, a copy of nft-standards, MIT.

A guide to building non-fungible tokens (NFTs), which are unique digital assets recorded on a blockchain. It covers the ERC-721 and ERC-1155 rule sets, metadata, minting, and marketplace connections.

In plain words
What is it for?
Use it for NFT collections, games, collectibles, marketplaces, soulbound tokens (tokens that cannot be transferred), and NFTs whose properties can change over time.
Why use it?
It helps avoid common mistakes when creating NFT contracts and deciding how ownership, metadata, transfers, royalties, or revenue sharing should work.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the blockchain-web3 plugin — 4 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/hermeticormus/claude-code-game-development/nft-standards
Any agent
npx skills add HermeticOrmus/claude-code-game-development --skill nft-standards
Clone the repo
git clone --depth 1 https://github.com/HermeticOrmus/claude-code-game-development

Made for: Claude Code.

Or install blockchain-web3, the plugin that ships this one along with the rest of its 4 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for nft-standards

README.md
[![agentmods](https://agentmods.dev/badge/skills/hermeticormus/claude-code-game-development/nft-standards.svg)](https://agentmods.dev/skills/hermeticormus/claude-code-game-development/nft-standards)
Your own site
<a href="https://agentmods.dev/skills/hermeticormus/claude-code-game-development/nft-standards"><img src="https://agentmods.dev/badge/skills/hermeticormus/claude-code-game-development/nft-standards.svg" alt="Measured on agentmods" height="20"></a>
Per session 48 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,598 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00048 $0.02598
Opus 5 $0.00024 $0.01299
Sonnet 5 $0.00010 $0.00520
Haiku 4.5 $0.00005 $0.00260

Measured 6d ago against content hash 00725fa34d14, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

nft-standards scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to nft-standards — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

plugins/blockchain-web3/skills/nft-standards/SKILL.md · 382 lines

How it starts

The opening of the file, as written. The whole thing — 382 lines — stays where its author put it; the contents beside it link to each section on GitHub.

NFT Standards

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

When to Use This Skill

  • Creating NFT collections (art, gaming, collectibles)
  • Implementing marketplace functionality
  • Building on-chain or off-chain metadata
  • Creating soulbound tokens (non-transferable)
  • Implementing royalties and revenue sharing
  • Developing dynamic/evolving NFTs

ERC-721 (Non-Fungible Token Standard)

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Counters.sol";

contract MyNFT is ERC721URIStorage, ERC721Enumerable, Ownable {
    using Counters for Counters.Counter;
    Counters.Counter private _tokenIds;

    uint256 public constant MAX_SUPPLY = 10000;
    uint256 public constant MINT_PRICE = 0.08 ether;
    uint256 public constant MAX_PER_MINT = 20;

    constructor() ERC721("MyNFT", "MNFT") {}

    function mint(uint256 quantity) external payable {
        require(quantity > 0 && quantity <= MAX_PER_MINT, "Invalid quantity");
        require(_tokenIds.current() + quantity <= MAX_SUPPLY, "Exceeds max supply");
        require(msg.value >= MINT_PRICE * quantity, "Insufficient payment");

        for (uint256 i = 0; i < quantity; i++) {
            _tokenIds.increment();
            uint256 newTokenId = _tokenIds.current();
            _safeMint(msg.sender, newTokenId);
            _setTokenURI(newTokenId, generateTokenURI(newTokenId));
        }
    }

    function generateTokenURI(uint256 tokenId) internal pure returns (string memory) {
        // Return IPFS URI or on-chain metadata
        return string(abi.encodePacked("ipfs://QmHash/", Strings.toString(tokenId), ".json"));
    }

    // Required overrides
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 tokenId,
        uint256 batchSize
    ) internal override(ERC721, ERC721Enumerable) {
        super._beforeTokenTransfer(from, to, tokenId, batchSize);
    }

    function _burn(uint256 tokenId) internal override(ERC721, ERC721URIStorage) {
        super._burn(tokenId);
    }

    function tokenURI(uint256 tokenId) public view override(ERC721, ERC721URIStorage) returns (string memory) {
        return super.tokenURI(tokenId);
    }

    function supportsInterface(bytes4 interfaceId)
        public
        view
        override(ERC721, ERC721Enumerable)
        returns (bool)
    {
        return super.supportsInterface(interfaceId);
    }

    function withdraw() external onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
}

Read the full file on GitHub · 382 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 382 lines · 48 tokens per session scan A 00725fa34d14

Subscribe to this mod's changes

nft-standards is a skill published in the GitHub repository HermeticOrmus/claude-code-game-development (61 stars, last pushed 3mo ago), licensed MIT. It adds 48 tokens to every session and 2,598 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to nft-standards, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

cgs-create-control-manifest

Use for create control manifest tasks that define implementation rules, boundaries, allowed dependencies, validation commands, and review gates; produce verification evidence, changed or proposed files, and handoff boundaries.

merlinhu1/codex-game-studio · 44 tokens

cgs-regression-suite

Use for regression suite tasks that define or run regression coverage for changed systems, prior bugs, critical paths, and release blockers; produce verification evidence, changed or proposed files, and handoff boundaries.

merlinhu1/codex-game-studio · 45 tokens

cgs-art-bible

Use for art bible tasks that define visual identity, shape language, palette, camera, animation, UI style, and asset constraints; produce verification evidence, changed or proposed files, and handoff boundaries.

merlinhu1/codex-game-studio · 46 tokens

authoring-godot-prompter-skills

Use when writing or editing a SKILL.md or an agent definition in this repo — required frontmatter, section ordering, and the GDScript-then-C# example convention.

jame581/GodotPrompter · 47 tokens

cgs-architecture-review

Use for architecture review tasks that review architecture for layer violations, scalability risks, engine misuse, testing seams, and production readiness; produce verification evidence, changed or proposed files, and handoff boundaries.

merlinhu1/codex-game-studio · 45 tokens

cgs-create-architecture

Use for create architecture tasks that design the technical architecture, layers, data ownership, engine boundaries, and control manifest; produce verification evidence, changed or proposed files, and handoff boundaries.

merlinhu1/codex-game-studio · 43 tokens