Skill: ivangdavila/garden (version 1.1.6)

--- name: Garden slug: garden version: 1.1.6 homepage: https://clawic.com/skills/garden changelog: "Natural setup flow, explicit consent, no technical jargon" description: Track your entire garden with structured memory for plants, zones, tasks, harvests, and climate-aware planning that compounds over seasons. metadata: {"clawdbot":{"emoji":"🌱","requires":{"bins":[]},"os":["linux","darwin","win32"]}} --- ## Setup If `~/garden/` doesn't exist or is empty, read `setup.md` and follow it. The user engaging with the skill implies interest — start helping them naturally. ## When to Use User needs help managing their garden: tracking plants, logging activities, planning rotations, diagnosing problems, or reviewing harvests. Agent maintains structured memory across seasons. ## Architecture Memory lives in `~/garden/`. See `memory-template.md` for templates. ``` ~/garden/ ├── memory.md # REQUIRED: context and status ├── climate.md # Optional: zone, frost dates ├── plants/ # Optional: detailed plant files ├── zones/ # Optional: zone tracking └── harvests.md # Optional: yield records ``` Start minimal (just memory.md). Add others only if user wants detailed tracking. ## Quick Reference | Topic | File | |-------|------| | Setup process | `setup.md` | | Memory template | `memory-template.md` | | Plant & zone templates | `tracking.md` | | Climate configuration | `climate-setup.md` | | Problem diagnosis | `diagnostics.md` | | Rotation planning | `planning.md` | ## Core Rules ### 1. Plant Registry Each plant gets a file in `plants/` with: variety, planting date, zone, care schedule, health history. Load on request, not by default. ### 2. Zone Management Each garden area gets a file in `zones/` with: conditions, current plants, rotation history. Enforce 3-year minimum before repeating same plant family. ### 3. Activity Logging Log actions in `log/YYYY-MM.md` with icons: 🌱 plant, 💧 water, 🐛 pest, 🍅 harvest, ✂️ prune, 🌡️ weather event. ### 4. Climate Awareness User configures climate file with USDA zone and frost dates. Use for planting window calculations and seasonal alerts. ### 5. Harvest Tracking Log yields in harvests file with date, plant, zone, quantity. Enables season-over-season comparison and variety evaluation. ### 6. Problem Diagnosis When user reports issue: check plant health history, zone conditions, recent weather. See `diagnostics.md` for symptom reference. ### 7. Tiered Storage - Memory file = current focus, always loaded first - Plant/zone files = load on demand - Log archives = historical reference only ## Common Queries - "What needs water?" - check care schedules vs last log - "What can I plant now?" - frost dates + rotation rules - "Why yellow leaves?" - diagnostic flow in `diagnostics.md` - "Show tomato history" - load plant file - "Last year's harvest?" - aggregate from harvests file ## Garden Traps - Planting same family in same zone within 3 years - diseases compound - Ignoring microclimate differences between zones - timing varies - Not logging problems when they occur - diagnosis harder later - Overwatering based on schedule not soil - check before watering ## Security & Privacy **Data that stays local:** - All garden data stored in `~/garden/` - No external APIs or network calls - No telemetry, analytics, or data collection **What this skill writes:** - Files in `~/garden/` (memory.md, plants/, etc.) - Optionally: one line in user's workspace MEMORY.md (e.g., ~/MEMORY.md or equivalent) — **only after asking and receiving explicit "yes"** **This skill does NOT:** - Infer or save preferences without user confirmation - Access weather APIs (climate is manually configured) - Control hardware or irrigation systems - Write outside `~/garden/` without asking first - Make any network requests ## Related Skills Install with `clawhub install <slug>` if user confirms: - `plants` — Plant care and identification - `habits` — Daily habit tracking - `journal` — General journaling - `remind` — Reminder scheduling - `daily-planner` — Day planning ## Feedback - If useful: `clawhub star garden` - Stay updated: `clawhub sync`

path: EXTRA_FILES.txt
content: setup.md
memory-template.md
tracking.md
climate-setup.md
diagnostics.md
planning.md


path: climate-setup.md
content: # Climate Configuration

## Setup climate.md

Create `~/garden/climate.md` with your garden's climate profile:

```markdown
# Climate Profile

## Location
- **USDA Zone:** 9b
- **Latitude:** 37.7749° N
- **Elevation:** 50m

## Frost Dates
- **Last spring frost:** March 15 (average)
- **First fall frost:** November 15 (average)
- **Growing season:** ~245 days

## Temperature Ranges
- **Record low:** -7°C (rare, 1-2 times per decade)
- **Typical winter low:** 2-5°C
- **Summer high:** 30-35°C (July-August peaks)

## Precipitation
- **Annual:** 500mm
- **Dry season:** June-September (minimal rain)
- **Wet season:** November-March
- **Irrigation needed:** May-October

## Microclimate Notes
- South-facing garden, good sun exposure
- North fence creates wind shelter
- Low corner (bed-3) collects cold air = frost pocket
- Stone wall retains heat, extends season for tender plants

## Alert Thresholds
- **Frost alert:** Forecast below 2°C
- **Heat alert:** Forecast above 35°C
- **Wind alert:** Gusts above 50 km/h
```

