← Back to Skills Marketplace
johstracke

Garden Layout Planner

by johstracke · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
1053
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install garden-layout-planner
Description
Plan and design garden layouts with companion planting, spacing, sun requirements, crop rotation, and exportable layout management for small gardens and farms.
README (SKILL.md)

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 "\x3Cbed_name>" --width \x3Cfeet> --length \x3Cfeet> --sun "full/partial/shade"

Add plants to a bed

garden_layout.py add-plant "\x3Cbed_name>" "\x3Cplant>" --row \x3Crow> --col \x3Ccol>

Get companion planting suggestions

garden_layout.py companions "\x3Cplant>"

Get spacing requirements

garden_layout.py spacing "\x3Cplant>"

Show complete garden layout

garden_layout.py layout

Export layout to markdown

garden_layout.py export "\x3Coutput_file>"

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)

Plant Good With Why
Tomatoes Basil, carrots, onions, marigolds Basil enhances flavor, carrots repel pests
Cucumbers Beans, corn, peas, radishes Beans fix nitrogen, corn provides support
Lettuce Carrots, radishes, onions Radishes mark rows, carrots break soil
Peppers Basil, onions, carrots Basil repels aphids
Beans Corn, potatoes, cucumbers Nitrogen fixation benefits neighbors
Carrots Tomatoes, onions, lettuce Onions repel carrot fly
Corn Beans, squash, cucumbers Three Sisters method
Squash Corn, beans, radishes Beans repel squash beetles

Incompatible Plants (Avoid Together)

Plant Avoid With Why
Tomatoes Potatoes, cucumbers, fennel Same pests/diseases
Beans Onions, garlic Inhibit growth
Carrots Dill, parsnips Dill attracts carrot fly
Cucumbers Potatoes, sage Potatoes compete for space
Onions Beans, peas Inhibit 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 (\x3C4 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

Related Skills

  • 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!

Usage Guidance
This skill appears to be a simple local CLI for planning gardens: it stores data at ~/.openclaw/workspace/garden_layout_db.json and offers an export command. Before installing or running it, review the export implementation (to confirm that "safe directories" are actually enforced) and verify you are comfortable with the script writing/reading a file in your home directory. If you will run it in an automated agent context, remember the agent can invoke the script and that the DB file will be created/modified under your home. There are no network calls or credential requests visible, which reduces risk; if you need stronger isolation, run the script in a sandbox or review the rest of the file to confirm there are no hidden network or shell-exec operations.
Capability Analysis
Type: OpenClaw Skill Name: garden-layout-planner Version: 1.0.0 The skill bundle is benign. The `SKILL.md` provides clear instructions without any prompt injection attempts and explicitly mentions security controls for file exports. The `scripts/garden_layout.py` script stores data in a safe user workspace directory and implements robust path validation in its `export_layout` function via `is_safe_path`, preventing writes to system directories or sensitive user files. There is no network activity, no execution of untrusted external code, and no attempts to access sensitive system information or credentials.
Capability Assessment
Purpose & Capability
The skill name, SKILL.md usage examples, and the included Python script all implement garden bed/plant management, companion suggestions, spacing, layout display, and export. There are no requests for unrelated cloud credentials, external binaries, or surprising capabilities.
Instruction Scope
SKILL.md instructs running the included CLI and exporting layouts to files. It claims "file exports restricted to safe directories," but the visible parts of scripts/garden_layout.py store the DB at ~/.openclaw/workspace/garden_layout_db.json and perform file exports — I did not see an explicit enforcement of a "safe directories" policy in the visible code. The instructions do not direct the agent to read unrelated system files or network endpoints.
Install Mechanism
There is no install spec; this is instruction + script only. No downloads, package installs, or archive extraction are present in the manifest, minimizing supply-chain risk.
Credentials
The skill declares no required environment variables, no credentials, and no config paths beyond the script's own DB file under the user's home. That matches the apparent needs of a small local CLI tool.
Persistence & Privilege
The skill is not marked always:true and does not request elevated privileges. It writes its own DB under ~/.openclaw/workspace, which is consistent with a local tool storing user data; it does not modify other skills' configs or request system-wide changes.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install garden-layout-planner
  3. After installation, invoke the skill by name or use /garden-layout-planner
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release - Garden design with companion planting, spacing requirements, sun exposure. 30+ companion plants database. Third gardening skill, zero competition!
Metadata
Slug garden-layout-planner
Version 1.0.0
License
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Garden Layout Planner?

Plan and design garden layouts with companion planting, spacing, sun requirements, crop rotation, and exportable layout management for small gardens and farms. It is an AI Agent Skill for Claude Code / OpenClaw, with 1053 downloads so far.

How do I install Garden Layout Planner?

Run "/install garden-layout-planner" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Garden Layout Planner free?

Yes, Garden Layout Planner is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Garden Layout Planner support?

Garden Layout Planner is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Garden Layout Planner?

It is built and maintained by johstracke (@johstracke); the current version is v1.0.0.

💬 Comments