by gi-dellav
Lightweight coding agent written in Rust, optimized for memory footprint and performance
# Add to your Claude Code skills
git clone https://github.com/gi-dellav/zerostackLast scanned: 6/1/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-01T09:25:57.044Z",
"npmAuditRan": true,
"pipAuditRan": true
}zerostack is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by gi-dellav. Lightweight coding agent written in Rust, optimized for memory footprint and performance. It has 1,607 GitHub stars.
Yes. zerostack 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/gi-dellav/zerostack" and add it to your Claude Code skills directory (see the Installation section above).
zerostack is primarily written in Rust. It is open-source under gi-dellav 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 zerostack 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.

Minimal coding agent written in Rust, inspired by pi and opencode.
blogposts: what we built in 2 weeks memory design subagents design xavier's memory analysis
note: Want to support? Consider donating here; if you are a company interested in sponsoring zerostack, contact me here.
code, plan, review, debug, etc.) to tailor the agent's behavior to the task without having to manage Skills./worktree to move the agent from one worktree to another.settings.json schema largely compatible with Claude Code hooksNOTE: Windows support is not tested is any way, but feel free to try and open an issue if you encounter any bugs!
zerostack is one of the smallest and most performant coding agents on the market.
You can now read a complete Get Started guide for zerostack here!
curl -fsSL https://raw.githubusercontent.com/gi-dellav/zerostack/main/install.sh | bash
Or pick a tarball manually from GitHub Releases.
# Default: loop, git-worktree, mcp, subagents, archmd, status-signals, multithread
cargo install zerostack
# With all features
cargo install zerostack --all-features
# With specific features
cargo install zerostack --features acp,memory,hooks,advisor
brew tap gi-dellav/tap
brew trust gi-dellav/tap # required for Homebrew 6.0.0+
brew install zerostack
# brew install multistack # Run this to also install multistack (parallel agent manager)
Run directly with nix-run:
$ nix-run https://github.com/gi-dellav/zerostack/archive/refs/heads/main.tar.gz
Add to profile:
$ nix profile add --file https://github.com/gi-dellav/zerostack/archive/refs/heads/main.tar.gz
Add as an overlay to your system/project:
let
pkgs = import nixpkgs {
overlays = [
# src thru input pinning mechanism, or use builtins.fetchTarball
(import "${zerostack-src}/nix/overlay")
];
};
in
pkgs.zerostack
Once installed, run /prompt autoconfig inside zerostack to explore the documentation and configure the tool interactively.
note: If you have questions or you want to collaborate on the project, please join the dedicated Matrix chatroom.
If you want to orchestrate multiple zerostack agents from the terminal, also install multistack.
Install bubblewrap for --sandbox,
which runs every bash command inside an isolated environment to contain the
damage a mistaken command can do to your system (a seatbelt, not a boundary
against untrusted code):
# Debian/Ubuntu
apt install bubblewrap
# Fedora
dnf install bubblewrap
# Arch
pacman -S bubblewrap
There is also support for zerobox as an
alternative sandbox backend. bubblewrap is Linux only, so on macOS install
zerobox (cargo install zerobox) and set sandbox-backend = "zerobox".
--sandbox is best effort: when the selected backend binary is missing, bash
commands still run, but unsandboxed, with a warning in the logs. Add
--sandbox-required (or sandbox-required = true in the config) to turn that
into a guarantee: bash commands are refused whenever the backend is unavailable,
and the rest of the session keeps working. See SECURITY.md for
what the sandbox does and does not protect against.
With the bwrap backend, well-known credential directories (~/.ssh,
~/.aws, ~/.gnupg, ~/.kube, ~/.docker, and the gh, gcloud, op and
sops/age directories under the config base) are masked by default, so
sandboxed commands read them as empty rather than as your keys and tokens,
and the advertised ssh-agent is unreachable. sandbox-expose (config key or
repeatable --sandbox-expose <path> flag) restores read-only access to one
entry or a subpath of one. See docs/CONFIG.md for the key
and SECURITY.md for the full threat model.
Sandboxed commands keep the host network by default. sandbox-network = false
(or --sandbox-network=false) takes it away, which is what stops a command
that read something sensitive from sending it anywhere. Each bash call then
gets a fresh network namespace with only its own private loopback: a server the
command starts and uses within that same command still works, but the internet,
the LAN, and anything already listening on your machine (a dev server, a local
registry) are unreachable, and the namespace itself is gone by the next bash
call, taking anything bound to it (like a backgrounded server) with it; the
working directory, by contrast, is shared with the host and persists across
calls. That tradeoff is why the network stays open unless you ask.
# Set your API key (OpenRouter is default)
export OPENROUTER_API_KEY="[api_key]"
# Interactive session (default prompt: code)
zerostack
# Monochrome TUI
zerostack --no-color
# One-shot mode
zerostack -p "Explain this project"
# Continue last session
zerostack -c
# Explicit provider/model
zerostack --provider openrouter --model deepseek/deepseek-v4-flash
See docs/CONFIG.md for config file location, accepted keys, provider aliases, permission rules, and MCP server configuration.
You can run /prompt autoconfig in order to use a specialized agent that allows to navigate the documentation and customize your zerostack setup.
zerostack includes a set of built-in system prompts that change the agent's behavior and tone.
The idea is to build a complete suite of prompts that can fully substitute skills like superpower or the Claude's official skills.
You can switch between different prompts or list all registered prompts using /prompt.
Built-in prompts:
| Prompt | Description |
|---|---|
code (default) |
Coding mode with full file and bash tool access, TDD work |