Independent executor–verifier orchestration for software changes.
$ npx -y skills add the-open-engine/zeroshot --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: the-open-engine/zeroshot
What's inside
The agent that wrote the code shouldn't be the one that says it works.
Independent executor–verifier orchestration for software changes.
npm install -g @the-open-engine/zeroshot
zeroshot
Requires Node ≥ 22 and one supported provider. Guided setup detects installed providers, chooses a default, and configures worktree isolation for fresh repositories. Linux and macOS today; Windows is deferred.
cd your-repo
zeroshot run "Add a --json flag with tests"
In a git repository, the guided default runs in a separate worktree, so the current checkout is not edited. Use --no-isolation only when you explicitly want the run to modify the current checkout.
Observe the result from another terminal:
zeroshot list
zeroshot logs <id> -f
Zeroshot drives a coding agent through an executor–verifier loop. A conductor sizes the workflow, an executor implements the change in an isolated workspace, and a separate verifier judges the observable result. Validators do not share the executor's session or reasoning context; they may receive explicit handoff artifacts and must reproduce reported failures. The loop continues until the change is verified or returns a concrete reason it is not.
Every step is written to a crash-safe SQLite ledger. Bring your own provider and backend: Zeroshot orchestrates their CLIs without storing provider keys.
Provider engines come from the registry: Claude, Codex, bundled Gateway, Gemini, OpenCode, Pi, OMP, Kiro, and Copilot. Model gateways stay behind the single Gateway provider.
zeroshot providers
zeroshot providers set-default codex
zeroshot run 123 --provider gemini
Issue sources are auto-detected from repository context or explicit URLs: GitHub, GitLab, Jira, Azure DevOps, and Linear. Each source requires its own authenticated client where applicable. See docs/providers.md for provider installation, model levels, and credentials.
Guided setup defaults fresh repositories to git worktree isolation. Delivery flags cascade: --ship implies --pr, which implies --worktree.
| Mode | Flag | Behavior |
|---|---|---|
| Git worktree | --worktree | isolated branch and checkout; guided default |
| Docker | --docker | container isolation for riskier workloads |
| Current checkout | --no-isolation | explicit escape hatch; modifies the active checkout |
| Pull request | --pr | worktree plus PR creation |
| Ship | --ship | worktree, PR, and merge after approval |
zeroshot run <input> # issue, URL, markdown file, or inline text
zeroshot run 123 --docker # container isolation
zeroshot run 123 --pr # worktree + pull request
zeroshot run 123 --ship # worktree + PR + merge after approval
zeroshot run 123 -d # background run
zeroshot list # tasks and clusters (--json)
zeroshot status <id> # detailed status (--json)
zeroshot logs <id> -f # stream logs
zeroshot resume <id> [prompt] # resume a stopped or failed run
zeroshot stop <id> # graceful stop
zeroshot kill <id> # force stop
zeroshot providers # provider availability and defaults
zeroshot settings # effective settings
zeroshot agents list # available agents
Docker mounts and environment forwarding are explicit and provider-aware. Defaults include gh, git, and ssh; provider-specific authentication follows the registry contract.
zeroshot settings set dockerMounts '["gh","git","ssh","aws"]'
zeroshot run 123 --docker --mount ~/.aws:/root/.aws:ro
zeroshot run 123 --docker --no-mounts
See docs/providers.md for details.
Zeroshot performs best when a task has clear acceptance criteria. If you can't say what "done" means, an independent verifier can't confirm it.
| Task | Good fit? | Why |
|---|---|---|
| Add rate limiting (sliding window, per-IP, 429) | Yes | clear requirements |
| Refactor auth to JWT | Yes | defined end state |
| Fix a login bug | Yes | success is measurable |
| "Make the app faster" | No | needs exploration first |
| "Improve the codebase" | No | no acceptance criteria |
zeroshot resume <id> continues at any time.zeroshot logs <id> -f, zeroshot list, and zeroshot status <id>.Zeroshot is a message-driven coordination layer: a conductor classifies each task by complexity and type, a workflow template selects agents and validators, agents publish results to a SQLite ledger, and validators approve or reject with specific findings.
--pr/--ship flows, the git-pusher fails closed until every configured gate has fresh passing evidence.zeroshot cmdproof check <id>.See CLAUDE.md for the cluster schema, primitives, and the conductor's classification model.
Zeroshot is Layer 01 · Verification of The Open Engine, the open stack for autonomous software production. Generating code is easy; trusting it is not. The engine is layered because trust is layered:
| Layer | Status | |
|---|---|---|
| 01 | Verification: Zeroshot | This repo · open · shipping |
| 02 | Constraints: Opcore | Sibling · alpha |
| 03-05 | Intent · Context · Runtime | In development |
Zeroshot runs the loop: an agent writes the change, and an independent verifier decides whether it holds: approve, or a reproducible failure. Opcore is the sibling layer, a deterministic, local, read-only constraints gate for coding agents. Zeroshot packages Opcore 0.2.1 and uses introduced-change validation so existing repository debt never blocks an otherwise clean change. Verification asks "does this meet the goal?"; constraints ask "is this within tolerance?"
Each layer ships the same way: extracted from the platform we run, then opened. Trust nothing. Verify everything.
See CONTRIBUTING.md for development setup, CODE_OF_CONDUCT.md before participating, and SECURITY.md for security reports. More in docs/ and CLAUDE.md.
Questions and help: Discord.
MIT. The Open Engine Company.
.agents/
skills/
opcore/
SKILL.md
.claude/
commands/
analyze-cluster-postmortem.md
settings.json
skills/
opcore/
SKILL.md
.codex/
hooks.json
.editorconfig
.github/
dependabot.yml
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
PULL_REQUEST_TEMPLATE.md
workflows/
ci.yml
codeql.yml
live-provider-smoke.yml
pr-policy.yml
publish-covibes-bridge.yml
release.yml
.gitignore
.husky/
pre-commit
pre-push
.jscpd.json
.mocharc.cjs
.nvmrc
.opcore/
config
.prettierignore
.prettierrc.json
.zeroshot/
settings.json
AGENTS.md
bin/
zeroshot-cluster-worker.js
build-image.sh
Cargo.lock
Cargo.toml
CHANGELOG.md
CLAUDE.md
cli/
commands/
cmdproof.js
inspect-render.js
inspect.js
providers.js
event-copy.js
index.js
json-export.js
lib/
setup-provider-readiness.js
setup-scanner-worker.js
setup-scanner.js
setup-wizard-input.js
setup-wizard-model.js
setup-wizard-plan-view.js
setup-wizard-scan-view.js
setup-wizard-terminal.js
setup-wizard-view.js
setup-wizard.js
update-checker.js
message-formatter-utils.js
message-formatters-normal.js
message-formatters-watch.js
clippy.toml
cluster-hooks/
block-ask-user-question.py
block-dangerous-git.py
cluster-scripts/
validate-config-type-safety.js
cluster-templates/
base-templates/
debug-workflow.json
full-workflow.json
heavy-validation.json
quick-validation.json
single-worker.json
worker-validator.json
conductor-bootstrap.json
CODE_OF_CONDUCT.md
codecov.yml
commitlint.config.js
CONTRIBUTING.md
crates/
openengine-cluster-client/
Cargo.toml
src/
agent_attach.rs
lib.rs
logs.rs
multiplex.rs
ndjson_agent_attach.rs
ndjson_logs.rs
ndjson_pump.rs
ndjson_subscription.rs
ndjson_watch.rs
watch.rs
websocket.rs
tests/
agent_attach.rs
backend_faults.rs
cancel_leak_support/
mod.rs
client.rs
lifecycle_delete.rs
lifecycle_resubmit.rs
lifecycle_retry.rs
lifecycle.rs
logs.rs
reconnect_support/
cancel_scenario.rs
mod.rs
ndjson_scenario.rs
scenario_harness.rs
websocket_scenario.rs
reconnect.rs
scripted_transport_support/
mod.rs
subscription_ndjson.rs
tls_dialer.rs
websocket.rs
openengine-cluster-protocol/
Cargo.toml
src/
admission.rs
agent_attach.rs
artifact.rs
canonical.rs
diagnostic.rs
fault.rs
graph_profile.rs
graph.rs
lib.rs
lifecycle.rs
logs.rs
payload_value.rs
payload.rs
value.rs
watch.rs
wire.rs
worker/
worker.rs
error.rs
legacy.rs
outcome.rs
tests/
admission.rs
agent_attach.rs
artifact.rs
backend_faults.rs
canonical.rs
capabilities.rs
graph_wire.rs
lifecycle_delete.rs
lifecycle_resubmit.rs
lifecycle_retry.rs
lifecycle_wire.rs
logs.rs
payload_subtyping.rs
watch.rs
worker.rs
openengine-cluster-server/
Cargo.toml
src/
admission/
admission.rs
errors.rs
ports.rs
snapshot.rs
agent_attach/
agent_attach.rs
fixtures.rs
ports.rs
connection/
connection.rs
admission.rs
agent_attach.rs
dispatch.rs
frame.rs
logs.rs
subscription.rs
tests.rs
dispatch.rs
graph_verifier/
graph_verifier.rs
analyzer_assignments.rs
analyzer_bindings.rs
analyzer_bounds.rs
analyzer_guards.rs
analyzer_index.rs
analyzer_maps.rs
analyzer_nodes.rs
analyzer_parallel_flow.rs
analyzer_parallel.rs
analyzer_terminal.rs
assignments/
assignments.rs
aggregate.rs
outcomes.rs
choice.rs
contexts.rs
diagnostics.rs
effects_tree.rs
effects_writes.rs
effects.rs
payload.rs
tests.rs
identity.rs
lib.rs
lifecycle/
lifecycle.rs
ports.rs
logs/
logs.rs
fixtures.rs
ports.rs
method_registry.rs
stdio.rs
subscription_stream.rs
watch/
watch.rs
fixtures.rs
ports.rs
websocket/
websocket.rs
tests.rs
wire.rs
worker_registry.rs
tests/
admission_bound_support/
mod.rs
admission.rs
agent_attach.rs
backend_faults.rs
capability_default_support/
mod.rs
connection_identity.rs
decoded_dispatch.rs
gated_backend_support/
mod.rs
graph_verifier/
graph_verifier_boundaries.rs
graph_verifier.rs
cases_control.rs
cases_dataflow.rs
cases_parallel.rs
cases_structure.rs
map_regressions.rs
parallel_control_regressions.rs
parallel_definition_regressions.rs
parallel_regressions.rs
regressions/
regressions.rs
binding_cases.rs
dataflow_cases.rs
map_cases.rs
map_fixture.rs
parallel_fixture.rs
initialize_capabilities.rs
lifecycle_delete.rs
lifecycle_resubmit.rs
lifecycle_retry.rs
lifecycle.rs
logs.rs
method_registry.rs
ndjson_test_support/
mod.rs
oversized_event_wire_support/
mod.rs
oversized_id_backend_support/
mod.rs
subscription_ndjson.rs
transport_neutrality.rs
watch.rs
websocket.rs
worker_registry.rs
openengine-cluster-testkit/
Cargo.toml
src/
admission/
admission_artifacts.rs
admission.rs
delete.rs
fixtures.rs
inspection.rs
resubmit.rs
scripted_verifier.rs
agent_attach_artifacts.rs
agent_attach.rs
artifacts/
artifacts.rs
openrpc.rs
bin/
generate-cluster-protocol.rs
openengine-cluster-stdio.rs
capability_vectors.rs
conformance/
conformance.rs
catalog.rs
runner.rs
fixture.rs
graph_verifier_artifacts/
graph_verifier_artifacts.rs
case_catalog.rs
fixture_builders.rs
fixture_controls.rs
fixture_negative.rs
lib.rs
lifecycle/
lifecycle_artifacts.rs
lifecycle.rs
dispatch.rs
params.rs
logs_artifacts.rs
logs.rs
negative_graph_fixtures.rs
schema_helpers.rs
watch_artifacts.rs
watch.rs
worker_artifacts.rs
worker_profiles.rs
tests/
admission_races.rs
admission_snapshots.rs
admission_support/
committed.rs
expect_record.rs
mod.rs
admission.rs
agent_attach.rs
artifacts.rs
backend_faults.rs
capability_vectors.rs
external_backend_conformance.rs
external-backend-fixture/
Cargo.lock
Cargo.toml
src/
lib.rs
graph_fixtures.rs
graph_verifier_vectors.rs
lifecycle_delete.rs
lifecycle_races.rs
lifecycle_reconnect.rs
lifecycle_resubmit.rs
lifecycle_retry.rs
lifecycle_support/
mod.rs
lifecycle.rs
logs.rs
method_surface.rs
mutation_fixture/
mod.rs
profiles.rs
protocol_ndjson.rs
protocol_transcript_support/
mod.rs
protocol_v1.rs
protocol_websocket.rs
schema_support/
mod.rs
stdio_subprocess_support/
mod.rs
stop.rs
watch.rs
worker_vectors.rs
distribution/
zeroshot-rust-targets.json
docker/
zeroshot-cluster/
Dockerfile
pre-baked-deps.json
zeroshot-oecp/
.dockerignore
Dockerfile
Dockerfile.dockerignore
package-lock.json
package.json
docs/
assets/
zeroshot-architecture-dark.webp
zeroshot-architecture-light.webp
zeroshot-demo.gif
brand/
README.md
social/
discord-dark.png
discord-light.png
linkedin-dark.png
linkedin-light.png
website-dark.png
website-light.png
... 1524 moreFAQ
zeroshot is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes opcore. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.