Wagmi Feature Development
wevm/wagmi
Walks through adding a Wagmi feature across its layers: a Viem-based core action, TanStack Query options, and React and Vue bindings.
A skill your agent uses when interacting with Ethereum contracts and data from the command line using Foundry's cast.
$ npx skills add ccashwell/evm-cortex --skill cast-commands -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ccashwell/evm-cortex cast-commands --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ccashwell/evm-cortex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cast-commands .claude/skills/cast-commands && rm -rf skills-srcUse ~/.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/
Install the "cast-commands" agent skill from https://github.com/ccashwell/evm-cortex/tree/main/skills/cast-commands into .claude/skills/cast-commands/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cast-commands", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ccashwell/evm-cortex/tree/main/skills/cast-commandsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ccashwell/evm-cortex --skill cast-commands -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ccashwell/evm-cortex cast-commands --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ccashwell/evm-cortex.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cast-commands .agents/skills/cast-commands && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cast-commands" agent skill from https://github.com/ccashwell/evm-cortex/tree/main/skills/cast-commands into .agents/skills/cast-commands/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cast-commands", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ccashwell/evm-cortex --skill cast-commands -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ccashwell/evm-cortex cast-commands --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ccashwell/evm-cortex.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cast-commands .cursor/skills/cast-commands && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cast-commands" agent skill from https://github.com/ccashwell/evm-cortex/tree/main/skills/cast-commands into .cursor/skills/cast-commands/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cast-commands", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ccashwell/evm-cortex.git --path skills/cast-commands--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ccashwell/evm-cortex --skill cast-commands -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ccashwell/evm-cortex cast-commands --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ccashwell/evm-cortex.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cast-commands .gemini/skills/cast-commands && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cast-commands" agent skill from https://github.com/ccashwell/evm-cortex/tree/main/skills/cast-commands into .gemini/skills/cast-commands/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cast-commands", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ccashwell/evm-cortex cast-commandsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ccashwell/evm-cortex --skill cast-commands -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ccashwell/evm-cortex.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cast-commands .github/skills/cast-commands && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cast-commands" agent skill from https://github.com/ccashwell/evm-cortex/tree/main/skills/cast-commands into .github/skills/cast-commands/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cast-commands", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ccashwell/evm-cortex --skill cast-commands -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ccashwell/evm-cortex cast-commands --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ccashwell/evm-cortex.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cast-commands .opencode/skills/cast-commands && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cast-commands" agent skill from https://github.com/ccashwell/evm-cortex/tree/main/skills/cast-commands into .opencode/skills/cast-commands/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cast-commands", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cast-commandsA skill your agent uses when interacting with Ethereum contracts and data from the command line using Foundry's cast.
Cast Commands is an agent skill from ccashwell/evm-cortex. Use when interacting with Ethereum contracts and data from the command line using Foundry's cast. Covers read/write calls, storage inspection, ABI encoding/decoding, block queries, and common one-liners.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Ethereum. The repository describes itself as: Ethereum protocol engineering squad for AI coding assistants. The licence is MIT.
Read from SKILL.md and the folder at commit f8f3301. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
PRIVATE_KEYETHERSCAN_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cast Commands loads about 1.5k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 96 words of instructions outside code blocks.
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.
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.
The full file from ccashwell/evm-cortex at commit f8f3301, republished under its MIT licence (© ccashwell). 96 words, ~1,495 tokens.
.claude/skills/cast-commands/SKILL.md (or your agent's skills folder).cast is Foundry's command-line tool for interacting with EVM chains. Read state, send transactions, decode data, and inspect contracts without writing scripts.
# Read a view function
cast call 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 \
"balanceOf(address)(uint256)" 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 \
--rpc-url $ETH_RPC_URL
# Read with named outputs
cast call 0xUniswapV3Pool "slot0()(uint160,int24,uint16,uint16,uint16,uint8,bool)" \
--rpc-url $ETH_RPC_URL
# Call at a specific block
cast call 0xContract "totalSupply()(uint256)" --block 18000000 --rpc-url $ETH_RPC_URL
# Call to another address (simulated msg.sender)
cast call --from 0xWhale 0xContract "balanceOf(address)(uint256)" 0xWhale# Send a transaction
cast send 0xToken "transfer(address,uint256)" 0xRecipient 1000000 \
--private-key $PRIVATE_KEY --rpc-url $ETH_RPC_URL
# Approve spending
cast send 0xToken "approve(address,uint256)" 0xSpender $(cast max-uint) \
--private-key $PRIVATE_KEY --rpc-url $ETH_RPC_URL
# Send with value (ETH)
cast send 0xContract "deposit()" --value 1ether \
--private-key $PRIVATE_KEY --rpc-url $ETH_RPC_URL
# Send with gas settings
cast send 0xContract "doStuff()" \
--gas-limit 500000 --gas-price 30gwei \
--private-key $PRIVATE_KEY --rpc-url $ETH_RPC_URL# Read raw storage slot
cast storage 0xContract 0 --rpc-url $ETH_RPC_URL
# Read specific slot (e.g., ERC-1967 implementation slot)
cast storage 0xProxy \
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc \
--rpc-url $ETH_RPC_URL
# Read mapping value: slot = keccak256(key . mappingSlot)
# For mapping at slot 2, key = 0xAddress:
cast index address 0xAddress 2
# Then read that computed slot
cast storage 0xContract $(cast index address 0xAddress 2)# Encode function calldata
cast calldata "transfer(address,uint256)" 0xRecipient 1000000
# Decode calldata
cast 4byte-decode 0xa9059cbb000000000000000000000000...
# Encode constructor arguments
cast abi-encode "constructor(string,string,uint256)" "MyToken" "MTK" 1000000
# Decode ABI-encoded data
cast abi-decode "balanceOf(address)(uint256)" 0x00000000000000000000000000000000000000000000000000000000000f4240
# Get function selector (first 4 bytes of keccak256)
cast sig "transfer(address,uint256)"
# Output: 0xa9059cbb
# Reverse lookup selector
cast 4byte 0xa9059cbb# Current block number
cast block-number --rpc-url $ETH_RPC_URL
# Block details
cast block latest --rpc-url $ETH_RPC_URL
cast block 18000000 --rpc-url $ETH_RPC_URL
# Base fee
cast base-fee --rpc-url $ETH_RPC_URL
# Gas price
cast gas-price --rpc-url $ETH_RPC_URL
# Chain ID
cast chain-id --rpc-url $ETH_RPC_URL
# Client version
cast client --rpc-url $ETH_RPC_URL# Get contract bytecode
cast code 0xContract --rpc-url $ETH_RPC_URL
# Get contract bytecode size
cast code 0xContract --rpc-url $ETH_RPC_URL | wc -c
# Generate interface from Etherscan
cast interface 0xContract --etherscan-api-key $ETHERSCAN_API_KEY
# Download verified source from Etherscan
cast etherscan-source 0xContract --etherscan-api-key $ETHERSCAN_API_KEY -d ./source# ETH balance
cast balance 0xAddress --rpc-url $ETH_RPC_URL
cast balance 0xAddress --rpc-url $ETH_RPC_URL --ether # human-readable
# Nonce
cast nonce 0xAddress --rpc-url $ETH_RPC_URL
# Resolve ENS
cast resolve-name vitalik.eth --rpc-url $ETH_RPC_URL
cast lookup-address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --rpc-url $ETH_RPC_URL# Get transaction details
cast tx 0xTxHash --rpc-url $ETH_RPC_URL
# Get transaction receipt
cast receipt 0xTxHash --rpc-url $ETH_RPC_URL
# Decode transaction input
cast 4byte-decode $(cast tx 0xTxHash input --rpc-url $ETH_RPC_URL)
# Trace a transaction (requires archive node)
cast run 0xTxHash --rpc-url $ETH_RPC_URL# Wei to ether
cast from-wei 1000000000000000000
# Output: 1.000000000000000000
# Ether to wei
cast to-wei 1.5
# Output: 1500000000000000000
# Hex to decimal
cast to-dec 0xff
# Output: 255
# Decimal to hex
cast to-hex 255
# Output: 0xff
# Keccak256 hash
cast keccak "Transfer(address,address,uint256)"
# Max uint256
cast max-uint
# Output: 115792089237316195423570985008687907853269984665640564039457584007913129639935# Check if address is a contract
cast code 0xAddress --rpc-url $ETH_RPC_URL | grep -q "^0x$" && echo "EOA" || echo "Contract"
# Get USDC balance (6 decimals)
cast call 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 \
"balanceOf(address)(uint256)" 0xAddress --rpc-url $ETH_RPC_URL | \
xargs -I{} cast from-wei {} 6
# Read ERC-1967 proxy implementation
cast storage 0xProxy \
0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc \
--rpc-url $ETH_RPC_URL
# Simulate a swap (static call)
cast call 0xRouter \
"getAmountsOut(uint256,address[])(uint256[])" \
1000000000000000000 "[0xWETH,0xUSDC]" \
--rpc-url $ETH_RPC_URL
# Estimate gas for a transaction
cast estimate 0xContract "doStuff(uint256)" 42 --rpc-url $ETH_RPC_URL
# Watch for new blocks
cast block-number --rpc-url $ETH_RPC_URL --watchETH_RPC_URL environment variable to avoid --rpc-url on every command--json flag for machine-readable outputcast wallet subcommands for key managementcast completions bash/zsh/fish generates shell completions© ccashwell, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/cast-commands of ccashwell/evm-cortex.
Open the folder on GitHubat commit f8f3301
Cast Commands 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cast Commands this skillccashwell/evm-cortex | 131 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Wagmi Feature Developmentwevm/wagmi | 6.8k | — | ~3.8k | Automated safety check: Pass | MIT | |
| Release Roundethereumjs/ethereumjs-monorepo | 2.8k | — | ~2k | Automated safety check: Pass | None | |
| Update Est Fixturesethereumjs/ethereumjs-monorepo | 2.8k | — | ~3.3k | Automated safety check: Pass | None | |
| Swapper Depositswapperfinance/swapper-toolkit | 852 | — | ~1.8k | Automated safety check: Pass | MIT | |
| BNB Chain MCP Serverinternet-court/internet-court-skill | 6.5k | 1 repos | ~1.7k | Automated safety check: Pass | MIT |
wevm/wagmi
Walks through adding a Wagmi feature across its layers: a Viem-based core action, TanStack Query options, and React and Vue bindings.
ethereumjs/ethereumjs-monorepo
Runs a coordinated EthereumJS npm release round in six human-gated phases — intent and readiness, CHANGELOG, version bump, publish (human executes), post-publish verification, and announcements.
ethereumjs/ethereumjs-monorepo
Updates EthereumJS execution-spec test fixtures from an ethereum/execution-specs release, then (after a human merge) points the monorepo submodule, updates VM npm scripts, reports a first test run…
swapperfinance/swapper-toolkit
Deposit and bridge funds into a wallet or protocol using Swapper Finance.
internet-court/internet-court-skill
Connects an agent to the BNB Chain MCP server to read blocks and contracts, move tokens and NFTs, register ERC-8004 agents and use Greenfield storage.
Minara-AI/minara-skills
Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.
ccashwell/evm-cortex
A skill your agent uses when preparing for a security audit, performing reconnaissance on a new codebase, or creating a protocol overview.
ccashwell/evm-cortex
A skill your agent uses when integrating with Aave V3 for lending, borrowing, flash loans, or building on top of Aave markets.
ccashwell/evm-cortex
Access control design patterns for Solidity protocols. An agent skill from ccashwell/evm-cortex.
ccashwell/evm-cortex
A skill your agent uses when running a local Ethereum node with Anvil.
ccashwell/evm-cortex
A skill your agent uses when performing systematic breadth-first review of all contracts during a security audit.
ccashwell/evm-cortex
A skill your agent uses when performing deep analysis of specific findings or high-risk areas during a security audit.
Works with
A skill your agent uses when interacting with Ethereum contracts and data from the command line using Foundry's cast. Cast Commands is an agent skill from ccashwell/evm-cortex. Use when interacting with Ethereum contracts and data from the command line using Foundry's cast.
Cast Commands fits situations like: interacting with Ethereum contracts and data from the command line using Foundrys cast.
Run `npx skills add ccashwell/evm-cortex --skill cast-commands -a claude-code`. Or copy the skill folder (skills/cast-commands in ccashwell/evm-cortex) into .claude/skills/cast-commands in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ccashwell/evm-cortex --skill cast-commands -a codex`. Or copy the skill folder (skills/cast-commands in ccashwell/evm-cortex) into .agents/skills/cast-commands in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ccashwell/evm-cortex --skill cast-commands -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cast-commands, .gemini/skills/cast-commands, .github/skills/cast-commands and .opencode/skills/cast-commands in your project.
Going by SKILL.md and its folder, Cast Commands needs credentials named PRIVATE_KEY and ETHERSCAN_API_KEY. Our summary lists: A credential in PRIVATE_KEY; A credential in ETHERSCAN_API_KEY.
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.
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.
Cast Commands is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cast Commands: Wagmi Feature Development (wevm/wagmi, 6.8k stars), Release Round (ethereumjs/ethereumjs-monorepo, 2.8k stars), Update Est Fixtures (ethereumjs/ethereumjs-monorepo, 2.8k stars) and Swapper Deposit (swapperfinance/swapper-toolkit, 852 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ccashwell (a GitHub user) maintains it in ccashwell/evm-cortex, which has 131 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on September 30, 2026.
Source: ccashwell/evm-cortex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.