# Yard Plot > A measured landscape plan for a backyard, side yard or front yard. The person draws the lot in feet on a snap grid (0.5, 1 or 2 ft) - house, patio, paths, shed, planting beds, AC unit or meter, shade zones and the line they want screened - and drags trees, privacy-screen plants, shrubs and perennials onto it, each drawn as a circle at its mature spread. The browser checks the plan live on every drag, free and before sign-in. A metered model then reviews the plan as a residential landscape designer would and proposes concrete moves; the page replays every move against the same checks before showing it, and the person accepts moves onto the plan. Live at https://yard-plot.skillsafe.ai/ · API tutorial at https://yard-plot.skillsafe.ai/api.html · Tokens at https://yard-plot.skillsafe.ai/tokens.html ## What it does One work object: one plan - a lot of 10 to 300 ft on a side, a USDA hardiness zone, a deer pressure (low, moderate, high) and up to 220 items. Coordinates are feet from the lot's top-left corner, x east, y south. Structures are axis-aligned rectangles placed by their top-left corner and rotated by quarter turns; plants are placed by their trunk. The free lane (no account, no model, all in the browser): - A catalogue of 38 species with typical mature width and height, accepted light (full sun 6+ hours, part shade 3-6, shade under 3), deer palatability, evergreen or not, hardiness zones and, for hedge plants, centre-to-centre spacing and years to close. - Crowding: two plants need at least 85% of the average of their mature widths between trunks; a same-species hedge pair may close to the low end of its spacing; a perennial, groundcover or shrub no taller than 35% of a tree may grow under it. - Foundation: trunk at least the mature radius + 1 ft from the house. Utilities: radius + 3 ft. Lot line: the canopy must not overhang it. Canopy over a patio, path or shed by more than 1 ft is flagged; anything planted on hardscape is an error. Structures must not overlap; paths must be 3 ft wide. - Light at a trunk is the deepest shade zone over it or the mature canopy of a tree or screen at least twice the plant's height (evergreen gives shade, deciduous part shade); it must be in the species' light list. Hardiness zone and deer pressure are checked per species. - Screens: five or more of one screen species in a row is a monoculture; a screen line's coverage by evergreen canopy 6 ft or taller at maturity is measured along the line and every gap is reported. - Totals: plants and species, evergreen share, mature canopy cover of the lot, planting beds covered at maturity, open ground, screen coverage, errors and warnings. - Undo and redo, duplicate, rotate, keyboard nudging, resize handles, rulers and dimension lines (an item's size, a plant's spread and its distance to the nearest wall, utility or lot line). - Exports: the plan as a standalone SVG, a printable one-page plan with the placement schedule, a CSV of placements (which the page can open again), the plan as JSON and a Markdown report. Two metered lanes over one system prompt (gpt-terra), routed by the `task` field: - `review` - the first look: 3-8 assessment notes by area (spacing, foundation, boundary, sun, hardiness, deer, privacy, resilience, access, utilities, style, maintenance, phasing) with a verdict, 0-8 moves (move, swap, replace, remove, add) each with a reason and the finding keys it addresses, a phasing plan (Year 1 bones, Year 2 large shrubs and paths, Year 3+ perennials) and what to check on the ground. - `rereview` - after the person accepted or declined moves or edited the plan: the browser sends what they did with each earlier move and what changed; the reply marks each earlier move done, still needed, dropped or superseded, comments on the person's own changes and proposes only what is still worth doing. The page replays every proposed move on a copy of the plan: a move naming an unknown id or species or a point outside the lot cannot apply; a move that would add a finding is shown as "would break" with the finding; what each move clears is computed, and a claim to fix a finding that still stands is reported. Findings the review does not mention are listed. History is saved to the person's SkillSafe account (a declared collection, one record per plan, updated on each re-review and each accepted or declined move) and mirrored in the browser. ## The contract Run body, all strings: `{ "task": "review" | "rereview", "title": string, "context": string, "yard": JSON string, "items": JSON string, "checks": JSON string, "catalog": JSON string, "clipped": JSON string (optional), "changes": JSON string (rereview), "previous": JSON string (rereview) }`. The reply is one JSON object: `task`, `title`, `headline`, `assessment[] {area, verdict, note, items}`, `moves[] {action, item, x, y, with, species, reason, addresses}`, `phasing[] {phase, items, why}`, `next_checks[]`, `notes[]`, `previous[] {ref, status, note}`. ## Sources Derived from the agent skill @erichowens/fancy-yard-landscaper (https://skillsafe.ai/skill/@erichowens/fancy-yard-landscaper/), from the erichowens/some_claude_skills repository: plant for mature size, keep the canopy off the foundation, never put a 40-60 ft screen tree 4 ft from a fence, mix two or three species in a privacy screen, the arborvitae and deer warnings, the sun-exposure guide, the hedge-spacing table and the phased-implementation order. Not affiliated with the skill's author. Plant figures are typical mature sizes; local growth varies.