by matrixmapai
OpenABCode is an LLM-routing coding agent that dynamically routes tasks to the best-suited models
# Add to your Claude Code skills
git clone https://github.com/matrixmapai/openabcodeLast scanned: 7/25/2026
{
"issues": [
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: DoS via exponential-time expansion of consecutive non-expanding {} groups",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS: Path Traversal in Previous Source Map Auto-Loading (sourceMappingURL) leads to Arbitrary .map File Disclosure",
"severity": "high"
},
{
"type": "npm-audit",
"message": "protobufjs: protobufjs: Denial of Service via infinite loop in .proto option parsing",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "shell-quote: shell-quote: Quadratic-complexity Denial of Service in `parse()` (CWE-407)",
"severity": "high"
},
{
"file": "README.md",
"line": 35,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://openabcode.com/install.sh | sh\"",
"severity": "low"
}
],
"status": "WARNING",
"scannedAt": "2026-07-25T06:21:06.208Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}openabcode is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by matrixmapai. OpenABCode is an LLM-routing coding agent that dynamically routes tasks to the best-suited models. It has 254 GitHub stars.
openabcode returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/matrixmapai/openabcode" and add it to your Claude Code skills directory (see the Installation section above).
openabcode is primarily written in TypeScript. It is open-source under matrixmapai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh openabcode against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
OpenABCode is an LLM-routing coding agent that dynamically routes tasks to the best-suited models:
Google ecosystem–related coding tasks are routed to Gemini.
Code review and testing are routed to ChatGPT.
General coding tasks are routed to Claude.
To learn more about OpenABCode:
Install with the hosted installer:
curl -fsSL https://openabcode.com/install.sh | sh
Or use a package manager:
npm install -g @openabcode/coding-agent --ignore-scripts
bun install -g @openabcode/coding-agent
brew install matrixmapai/tap/openabcode
Then start OpenABCode:
openabcode
Inside the interactive CLI:
/login Sign in to OpenABCode or another provider
/model Select fixed models and Route family models
/route-model Select the model that classifies Route tasks
/route Turn automatic task routing on or off
When Route is on, the footer shows the configured execution models. Every completed routing decision is also stored in the session JSONL for audit.
Route rules, heuristic keywords, file extension mappings, project markers, and the default provider can all be customized in ~/.openabcode/agent/settings.json (global) or .openabcode/settings.json (project-level). When a field is set, it fully replaces the corresponding built-in default.
{
"router": {
"rules": {
"openai": "Test and automation — algorithms, code review, testing, data analysis, scripting",
"google": "Google ecosystem — Android, Flutter, Firebase, Google Cloud, Kotlin",
"anthropic": "General development — all code writing, editing, debugging, architecture, UI"
},
"keywords": {
"openai": ["algorithm", "unit test", "benchmark", "data analysis", "pipeline"],
"google": ["android", "flutter", "dart", "firebase", "gcp"],
"anthropic": ["refactor", "debug", "architecture", "implement", "fix"]
},
"fileExtensions": {
".kt": "google",
".dart": "google",
".rs": "anthropic",
".ts": "anthropic",
".sh": "openai"
},
"projectMarkers": {
"pubspec.yaml": "google",
"cargo.toml": "anthropic",
"package.json": "anthropic",
"main.tf": "openai"
},
"defaultProvider": "anthropic"
}
}
Each field is optional and independent — only configure what you want to override.
User prompt
-> @openabcode/coding-agent Route configuration and model selection
-> @openabcode/ai Classifier and provider API requests
-> @openabcode/agent-core Agent loop, state, and tool execution
| Package | Description |
|---|---|
| @openabcode/coding-agent | Route-first terminal coding agent CLI |
| @openabcode/tui | Terminal UI renderer behind OpenABCode's interactive editor, model selectors, Route footer, and session views |
| @openabcode/ai | Unified multi-provider LLM API (OpenAI, Anthropic, Google, etc.) |
OpenABCode does not include a built-in permission system for restricting filesystem, process, network, or credential access. By default, it runs with the permissions of the user and process that launched it.
If you need stronger boundaries, containerize or sandbox OpenABCode. See packages/coding-agent/docs/containerization.md for three patterns:
openabcode and provider auth on the host while routing built-in tools and ! commands into a local Linux micro-VM.openabcode process in a local container for simple isolation.openabcode process in a policy-controlled sandbox.See CONTRIBUTING.md for contribution guidelines and AGENTS.md for project-specific rules (for both humans and agents).
npm install --ignore-scripts # Install all dependencies without running lifecycle scripts
npm run build # Build all packages
npm run check # Lint, format, and type check
./test.sh # Run tests (skips LLM-dependent tests without API keys)
./openabcode-test.sh # Run openabcode from sources (can be run from any directory)
We treat npm dependency changes as reviewed code changes.
.npmrc sets save-exact=true and min-release-age=2 to avoid same-day dependency releases during npm resolution.package-lock.json is the dependency ground truth. Pre-commit blocks accidental lockfile commits unless OPENABCODE_ALLOW_LOCKFILE_CHANGE=1 is set.npm run check verifies pinned direct deps, native TypeScript import compatibility, and the generated coding-agent shrinkwrap.packages/coding-agent/npm-shrinkwrap.json, generated from the root lockfile, to pin transitive deps for npm users.npm run release:local to build, pack, and create isolated npm and Bun installs outside the repo before tagging a release.openabcode update --self use --ignore-scripts where supported.npm ci --ignore-scripts, and a scheduled GitHub workflow runs npm audit --omit=dev plus npm audit signatures --omit=dev.AGPL-3.0
Portions derived from Pi remain licensed under the MIT License. See NOTICE for attribution.