Agent skill

Evm Token Decimals

by affaan-m in affaan-m/ECC

EVMチェーン全体でサイレントな小数点不一致バグを防ぐ。ランタイムでの小数点照会、チェーン対応キャッシング、ブリッジドトークンの精度ドリフト、ボット・ダッシュボード・DeFiツール向けの安全な正規化をカバーします。

MITAuto-check passedBackend & APIs

Install Evm Token Decimals

skills CLI
$ npx skills add affaan-m/ECC --skill evm-token-decimals -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install affaan-m/ECC evm-token-decimals --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/ja-JP/skills/evm-token-decimals .claude/skills/evm-token-decimals && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
evm-token-decimals
GitHub stars
276k
Token cost
~814 tokens
SKILL.md length
26 words
Files
1
Skills in repo
683
Repo updated
First seen
Licence
MIT

At a glance

EVMチェーン全体でサイレントな小数点不一致バグを防ぐ。ランタイムでの小数点照会、チェーン対応キャッシング、ブリッジドトークンの精度ドリフト、ボット・ダッシュボード・DeFiツール向けの安全な正規化をカバーします。

  • Tasks that involve Smart contracts
  • SKILL.md covers 使用するタイミング, 仕組み, 使用例 and ルール
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Evm Token Decimals is an agent skill from affaan-m/ECC. EVMチェーン全体でサイレントな小数点不一致バグを防ぐ。ランタイムでの小数点照会、チェーン対応キャッシング、ブリッジドトークンの精度ドリフト、ボット・ダッシュボード・DeFiツール向けの安全な正規化をカバーします。

Its SKILL.md is about 810 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Smart contracts. The repository describes itself as: The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond. The licence is MIT.

When your agent uses it

  • Tasks that involve Smart contracts

Example prompts

  • “/evm-token-decimals”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 4eb71d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python, solidity, typescript and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Evm Token Decimals loads about 814 tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 26 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~32
When it runs · the whole SKILL.md, loaded when a task matches
~814

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from affaan-m/ECC at commit 4eb71d9, republished under its MIT licence (© affaan-m). 26 words, ~814 tokens.

