by matrixmapai
OpenABCode is a coding agent that dynamically routes development 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
}See how openabcode compares with popular alternatives.
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 a coding agent that dynamically routes development tasks to the best-suited models. It has 427 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.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
OpenABCode is an LLM-routing coding agent that dynamically routes development tasks to the best-suited models:
Google ecosystem development tasks are routed to Gemini.
Code review and testing are routed to ChatGPT.
All other development 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
To set up Route mode:
/login and configure the providers you want to use./route-model and select the authenticated model that classifies tasks. This does not change the active execution model./model and pick one specific model per family — e.g. gpt-6-astra for OpenAI, gemini-3.8-flash for Google, claude-fable-5 for Anthropic. Route always executes tasks with the exact model you picked for the chosen family./route and select on.When Route is on, the footer shows the configured execution models. Route works as long as at least two model families are configured — with a family missing, routing degrades to the available ones. Every completed routing decision is stored in the session JSONL for audit, and manually overriding a routed model is recorded as veto feedback.
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",
"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", "migration"]
},
"fileExtensions": {
".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.