Design & media

Garden Layout Planner

Try it

Plan and design garden layouts with companion planting, spacing, sun requirements, crop rotation, and exportable layout management for small gardens and farms.

What it does

Design your garden with smart planning tools for companion planting, spacing, and sun requirements.

The skill document

Garden Layout Planner

Design your garden with smart planning tools for companion planting, spacing, and sun requirements.

Quick Start

Add a garden bed to your layout

garden_layout.py add-bed "" --width  --length  --sun "full/partial/shade"

Add plants to a bed

garden_layout.py add-plant "" "" --row  --col 

Get companion planting suggestions

garden_layout.py companions ""

Get spacing requirements

garden_layout.py spacing ""

Show complete garden layout

garden_layout.py layout

Export layout to markdown

garden_layout.py export ""

Usage Patterns

For new garden setup

# Define your beds
garden_layout.py add-bed "Bed 1" --width 4 --length 8 --sun "full"
garden_layout.py add-bed "Bed 2" --width 3 --length 6 --sun "partial"

# Check companion planting
garden_layout.py companions "tomato"  # Best with basil, carrots, onions
garden_layout.py companions "cucumber"   # Best with beans, corn, peas

# Add plants with proper spacing
garden_layout.py add-plant "Bed 1" "tomato" --row 1 --col 1
garden_layout.py add-plant "Bed 1" "basil" --row 1 --col 3  # Companion!
garden_layout.py add-plant "Bed 2" "beans" --row 1 --col 1
garden_layout.py add-plant "Bed 2" "corn" --row 2 --col 1  # Companion!

# Review your layout
garden_layout.py layout

For companion planting optimization

# Check what grows well together
garden_layout.py companions "carrots"  # Good with tomatoes, onions, lettuce
garden_layout.py companions "onions"   # Good with carrots, tomatoes, beets

# Avoid bad combinations
garden_layout.py incompatible "potatoes"  # Avoid with tomatoes, cucumbers

For small space maximization

# Use vertical growing for space efficiency
garden_layout.py add-bed "Trellis" --width 1 --length 6 --sun "full"
garden_layout.py add-plant "Trellis" "cucumber" --row 1 --col 1
garden_layout.py add-plant "Trellis" "peas" --row 2 --col 1

# Intensive planting with succession
garden_layout.py add-bed "Intensive Bed" --width 3 --length 4 --sun "full"
garden_layout.py add-plant "Intensive Bed" "lettuce" --row 1 --col 1
garden_layout.py add-plant "Intensive Bed" "radishes" --row 1 --col 2  # Fast harvest

For crop rotation planning

# Track what you planted each year
garden_layout.py add-season "2026"  # Starts fresh layout
garden_layout.py add-plant "Bed 1" "tomatoes" --row 1 --col 1
garden_layout.py add-plant "Bed 2" "beans" --row 1 --col 1

# Next year, change families
garden_layout.py add-season "2027"  # New layout
garden_layout.py add-plant "Bed 1" "carrots" --row 1 --col 1  # Different family
garden_layout.py add-plant "Bed 2" "corn" --row 1 --col 1      # Different family

Companion Planting Guide

Best Combinations (Good Together)

PlantGood WithWhy
TomatoesBasil, carrots, onions, marigoldsBasil enhances flavor, carrots repel pests
CucumbersBeans, corn, peas, radishesBeans fix nitrogen, corn provides support
LettuceCarrots, radishes, onionsRadishes mark rows, carrots break soil
PeppersBasil, onions, carrotsBasil repels aphids
BeansCorn, potatoes, cucumbersNitrogen fixation benefits neighbors
CarrotsTomatoes, onions, lettuceOnions repel carrot fly
CornBeans, squash, cucumbersThree Sisters method
SquashCorn, beans, radishesBeans repel squash beetles

Incompatible Plants (Avoid Together)

PlantAvoid WithWhy
TomatoesPotatoes, cucumbers, fennelSame pests/diseases
BeansOnions, garlicInhibit growth
CarrotsDill, parsnipsDill attracts carrot fly
CucumbersPotatoes, sagePotatoes compete for space
OnionsBeans, peasInhibit bean growth

Spacing Requirements

Small Plants (6-12 inches apart)

  • Lettuce: 6-8 inches
  • Spinach: 4-6 inches
  • Radishes: 2-3 inches
  • Onions: 4-6 inches
  • Carrots: 2-3 inches

Medium Plants (12-24 inches apart)

  • Peppers: 18-24 inches
  • Eggplant: 18-24 inches
  • Beans (bush): 12-18 inches
  • Cabbage: 18-24 inches

Large Plants (24+ inches apart)

  • Tomatoes: 24-36 inches
  • Squash: 24-48 inches (or trellis)
  • Corn: 12-18 inches (in blocks for pollination)
  • Potatoes: 12-15 inches

Sun Requirements

Full Sun (6-8+ hours daily)

  • Tomatoes, peppers, eggplant, squash, corn, beans, cucumbers

Partial Sun (4-6 hours daily)

  • Lettuce, spinach, kale, peas, carrots, beets

