A complete toolkit for running and improving ARC-AGI-3 game attempts. Works with any coding agent.
This toolkit provides generic Python CLI tools for the ARC-AGI-3 interactive reasoning benchmark:
- 12 Python Scripts for game execution, discovery, and scorecard management
- 4 Skills for ARC-AGI-3 workflows and toolkit usage
- 11 Quick Commands for reference and guidance
- Environment management via
.envconfiguration
All components are agent-agnostic and work with OpenCode, Claude Code, Cursor, or any coding agent.
Installation differs by platform. Choose your agent:
Tell OpenCode:
Fetch and follow instructions from https://raw.githubusercontent.com/spoonbobo/arc-code-agent-setup/main/.opencode/INSTALL.md
Or run directly:
curl -sL https://raw.githubusercontent.com/spoonbobo/arc-code-agent-setup/main/install.sh | bashDetailed docs: .opencode/INSTALL.md
Add to your CLAUDE.md or tell Claude:
This project uses the ARC-AGI Toolkit. Use Python scripts from the scripts/ directory.
See AGENTS.md for ARC-AGI-3 guidance and skills/ for workflow skills.
Tell Cursor:
Use the ARC-AGI Toolkit in this project. Run Python scripts from scripts/ directory.
Check skills/arc-toolkit-usage/SKILL.md for comprehensive script reference.
Use the Python scripts directly from scripts/ directory. All scripts are standalone CLI tools.
# Install
curl -sL https://raw.githubusercontent.com/spoonbobo/arc-code-agent-setup/main/install.sh | bash
# Configure
cp .env.example .env
# Edit .env with your ARC_API_KEY
# Install dependencies
uv syncLocated in scripts/ - use with any agent:
Game Execution:
arc_play.py- Quick play a gamearc_play_with_recording.py- Play with full recordingarc_run_sweep.py- Multi-seed runs for analysis
Game Discovery:
arc_list_games.py- List available gamesarc_setup_check.py- Verify setuparc_inspect_game.py- Inspect game without playingarc_show_actions.py- Show available actions
Game Management:
arc_download_game.py- Download specific gamearc_download_all.py- Download all games
Scorecard Management:
arc_create_scorecard.py- Create tracked scorecardarc_get_scorecard.py- Get resultsarc_close_scorecard.py- Close scorecard
Located in skills/ - automatically detected by agents:
arcagi3-research-loop- Study games and plan attemptsarcagi3-attempt-review- Diagnose finished runsarcagi3-runner-design- Design/improve runnersarc-toolkit-usage- Comprehensive script reference
Located in commands/ - reference documentation:
arc-setup.md- Check configurationarc-games.md- List gamesarc-play.md- Quick playarc-inspect.md- Inspect gamearc-sweep.md- Multi-seed sweep- And 6 more...
# Check setup
python scripts/arc_setup_check.py
# List games
python scripts/arc_list_games.py
# Quick play
python scripts/arc_play.py --game-id ls20-cb3b57cc --steps 10-
Copy
.env.exampleto.env:cp .env.example .env
-
Edit
.env:ARC_API_KEY=your-api-key-here # Optional ARC_OPERATION_MODE=normal # online, offline, or normal ARC_GAME_ID= # Optional: specific game -
Install dependencies:
uv sync
.
├── README.md # This file
├── AGENTS.md # Generic ARC-AGI-3 guidance
├── launch.py.template # Generic launcher template
├── .env.example # Environment template
├── install.sh # Setup script
│
├── scripts/ # Generic Python CLI tools
│ ├── arc_play.py
│ ├── arc_list_games.py
│ └── ... (12 total)
│
├── skills/ # Agent-agnostic skills
│ ├── arcagi3-research-loop/
│ ├── arcagi3-attempt-review/
│ ├── arcagi3-runner-design/
│ └── arc-toolkit-usage/
│
├── commands/ # Quick reference
│ ├── arc-setup.md
│ ├── arc-play.md
│ └── ... (11 total)
│
├── .opencode/ # OpenCode-specific
│ └── INSTALL.md
│
├── .claude/ # Claude Code (future)
├── .cursor/ # Cursor (future)
└── .codex/ # Codex (future)
- Python 3.12+
- uv for Python dependency management
- Any coding agent (OpenCode, Claude Code, Cursor, etc.)
- ARC_API_KEY (optional, for online mode)
- OpenCode Guide - OpenCode-specific setup
- AGENTS.md - Generic ARC-AGI-3 guidance
- ARC-AGI Docs - Official ARC-AGI documentation
python scripts/arc_setup_check.py
python scripts/arc_list_games.py
python scripts/arc_play.py --steps 5python scripts/arc_create_scorecard.py --game-id ls20-cb3b57cc --tags "baseline"
python scripts/arc_play_with_recording.py --game-id ls20-cb3b57cc
python scripts/arc_get_scorecard.py --scorecard-id <id>python scripts/arc_run_sweep.py --game-id ls20-cb3b57cc --runs 20 --steps 15python scripts/arc_download_all.py
python scripts/arc_play.py --mode offline --game-id ls20-cb3b57cc