Skip to content
Back to skills

Skyrim Ship Gate

ASecurity

Mandatory final validation gate for a Skyrim mod release tree or archive. Use after implementation and FOMOD

  • 5 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
ai-agentspythongoshell

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add ShugokiFable/Ultimate-AI-Starter-Bundle --skill skyrim-ship-gate --agent claude-code

Installs 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 with every re-scan.

Security grade badge for Skyrim Ship Gate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shugokifable-skyrim-ship-gate/badge)](https://www.skillsdirectory.com/skills/shugokifable-skyrim-ship-gate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md5.5 KB
  • scripts/validate_release_tree.py3.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…