oas-program
Installation
SKILL.md
OAS Program
When to use
Use this skill when the user is describing what they want rather than what exists: target areas, must-be-near rules, circulation preferences, count of rooms, hard limits. Program is the brief; Layout is the answer. If a polygon or wall coordinate is being emitted, you're in oas-layout territory, not here.
Key fields (the document is a flat JSON object, not typed classes)
oas_program,plan_id,title,description— metadata;plan_idlinks program → layoutdesign_goal— natural-language intent sentence (helps LLM context)global_constraints—target_area_m2,max_area_m2,orientation_preference,climate,accessibility_level, etc.rooms[]— each entry hasid,usage,desired_area_m2,must_have,should_have,adjacency,avoidadjacency— uses prefixed keys:must_touch,should_touch,avoid_touch,must_connect_viacirculation—primary_entry+ free-formrules[]rationale— optional reasoning string per room