by mensfeld
Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.
# Add to your Claude Code skills
git clone https://github.com/mensfeld/code-on-incusGuides for using ai agents skills like code-on-incus.
Last scanned: 5/15/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-15T06:58:25.241Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}code-on-incus is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by mensfeld. Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically. It has 664 GitHub stars.
Yes. code-on-incus passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/mensfeld/code-on-incus" and add it to your Claude Code skills directory (see the Installation section above).
code-on-incus is primarily written in Go. It is open-source under mensfeld 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 code-on-incus against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ 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.
coi)Isolated machines for AI coding agents - with active defense.
COI gives each AI agent its own machine - a full system container with root access, systemd, Docker, and the ability to install anything. Agents work like they would on a real server: run services, manage packages, use cron - without touching your actual system. Files stay correctly owned, no permission hacks needed.
Your credentials stay on the host. SSH keys, environment variables, and Git tokens are never exposed to AI tools unless you explicitly mount them. If something goes wrong, COI catches it - reverse shells, credential scanning, data exfiltration - and pauses or kills the container automatically. No manual intervention needed.
Built by developers, for developers who run AI agents and want to know what those agents are doing. Not a product, not a startup - a tool that does the job.

Currently supported:
Coming soon:
Tool selection is config/profile-driven:
# ~/.coi/config.toml or ./.coi/config.toml
[tool]
name = "opencode" # or "claude" (default), "pi", "codex"
coi shell # Uses the configured tool (Claude Code by default)
coi shell --profile opencode # Or switch via a profile with [tool] name = "opencode"
Permission mode - Control whether AI tools run autonomously or ask before each action:
# ~/.coi/config.toml or .coi/config.toml
[tool]
name = "claude" # Default AI tool
permission_mode = "bypass" # "bypass" (default) or "interactive"
For Claude, bypass maps to --permission-mode bypassPermissions; for codex it maps to --dangerously-bypass-approvals-and-sandbox (the container is the sandbox), and interactive keeps codex's own approval prompts (-s workspace-write -a on-request).
Codex authentication: coi seeds the host's ~/.codex/auth.json into the container (alongside config.toml and AGENTS.md), so log in on the host first with codex login. If the host stores credentials in the OS keyring (no auth.json) or you have never logged in, authenticate inside the container with codex login --device-auth (requires device-auth enablement in your org) or codex login --with-api-key - the plain codex login browser flow does not work inside the container because its OAuth localhost callback is unreachable from the host browser.
See the Supported Tools wiki page for detailed configuration, API key setup, and adding new tools.
Core Capabilities
Host Integration
[ssh] forward_agent = true)[ports] pool for identity-mapped agent-usable ports, [[ports.map]] for fixed services): agent-started dev servers become reachable at localhost:<port>, with per-slot deterministic allocation, a pre-launch conflict check, and coi trust gating for untrusted project configs[[sockets]]) so the host endpoint never enters the container - the building block for credential brokers (mint short-lived tokens on the host, fetch them on demand inside). Untrusted project-config sockets are gated behind coi trust[[credentials]] entries (config or profile): reference a named catalog bundle (bundle = "ollama") or declare an ad-hoc host/container file pair for anything not yet cataloged. claude/opencode/pi's own credential files come from the same built-in catalog. Ad-hoc entries from an untrusted project .coi/config.toml are gated behind coi trust; catalog references carry the same trust level the built-in tool credentials already haveforward_env in config)[defaults.env_commands]) - for short-lived API keys/tokens. Trusted-scope config only[timezone] config)~/SANDBOX_CONTEXT.md tells AI tools about their environment (network mode, workspace path, persistence, etc.). Automatically loaded into each tool's native context system: Claude Code via ~/.claude/CLAUDE.md, OpenCode via the instructions field in opencode.json, pi via ~/.pi/agent/APPEND_SYSTEM.md symlink, Codex via ~/.codex/AGENTS.md (opt out with auto_context = false)Security & Isolation
.env files, Git credentials, and environment variables are never exposed unless explicitly mountedsecurity.privileged=true is detected, which defeats all container isolationcoi health checks seccomp, AppArmor, and privilege settings to confirm full isolationdns_servers), cap outbound ports globally (allowed_ports) or per-destination (allowed_domains with :ports, and per-host [[network.hosts]] ports) - e.g. "internet open, on the LAN only redmine:443".git/hooks, .git/config, .husky, .vscode mounted read-only to prevent sup