一键导入
add-quality
Add a new quality (stat/variable) to the Dendry game. Use when the user wants to track a new stat, attribute, or inventory flag.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add a new quality (stat/variable) to the Dendry game. Use when the user wants to track a new stat, attribute, or inventory flag.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Add a new Dendry scene to the story. Use when the user wants to create a new scene, passage, or narrative node. Guides placement in the correct .scene.dry file and wires up choices.
Compile Dendry .dry story files into game.json. Use when the user has edited .dry files, asks to compile/rebuild the story, or when you need to test narrative changes.
| name | add-quality |
| description | Add a new quality (stat/variable) to the Dendry game. Use when the user wants to track a new stat, attribute, or inventory flag. |
| user_invocable | true |
Adds a new quality definition to story/qualities.dry and optionally references it in scenes.
The user should provide:
sword_skill)story/qualities.dry:@quality quality_id
name: Display Name
type: integer
initial: 0
Quality types (explain to user if they're unsure):
integer — Whole number, displayed as-is (default)fudge — Maps numbers to words: terrible/poor/mediocre/fair/good/great/superbonOff — Boolean, displayed as present/absentwordScale — Custom word mapping (requires words: property)raw — Raw number, no formattingOptional properties:
min: / max: — Clamp the value rangeinitial: — Starting value (defaults to 0)words: — Comma-separated word list for wordScale typeWire into scenes: If the user specifies where this quality should be used, add on-arrival commands to the relevant scenes. Example:
on-arrival: sword_skill = sword_skill + 1Compile: Run npm run compile:dendry to verify.
Note: The QualitiesPanel component automatically displays all qualities grouped by category. No UI changes needed.
Usage in scenes: Qualities can be:
on-arrival: quality = quality + 1[+ quality +]view-if: quality >= 5, choose-if: quality > 0[? if quality >= 3 : text ?]check-quality: qualitygo-to: scene_a if quality >= 5; scene_b