An AI Agent Stack for DayZ Modding — clone it, and your repo comes pre-loaded with specialist agents, slash commands, and a local RAG index that turn Claude Code, Codex, or Gemini CLI into a competent DayZ modding co-author.
- 11 DayZ specialist agents covering scripts, configs, assets, maps, UI, server admin, debugging, and Workbench plugins.
- 26 slash-command skills that drive DayZ Tools end-to-end — preflight, scaffold, build PBOs, launch a local diag server + client, manage
types.xml, scope the agent to a single mod, etc. - A semantic-search RAG over the vanilla DayZ source (Enforce Script, configs, layouts, materials) plus the Bohemia community wiki, exposed to every agent through the
dayz-ragMCP server. Embeddings via Voyage AI (voyage-code-3, 200M-token free tier covers ~3 full rebuilds). Or skip the build entirely with/dayz-search-downloadand pull the prebuilt index from GitHub releases. - Three-CLI support out of the box. The same agents and skills work in Claude Code, Codex CLI, and Gemini CLI. One
sync-skillsrun wires them all up.
There are two ways to use Agentic-Z. Pick one — running both side-by-side will load every skill twice (once unprefixed, once as agentic-z:<name>).
Option A — Clone as a template (recommended for starting a new mod project):
git clone <this-repo> my-dayz-mod
cd my-dayz-mod
python .claude\skills\sync-skills\sync.pyThat symlinks the repo's .claude/skills/ into each agent CLI's home directory so all three discover the same slash commands. Inside Claude Code you can also run /sync-skills instead. Skills appear unprefixed (/dayz-build-pbo).
Option B — Install as a Claude Code plugin (for adding the toolkit to an existing project without forking):
/plugin marketplace add DayZ-n-Chill/Agentic-Z
/plugin install agentic-z@dayz-n-chill
Skills appear with the agentic-z: prefix (/agentic-z:dayz-build-pbo). The dayz-rag MCP server registers automatically.
Then, from your mod project in Claude Code:
/dayz-init
That's it. The wizard asks what you're doing (new mod or import), where to scaffold, what map to test on, and whether to build/launch. It auto-fixes what it can (P:\ mount, junctions) and surfaces steam:// links for the rest. Every run after the first drops you into a mission-control hub for the cached project.
Power users can still call individual skills directly: /dayz-preflight, /dayz-build-pbo, /dayz-launch-test, etc. See the full slash-command list further down.
Full prerequisites, env-var overrides, and troubleshooting: docs/dayz-modding.md.
| What | Why |
|---|---|
| DayZ (Steam) | The diag client (DayZDiag_x64.exe) ships next to retail and is what /dayz-launch-test runs. |
| DayZ Tools (Steam, free) | AddonBuilder, P-drive mounting, ImageToPAA. |
| DayZ Server (Steam, appid 223350) | Only for the initial mission template bootstrap; can be uninstalled afterward. |
P:\ mounted |
Engine and Tools both read from P:\. Mount via DayZ Tools or /dayz-workdrive. Doesn't auto-mount across reboots. |
P:\Mods\ junction → <DayZ install>\!Workshop\ |
One-time mklink /J so built PBOs land where the engine actually loads mods. |
Vanilla data on P:\ |
DayZ Tools → "Extract Game Data". Your configs inherit from ItemBase, Inventory_Base, etc. |
Python 3.8+ on PATH |
The skills are Python scripts. |
RAG embeddings run through Voyage AI's hosted API (voyage-code-3, code-tuned, 1024-dim). A free Voyage account includes 200M tokens — enough for ~3 full rebuilds of the vanilla DayZ corpus. Add VOYAGE_API_KEY=pa-… to .env at the repo root before running /dayz-search-index. If you'd rather skip the build entirely, /dayz-search-download pulls the maintainer's prebuilt index from GitHub releases (~1 minute, no API key needed for download — but query-time embedding still needs the key).
| Layer | Scope | Where it lives |
|---|---|---|
| L1 — Default rules | Every clone, every agent, every skill. | CLAUDE.md / AGENTS.md / GEMINI.md (same content; one filename per CLI) |
| L2 — DayZ conventions | When working inside the DayZ domain. | .claude/skills/_shared/dayz-conventions.md |
| L3 — Specific agent / skill | The unit of work. | .claude/agents/<name>.md or .claude/skills/<name>/SKILL.md |
L3 files reference L2 in one line. The more specific layer wins ties.
<repo>/
├── .claude/
│ ├── agents/ # 11 DayZ specialists + agent-creator (L3)
│ ├── skills/ # 26 slash-command skills (L3) + L2 shared conventions
│ │ ├── _shared/dayz-conventions.md
│ │ ├── sync-skills/ # bootstrap: link skills into Claude/Codex/Gemini home dirs
│ │ └── dayz-*/ # one folder per DayZ skill
│ ├── mcp/dayz-rag/ # local RAG MCP server (search_dayz_source, get_dayz_file, ...)
│ ├── agent-memory/ # per-agent committed memory
│ ├── local-memory/ # gitignored, per-clone, user/machine notes only
│ └── settings.local.json # per-clone Claude Code settings
├── CLAUDE.md / AGENTS.md / GEMINI.md # L1 rules (one per CLI, same content)
├── docs/ # deep docs (DayZ workflow, model routing)
├── wiki/ # Docusaurus mirror of docs/agents/skills
├── workspace/ # in-progress mods (workspace/<ModName>/) and _server/
└── output/ # one-shot deliverables
Most skills gate on /dayz-preflight first per L2 conventions. Documented exceptions: /dayz-stop-test (escape-hatch — must work even when env is broken) and /dayz-init (orchestrates other skills, runs preflight on its own steps).
| Command | Purpose |
|---|---|
/dayz-init |
Setup wizard on first run; mission-control hub on every run after. Wraps every other skill. |
| Command | Purpose |
|---|---|
/dayz-preflight |
Verify env (P:\ mounted, Tools installed, vanilla data extracted). |
/dayz-workdrive |
Mount P:\ without opening DayZ Tools. |
/dayz-setup-objectbuilder |
One-time machine setup for Object Builder. |
| Command | Purpose |
|---|---|
/dayz-new-mod |
Scaffold workspace/<ModName>/ + P:\<ModName>\ junction. |
/dayz-import-mod |
Symlink an existing mod folder into the workspace + create the junction. Source folder is never moved. |
/dayz-add-scaffold |
Add missing scaffold pieces (config.cpp stub, gproj, etc.) to an existing mod folder. |
/dayz-scope-mod |
Lock the agent to one mod via deny rules so it can't clobber siblings. |
| Command | Purpose |
|---|---|
/dayz-build-pbo |
Pack and deploy to P:\Mods\@<ModName>\Addons\<ModName>.pbo. |
/dayz-pack-texture |
PNG/TGA → .paa via ImageToPAA. Validates _co / _nohq / _smdi suffix. |
/dayz-build-imageset |
Pack .gui-sources/<setname>/*.png into a DayZ .imageset + .paa atlas with a 10px gutter; auto-splits into multiple parts when sprites won't fit in 4096x4096. |
| Command | Purpose |
|---|---|
/dayz-add-server |
Set up a test server instance under .server/<instance>/. |
/dayz-launch-test |
Local diag server + client with mod loaded. |
/dayz-stop-test |
Kill running DayZDiag_x64.exe processes. Escape hatch (no preflight gate). |
/dayz-cot-bootstrap |
Two-pass workflow to grant COT admin perms on a fresh test instance. |
| Command | Purpose |
|---|---|
/dayz-launch-workbench |
Open Enfusion Workbench (script + UI editor) detached. |
/dayz-launch-objectbuilder |
Open Object Builder (.p3d editor) detached. |
| Command | Purpose |
|---|---|
/dayz-edit-types |
Programmatically upsert a single <type> in types.xml. |
/dayz-split-types |
Split monolithic types.xml into 18 categorized files. |
| Command | Purpose |
|---|---|
/dayz-p3d-audit |
Audit .p3d models for collision, action targeting, physics, animation issues. |
/dayz-particles |
Particle effect creation (.ptc / .emat) without Workbench. |
| Command | Purpose |
|---|---|
/dayz-search-download |
Pull prebuilt vector index from GitHub releases (recommended fast path). |
/dayz-search-index |
Build the vanilla-source semantic-search index yourself (~25 min, requires Voyage API key). |
/dayz-search-wiki-index |
Index the Bohemia community wiki into the same DB. |
| Command | Purpose |
|---|---|
/dayz-clean-workspace |
Remove DayZ scaffolds and their deployed artifacts. |
| Command | Purpose |
|---|---|
/sync-skills |
Link .claude/skills/ into each agent CLI's home dir. Required after clone. |
/agentic-z-update |
Pull upstream template improvements into your clone without touching workspace/. |
/docs-sync |
Detect drift between canonical sources and the Docusaurus wiki; --apply writes mirrors. |
/clean-repo |
Repo-wide cleanup orchestrator across every domain. |
| Agent | Focus |
|---|---|
dayz-script-specialist |
Enforce Script — modded classes, RPCs, replication, gameplay logic. |
dayz-config-specialist |
config.cpp, CfgPatches, CfgVehicles, CfgWeapons, hidden selections. |
dayz-asset-specialist |
.p3d / .paa / .rvmat and Workbench asset integration. |
dayz-object-builder |
.p3d LODs, named selections, geometry, damage zones. |
dayz-map-specialist |
Terrain Builder, DayZ Editor, map objects, clutter, surfaces. |
dayz-ui-specialist |
.layout files, widget scripting, HUD/menu, UI theme. |
dayz-server-admin |
types.xml, init.c, cfggameplay.json, server performance. |
dayz-mod-debugger |
Log/RPT/crash analysis, BattlEye diagnosis, performance profiling. |
dayz-mod-reviewer |
Audit workspace/<ModName>/ for convention compliance; routes findings. |
dayz-workbench-specialist |
Workbench plugin development (editor-time tooling). |
Plus agent-creator for scaffolding new agent definitions.
The full text lives in CLAUDE.md / AGENTS.md / GEMINI.md.
- Communication — answer first, caveat after. Deliver the underlying answer via available tools; mention any limitation as a one-liner after, never as the lead.
- Tooling — pick the fastest tool for the job. Default Python;
cmd/.batfor trivial Windows wrappers; PowerShell only when explicitly asked or genuinely faster; prefer dedicatedRead/Edit/Write/Grep/Glob. - Doc maintenance — plain copies. Edit
CLAUDE.md/AGENTS.md/GEMINI.mdtogether. - Bootstrap —
/sync-skillsafter cloning. Required so Codex and Gemini see the slash commands. - Memory —
local-memory/only, never for rules. User/machine-specific notes only; rules go in the repo. - Model routing — match model to task. Searches → Sonnet subagent; trivial file-find → Haiku; coding/design → main Opus thread. Details in
docs/model-routing.md.
docs/README.md— architecture overview, how to add skills/agents, local-memory rules.docs/dayz-modding.md— full DayZ workflow, prerequisites, env vars, troubleshooting.docs/model-routing.md— when to use Opus / Sonnet / Haiku and the subagent patterns.docs/prompt-conventions.md— why agent and skill files use caps the way they do (RFC 2119 directives, when to cap, when to stay lowercase).wiki/— Docusaurus build of the docs (kept in sync via/docs-sync).
A new skill: create .claude/skills/my-skill/, add SKILL.md with name/description frontmatter and a "How to run" section, drop the script in. Run /sync-skills to make it discoverable in all agent CLIs.
A new agent CLI: append an entry to .claude/skills/sync-skills/agents.json and run /sync-skills. The new home gets links for every skill automatically.
Join us on Discord: discord.gg/dayznchill
Agentic-Z is built by and for the DayZ modding community, and contributions are highly encouraged. Every agent, skill, and convention in this repo started as a real problem someone hit while shipping a mod — the more modders contribute, the sharper the toolkit gets for everyone.
In the Discord you can:
- Learn how to become a contributor. New contributors are walked through the repo layout, the L1/L2/L3 rule structure, and how to land a first PR.
- Propose new agents and skills. If you keep solving the same problem by hand, that's a skill waiting to be written. Pitch it in Discord and we'll help shape it.
- Report bugs and rough edges. Path resolution quirks, AddonBuilder errors, agent prompts that miss the mark — all welcome.
- Share what you've built. Mods, server setups, custom agents, RAG indexes over your own assets. The toolkit improves fastest when people show what they shipped with it.
- Help refine and enhance the product. Docs improvements, troubleshooting entries, better defaults, new MCP integrations — every contribution compounds.
Whether you're a seasoned Enforce Script developer, a server admin, a 3D artist, or just learning DayZ modding for the first time, there's a place for your work here. The goal is a tool that makes DayZ modding accessible and enjoyable for everyone — and that only happens with community input.
The shipped configuration is the security baseline. Tighten it for your environment, never loosen it without thinking.
.claude/settings.json(committed) — narrow Bash allowlist limited to running this repo's own skills (Bash(python .claude/skills/*),Bash(npm list *), etc.) plus an explicit deny list that blocks the dangerous escape hatches:Bash(python -c *),Bash(python -m *),Bash(node -e *),Bash(node -p *),Bash(npm install *),Bash(npx *). Editing this file affects every clone — keep allows narrow and prefer deny rules over removing them..claude/settings.local.json(gitignored, per-clone) — your machine-specific overrides. Never setdangerouslySkipPermissions: truein a long-lived clone; it bypasses every prompt including the deny list. Use/fewer-permission-promptsto build a real allowlist incrementally as you hit prompts..claude/agents/*.md— every agent declares an explicittools:allowlist. Auditor/diagnostic agents (dayz-mod-reviewer,dayz-mod-debugger) cannot Edit/Write/Bash. Authoring specialists get Read/Write/Edit/Glob/Grep plus thedayz-ragMCP tools but no shell or network. Subagents inherit only what's listed — no implicit full-toolset escalation.
If you fork the repo to publish a downstream variant, run git diff main -- .claude/settings.json .claude/agents/ before pushing and convince yourself any widened permissions are intentional.
See LICENSE. Copyright (c) 2026 Brian Orr (DayZ n' Chill). Free to use for developing DayZ modifications.