Download SKILL.mdSave it as .claude/skills/evm-token-decimals/SKILL.md (or your agent's skills folder).
name
evm-token-decimals
description
EVMチェーン全体でサイレントな小数点不一致バグを防ぐ。ランタイムでの小数点照会、チェーン対応キャッシング、ブリッジドトークンの精度ドリフト、ボット・ダッシュボード・DeFiツール向けの安全な正規化をカバーします。
origin
ECC direct-port adaptation
version
1.0.0

EVMトークン小数点

サイレントな小数点不一致は、エラーを発生させることなく残高やUSD値が桁違いになる最も簡単な方法のひとつです。

使用するタイミング

  • Python、TypeScript、またはSolidityでERC-20残高を読み取る場合
  • オンチェーン残高から法定通貨の値を計算する場合
  • 複数のEVMチェーン間でトークン量を比較する場合
  • ブリッジされた資産を扱う場合
  • ポートフォリオトラッカー、ボット、またはアグリゲーターを構築する場合

仕組み

ステーブルコインが同じ小数点を使用していると仮定しないでください。ランタイムでdecimals()を照会し、(chain_id, token_address)でキャッシュし、値の計算には小数点安全な数学を使用します。

使用例

ランタイムで小数点を照会する
python
from decimal import Decimal
from web3 import Web3

ERC20_ABI = [
    {"name": "decimals", "type": "function", "inputs": [],
     "outputs": [{"type": "uint8"}], "stateMutability": "view"},
    {"name": "balanceOf", "type": "function",
     "inputs": [{"name": "account", "type": "address"}],
     "outputs": [{"type": "uint256"}], "stateMutability": "view"},
]

def get_token_balance(w3: Web3, token_address: str, wallet: str) -> Decimal:
    contract = w3.eth.contract(
        address=Web3.to_checksum_address(token_address),
        abi=ERC20_ABI,
    )
    decimals = contract.functions.decimals().call()
    raw = contract.functions.balanceOf(Web3.to_checksum_address(wallet)).call()
    return Decimal(raw) / Decimal(10 ** decimals)

シンボルが他の場所で通常6小数点を持つからといって1_000_000をハードコードしないでください。

チェーンとトークンでキャッシュする
python
from functools import lru_cache

@lru_cache(maxsize=512)
def get_decimals(chain_id: int, token_address: str) -> int:
    w3 = get_web3_for_chain(chain_id)
    contract = w3.eth.contract(
        address=Web3.to_checksum_address(token_address),
        abi=ERC20_ABI,
    )
    return contract.functions.decimals().call()
特殊なトークンを防御的に処理する
python
try:
    decimals = contract.functions.decimals().call()
except Exception:
    logging.warning(
        "decimals() reverted on %s (chain %s), defaulting to 18",
        token_address,
        chain_id,
    )
    decimals = 18

フォールバックをログに記録して可視化しておく。古いまたは非標準トークンはまだ存在します。

SolidityでWAD(18小数点)に正規化する
solidity
interface IERC20Metadata {
    function decimals() external view returns (uint8);
}

function normalizeToWad(address token, uint256 amount) internal view returns (uint256) {
    uint8 d = IERC20Metadata(token).decimals();
    if (d == 18) return amount;
    if (d < 18) return amount * 10 ** (18 - d);
    return amount / 10 ** (d - 18);
}
ethersを使ったTypeScript
typescript
import { Contract, formatUnits } from 'ethers';

const ERC20_ABI = [
  'function decimals() view returns (uint8)',
  'function balanceOf(address) view returns (uint256)',
];

async function getBalance(provider: any, tokenAddress: string, wallet: string): Promise<string> {
  const token = new Contract(tokenAddress, ERC20_ABI, provider);
  const [decimals, raw] = await Promise.all([
    token.decimals(),
    token.balanceOf(wallet),
  ]);
  return formatUnits(raw, decimals);
}
クイックなオンチェーン確認
bash
cast call <token_address> "decimals()(uint8)" --rpc-url <rpc>

ルール

  • 常にランタイムでdecimals()を照会する
  • シンボルではなく、チェーンとトークンアドレスでキャッシュする
  • floatではなくDecimal、BigInt、または同等の正確な数学を使用する
  • ブリッジングやラッパーの変更後は小数点を再照会する
  • 比較や価格計算の前に内部会計を一貫して正規化する

© affaan-m, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in docs/ja-JP/skills/evm-token-decimals of affaan-m/ECC.

Open the folder on GitHubat commit 4eb71d9

Compare with similar skills

Evm Token Decimals next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Evm Token Decimals compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Evm Token Decimals this skillaffaan-m/ECC276k—~814Automated safety check: PassMIT
Verifyalsk1992/CloddsBot3k—~1.2kAutomated safety check: PassMIT
Okx Dex MarketLeoYeAI/openclaw-master-skills2.2k—~5.9kAutomated safety check: NotesMIT
UrizenBankrBot/skills1.2k—~1.7kAutomated safety check: PassNone
Solana Token Extensionssolanabr/ai-kit109—~3.5kAutomated safety check: PassMIT
Deposit QrSuperior-Trade/superior-skills215—~1.1kAutomated safety check: PassMIT

Similar skills

  • Verify

    alsk1992/CloddsBot

    Verify agent identity using ERC-8004 on-chain registry. An agent skill from alsk1992/CloddsBot.

    3k GitHub stars~1.2k tokensUpdated 8 days ago
    Backend & APIsAuto-check passed
  • Okx Dex Market

    LeoYeAI/openclaw-master-skills

    A skill your agent uses for on-chain market data: token prices/价格, K-line/OHLC charts, index prices, and wallet PnL/盈亏分析 (win rate, my DEX trade history, realized/unrealized PnL per token).

    2.2k GitHub stars~5.9k tokensUpdated 2 mo ago
    Backend & APIsAuto-check: notes
  • Urizen

    BankrBot/skills

    Urizen — an AI equity-research desk + the first autonomous fund on Robinhood Chain (4663), as an agent skill.

    1.2k GitHub stars~1.7k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Helps choose, combine and create Token-2022 mint and account extensions on Solana with the spl-token CLI, @solana/kit or Anchor, and integrate the resulting mints.

    109 GitHub stars~3.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Deposit Qr

    Superior-Trade/superior-skills

    A skill your agent uses when a user needs a QR code or wallet payment URI to fund a Superior-managed EVM wallet on a specific chain before using Lighter, Polymarket, Hyperliquid, or other Superior…

    215 GitHub stars~1.1k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Add Network

    OriginProtocol/origin-dollar

    Checklist for adding a new EVM network (mainnet or testnet) to the origin-dollar repo.

    153 GitHub stars~2.8k tokensUpdated yesterday
    Backend & APIsAuto-check: notes

More from affaan-m/ECC

All 682 skills in this repo
  • Skill Stocktake

    affaan-m/ECC

    Audits your installed Claude skills and commands for quality, with a quick mode for recently changed skills and a full mode that evaluates all of them through subagents.

    277k GitHub starsUsed in 5 repos~3.1k tokens
    Auto-check passed
  • Ingests, indexes, searches, edits and monitors video, audio and live streams through the VideoDB Python SDK, returning stream links, clips and timestamps.

    277k GitHub starsUsed in 3 repos~3.5k tokens
    Auto-check: notes
  • Docs Governance

    affaan-m/ECC

    Route broad documentation-governance requests to existing ECC skills and run an opt-in, read-only audit of mapped documentation roles, links, ADR indexes, and evidence references.

    277k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Rules Distillation

    affaan-m/ECC

    Scans installed skills for principles that recur across them and proposes rule-file changes: append, revise, add a section, create a file or leave as covered.

    277k GitHub starsUsed in 2 repos~2.3k tokens
    Auto-check passed
  • Builds DRAFT counterparty agreements from one markdown template and a small JSON spec per party, with clauses picked by the party's role.

    277k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Set an ECC-specific frontend design direction for production UI work.

    277k GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed

Questions about Evm Token Decimals

What does Evm Token Decimals do?

EVMチェーン全体でサイレントな小数点不一致バグを防ぐ。ランタイムでの小数点照会、チェーン対応キャッシング、ブリッジドトークンの精度ドリフト、ボット・ダッシュボード・DeFiツール向けの安全な正規化をカバーします。. Evm Token Decimals is an agent skill from affaan-m/ECC.

When should I use Evm Token Decimals?

Evm Token Decimals fits situations like: tasks that involve Smart contracts.

How do I install Evm Token Decimals in Claude Code?

Run `npx skills add affaan-m/ECC --skill evm-token-decimals -a claude-code`. Or copy the skill folder (docs/ja-JP/skills/evm-token-decimals in affaan-m/ECC) into .claude/skills/evm-token-decimals in your project. Claude Code loads it when a task matches its description.

How do I install Evm Token Decimals in Codex?

Run `npx skills add affaan-m/ECC --skill evm-token-decimals -a codex`. Or copy the skill folder (docs/ja-JP/skills/evm-token-decimals in affaan-m/ECC) into .agents/skills/evm-token-decimals in your project. Codex loads it when a task matches its description.

Can I use Evm Token Decimals in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add affaan-m/ECC --skill evm-token-decimals -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/evm-token-decimals, .gemini/skills/evm-token-decimals, .github/skills/evm-token-decimals and .opencode/skills/evm-token-decimals in your project.

What does Evm Token Decimals need to run?

SKILL.md names no scripts, command-line tools or credentials: Evm Token Decimals is instructions for the agent only. Our summary lists: Python 3.

Does Evm Token Decimals access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Evm Token Decimals safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Evm Token Decimals use?

Evm Token Decimals is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Evm Token Decimals use?

About 814 tokens (SKILL.md is roughly 3.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Evm Token Decimals?

Skills that share tags, products or a category with Evm Token Decimals: Verify (alsk1992/CloddsBot, 3k stars), Okx Dex Market (LeoYeAI/openclaw-master-skills, 2.2k stars), Urizen (BankrBot/skills, 1.2k stars) and Solana Token Extensions (solanabr/ai-kit, 109 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Evm Token Decimals?

affaan-m (a GitHub user) maintains it in affaan-m/ECC, which has 276,111 GitHub stars. The repository holds 683 skills in this directory. The repository was last updated on October 10, 2026.

Source: affaan-m/ECC on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.