## Seasonal Planting Windows

Based on frost dates, calculate:

| Category | Start After | End Before |
|----------|-------------|------------|
| Tender annuals (tomato, pepper) | Last frost + 2 weeks | First frost |
| Hardy annuals (lettuce, peas) | 4 weeks before last frost | 6 weeks before first frost |
| Cool season crops | Fall: 8 weeks before first frost | Spring: 6 weeks after last frost |

## Climate-Aware Recommendations

When user asks "what can I plant now?":

1. Check current date against frost dates
2. Calculate weeks until/since frost events
3. Filter plant suggestions by timing
4. Note microclimate exceptions ("bed-3 runs cold, wait extra week")

## Alert Triggers

When user reports weather:

**"Frost tonight"**
1. List tender plants currently in ground
2. Suggest protection methods:
   - Cover with frost cloth
   - Harvest mature produce
   - Move containers indoors
3. Note affected zones (especially frost pockets)

**"Heat wave coming"**
1. Increase watering schedule
2. Consider shade cloth for sensitive plants
3. Harvest cool-season crops before bolting
4. Early morning watering preferred

**"Storm warning"**
1. Stake/secure tall plants
2. Harvest ripe produce
3. Check drainage in problem areas
4. Secure garden structures

## Zone-Specific Climate

Link microclimate data to zones:

```markdown
# zones/bed-3.md
...
## Microclimate
- **Frost risk:** HIGH (cold air pocket)
- **Adjustment:** Plant 1 week later than general date
- **Best for:** Cold-hardy crops, late-season extension
```

## Tracking Weather Impact

Log significant weather in monthly log:

```
## 2026-06-15
- 🌡️ Heat wave day 3 (38°C recorded)
- 💧 Emergency watering at 6pm
- 💀 Lost lettuce to bolt
- 📝 Note: move lettuce to shaded bed next year
```

This builds historical data for better predictions.


path: diagnostics.md
content: # Problem Diagnosis

## Diagnostic Flow

When user reports a problem:

1. **Identify the symptom** (yellow leaves, spots, wilting, pests visible)
2. **Check plant history** → `plants/{name}.md` for past issues
3. **Check zone conditions** → `zones/{zone}.md` for environmental factors
4. **Cross-reference patterns** → same issue in multiple plants?
5. **Suggest likely causes** ranked by probability
6. **Recommend treatment** with specific steps
7. **Log the diagnosis** in plant's health history

## Common Symptoms → Causes

### Yellow Leaves

| Pattern | Likely Cause | Check |
|---------|--------------|-------|
| Lower leaves first | Nitrogen deficiency | When last fertilized? |
| Between veins (interveinal) | Iron/magnesium deficiency | Soil pH? |
| All over, plus wilting | Overwatering | Soil moisture? Drainage? |
| Spots with yellow halo | Fungal infection | Recent rain/humidity? |
| New growth yellow | pH lock-out | Soil test needed |

### Wilting

| Pattern | Likely Cause | Check |
|---------|--------------|-------|
| Midday only, recovers evening | Heat stress | Normal for hot days |
| Constant, soil is wet | Root rot | Drainage, reduce water |
| Constant, soil is dry | Underwatering | Increase frequency |
| Sudden, one side of plant | Bacterial wilt | Inspect stem, may be fatal |
| Progressive from bottom | Fusarium/Verticillium | Check rotation history |

### Spots & Discoloration

| Pattern | Likely Cause | Treatment |
|---------|--------------|-----------|
| Brown spots, concentric rings | Early blight | Remove affected leaves, fungicide |
| Black spots on roses | Black spot fungus | Improve air circulation, fungicide |
| White powder on leaves | Powdery mildew | Baking soda spray, improve airflow |
| Rust-colored spots underside | Rust fungus | Remove affected parts, avoid wetting leaves |
| Mosaic pattern, distortion | Virus | Remove plant, control aphids |

### Pest Identification

| Signs | Pest | Action |
|-------|------|--------|
| Sticky residue, tiny insects | Aphids | Spray off, neem, ladybugs |
| Silver trails, holes | Slugs/snails | Beer traps, diatomaceous earth |
| Webbing under leaves | Spider mites | Increase humidity, neem |
| Holes in leaves, green caterpillars | Caterpillars | Handpick, Bt spray |
| Wilting despite water, grubs in soil | Root pests | Beneficial nematodes |

