Arbitrum Skills: Completion Report 
Project 1: Arbitrum MCP Tools (Previous Completed Project: Completion Report)
Repository
npm Command
npx arbitrum-mcp-tools
Version
v1.x β v2.0.4
What It Does
Arbitrum MCP Tools is an MCP (Model Context Protocol) toolkit that enables AI assistants β Claude, Cursor, VS Code, Gemini, and others β to perform blockchain operations on Arbitrum using natural language.
Changes Made
1. Installation System Completely Rewritten (v2.0.0)
Previous State (v1.x)
- Separate setup scripts for each platform
setup-claude-server.js,setup-cursor-server.js,setup-windsurf-server.js,setup-gemini-server.js- Each script nearly identical
- Adding a new platform meant writing a new script from scratch
- Only 4 platforms supported
New State (v2.0.0+)
- All 4 legacy setup scripts deleted (~1,029 lines removed)
- Replaced with a single interactive CLI wizard (~2,020 lines of new code)
- One-command installation:
npx arbitrum-mcp-tools install - Automatic platform detection (finds which AI tools are installed on the system)
2. Supported Platforms Increased from 4 to 8
| # | Platform | Format | Status |
|---|---|---|---|
| 1 | Claude Desktop | JSON | Existed in v1, updated in v2 |
| 2 | Cursor | JSON | Existed in v1, updated in v2 |
| 3 | Windsurf | JSON | Existed in v1, updated in v2 |
| 4 | Gemini CLI | JSON | Existed in v1, updated in v2 |
| 5 | Claude Code | JSON | Added in v2.0.0 (NEW) |
| 6 | VS Code | JSON | Added in v2.0.0 (NEW) |
| 7 | OpenAI Codex | TOML | Added in v2.0.0 (NEW) |
| 8 | Antigravity | JSON | Added in v2.0.4 (NEW) |
3. New CLI Commands
npx arbitrum-mcp-tools install # Interactive installation wizard
npx arbitrum-mcp-tools uninstall # Interactive uninstall wizard
npx arbitrum-mcp-tools list # Display platform status
npx arbitrum-mcp-tools serve # Start the MCP server
npx arbitrum-mcp-tools --help # Help
npx arbitrum-mcp-tools --version # Version
4. Config Structure Changed β npx-Based Execution
Before (v1.x) β used absolute paths:
{
"command": "node",
"args": ["/Users/username/path/to/index.js"]
}
- Absolute paths were machine-specific and not portable
- Required the user to clone the repo and build locally
After (v2.0+) β runs directly from npm via npx:
{
"command": "npx",
"args": ["-y", "arbitrum-mcp-tools", "serve"]
}
- No local installation required
- Cross-platform compatible (macOS, Windows, Linux)
- Automatically fetches the latest version on every restart
5. Environment Variable Management Made Secure
Before (v1.x): API keys were embedded directly in config files (${ALCHEMY_API_KEY} syntax) β creating a security risk.
After (v2.0+):
- Environment variables are no longer written to config files β read from
process.envat runtime - Users set them in their shell profile (
~/.zshrcor~/.bashrc) - Special
env_varsforwarding support for Codex (which sandboxes its shell environment)
6. Server Code Refactored (v2.0.1)
src/index.ts was split into two files:
src/index.tsβ Entry point (only starts the server)src/server.tsβ MCP server setup and Alchemy configuration
This allows the CLI and server to operate independently.
7. TOML Config Support Added (for Codex)
OpenAI Codex uses TOML instead of JSON for configuration. As a result:
- Added
@iarna/tomllibrary for TOML read/write support - Added
env_varssupport for Codexβs sandbox environment
[mcp_servers.arbitrum]
command = "npx"
args = ["-y", "arbitrum-mcp-tools", "serve"]
enabled = true
env_vars = ["ALCHEMY_API_KEY", "ARBISCAN_API_KEY", "STYLUS_PRIVATE_KEY"]
8. New Modular CLI Architecture Built from Scratch
A fully modular CLI architecture was designed:
src/cli/
βββ index.ts # CLI entry point and command routing
βββ commands/
β βββ install.ts # Interactive installation wizard
β βββ uninstall.ts # Interactive uninstall wizard
β βββ list.ts # Platform status list
β βββ serve.ts # MCP server startup
βββ clients/
β βββ base.ts # Platform config operations (read/write/delete)
β βββ registry.ts # 8 platform definitions and config paths
β βββ generators/
β βββ json.ts # JSON config read/write
β βββ toml.ts # TOML config read/write
βββ utils/
βββ platform.ts # OS detection (macOS/Windows/Linux)
βββ paths.ts # Cross-platform path resolution
βββ ui.ts # Terminal UI (colored output with boxen and chalk)
9. Automatic Platform Detection
The CLI automatically detects which AI tools are installed on the system:
| Platform | Detection Method |
|---|---|
| Claude Desktop | /Applications/Claude.app or config file exists |
| Claude Code | ~/.claude.json or ~/.claude/settings.json exists |
| Cursor | /Applications/Cursor.app or ~/.cursor/ exists |
| Windsurf | ~/.codeium/windsurf/ exists |
| VS Code | /Applications/Visual Studio Code.app or ~/.vscode/ exists |
| Gemini CLI | ~/.gemini/ exists |
| Antigravity | ~/.gemini/antigravity/ exists |
| OpenAI Codex | ~/.codex/ exists |
10. Global and Local Installation Scopes
- Global installation:
~/.claude.json,~/.cursor/mcp.json, etc. β available across all projects - Local installation:
.claude/mcp.json,.cursor/mcp.json, etc. β scoped to the current project only
11. Full MCP Tool Suite (31 Tools, 7 Categories)
All tools can be invoked using natural language. Example: βWhatβs the ETH balance of 0x123β¦?β
Account Analysis β 6 Tools
getAccountBalanceβ Query native ETH balancegetTokenBalancesβ ERC-20 token balancesgetNftsβ NFT listing (filtering, pagination, ordering)getTransactionHistoryβ Transaction historygetNftMetadataβ NFT metadata informationgetAccountProtocolsβ Most-interacted protocols
Chain Data β 6 Tools
getBlockNumberβ Latest block numbergetBlockβ Block detailsgetTransactionβ Transaction detailsgetTransactionReceiptβ Transaction receiptgetGasParametersβ Detailed gas metricsgetGasPriceβ Current gas price
Contract Interaction β 4 Tools
getContractCodeβ Contract bytecodedecodeTransactionCalldataβ Decode transaction input datagetContractEventsβ Query contract eventsgetTokenAllowanceβ ERC-20 token allowance
Cross-Chain β 1 Tool
getTransactionLogsβ Decode L1/L2 transaction logs
Development β 2 Tools
simulateTransactionβ Transaction simulationestimateGasβ Gas estimation
Batch Operations β 2 Tools
getBatchBalancesβ Multi-address balance querymultiAddressAnalysisβ Multi-address comparison
Stylus Development β 12 Tools
createStylusProjectβ Create a new Stylus projectinitStylusProjectβ Initialize Stylus in current directoryexportStylusAbiβ Export ABIcheckStylusContractβ Pre-deployment validationdeployStylusContractβ Deploy a contractdeployMultipleStylusContractsβ Deploy multiple contractsverifyStylusContractβ Verify deploymentactivateStylusContractβ Activate a contractcacheStylusContractβ Cache via CacheManagergenerateStylusBindingsβ Generate C code bindingsreplayStylusTransactionβ Replay in GDB debuggertraceStylusTransactionβ Trace a transaction
12. New Dependencies Added
| Package | Purpose |
|---|---|
@inquirer/prompts |
Interactive terminal prompts (platform selection, etc.) |
@iarna/toml |
TOML format read/write (Codex support) |
chalk |
Terminal color output |
boxen |
Terminal boxes (info and success messages) |
Project 2: Arbitrum Skills - Arbitrum Skill Generator (Current Project)
Repository
Purpose
Automatically generate skill packages for LLM Code
Actual Skill collection generated by skill generator
What It Does
Processes official Arbitrum documentation, smart contract source code, and MCP tools documentation to produce a structured βskill packageβ that enables Claude Code to provide context-aware answers about the Arbitrum ecosystem.
Changes Made - Deliverables
1. Skill Generator Built from Scratch
A TypeScript CLI tool that automatically processes 3 independent data sources:
Arbitrum Documentation
Official docs cloned from GitHub (Markdown/MDX)
Smart Contract Repos
Source code from 3 repositories:
- OpenZeppelin Rust Contracts (ERC20, ERC721, ERC1155, access control)
- Stylus SDK for Rust (core SDK, storage, ABI encoding)
- Nitro Contracts / Solidity (bridge, rollup, BoLD protocol)
MCP Tools Documentation
Tool docs fetched from GitBook
2. Advanced Documentation Processing
- YAML frontmatter parsing
- MDX/JSX syntax cleanup (removes imports, exports, JSX tags)
- AsciiDoc to Markdown conversion
- Smart title extraction (frontmatter β H1 heading β filename fallback)
- Minimum content threshold filtering (50 chars for docs, 10 chars for code)
3. Intelligent Filtering System
Test, mock, and boilerplate files are automatically filtered out:
- Test/mock directories are skipped
Cargo.tomlstub files are filteredmod.rsfiles containing only re-exports are skipped- Build directories (target, node_modules, cache, artifacts) are ignored
4. Generated Output Structure
output/arbitrum-skills/
βββ SKILL.md # Main skill file (decision table, search guide)
βββ NAV-docs.md # Complete hierarchical documentation index
βββ NAV-smart-contracts.md # Contract repos overview
βββ NAV-{repo}.md # Per-repo navigation file
βββ stylus/ # Category folders
βββ sdk/
βββ run-arbitrum-node/
βββ build-decentralized-apps/
βββ ...
βββ smart-contracts/ # Organized source code files
5. CLI Options
npm run generate # Full pipeline
npm run generate -- ./local-docs # Local docs path
npm run generate -- --ignore-contracts # Skip contracts
npm run generate -- --ignore-mcp # Skip MCP docs
npm run generate -- -o ./out -n my-skill # Custom output directory and name
6. Output Formatting and CLI Visuals Improved
- Colored terminal output added with
chalk - Progress bar and duration tracking
- Category descriptions improved
- README updated
7. Skill Installation
The generated skill package can be installed into Claude Code in multiple ways:
Option 1 β Via skills.sh (Recommended)
Usage Metrics: Arbitrum Skills has been downloaded at a weekly average of 15β35 since the day it was first published (Feb 22, 2026), according to skills.sh (https://skills.sh/utkucy/arbitrum-skills/arbitrum-skills) data.
The skill is published at skills.sh/utkucy/arbitrum-skills/arbitrum-skills and can be installed with a single command:
npx skills add utkucy/arbitrum-skills
Option 2 β Manual copy from local output
# Global (all projects)
cp -r output/arbitrum-skills ~/.claude/skills/
# Project-specific
cp -r output/arbitrum-skills .claude/skills/
Claude Code automatically detects SKILL.md and activates the skill.
Project 3: Arbitrum AI Hub Documentation
GitBook
arbitrum-ai-hub.gitbook.io/docs
Purpose
Central documentation hub for both Arbitrum AI Hub projects. This may be out of the current grant scope, but I wanted to share that both of my projects are served under Overview | Arbitrum AI Hub Documents
What It Does
Arbitrum AI Hub is the central documentation hub that covers both the Arbitrum MCP Tools and Arbitrum Skills projects in a single place, making it easier for developers to discover and use both tools together.
Changes Made
1. Documentation Rebranded and Expanded
Previous State
- GitBook documentation existed only for the Arbitrum MCP Tools project
- Covered only MCP tool usage, configuration, and tool reference
New State
- Documentation expanded and rebranded as Arbitrum AI Hub
- Now serves as the central documentation hub for both projects:
- Arbitrum MCP Tools β setup, platform configuration, full tool reference
- Arbitrum Skills β skill generator usage, skill package installation, Claude Code integration
- New name and URL: arbitrum-ai-hub.gitbook.io/docs
How Both Projects Work Together
βββββββββββββββββββββββββββββββ
β Arbitrum MCP Tools (npm) βββββ AI assistants can perform
β 31 tools, 8 platforms β blockchain operations
ββββββββββββββββ¬βββββββββββββββ
β
β MCP tools docs are fed
β into the skill generator
βΌ
βββββββββββββββββββββββββββββββ
β Arbitrum Skill Generator βββββ Claude Code - LLMs becomes an
β Docs + Contracts + MCP β Arbitrum expert
ββββββββββββββββ¬βββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β Claude Code Skill Package βββββ SKILL.md + NAV files
β output/arbitrum-skills/ β + categorized docs
βββββββββββββββββββββββββββββββ