interact-prompt · git:20260913.233e3e4 · 2026-09-13 · sha256 280c45943abfef9d
interact-prompt git:20260913.233e3e4A
Immutable. This exact content never changes and is served at /api/v1/blob/280c45943abfef9d.
--- name: interact-prompt description: Use when the HUD must present currently legal world interactions, semantic actions and current bindings without owning interaction truth, target priority, localization identity or gameplay execution. --- # Interact prompt Ask: `context-one | listed-verbs | no-prompt`. ## Ownership The interaction/gameplay resolver supplies eligible actions, target IDs and authored priority. `input-design` supplies semantic action bindings. `game-localization` supplies stable string IDs/text. This skill only chooses and presents the authorized prompt set. ## Contract For every prompt resolve: - stable `target_id` - stable semantic `action_id` - source resolver revision - current binding glyph/text - stable localization string ID - visibility/occlusion eligibility Do not hardcode a universal interaction ordering. If multiple interactions are legal, use the project's authored priority/tie-break. ## Runtime rules 1. A stale, removed or occluded target invalidates its prompt before activation. 2. Prompt updates are idempotent by target/action/revision. 3. Focus/target churn uses project hysteresis or tie-break data; render frame order is not authority. 4. Changing language or physical binding updates presentation without changing `action_id`. 5. Executing an action belongs to the gameplay owner; showing a prompt never commits it. ## Acceptance Before activation, the UI can identify the exact target/action/revision it is presenting. If the target disappears or a newer resolver revision wins, the stale prompt cannot fire, and remapping/localization changes never alter the underlying gameplay verb.