## Questions to Ask

When diagnosing, gather:

1. **Which plant(s)?** → Load plant history
2. **When did it start?** → Correlate with weather/activity
3. **Affected area?** → All leaves, new growth, old growth, one side?
4. **Recent changes?** → New fertilizer, moved, weather event?
5. **Photo?** → If available, visual diagnosis

## Logging Diagnoses

Update plant's health log:

```markdown
## Health Log
| Date | Issue | Treatment | Outcome |
|------|-------|-----------|---------|
| 2026-06-20 | Yellow lower leaves | Applied nitrogen fertilizer | Improved in 1 week |
| 2026-07-05 | Aphids | Neem spray x3 days | Cleared |
| 2026-07-20 | Blossom end rot | Consistent watering + calcium | No new affected fruit |
```

## Pattern Recognition

After logging issues:

- Same plant, recurring problem → Note variety weakness
- Same zone, multiple plants → Environmental issue
- Same pest, every year → Add to spring prevention checklist
- Same timing → Correlate with climate events

## Prevention Reminders

Based on history, suggest preventive actions:

"Last year aphids appeared in June. Consider:
- Inspect new growth weekly starting late May
- Plant nasturtiums as trap crop
- Encourage ladybugs"


path: memory-template.md
content: # Memory Template — Garden

## Initial Setup

Create on first use:

```bash
mkdir -p ~/garden
touch ~/garden/memory.md
```

Additional files (plants/, zones/, climate.md, harvests.md) only if the user wants detailed tracking.

---

## memory.md Template

```markdown
# Garden Memory

## Status
status: ongoing
version: 1.1.5
last: YYYY-MM-DD
integration: pending

## Context

### Location & Climate
<!-- What you've learned about their growing conditions -->

### Plants
<!-- What they're growing, natural language -->

### Goals
<!-- What matters to them: survival? yields? beauty? -->

## Notes
<!-- User-stated preferences -->
<!-- Example: wants weekly reminders, prefers quick answers -->
<!-- Things to remember for next time -->

---
*Updated: YYYY-MM-DD*
```

---

## Status Values

| Value | Meaning | Behavior |
|-------|---------|----------|
| `ongoing` | Still learning | Gather context as conversations happen |
| `complete` | Know their garden well | Work normally |
| `paused` | User said "not now" | Don't ask, help with what you know |
| `never_ask` | User said stop | Never ask for more garden details |

## Integration Values

| Value | Meaning |
|-------|---------|
| `pending` | Haven't offered yet |
| `done` | Registered in user's main memory |
| `declined` | User said no |

---

## Additional Files (Optional)

Only create these if the user wants detailed tracking:

### climate.md
```markdown
# Climate

Zone: [USDA zone]
Last frost: [date]
First frost: [date]
```

### harvests.md
```markdown
# Harvests

| Date | Plant | Yield | Notes |
|------|-------|-------|-------|
```

### plants/{name}.md
```markdown
# [Plant Name]

Planted: YYYY-MM-DD
Location: [where]
Notes: [care observations]
```

---

## Key Principles

- **Start minimal** — most users just need memory.md
- **Natural language** — use "they want reminders" not "reminders: proactive"
- **Ask before saving** — confirm preferences with the user first


path: planning.md
content: # Rotation & Seasonal Planning

## Crop Rotation Rules

### Plant Families (Never Follow Same Family)

| Family | Members | Notes |
|--------|---------|-------|
| Solanaceae | Tomato, pepper, eggplant, potato | Heavy feeders, disease-prone |
| Brassicaceae | Cabbage, broccoli, kale, radish | Clubroot risk |
| Cucurbitaceae | Squash, cucumber, melon, zucchini | Powdery mildew, vine borers |
| Fabaceae | Beans, peas, lentils | Fix nitrogen, good predecessor |
| Alliums | Onion, garlic, leek | Light feeders |
| Umbelliferae | Carrot, parsley, celery, fennel | Deep roots |

### Rotation Principles

1. **3-year minimum** before same family returns to a spot
2. **Heavy feeders → light feeders → soil builders**
   - Year 1: Tomatoes (heavy)
   - Year 2: Lettuce, carrots (light)
   - Year 3: Beans (nitrogen fixing)
3. **Legumes before heavy feeders** → free nitrogen boost

### Tracking Rotation

Zone file maintains history:

```markdown
# zones/bed-1.md

## Rotation History
| Year | Spring | Summer | Fall |
|------|--------|--------|------|
| 2026 | Peas | Tomatoes | Garlic |
| 2025 | Lettuce | Peppers | Cover crop |
| 2024 | Tomatoes | Squash | — |

## Rotation Notes
- No solanaceae until 2027 (tomatoes 2024, peppers 2025)
- Good candidate for brassicas (never grown here)
```

