원클릭으로
create-token-assets
create token icon assets and open a PR to the tokenAssets repo
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
create token icon assets and open a PR to the tokenAssets repo
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | create-token-assets |
| description | create token icon assets and open a PR to the tokenAssets repo |
Use this skill when:
librsvg2-bin / librsvg) for SVG-to-PNG conversiontokens/{chainId}/{address}/logo.svg, logo-32.png, logo-128.png| Chain ID | Name |
|---|---|
| 1 | Ethereum |
| 10 | Optimism |
| 100 | Gnosis Chain |
| 137 | Polygon |
| 146 | Sonic |
| 250 | Fantom |
| 8453 | Base |
| 42161 | Arbitrum |
| 80094 | Berachain |
| 747474 | Katana |
Run which rsvg-convert. If not found, use AskUserQuestion to ask:
rsvg-convert is not installed. It's needed to generate PNG files from SVG. Install it now?
If yes, install:
sudo apt-get install -y librsvg2-binbrew install librsvgIf no, stop and explain it's required.
Use AskUserQuestion to collect:
Question 1 — Chain and address:
Which chain and token address? (e.g. "1 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48")
Parse the response into chainId and address. Validate:
chainId is a number from the supported chains tableaddress matches 0x[a-fA-F0-9]{40}Question 2 — SVG source:
Where is the SVG icon? Provide a file path, URL, or a directory to search.
Handle the three cases:
~/icons/token.svg) — use it directlyhttp) — download with curl -sL../governance-apps) — use Glob with patterns like **/*.svg, **/*logo*, **/*icon* to find SVG candidates. If multiple matches, use AskUserQuestion to let the user pick.Fetch the ERC-20 name() using the public RPC for the chain:
curl -s -X POST <RPC_URL> \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"<ADDRESS>","data":"0x06fdde03"},"latest"],"id":1}'
The response result is ABI-encoded. Decode:
0x prefixIf the RPC call fails, use AskUserQuestion to ask the user for the token name.
Check if tokens/{chainId}/{address_lowercase}/ already exists in this repo.
If it does, warn the user and ask whether to overwrite or abort.
Lowercase the address. Create the target directory:
mkdir -p tokens/{chainId}/{address}/
Copy (or download) the SVG into place:
cp <source.svg> tokens/{chainId}/{address}/logo.svg
Generate PNGs:
rsvg-convert -w 32 -h 32 tokens/{chainId}/{address}/logo.svg -o tokens/{chainId}/{address}/logo-32.png
rsvg-convert -w 128 -h 128 tokens/{chainId}/{address}/logo.svg -o tokens/{chainId}/{address}/logo-128.png
Ensure you're on a clean state off main:
git checkout main
git pull
Create a branch using the token name (sanitized to kebab-case, lowercase, alphanumeric + hyphens):
git checkout -b add-<token-name-kebab>-<chainId>
Stage and commit:
git add tokens/{chainId}/{address}/
git commit -m "Add <token name> icon on chain <chainId>"
Push and create PR using GitHub MCP tools:
git push -u origin <branch>mcp github create_pull_request with:
Add <token name> icon on chain <chainId>mainReport the PR URL to the user.
Switch back to main:
git checkout main