← HZplanCONTENT HISTORY

Update to HZplan

Snapshot Oct 27, 2026 · 00:08 UTC · version 3.2.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save HZplan and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Create a usable new HZplan floor plan from user-supplied dimensions, a sketch, a reference image, or another plan while verifying structure, circulation, openings, and furniture in stages. Use when the user asks to build, draw, recreate, plan, furnish, or lay out a new home or storey in HZplan. Do not use for automatic image conversion or a narrow change to an existing HZplan plan; use the dedicated import workflow or hzplan-edit-floor-plan-safely instead.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 454
    },
    {
      "relative_path": "references/room-planning-basics.md",
      "size_in_bytes": 6448
    }
  ],
  "name": "hzplan-build-floor-plan",
  "skill_md_contents": "---\nname: hzplan-build-floor-plan\ndescription: Create a usable new HZplan floor plan from user-supplied dimensions, a sketch, a reference image, or another plan while verifying structure, circulation, openings, and furniture in stages. Use when the user asks to build, draw, recreate, plan, furnish, or lay out a new home or storey in HZplan. Do not use for automatic image conversion or a narrow change to an existing HZplan plan; use the dedicated import workflow or hzplan-edit-floor-plan-safely instead.\n---\n\n# Build a HZplan floor plan\n\nBuild from evidence, expose uncertainty, and verify the structural plan before adding decorative detail. The user's explicit instructions take precedence over this workflow.\n\n## Establish the source of truth\n\n1. Identify whether the layout comes from written dimensions, a user-supplied image, a sketch, or an explicitly approximate brief.\n2. Inspect every supplied image before making a plan write. Distinguish geometry that is visible or measured from geometry that is inferred.\n3. If the user requests an accurate reconstruction of a named real building, fictional set, or other known place without supplying layout evidence, do not construct it from memory. Ask for a plan image or dimensions, or ask whether an approximate interpretation is acceptable.\n4. Use only user-supplied, licensed, or public-domain plan inputs. Never scrape listing sites or other third-party sources for floor plans.\n5. State a compact implementation plan and any material assumptions before the first write. Ask a question only when missing information would materially change the layout; otherwise make conservative, disclosed assumptions and proceed.\n6. Respect requested review gates. If the user asks to approve walls and openings before furniture, stop at that boundary.\n\n## Initialize authoring\n\n1. Call `get_authoring_guide` once at the start of the authoring run. Treat it as the canonical source for current entity types, predicates, anchors, and geometry rules; do not rely on remembered syntax.\n2. Call `create_plan`, then `create_storey` for each requested floor.\n3. Author a fixed storey `size_mm` only when reliable dimensions define the full extent. Otherwise let the storey derive its extent from its walls.\n4. Pass `storey_id` explicitly on every storey-scoped call. Work on one storey per batch.\n\n## Plan for use, not only geometry\n\n1. When the brief leaves room proportions, openings, circulation, or furniture placement to your judgement, read `references/room-planning-basics.md` before choosing the layout.\n2. Treat its non-obstruction and circulation rules as default invariants. Treat its dimensions and room patterns as conservative design defaults, not universal regulations; explicit user needs and the applicable local standard take precedence.\n3. Decide intended room connectivity and main circulation before placing openings. Preserve useful wall runs, then check door swings and approaches against furniture, fixtures, and other doors.\n4. Place furniture only when realistic footprints and use zones fit. If the requested contents cannot fit without blocking access or overlapping working space, explain the conflict rather than forcing an unusable layout.\n\n## Build the structure in stages\n\n1. Create exterior and interior walls before openings, rooms, furniture, fixtures, or finishes.\n2. Prefer `upsert_entities` for a coherent wall batch. Check the entire solver result; a rejected atomic batch persisted nothing.\n3. Omit entity IDs when entities are independent and server-minted IDs are sufficient. Supply clear local IDs when an atomic batch must express relationships among entities created together. In both cases, treat every returned ID as authoritative. An ID-less create is not idempotent: if its outcome is uncertain, re-read the storey before retrying so the retry cannot create duplicates.\n4. Create doors, windows, and other openings only after their hosting walls exist. Use returned wall IDs rather than guessed identifiers.\n5. Inspect each write result, including any `normalized_anchors`, then call `get_storey_plan` after each structural stage. Use returned IDs, `resolved_geometry`, compass sides, inner faces, and solved dimensions to identify what was actually created.\n6. Use `render_storey_widget` when visual comparison materially helps. Compare the result with the source before moving to the next stage.\n7. When the solver reports an infeasible, ambiguous, or overlapping layout, use its diagnostics to repair the smallest responsible batch. For attachment errors, use the valid pairings or exact replacement assertion returned by HZplan instead of guessing. Do not conceal the failure or continue layering entities onto an invalid structure.\n\n## Name and check spaces\n\n1. Call `get_plan_topology` after walls and openings define enclosed areas.\n2. Use each topology node's returned center with `name_space_at_point` to name rooms. Do not represent rooms as objects.\n3. Check that the intended entrance and internal circulation are represented by openings and that expected rooms are connected. Report uncertain or disconnected areas instead of inventing access.\n\n## Add later layers only when in scope\n\n1. Add furniture, fixtures, and surface finishes only after the structural layout is verified, unless the user explicitly requested a one-pass approximation.\n2. Keep later work in small, reviewable room-level batches. After furniture placement, inspect the render for blocked openings, broken circulation, inaccessible storage, and unrealistic use zones.\n3. Do not call `generate_object_3d` merely because an object was added. Start slow or quota-consuming generation only when the user explicitly requests it, and set the expectation that it may take several minutes.\n\nFor follow-up changes to an existing plan, use the state-preserving workflow in `hzplan-edit-floor-plan-safely` when it is available.\n\n## Complete the handoff\n\nBefore claiming completion:\n\n- Confirm the intended storeys, walls, and openings exist.\n- Confirm solver validation is acceptable.\n- Confirm room names and topology match the requested layout when rooms were in scope.\n- Confirm openings, circulation, and furniture remain usable when HZplan was asked to make those design choices.\n- Provide the relevant plan or render link.\n- Summarize assumptions and unresolved discrepancies.\n- Describe the result as a design representation, never as professional building-code certification.\n"
}

SHA-256 of public snapshot: 4318f7ca1eb983a0fa5533d687d1213ef8a47036c0c0c721096440c85cf85e63