用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/starsector-shipmaker/editor --skill starsector-data-parsing命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | starsector-data-parsing |
| description | Teaches agents how Starsector data files work and how the editor parses/serializes them. |
This skill teaches agents how Starsector data files work and how the editor parses/serializes them.
# style), parsed by custom JsonProcessorhullId, hullName, hullSize, center [Y,X], height, width, spriteName, style, bounds, weaponSlots, engineSlots, builtInWeapons, builtInWings, builtInModsweaponSlots array contains ALL slots including LAUNCH_BAY typelocations is a flat array of X,Y pairs (NOT nested arrays)WS prefix with space and 3-digit padding: WS 001variantId, hullId, weaponGroups (array of groups with slot-to-weapon mappings), wings (array of wing IDs), hullMods.ship file's weaponSlots IDs exactlyPoint2DArrayDeserializer: reads flat number arrays as Point2D pairsSlotLocationsSerializer / Point2DArraySerializer: writes Point2D[] back as flat arraysSaveHullAction.transformSlotsFromBays(): converts LaunchBay port positions using SHIP_CENTER coordinate modeSaveHullAction single-port duplication fix: if (locations.length == 1) { locations = new Point2D.Double[]{locations[0], locations[0]}; }center field: [Y_offset_from_bottom, X_offset_from_left]locations in weapon slots: relative to center pointrotatePointByCenter() — 90° CCW rotationSHIP_CENTER mode — exact inverseLB prefix for launch bay IDs — engine silently ignores themlocations array crashes the engine"WS 001" in a .variant's weapons block or .ship's builtInWeapons). Python's default json.loads will silently overwrite/delete the first duplicate. This causes org.json.JSONException crashes in Starsector's strict engine. Always use strict parsing or custom string replacement when standardizing mod data.weaponSlotChanges and removeWeaponSlots in .skin files reference the baseHullId slot IDs. If you standardize a base .ship file's IDs (e.g., WS0001 -> WS 001), you MUST also update every .skin file that references it, or Starsector will throw a NullPointerException trying to setArc() on a null slot object..variant file's hullId can point to a skinHullId instead of a base .ship ID. Batch-processing scripts must trace variant.hullId -> skinHullId -> baseHullId -> .ship to safely validate slot IDs..variant files located in subdirectories like data/variants/stations/ or data/variants/drones/. These are easily missed by flat-directory parsing scripts.saves/missions/ and saves/common/. A cached variant referencing an old slot ID can cause the Main Menu to instantly crash (RuntimeException: Slot id [X] not found) when the game attempts to render random background fleets. Wipe saves/ when performing mod-wide structural refactors.