## Seasonal Planning

### Spring Planning (Do in February/March)

1. **Review last year's harvests.md** → What worked? What disappointed?
2. **Check rotation constraints** → What CAN'T go where?
3. **Order seeds early** → Popular varieties sell out
4. **Plan succession planting** → Stagger lettuce, beans for continuous harvest
5. **Note frost dates** → Schedule indoor starts

### Succession Planting

For continuous harvest, stagger plantings:

| Crop | Plant Every | Season Length |
|------|-------------|---------------|
| Lettuce | 2 weeks | Spring + Fall |
| Beans | 3 weeks | Summer |
| Radish | 2 weeks | Spring + Fall |
| Cilantro | 3 weeks | Cool seasons |

### Fall Planning (Do in July/August)

1. **Calculate days to maturity** → Work back from first frost
2. **Direct sow cool-season crops** → Lettuce, spinach, kale
3. **Start fall brassicas indoors** → Broccoli, cabbage
4. **Plan garlic planting** → Goes in after first frost
5. **Order cover crop seed** → For empty beds

## Calendar Generation

Based on climate.md frost dates, generate:

```markdown
# 2026 Planting Calendar

## Indoor Seed Starting
- Feb 15: Peppers, eggplant (10-12 weeks before transplant)
- Mar 1: Tomatoes (6-8 weeks before transplant)
- Mar 15: Brassicas for spring

## Direct Sow Outdoors
- Mar 1: Peas, spinach (cold tolerant)
- Mar 15: Lettuce, radish
- Apr 1: After last frost - beans, squash
- Apr 15: Cucumbers, melons

## Transplant Dates
- Apr 15: Tomatoes, peppers (2 weeks after last frost)
- Apr 1: Brassicas (before heat)

## Fall Planting
- Jul 15: Start fall brassicas indoors
- Aug 1: Direct sow fall lettuce
- Aug 15: Plant fall spinach
- Oct 15: Plant garlic
- Nov 1: Sow cover crops
```

## Companion Planting

Quick reference for what grows well together:

| Plant | Good Companions | Bad Companions |
|-------|-----------------|----------------|
| Tomato | Basil, carrot, parsley | Brassicas, fennel |
| Pepper | Tomato, basil, spinach | Fennel |
| Squash | Corn, beans (three sisters) | Potato |
| Beans | Corn, squash, carrot | Onion, garlic |
| Carrot | Tomato, lettuce, onion | Dill |

## Queries Supported

**"What should I plant now?"**
1. Check current date
2. Compare to frost dates
3. List appropriate crops
4. Cross-check rotation constraints
5. Suggest specific zones

**"Plan next year's garden"**
1. Load all zone rotation histories
2. Generate family constraints
3. Suggest optimal placements
4. Calculate seed/start dates


path: setup.md
content: # Setup — Garden

Read this when `~/garden/` doesn't exist or is empty. Start the conversation naturally — the user engaging with the skill implies they want help.

## Your Attitude

You're introducing something useful. The user should feel excited about what this enables, not confused about technical details.

**Use natural language:** Talk about what the skill does, not how it's implemented. The user cares about outcomes (tracking plants, reminders) not technical details (file paths, config).

## Priority Order

### 1. First: Integration (most important)

Before anything else, figure out WHEN this skill should activate.

Help the user understand what this enables, then ask for their preference:
- "Should I help whenever you mention plants, or only when you ask directly?"
- "Want me to remind you about watering and seasonal tasks?"

**Wait for their explicit answer before saving anything.** Once they say yes, confirm: "Got it, I'll help whenever you talk about plants." Then save their preference.

### 2. Then: Understand Their Situation

Ask open questions to understand the big picture:
- What's their situation? (balcony, garden, indoor, farm?)
- What do they grow or want to grow?
- What would be most useful? (reminders, tracking, diagnosis, planning?)

Start broad, then narrow based on what interests them.

### 3. Finally: Details (only if they want)

Some users want detailed tracking (harvests, rotations, varieties). Others just want "remind me to water."

Adapt to them. Don't push for details they don't care about.

## How to Handle the Conversation

- Help them — offer options rather than waiting for them to figure out what to say
- Give options when asking questions — easier than open blanks
- Confirm what you understood before moving on
- Show enthusiasm about what this enables for them

## What You're Saving (with consent)

Only save after the user explicitly agrees:
- Their integration preference (when to activate) — save after they answer the integration question
- Their garden context (what they have, preferences) — save as they share it

Always confirm what you're doing: "Got it, I'll remind you to water." Be transparent about outcomes.

## When Setup is "Done"

There's no formal end. Once you know:
1. When to activate (integration)
2. Basics of their situation

...you're ready to help. Everything else builds over time through normal use.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)