ワンクリックで
add-item
Add or edit a cosmetic/item in the dataset — fields, types, groups, image links, ids and guids.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Add or edit a cosmetic/item in the dataset — fields, types, groups, image links, ids and guids.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Add a new instance of an existing (recurring) event — instance, spirit, tree, nodes, items, IAPs and shops.
Add a new Season (tier-format spirit trees) — season entry, guide + season spirits, tier-based spirit trees, tiers, nodes, items, IAPs and shops.
Add a Special Visit (Returning Spirits) — visit entry, per-spirit join entries, spirit trees, nodes and items.
Add a Traveling Spirit
| name | add-item |
| description | Add or edit a cosmetic/item in the dataset — fields, types, groups, image links, ids and guids. |
Task: Add one or more items (cosmetics and other unlockables) to the data files, or edit an existing item. This skill defines the item data model and conventions; other skills (traveling spirit, special visit, event instance, season) refer here when they add items.
Based on the SkyGame-Planner item contribution guide: https://github.com/Silverfeelin/SkyGame-Planner/wiki/Contributing-%E2%80%90-Items
src/assets/items/** only. Never touch generated files in /assets/**.guid (nanoid length 10 — npx nanoid -s 10) and, unless
told otherwise, a unique numeric id.src/interfaces/item.interface.ts for the authoritative shape (IItem, ItemType,
ItemSubtype, ItemGroup, IItemDye). The summary below is a guide, not a substitute.// #region ...) of neighbouring entries
in the target file. Follow the file's local one-line vs. multi-line object style.Each top-level folder under src/assets/ → one output file; subfolders are organizational.
Items are grouped by source:
| Source | File |
|---|---|
| Season spirits/trees | src/assets/items/seasons/<season>.jsonc |
| Events | src/assets/items/events/<file>.jsonc (may be a legacy slug — search by region/guid, don't guess) |
| Realms (base-game spirits) | src/assets/items/realms/<realm>.jsonc |
| Base game / other | src/assets/items/base.jsonc, other.jsonc, store.jsonc, friends.jsonc, unsorted.jsonc |
Add each item to the file matching where it is obtained. When a calling skill specifies the target file, use that.
node scripts/next-item-id.mjs once to get the starting numeric id, then increment
by 1 for each additional new item in this batch.id and guid — never duplicate them.IItem)guid (required) — new nanoid(10).id (required for new items) — see above.type (required) — an ItemType value. Determines the closet category:
HairAccessory, HeadAccessory, Hair, Mask, FaceAccessory,
Necklace, Outfit, Shoes, OutfitShoes, Cape.Held (held items/instruments), Furniture, Prop (placeable props).Emote, Stance, Call (honks), Spell, Music (music sheets).Quest, WingBuff, Special (candle blessings, cutscenes,
warps, random-trail-spell and other filler tree nodes).name (required) — the cosmetic's exact name. For spirit cosmetics use
"<spirit name> <cosmetic type>" (e.g. "Pointing Candlemaker Hair"). Check the
Sky: Children of the Light Wiki when unsure.subtype — Instrument (usable/playable held items) or FriendEmote (friend-only emotes).group — availability context: Elder (ascended-candle purchases), SeasonPass
(season pass exclusives), Ultimate (season hearts/ultimate gifts), Limited
(non-returning collabs/events).level — emote level. Add one item per level when an emote has multiple levels.sheet — music sheet reference (for Music items).order — sort order within its category; match the scale used by neighbours.icon — closet icon URL.previewUrl — larger preview image URL.dye (IItemDye) — dye slots: primary / secondary (each IItemDyeSpec, optional
cost), plus previewUrl and infoUrl. See below._wiki — { "href": "<wiki url with #anchor>" }.season on items — the resolver assigns it (and it only applies to season
trees and IAPs). Do not add reference arrays (nodes, iaps, etc.) — those are resolved
from the referencing entities.https://static.wikia.nocookie.net/...). Match the URL style of neighbouring items.https://sky-planner.com/assets/game/dyes/<slot>/<file>.jpg.
New dye preview images are added to the Planner's dyes folder via a separate PR.Example item (multi-line style):
{
"id": 3195,
"guid": "2cm-8PvvzE",
"type": "Prop",
"name": "Bulb Field Painting Prop",
"icon": "https://static.wikia.nocookie.net/.../icon.png",
"previewUrl": "https://static.wikia.nocookie.net/.../preview.png",
"_wiki": { "href": "https://sky-children-of-the-light.fandom.com/wiki/...#Prop" },
"order": 13100
}
Example dye block:
"dye": {
"previewUrl": "https://sky-planner.com/assets/game/dyes/cape/Base_green.jpg",
"primary": {}
}
node scripts/next-item-id.mjs) and mint a guid per new item.npm run json-build — it must succeed (enforces array-shaped files and globally unique
guids). Fix any duplicate-guid or syntax errors.npm test (needs a build first) to confirm the data parses and resolves.