dayz-preflight
Skill20 starsChanged 42 days agoMITView on GitHub
Use when: P:\\ not mounted, DayZ Tools missing, workshop folder, vanilla data unpacked, before building/packing, AddonBuilder path, DayZDiag locatable. Read-only env check. Not launch/test: dayz-test-ingame. Also: cacheP3D, unpacked -mod folder, Workbench 1.30.
In this repository47 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- 3d-generation-harnessSkill
- ai-3d-to-dayzSkill
- ardy-motion-generationSkill
- blender-animationSkill
- blender-assemblySkill
- blender-visual-reviewSkill
- dayz-3d-viewerSkill
- dayz-ai-patternsSkill
- dayz-animation-pipelineSkill
- dayz-aviationSkill
- dayz-basebuildingSkill
- dayz-charactersSkill
- dayz-clothingSkill
- dayz-doorsSkill
- dayz-environment-hazardsSkill
- dayz-feature-specSkill
- dayz-mcp-verifySkill
- dayz-model-pipelineSkill
- dayz-mod-workflowSkill
- dayz-motorbikesSkill
- dayz-p3d-auditSkill
- dayz-p3d-inspectorSkill
- dayz-particlesSkill
- dayz-pbo-buildSkill
- dayz-pbo-reverse-engineeringSkill
- dayz-persistenceSkill
- dayz-physics-engineSkill
- dayz-proxy-alignSkill
- dayz-realistic-animation-directorSkill
- dayz-sound-systemSkill
- dayz-test-ingameSkill
- dayz-texture-pipelineSkill
- dayz-ui-developmentSkill
- dayz-undergroundSkill
- dayz-vehiclesSkill
- dayz-weaponsSkill
- enforce-script-referenceSkill
- mixamo-retargetSkill
- ovh-cloudSkill
- rigorous-data-auditSkill
- rip-vehicle-importSkill
- systematic-debuggingSkill
- task-observerSkill
- uv-clean-atlasSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 4 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Verify the DayZ modding environment before doing any DayZ work.
- Very specific: line 12
Non-redundancy note: If the flow goes through dayz-test-ingame, its dayz-test.ps1 preflight already checks AND auto-fixes these (junction …
- Distinctive: line 53
Before invoking any other DayZ skill.
- Distinctive: line 54
After a fresh clone of the repo.
- Very specific: line 55
After a fresh boot of the workstation — P:\ does not auto-mount.
- Very specific: line 73
If P:\ is not mounted:
- Very specific: line 87
Don't try to mount P:\ programmatically — it's a DayZ Tools function and assumes Tools is installed and configured.
- Distinctive: line 88
Don't gate on the DayZ Tools / vanilla data / Workshop folder checks — they're warnings, not errors.
- Very specific: line 89
Don't reintroduce hard-coded paths in other DayZ skills.
- Distinctive: line 101
Check the registry value, and that the exe behind it is really there:
- Very specific: line 118
Not verified yet: that Buldozer opens a *custom* .p3d with its rvmats.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/dayz-preflight
Verify the DayZ modding environment before doing any DayZ work. Halts with a clear error if P:\ is not mounted (per _shared/dayz-conventions.md); warns on optional checks so the user can decide whether to proceed.
Read-only. Preflight inspects state and reports. It never mounts drives, creates junctions, or otherwise mutates the filesystem — fixes belong to dedicated setup skills.
Non-redundancy note: If the flow goes through dayz-test-ingame, its dayz-test.ps1 preflight already checks AND auto-fixes these (junction creation etc.) — this skill is the read-only/warn variant.
Follow _shared/dayz-conventions.md.
What it checks
| # | Check | Severity |
| 1 | P:\ drive is mounted | hard fail — exit 1 |
| 2 | DayZ Tools installed (AddonBuilder.exe locatable) | warn |
| 3 | Vanilla DayZ data unpacked under P:\ | warn |
| 4 | P:\Mods\ is a directory junction to <DayZ install>\!Workshop\ (not a regular folder, not missing, not dangling) | warn — build-pbo hard-fails on the same condition |
| 5 | DayZDiag_x64.exe locatable (required for -filePatching iteration; retail exes block past loading) | warn |
Exit code 0 = ready (or warnings only). Non-zero = hard environment issue, named in stderr.
How paths are resolved
Paths are not blindly hard-coded. Resolution order, first hit wins:
| What | Order |
| DayZ Tools install root | 1. DAYZ_TOOLS_PATH env var → 2. Windows registry (HKLM\SOFTWARE\WOW6432Node\Bohemia Interactive\DayZ Tools → Path value, plus the HKLM non-WOW6432 and HKCU siblings) → 3. Common Steam paths (C:\Program Files (x86)\Steam\steamapps\common\DayZ Tools, then C:\Program Files\…). A candidate counts only if Bin\AddonBuilder\AddonBuilder.exe exists under it. |
| Vanilla data root | 1. DAYZ_VANILLA_DATA_PATH env var → 2. Canonical names on P:: P:\dz, P:\DZ, P:\dta. A candidate counts only if it exists and is non-empty. |
P:\ and P:\Mods\ | Fixed by DayZ engine convention — not configurable. |
To override either env var, set it in your shell or in the user/system environment before running any DayZ skill. Example (PowerShell): $env:DAYZ_TOOLS_PATH = 'D:\Games\Steam\steamapps\common\DayZ Tools'.
The find_dayz_tools() and find_vanilla_data() helper functions in preflight.py are reusable — future DayZ skills (e.g. dayz-pbo-build) should import them instead of re-implementing path discovery.
How to run
This skill's directory is
<skills>\dayz-preflight\.
python <this-skill's-dir>\preflight.pyWhen to run
- Before invoking any other DayZ skill.
- After a fresh clone of the repo.
- After a fresh boot of the workstation —
P:\does not auto-mount; you have to open DayZ Tools and mount it (or use the Tools "Mount P drive" command) at the start of each session.
Output
Plain text, one line per check:
DayZ preflight
[OK] P:\ is mounted
[OK] DayZ Tools found: C:\Program Files (x86)\Steam\steamapps\common\DayZ Tools
[OK] DayZDiag_x64.exe found: C:\Program Files (x86)\Steam\steamapps\common\DayZ\DayZDiag_x64.exe
[OK] Vanilla data found: P:\dz
[OK] Workshop deploy folder exists: P:\Mods
Preflight complete.If P:\ is not mounted:
DayZ preflight
[FAIL] P:\ is NOT mounted
Open DayZ Tools and mount the P drive (Tools menu > Mount P drive),
or map it directly: subst P: "<dayz-projects>"Exit 1, and downstream DayZ skills should refuse to run.
Do not
- Don't try to mount
P:\programmatically — it's a DayZ Tools function and assumes Tools is installed and configured. Surface a clear message and let the user mount it. (Manual alternative when Tools' mount is unavailable:subst P: "<dayz-projects>"— the operational route registered in dayz-test-ingame.) - Don't gate on the DayZ Tools / vanilla data / Workshop folder checks — they're warnings, not errors. The user may have a custom layout.
- Don't reintroduce hard-coded paths in other DayZ skills. Import
find_dayz_tools/find_vanilla_datafrom this skill so resolution stays consistent (env var → registry → fallback).
SP-010 — Debug/diagnosis preflight extension
For DEBUG/diagnosis tasks (not just builds), also verify/request mounted: (1) unpacked vanilla scripts (P:\scripts) — the authoritative source for engine/action/CarScript behavior; (2) the deployed mod tree (P:\<Mod>) to confirm WHAT is actually in the build; (3) the working reference mod. Without these, diagnosis degrades to memory/diff. [LL-075, LFQuad 2026-05-25]
SP-374 — Object Builder's external viewer points at a non-existent exe by default
Buldozer is the cheap answer to "how does it look?" — materials, alpha and animations previewed without paying an in-game cycle. On a stock install the viewer is wired to a path that does not exist, so it silently never gets used and the question goes in-game instead.
Check the registry value, and that the exe behind it is really there:
$v = (Get-ItemProperty 'HKCU:\Software\Bohemia Interactive\Dayz Tools\Object Builder\CConfig').'%External Viewer'
$exe = ($v -split ' -buldozer')[0].Trim('"')
Test-Path $exeFAIL with the real path as the suggestion: <steamapps>\common\DayZ\DayZ_x64.exe. The DayZ Tools
installer writes <steamapps>\common\DayZ_x64.exe — without the DayZ\ directory — which is why
the default is broken out of the box.
Measured on this box: configured path Test-Path = False, real path = True, P:\Buldozer present.
Cost of not checking it: ~20 SUB_BRZ sessions paid in-game cycles for "does it show?" questions
(label alpha, needle size, quad behind the screen) with zero mentions of Buldozer in the project
handoff.
Not verified yet: that Buldozer opens a custom .p3d with its rvmats. Do not promote this to
dayz-model-pipeline / dayz-vehicles as a visual gate until that part is measured.
DayZ 1.30 Exp (build 1.30.164014)
Digests F/H/J/L/O do not list a false sentence in this skill. The 1.29 checks above still hold.
What 1.30 adds is Tools/launch awareness (not new preflight.py probes — those remain 1.29):
- (since 1.30 Exp [CHANGELOG])
-cacheP3D=0/1next to unbinarized.p3dspeeds later Game/Buldozer launches (work\changelog-1.30-exp-modding.md:11). Surface it when the user is about to iterate MLOD in Buldozer; this skill still does not launch. - (since 1.30 Exp [CHANGELOG])
-modmay point at a physical unpacked folder; RV configs load unpacked (:27-28). Preflight still requiresP:\+ Workshop junction for the packed deploy path; unpacked iteration isdayz-test-ingame. - (since 1.30 Exp [CHANGELOG] WORKBENCH) Ragdoll editor, Enfusion config editor, Animation Editor 2021 Enfusion. This extract has no Workbench 1.30 exe on disk (Digest O §6.4) — treat as [CHANGELOG]; do not invent install paths.
- SP-374 Buldozer viewer path is unchanged as a check. Pair it with
-cacheP3Donly after Tools 1.30 is the installed tree.
Operational flags and argv: dayz-test-ingame / dayz-test-ingame/references/dayz-1-30-test-ingame.md. Mesh cache: dayz-model-pipeline / dayz-model-pipeline/references/dayz-1-30-model-pipeline.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

