Mandatory final validation gate for a Skyrim mod release tree or archive. Use after implementation and FOMOD
Scanned 9/3/2026
Install to Claude Code
npx -y skills add ShugokiFable/Ultimate-AI-Starter-Bundle --skill skyrim-ship-gate --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Skyrim Ship Gate?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/shugokifable-skyrim-ship-gate-42157091)More formats (shields.io, HTML) on the badges page.
---
name: skyrim-ship-gate
description: Mandatory final validation gate for a Skyrim mod release tree or archive. Use after implementation and FOMOD
work, before calling a mod finished or ready for Nexus.
compatibility: Windows 10/11; Skyrim Special Edition or Anniversary Edition; PowerShell and Python 3 when bundled scripts
are used
metadata:
version: 4.3.0
updated: '2026-07-22'
library: overseer-skyrim-agent-skills
error_registry_revision: 4.3.0
---
# Skyrim ship gate
## Required gates
1. **Version gate:** active version, changelog, and ownership are correct.
2. **Diff gate:** no unrelated or deployed files were modified.
3. **Plugin gate:** run `forge plugin-info` and `skyrim-plugin-authoring/scripts/audit_plugin_headers.py` for every plugin. Header success is structural only.
4. **Papyrus gate:** changed scripts compile and packaged PEX files match the current build.
5. **Runtime-config gate:** structural and semantic audits pass; installed framework versions are recorded.
6. **Native gate:** every supported DLL target builds and its dependencies are inspected.
7. **Asset gate:** referenced paths exist and generated outputs are identified.
8. **FOMOD gate:** XML parses and referenced sources exist.
9. **Archive gate:** run `scripts/validate_release_tree.py`; inspect the final root manually.
10. **Disclosure gate:** list in-game or GUI tests that were not performed.
## Target-aware plugin gate
Accept HEDR `1.70` or `1.71` when it matches the declared runtime/backport target. Reject an unexplained mismatch, not either value in isolation. Apply the legacy `0x800-0xFFF` or extended light-ID policy accordingly.
## Completion report
```text
INPUTS: required_files=present|missing | attachments=present|missing
MEMORY CHECK: entries=... applied=...
AUTHORITY: installed=... parent=... active=... RESULT=PASS|FAIL
VERSION GATE: prior=... active=... copied_files=... changelog=YES|NO RESULT=PASS|FAIL
EXACT BUILD/COMPILE: command=... dependencies=... RESULT=PASS|FAIL|UNBUILT|N/A
FRAMEWORK VALIDATION: evidence=... RESULT=PASS|FAIL|N/A
SEMANTIC TEST: symptom/player-visible result=... RESULT=PASS|FAIL|UNTESTED
SHIP GATE: command=... RESULT=PASS|FAIL|N/A
FINAL ARCHIVE: path=... sha256=... version_strings=PASS|FAIL|N/A
RUNTIME STATUS: user-confirmed-runtime | runtime-evidenced | tool-validated | assistant-claimed | contradicted
SSEEDIT/CK: not launched
UNRESOLVED: none | exact remaining risks
```
## Evidence-derived release gates
Add these mandatory lines to the verdict:
```text
AUTHORITY: installed=... parent=... active=... RESULT=PASS|FAIL
EXACT BUILD: command=... dependencies=... RESULT=PASS|FAIL|UNBUILT|N/A
SEMANTIC TEST: user symptom/player-visible behavior RESULT=PASS|FAIL|UNTESTED
FINAL ARCHIVE: path=... sha256=... version_strings=PASS|FAIL
```
A parser pass, compile pass, or loader discovery cannot substitute for semantic/runtime evidence. Exclude developer-only artifacts unless the release explicitly includes a separate symbols package.
## V4 plugin master gate
For every generated or changed plugin:
- audit HEDR, ESL flag, record form versions, local-ID mode, master indices, and HEDR count;
- fail extended local IDs below 0x800 unless HEDR is 1.71 and `Skyrim.esm` is first master;
- when master files are available, pass `--master-root` and validate 1.71 dependency compatibility plus transitive master ordering;
- do not call a plugin runtime-valid from header checks alone.
## V4 framework gate
Run the framework linter for every `_KID.ini`, `_DISTR.ini`, `_SWAP.ini`, or SkyPatcher tree. Run the CDF JSON linter for Container Distribution Framework rules. Confirm suffixes, supported keys, field-specific grammar, category placement, exact resolved forms, and runtime logs.
Mandatory regression fixtures include:
- SPID `Weapon =` rejected and `Item =` accepted;
- SPID `65/` rejected while `-C/-D` and `18!` remain accepted;
- eight SPID sections rejected;
- comma TraitFilters rejected;
- BOS whitespace inside transform arguments rejected;
- CDF wildcard-like `add` strings rejected;
- manager bookkeeping markers rejected from release trees.
## Runtime-log reconciliation gate
For every shipped runtime framework, record:
```text
files_discovered
rows_or_rules_read
rows_or_rules_accepted
rows_or_rules_rejected
unresolved_forms
optional_rules_skipped
features_disabled
conflicts_reported
```
A release fails when an intended feature family has zero accepted rows, every
target is unresolved, or its required feature descriptor is disabled.
## Manager-bookkeeping gate
Public and deployable archives must not contain:
```text
__folder_managed_by_vortex
__folder_managed_by_vortex.json
meta.ini
*.meta
```
Fix the source package and redeploy. Do not treat deletion from live `Data` as a
release fix.
## Validator integrity gate
Before changing a shipping config because a linter failed:
- compare the finding against the exact installed parser and runtime log;
- treat publication as evidence, not authority;
- do not modify runtime-accepted data solely to make a validator green;
- require a production-path fixture that invokes the same CLI/auditor used by the ship gate;
- fail the skill pack when a documented mandatory check is absent from the actual production tool.
Mandatory V4.3 fixtures include:
- BOS auditor detects `rotR(147.9, 355.9, 82.7)`;
- SPID accepts `ExclusiveGroup`, `DeathItem`, and linked key families;
- SPID/KID trailing semicolon comments do not corrupt fields;
- KID accepts its special `ExclusiveGroup` key;
- ordinary KID blank types and record signatures remain rejected under KID 4.0.6.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!