## Example ```json { "aiInstructions": { "ItemGenerationAndUsage": { "custom": "## Inventory changes\nADD: item physically enters possession — picked up, looted, gifted, crafted, or found.\nREMOVE: item physically leaves — consumed, handed over, destroyed, stolen, or lost.\n\nNEVER update for items merely seen, discussed, offered, displayed, inspected, or nearby. Awareness is not possession.\n\n## Transaction rule\nA purchase requires two conditions in sequence: (1) a price is stated, AND (2) the player explicitly pays or agrees AFTER hearing the price. Do not add a purchased item until both conditions occur in the same scene.\n\n## Loot tiers\nCommon enemies: consumables and coin only. Named enemies: one item appropriate to their role. Elite or boss: one item worth keeping long-term, plus coin." } } } ``` ## Fields ### custom The default key, under the non-standard-cased `ItemGenerationAndUsage`. As with every AI task, the key name is yours and you can add further keys; all non-empty values are concatenated in key order (see [Story Instructions](/ai/aiInstructions) for the processing rule). This block feeds both internal consumers, `generateItemDefinitions` and `generateItemUpdates`. ## Authoring pattern Cover in `custom`: - **Inventory trigger rules and the transaction gate are the most critical content in this key.** Without them the engine adds items when the player browses a shop or hears an item described, and completes purchases before the player agrees. - Loot rarity guidance and how drops should scale with enemy tier. - Item description framing: what level of detail new item definitions should have. - World economy calibration: relative cost of goods, how scarce certain item types are. - How newly materialized items should be framed (flavour first, mechanics second). > **Combat rules belong in `generateActionInfo`.** Item-use rules that must affect combat resolution (e.g. "this potion heals 20 HP mid-combat") belong in [`generateActionInfo`](/ai/generateActionInfo), not here.