ZeroClaw is a Rust-based runtime for running a personal AI assistant on a user's own machine, with connections to language-model providers, communication channels, and external tools. It is for people who want to operate an assistant across channels such as Discord, Telegram, email, voice, webhooks, or a command line while keeping control of its data and credentials. The catalogue add-ons provide workflows and agents for using ZeroClaw.
Borrowing it
Nothing to install: this file belongs to zeroclaw-labs/zeroclaw. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/master/.claude/skills/feature-matrix-parity/SKILL.mdgit clone --depth 1 https://github.com/zeroclaw-labs/zeroclawWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zeroclaw-labs/zeroclaw/feature-matrix-parity)<a href="https://agentmods.dev/skills/zeroclaw-labs/zeroclaw/feature-matrix-parity"><img src="https://agentmods.dev/badge/skills/zeroclaw-labs/zeroclaw/feature-matrix-parity/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zeroclaw-labs/zeroclaw/feature-matrix-parity"><img src="https://agentmods.dev/badge/skills/zeroclaw-labs/zeroclaw/feature-matrix-parity.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Snyk warn
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00127 | $0.02408 |
| Opus 5.5 | $0.00051 | $0.00963 |
| Sonnet 5.5 | $0.00025 | $0.00482 |
| Haiku 4.5 | $0.00013 | $0.00241 |
Grade A, and why
feature-matrix-parity scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s "http://127.0.0.1:3000/en/reference/feature-matrix.html" -o /tmp/fm-live.html How it starts
The opening of the file, as written. The whole thing — 196 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ZeroClaw Feature Matrix Parity
You maintain the two competitor columns (OpenClaw, Hermes) of the feature and
support matrix at docs/book/src/reference/feature-matrix.md. The ZeroClaw
column is walked from the binary's own registries at docs-build time and is
never hand-edited. Only the external columns live in
docs/book/feature-matrix-parity.toml, and that file is the single reviewable
source for every parity fact.
The cardinal rule: every cell you write is source-walked from the competitor's
actual tree, never inferred from a folder name, an alias, or memory. A directory
called signal is not proof of Signal support; the implementing module is.
Clone URLs
Both repositories are recorded in the parity TOML header (the Sources block).
Read them from there so there is one source of truth:
- OpenClaw:
https://github.com/openclaw/openclaw - Hermes:
https://github.com/NousResearch/hermes-agent
Always shallow-clone. These trees are large (OpenClaw ~340MB, Hermes ~200MB even shallow) and full history is never needed for a registry walk:
git clone --depth 1 https://github.com/openclaw/openclaw /tmp/parity-openclaw
git clone --depth 1 https://github.com/NousResearch/hermes-agent /tmp/parity-hermes
Clone both in parallel, and delete both when finished. For a quick single-file spot-check without a full clone, the GitHub contents API reads any tree file directly, which is enough to confirm one module's existence:
gh api "repos/openclaw/openclaw/contents/<path>" --jq '.content' | base64 -d
Status vocabulary
Cells use the page legend exactly: supported, partial, experimental,
planned, none, unknown. The verdict turns on what the tree actually wires
and runs, not on what a module merely defines. Finding a named module is
necessary but not sufficient: before calling a cell supported, rule out the
downgrade patterns below.
supportedwhen the tree ships a first-class module for it AND it is wired into a real path and on by default. A module that exists but fails one of the downgrade patterns below is notsupported; it ispartialornoneper those rules.partialwhen support is real but qualified. Use it when the module is:- reachable only through a generic gateway rather than a dedicated module, or
- covers a subset of the surface, or
- default-off / opt-in (present but disabled unless explicitly enabled; read the config defaults, not just that the code path exists), or
- selectively wired (live on some trigger/transport paths, dead on others).
nonewhen the tree has no equivalent, OR the only match is defined-but-dead (a module with no non-test callers) or a degraded/orphan path (it starts but produces no end-to-end behavior). A directory name or alias is not a match; the implementing, called module is.- Use
unknownwhen support has not been assessed or the available evidence is inconclusive. A missing TOML entry also rendersunknown; record an explicit value and source notes when a bounded walk cannot establish a verdict.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · -12 lines 41fb41e739c2
- 2mo ago First seen · 208 lines · 127 tokens per session scan A 09fa47e7c2e2
feature-matrix-parity is a skill published in the GitHub repository zeroclaw-labs/zeroclaw (33,061 stars, last pushed yesterday), licensed Apache-2.0. It adds 127 tokens to every session and 2,408 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ship-it
Worktree-side implementation orchestrator for an OpenSpec change. Idempotent: gates automated scenarios on filesystem reality, owns the red-test fix loop, runs the docker harness with always-teardown, then drives ship-change inline. Escape hatch writes SHIPITBLOCKED.md. Runnable headless. Triggers: "ship it", "build…
01-sdlc
Orchestrates a request from framing to a draft pull request, autonomous or supervised, isolating implementation, independent review, and final outcome challenge. Use when the user wants to deliver a change end to end. Not for one step.
02-backlog
Orchestrates a product backlog end to end. Use when the user wants to ask what it holds, or to run intake, triage, refinement, review, lifecycle events, ordering, health checks, or repair. Not for one known artifact step.
02-user-stories
Produces or refines ordered User Stories from an Epic, Product Brief, PRD, or bounded request. Use when the user wants to slice, write, assess, order, or persist Stories. Not for Epics or implementation.
07-epic
Produces or refines an outcome-based Epic for a product backlog. Use when the user wants to frame, review, resume, or persist an Epic. Not for Product Briefs, User Stories, or implementation.
08-three-amigos
Assesses an Epic or Story through one product, delivery, or quality lens, then reconciles three caller-supplied reports. Use when the user wants to refine one before a backlog change. Not for spawning or writing.