Shade (<4 hours daily)

  • Some leafy greens, herbs like mint, chives

Examples

Three Sisters Garden (Traditional)

# Classic Native American companion planting
garden_layout.py add-bed "Three Sisters" --width 8 --length 8 --sun "full"

# Plant corn in center (support)
garden_layout.py add-plant "Three Sisters" "corn" --row 4 --col 4

# Plant beans around corn (nitrogen)
garden_layout.py add-plant "Three Sisters" "beans" --row 4 --col 2
garden_layout.py add-plant "Three Sisters" "beans" --row 4 --col 6

# Plant squash at edges (ground cover)
garden_layout.py add-plant "Three Sisters" "squash" --row 1 --col 1
garden_layout.py add-plant "Three Sisters" "squash" --row 1 --col 8
garden_layout.py add-plant "Three Sisters" "squash" --row 8 --col 1
garden_layout.py add-plant "Three Sisters" "squash" --row 8 --col 8

Tomato-Basil Garden

# Simple companion planting
garden_layout.py add-bed "Tomato Patch" --width 4 --length 6 --sun "full"

garden_layout.py add-plant "Tomato Patch" "tomato" --row 1 --col 1
garden_layout.py add-plant "Tomato Patch" "basil" --row 1 --col 3  # Companion!
garden_layout.py add-plant "Tomato Patch" "carrots" --row 2 --col 1  # Under tomatoes
garden_layout.py add-plant "Tomato Patch" "carrots" --row 2 --col 3

Mixed Bed for Small Spaces

# Intensive planting
garden_layout.py add-bed "Small Space" --width 3 --length 4 --sun "partial"

garden_layout.py add-plant "Small Space" "lettuce" --row 1 --col 1
garden_layout.py add-plant "Small Space" "radishes" --row 1 --col 2  # Fast, marks row
garden_layout.py add-plant "Small Space" "lettuce" --row 1 --col 3

garden_layout.py add-plant "Small Space" "spinach" --row 2 --col 1
garden_layout.py add-plant "Small Space" "onions" --row 2 --col 2
garden_layout.py add-plant "Small Space" "spinach" --row 2 --col 3

Search Features

  • Find compatible plants for companion planting
  • Get spacing requirements for any plant
  • Search layouts by plant name
  • Filter by sun requirements

Security

Path Validation

The export function validates output paths to prevent malicious writes:

  • ✅ Allowed: ~/.openclaw/workspace/, /tmp/, and home directory
  • ❌ Blocked: System paths (/etc/, /usr/, /var/, etc.)
  • ❌ Blocked: Sensitive dotfiles (~/.bashrc, ~/.ssh, etc.)

Data Storage

  • Garden layouts stored in: ~/.openclaw/workspace/garden_layout_db.json
  • Each bed tracks: dimensions, sun exposure, plants with positions
  • Companion database built-in with 50+ plant relationships
  • JSON format makes it easy to backup or migrate

Best Practices

  1. Plan before planting - Use layout planner to visualize before putting seeds in ground
  2. Use companion planting - Plant compatible species together
  3. Check spacing - Don't overcrowd, plants need room to grow
  4. Track sun exposure - Different beds have different sun requirements
  5. Plan for rotation - Track what you plant where each year
  6. Export for reference - Keep a backup of your garden plan
  • plant-tracker - Track individual plants with care schedules and harvests
  • seasonal-planting-guide - What to plant when in your growing zone

Use together for complete garden management!

Related skills

Manage Stripe customers, subscriptions, invoices, products, prices, and payments through OAuth-authenticated API calls.

by byungkyu720 installs29 stars

Post videos, photos, text, and documents to 10 social platforms through a single REST API call.

by victorcavero14375 installs50 stars

Search, read, and manage YouTube videos, playlists, channels, subscriptions, and comments via managed OAuth.

by byungkyu880 installs145 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

Build or update a Figma screen from code or description, reusing the file's published design system.

by OpenAI27.5k stars

More from johstracke

Browse all skills

Organized research and knowledge management for agents. Use when you need to structure, store, retrieve, and export research notes across topics. Supports adding notes with tags, listing topics, searching across all notes, and exporting to markdown. Perfect for multi-session projects, tracking ideas, and maintaining structured knowledge.

by johstracke139 installs3 stars

Summarize, extract keywords, search, and list research notes from research-assistant's database to review progress and find insights efficiently.

by johstracke69 installs2 stars

Manage and track your plants and garden with care schedules, growth monitoring, and detailed records for watering, fertilizing, pruning, harvesting, and more.

by johstracke60 installs2 stars

Security scanner for Python skills before publishing to ClawHub. Use before publishing any skill to check for dangerous imports, hardcoded secrets, unsafe file operations, and dangerous functions like eval/exec/subprocess. Essential for maintaining trust and ensuring published skills are safe for others to install and run.

by johstracke71 installs

Provides monthly, zone-specific planting schedules, plant details, and custom entries to help gardeners plan seasonal crops year-round.

by johstracke57 installs

Identify, track, and manage garden pests and diseases, log treatments, monitor effectiveness, and get tailored control recommendations for home gardeners and...

by johstracke52 installs