Patterns and workflows that work well with Claude across the homelab, farm, and daily operations.
Checking Infrastructure
Claude accesses infrastructure through two dedicated MCP servers:
Homelab Snapshot provides cached reads โ Docker containers, disk usage, ZFS pools, Proxmox CTs, Caddy hostnames, Mac Studio launchd agents โ without SSH round-trips.
Structured Exec provides reliable shell execution with argv arrays. The pct_exec tool runs commands inside Proxmox containers through SSH without shell-escaping issues. Replaces Desktop Commander for homelab operations.
Disk space: “check disk space on CT100” โ uses homelab-snapshot for cached read or structured-exec for live data.
Docker status: “what containers are running” โ homelab-snapshot returns all 42 CT100 containers with status and ports.
ZFS health: “check ZFS pools” โ homelab-snapshot cached zpool data.
Service check: “is Plex running” โ homelab-snapshot or Uptime Kuma.
Media Management
With the arr-media-management skill loaded, Claude knows all API keys and endpoints:
- “what’s downloading” โ checks Sonarr, Radarr, Lidarr queues
- “search for [show name]” โ uses lookup API, offers to add
- “is altHUB enabled on Lidarr” โ checks indexer settings
- “how many missing movies” โ queries wanted/missing endpoint
Adding Cron Jobs
When adding automations, Claude should:
- Add the cron job to the appropriate system
- Update the Bee Hub cron-jobs docs page
- Verify with
crontab -l - Consider adding Gotify notification wrapper
Example: “add a weekly docker prune to CT100 and update the docs”
Seasonal Planning
With the seasonal-calendar skill: “what should I be doing outside this month” gives a prioritized task list across all projects (berries, bees, mushrooms, irrigation, etc.)
Shopping Lists
Claude generates formatted xlsx shopping lists with pricing, sources, and “Ordered?” checkboxes. Effective prompts:
- “put together a parts list for the drip irrigation”
- “what do I need to expand the berry beds”
- “shopping list for shiitake inoculation supplies”
Species and Planting Data
The farm-data MCP server exposes 19 tools against the PostgreSQL farm database (772 species, plantings, harvests, observations). Queries like “what berries do I have planted”, “show species in the Rubus collection”, or “log a harvest” go directly through the MCP โ no manual SQL needed. The Tana Brownsville workspace holds unstructured research notes and planning docs; structured data lives in Postgres.
Claude is effective at comparative product research. The pattern:
- State the need and constraints (well water, 93 acres, Zone 6b, LoRa range, etc.)
- Claude searches, compares specs, identifies what fits
- Generates a recommendation with reasoning
- Builds a shopping list spreadsheet if needed
Works well for: irrigation components, homelab hardware, tools, farm supplies, appliances.
Updating Bee Hub
Claude can edit Hugo content files directly via Filesystem tools:
- “add this to the docs” โ updates the relevant Bee Hub page
- “update the cron jobs page” โ edits
/Users/bee/Sync/ED/homelab/bee_hub/content/homelab/cron-jobs/_index.md - “document the new container” โ adds to services page
The deploy cron (deploy-vps.sh) runs every 30 minutes, so changes appear on the site within half an hour.
Creating New Docs Pages
For new documentation, Claude creates the Hugo page with proper frontmatter:
---
title: "Page Title"
page_links:
- { label: "Link Label", url: "https://example.com", external: true }
---
Content uses Hugo section shortcodes (with id and title attributes) for collapsible sections.
Be Specific About Systems
“Check CT100” is better than “check the server” โ Claude has multiple systems to manage.
Reference Past Decisions
“We decided on Netafim HCVXR for the irrigation” โ Claude searches past conversations to find context.
Ask for Docs Updates
End infrastructure changes with “and update the docs” โ saves a separate step.
Use Structured Exec for Shell Work
The structured-exec MCP replaces Desktop Commander for homelab operations. Its pct_exec tool takes argv arrays and optional stdin for piping scripts into containers, avoiding the shell-escaping nightmares of nested SSH+pct exec+bash chains. Use bash_wrap=true when globs are needed inside the container.
Use Skills for Context
Skills load automatically based on keywords. Mentioning “berries” or “irrigation” triggers the seasonal-calendar skill. Mentioning “what’s downloading” triggers the arr skill. No need to explicitly invoke them.