بنقرة واحدة
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