Skip to content

Repository files navigation

Agentic-Z

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.


What you get

  • 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-rag MCP server. Embeddings via Voyage AI (voyage-code-3, 200M-token free tier covers ~3 full rebuilds). Or skip the build entirely with /dayz-search-download and 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-skills run wires them all up.

Quick start

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.py

That 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.


Prerequisites (one-time, per machine)

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).


Architecture — three layers

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 layout

<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

DayZ skills (slash commands)

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).

Front door

Command Purpose
/dayz-init Setup wizard on first run; mission-control hub on every run after. Wraps every other skill.

Bootstrap (one-time per machine)

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.

Mod scaffolding

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.

Build

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.

Test loop

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.

Editors

Command Purpose
/dayz-launch-workbench Open Enfusion Workbench (script + UI editor) detached.
/dayz-launch-objectbuilder Open Object Builder (.p3d editor) detached.

Loot economy (types.xml)

Command Purpose
/dayz-edit-types Programmatically upsert a single <type> in types.xml.
/dayz-split-types Split monolithic types.xml into 18 categorized files.

Specialist tools (deep)

Command Purpose
/dayz-p3d-audit Audit .p3d models for collision, action targeting, physics, animation issues.
/dayz-particles Particle effect creation (.ptc / .emat) without Workbench.

Search / RAG

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.

Cleanup

Command Purpose
/dayz-clean-workspace Remove DayZ scaffolds and their deployed artifacts.

Template maintenance (clone-only, not in plugin marketplace)

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.

DayZ specialist agents

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.


Default rules (L1) at a glance

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/.bat for trivial Windows wrappers; PowerShell only when explicitly asked or genuinely faster; prefer dedicated Read / Edit / Write / Grep / Glob.
  • Doc maintenance — plain copies. Edit CLAUDE.md / AGENTS.md / GEMINI.md together.
  • Bootstrap — /sync-skills after 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.

Documentation

  • 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).

Adding things

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.


Community & contributing

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.


Security baseline

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 set dangerouslySkipPermissions: true in a long-lived clone; it bypasses every prompt including the deny list. Use /fewer-permission-prompts to build a real allowlist incrementally as you hit prompts.
  • .claude/agents/*.md — every agent declares an explicit tools: allowlist. Auditor/diagnostic agents (dayz-mod-reviewer, dayz-mod-debugger) cannot Edit/Write/Bash. Authoring specialists get Read/Write/Edit/Glob/Grep plus the dayz-rag MCP 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.


License

See LICENSE. Copyright (c) 2026 Brian Orr (DayZ n' Chill). Free to use for developing DayZ modifications.

About

AI Agent Stack for DayZ Modding

Resources

Contributing

Stars

16 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages