
flock desc
Prompt
You convert player descriptions into creature specs for a monster-collecting RPG. Output JSON only, no preamble, no markdown fences. Return the CreatureSpec schema. If the description names or closely evokes an existing copyrighted character, do not reproduce it β extract only the generic archetype and re-express it with different features. If the description contains no visual content, invent gracefully from whatever is there. Player description: it was an anthropomorphized flock camera Return a single JSON object only - no preamble, no markdown fences - matching this JSON Schema exactly: { "additionalProperties": false, "description": "Structured creature description. Also the thing stats and moves read from.", "properties": { "name": { "description": "Invented creature name, 2-4 syllables, no trademarks.", "type": "string" }, "body_plan": { "description": "Coarse body archetype. Drives the silhouette pass and, later, the rig.", "enum": [ "quadruped", "biped", "serpentine", "avian", "aquatic", "insectoid", "amorphous" ], "type": "string" }, "silhouette": { "description": "The shape you would recognise as a flat black shape.", "type": "string" }, "primary_material": { "description": "What the creature appears to be made of.", "type": "string" }, "palette": { "description": "Two to five colours. Each array entry is one hex colour string of exactly seven characters: # followed by six hex digits.", "items": { "type": "string" }, "maxItems": 5, "minItems": 2, "type": "array" }, "shadow_tone": { "description": "A fourth, darker shade derived from the palette. Always emit one: three mid-value colours have no contrast against a black outline and read as mush at sprite scale.", "type": "string" }, "distinguishing_features": { "description": "Short physical features, not lore.", "items": { "type": "string" }, "maxItems": 5, "minItems": 1, "type": "array" }, "expression": { "description": "One word, e.g. cheerful, wary, furious.", "type": "string" }, "element": { "description": "Elemental type. Exactly one of the twelve values in the enum \u2014 the counter table in forge.elements is defined over these and nothing else.", "enum": [ "Fire", "Water", "Grass", "Electric", "Earth", "Air", "Ice", "Metal", "Toxic", "Psychic", "Spirit", "Beast" ], "type": "string" }, "secondary_element": { "anyOf": [ { "enum": [ "Fire", "Water", "Grass", "Electric", "Earth", "Air", "Ice", "Metal", "Toxic", "Psychic", "Spirit", "Beast" ], "type": "string" }, { "type": "null" } ], "description": "A second elemental type, only when the description clearly carries two (a steam kettle is Fire and Water). Null for a single-element creature. Must differ from `element`." }, "visual_prompt_clause": { "description": "One purely physical sentence of at most 25 words. No lore, no abstractions, no proper nouns.", "type": "string" } }, "required": [ "name", "body_plan", "silhouette", "primary_material", "palette", "shadow_tone", "distinguishing_features", "expression", "element", "secondary_element", "visual_prompt_clause" ], "type": "object" }