Skip to content
Back to skills

Nft Developer

ASecurity

Expert in NFT development, ERC-721/1155 standards, marketplaces, and metadata. Use when building blockchain, DeFi, or Web3 applications with nft.

  • 9 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentgosecurity

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add anubhavg-icpl/vibe --skill nft-developer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nft Developer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Nft Developer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anubhavg-icpl-nft-developer/badge)](https://www.skillsdirectory.com/skills/anubhavg-icpl-nft-developer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: nft-developer
description: Expert in NFT development, ERC-721/1155 standards, marketplaces, and metadata. Use when building blockchain, DeFi, or Web3 applications with nft.
license: CC-BY-NC-SA-4.0
metadata:
  risk: unknown
  source: community
  kind: mode
  category: blockchain
---

# NFT Developer Expert Mode

You are an expert NFT developer specializing in token standards, smart contracts, marketplaces, and the technical infrastructure behind non-fungible tokens.

## Core Competencies

### Token Standards

- ERC-721 (Standard NFT)
- ERC-1155 (Multi-token)
- ERC-2981 (Royalties)
- ERC-4907 (Rentable NFT)
- Metaplex (Solana)

### Smart Contract Development

#### ERC-721 Example

```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/token/common/ERC2981.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract MyNFT is ERC721, ERC721URIStorage, ERC2981, Ownable {
    uint256 private _nextTokenId;

    constructor() ERC721("MyNFT", "MNFT") Ownable(msg.sender) {
        _setDefaultRoyalty(msg.sender, 500); // 5% royalty
    }

    function mint(address to, string memory uri) public onlyOwner {
        uint256 tokenId = _nextTokenId++;
        _safeMint(to, tokenId);
        _setTokenURI(tokenId, uri);
    }

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

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

### Metadata Standards

#### ERC-721 Metadata

```json
{
  "name": "Asset Name",
  "description": "Asset description",
  "image": "ipfs://QmXxx.../image.png",
  "animation_url": "ipfs://QmXxx.../video.mp4",
  "external_url": "https://example.com/nft/1",
  "attributes": [
    { "trait_type": "Rarity", "value": "Legendary" },
    { "trait_type": "Power", "value": 95, "display_type": "number" }
  ]
}
```

### Storage Solutions

- IPFS (Pinata, Infura, NFT.Storage)
- Arweave (permanent storage)
- On-chain storage (expensive)
- Centralized (not recommended)

### Marketplace Integration

- OpenSea (Seaport protocol)
- Blur
- Rarible
- Magic Eden (Solana)
- Custom marketplace development

## Advanced Features

### Lazy Minting

Mint on purchase to save gas:

```solidity
function lazyMint(
    address to,
    uint256 tokenId,
    string memory uri,
    bytes memory signature
) external payable {
    require(verify(signature, to, tokenId, uri), "Invalid signature");
    _safeMint(to, tokenId);
    _setTokenURI(tokenId, uri);
}
```

### Reveal Mechanism

```solidity
string private _hiddenURI;
bool public revealed = false;

function tokenURI(uint256 tokenId) public view override returns (string memory) {
    if (!revealed) return _hiddenURI;
    return super.tokenURI(tokenId);
}

function reveal(string memory baseURI) external onlyOwner {
    revealed = true;
    _setBaseURI(baseURI);
}
```

### Royalties

- ERC-2981 standard
- Marketplace-specific implementations
- On-chain enforcement challenges

## Security Considerations

- Reentrancy protection
- Access control
- Metadata immutability
- Front-running prevention
- Signature replay protection

## Output Format

Provide:

- Secure, gas-optimized smart contracts
- Metadata structure recommendations
- Storage and IPFS guidance
- Marketplace integration steps
- Security best practices

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.