Skills & Plugins Every skill currently available to Claude on this machine

Two distinct things both called “skills” live on this machine โ€” and as of 2026-05-02 they share a single root at ~/Sync/ED/skills/ (Syncthing-replicated, so the same tree is on every device).

Plugin skills are markdown packages (SKILL.md files) that Claude reads at session start. Claude triggers them automatically based on the description field. The local marketplace at ~/Sync/ED/skills/ is named bee-farm-skills.

Personal launchd skills are scheduled scripts in the same tree (each with a scripts/ subdirectory) that produce data snapshots Claude (and you) can read. They are not Claude plugins โ€” they’re automation that produces data Claude can consume.

This page lists both.

Custom Skills (bee-farm-skills marketplace)

Source: /Users/bee/Sync/ED/skills/ โ€” local marketplace named bee-farm-skills. These are the skills written specifically for Ed’s homelab and farm operations.

arr-media-management

The complete operating manual for the *arr media stack โ€” Sonarr, Radarr, Lidarr, Prowlarr โ€” plus the surrounding pipeline (Plex library, beets music importer, Transmission/Deluge seedbox, and the CWA + Shelfmark book ingest path). Knows every API key, port, endpoint, indexer (altHUB, NZBgeek, NZBFinder, TPB, IPTorrents, Headphones VIP), and the SOCKS-proxy / WireGuard egress topology. Triggers on “what’s downloading”, “queue status”, “search for [show/movie/album]”, “check Lidarr”, “is altHUB enabled”, “interactive search”, “beets import”, or even casual mentions like “anything downloading” or “check torrents”.

Edit: /Users/bee/Sync/ED/skills/arr-media-management/SKILL.md

automation-registry

Unified registry of every scheduled task and monitor across Ed’s infrastructure โ€” CT100 crontabs, Mac Studio launchd agents, Home Assistant automations, Uptime Kuma monitors, Watchtower image updates, deploy scripts, and backup schedules. Used both to answer “what’s running” questions and to spot conflicts/duplicates/gaps before adding a new automation. Triggers on “what runs at…”, “what cron jobs do I have”, “is anything monitoring…”, “is there a backup for…”, “show me all scheduled tasks”, or casual checks like “is anything handling X”.

Edit: /Users/bee/Sync/ED/skills/automation-registry/SKILL.md

bee-hub-docs

The skill for editing this Hugo documentation site. Knows the content tree at ~/Sync/ED/homelab/bee_hub/content/, the standard frontmatter pattern, the custom custom section shortcode, the cron-jobs / services / docs page conventions, and the deploy flow (deploy-vps.sh, every 30 min, pushes to VPS + CT103). Triggers when the user mentions “Bee Hub”, “homelab docs”, “update the docs”, “add this to the docs”, or after deploying a new container, adding a cron job, or making any infrastructure change worth documenting.

Edit: /Users/bee/Sync/ED/skills/bee-hub-docs/SKILL.md

brownsville-property

Knowledge base for the 93-acre Brownsville, Ohio property โ€” plant species, berry varieties, irrigation systems (Netafim drip, valve controllers), beekeeping, mushroom cultivation (shiitake on oak logs), permaculture planning, seasonal timing, equipment, soil/compost, weather station, and ecological stewardship. Triggers on any mention of the property, farm, berries, bees, asparagus, mushrooms, planting, drip line, Zone 6b, Licking County, or related shopping lists for farm supplies and irrigation parts.

Edit: /Users/bee/Sync/ED/skills/brownsville-property/SKILL.md

homelab-ops

Operational runbook for the Proxmox homelab โ€” disk space checks, Docker container status, ZFS pool health, *arr queue depth, Caddy reverse proxy, Pi-hole, Gotify, Uptime Kuma, NetBird mesh VPN, Cloudflare DNS, and the edmd.me domain layout. Triggers on “check the server”, “is Plex running”, “how much space do I have”, “what’s downloading”, or any direct mention of CT100/CT101/CT102/CT103, Proxmox, or a specific service name.

Edit: /Users/bee/Sync/ED/skills/homelab-ops/SKILL.md

seasonal-calendar

Zone 6b month-by-month calendar for the property, covering every active project: berry planting/pruning, asparagus, shiitake mushroom cultivation, beekeeping, drip irrigation maintenance, cover crops, native plantings, and pollinator habitat. Always checks today’s date and gives time-sensitive advice. Triggers on “when should I…”, “is it too late for…”, “what should I be doing this month”, “seasonal timing”, or casual prompts like “what’s coming up” and “anything I should be doing outside”.

Edit: /Users/bee/Sync/ED/skills/seasonal-calendar/SKILL.md

tana-pg-bridge

Blueprint and operating guide for the custom MCP server that bridges Tana to PostgreSQL for farm data. Covers what belongs in structured Postgres (species catalog, plantings, harvests, observations, sensor data) versus unstructured Tana (research notes, ecological ontology, planning docs). Includes the full schema, MCP tool definitions, deployment plan, and future extensions (PostGIS, Grafana, Immich integration). Triggers on “Tana bridge”, “farm database”, “PostgreSQL farm”, “plant database”, “farm MCP server”, “species lookup”, “planting records”, or “farm schema”.

Edit: /Users/bee/Sync/ED/skills/tana-pg-bridge/SKILL.md

secrets-vault

Vaultwarden patterns, credential rotation flows, env-var injection at container start, SSH key handling, and the “this credential just leaked into chat” incident response. Knows the active rotation backlog (Directus admin pw, DIRECTUS_KEY, NocoDB JWT, Headphones VIP) and the Vaultwarden setup state on CT104. Covers generating secure values, storing in Vaultwarden via bw CLI, three patterns for injecting secrets into Docker / LXC containers, SSH key rotation order, and the anti-patterns that cause leaks. Triggers on Vaultwarden, vault, credential, password, secret, API key, token, rotate, or “I leaked X what do I do”.

Edit: /Users/bee/Sync/ED/skills/secrets-vault/SKILL.md

network-ops

Network topology and operations โ€” OPNsense router, NetBird mesh VPN (100.123.0.0/16), Pi-hole DNS overrides, Caddy reverse proxy + wildcard cert pattern, WireGuard tunnels (CT100 โ†’ UltraCC NL with kill-switch + MSS clamp), the planned Verizon FWA multi-WAN failover, and the recipe for adding a new container with isolated egress (the “Hermes pattern”). Triggers on OPNsense, NetBird, Pi-hole, Caddy, WireGuard, VLAN, multi-WAN, failover, kill-switch, edmd.me hostnames, NL exit, UltraCC, MSS clamp, or any “how do I add a new isolated container” question.

Edit: /Users/bee/Sync/ED/skills/network-ops/SKILL.md

observability

Loki + Grafana Alloy log aggregation across 7 hosts, Grafana dashboards, Prometheus + Uptime Kuma monitoring, Gotify push notifications. Knows the storage layout (Loki on Biggest/loki, 90-day retention), the standard Alloy config patterns (journald, file-based, Docker container logs), LogQL query patterns for the homelab, how to add a new monitor in Uptime Kuma, and the backlog of enrichments (Docker logs on CT100, Caddy access, Pi-hole queries, smartd alerting, Prometheus dashboards, NetFlow). Triggers on Loki, Grafana, Alloy, Promtail, Prometheus, Uptime Kuma, Gotify, log aggregation, dashboard, LogQL, monitor, or “why isn’t X showing up in logs”.

Edit: /Users/bee/Sync/ED/skills/observability/SKILL.md

backup-recovery

Disaster recovery runbook + 3-2-1 backup plan + the config-as-code git repo on hpve. Covers what gets backed up where (vzdump, ZFS snapshots, nvmepool-backup, config-as-code, farm DB, Vaultwarden), what’s NOT backed up (gaps), restore procedures for five scenarios (single CT, single dataset, Crucial SSD failure, hpve catastrophic loss, site loss), credentials needed for recovery, and the pending tasks (offsite to farm, GitHub mirror, UPS, break-glass plan). Triggers on backup, restore, disaster recovery, DR, 3-2-1, ZFS snapshot, vzdump, “what if hpve dies”, “where is the backup of Y”, or “rebuild from scratch”.

Edit: /Users/bee/Sync/ED/skills/backup-recovery/SKILL.md

Document Skills (Anthropic)

Standard Anthropic-maintained skills for producing professional documents. These ship in the document-skills plugin.

docx

Create, read, edit, and manipulate Word documents (.docx). Handles tables of contents, headings, page numbers, letterheads, tracked changes, comments, embedded images, and find-and-replace at the XML level. Triggers on any mention of “Word doc”, “word document”, “.docx”, or requests to produce a “report”, “memo”, “letter”, or “template” as a Word file.

xlsx

Create, read, edit, and analyze Excel spreadsheets (.xlsx, .xls, .xlsm, .csv, .tsv). Supports formulas, formatting, charts, pivot tables, data cleaning, and conversion between tabular formats. Triggers on “Excel”, “spreadsheet”, “.xlsx”, “data table”, “budget”, “financial model”, “chart”, “graph”, or any reference to a spreadsheet file by name.

pptx

Create, read, edit PowerPoint presentations (.pptx) โ€” slides, layouts, speaker notes, comments, templates. Triggers on “deck”, “slides”, “presentation”, or any reference to a .pptx filename, regardless of what comes next.

pdf

Comprehensive PDF toolkit โ€” extract text and tables, create new PDFs, merge, split, rotate, watermark, fill forms, encrypt/decrypt, extract images, and OCR scanned PDFs. Triggers on any mention of PDF, .pdf, “form”, “extract”, “merge”, or “split”.

Meta-Skills (building & managing skills)

These help Claude build, evaluate, and manage other skills and MCP servers.

mcp-builder

Guide for creating high-quality MCP (Model Context Protocol) servers โ€” both Python (FastMCP) and Node/TypeScript (MCP SDK). Covers tool design, schema definition, error handling, testing, and packaging. Used when building a new MCP server to integrate an external API or service.

skill-creator

Create new skills, modify and improve existing ones, and measure performance. Includes an eval framework with variance analysis and tools for optimizing a skill’s description field for better triggering accuracy. Use when creating a skill from scratch, editing an existing one, or benchmarking before/after a change.

web-artifacts-builder

Build elaborate, multi-component claude.ai HTML artifacts using modern frontend web tech โ€” React, Tailwind CSS, shadcn/ui. For complex artifacts requiring state management, routing, or component libraries; not for simple single-file HTML/JSX artifacts.

consolidate-memory

Reflective pass over Claude’s memory files โ€” merge duplicates, fix stale facts, prune the index. Run periodically to keep the memory store coherent and useful.

setup-cowork

Guided Cowork setup โ€” install role-matched plugins, connect external tools, walk through trying a skill. Used during onboarding to a new Claude environment.

schedule

Create scheduled tasks that run on demand or automatically on an interval. Integrates with Cowork’s scheduled-tasks system so a saved task can be triggered later from chat or from an artifact’s Reload button.

Personal launchd Skills (~/Sync/ED/skills/)

Scheduled scripts on the Mac Studio that produce data snapshots Claude can read. Each lives in its own directory with a scripts/ subfolder. The auto-generated overview lives at ~/Sync/ED/SKILLS_INDEX.md.

mac-inventory

Captures a comprehensive snapshot of all installed software on the Mac Studio โ€” Homebrew formulas, casks, App Store apps, login items, launchd agents and daemons, and ~/Applications installs. Stored as date-stamped JSON, with a latest-inventory.json symlink. Companion diff_inventory.py script produces a human-readable diff between any two snapshots โ€” useful after a cleanup pass to confirm exactly what was removed.

Schedule: weekly, Sunday 6:00 AM (com.bee.mac-inventory.plist) Output: ~/Sync/ED/skills/mac-inventory/inventory-YYYY-MM-DD.json

browser-history

Copies the Brave History SQLite database to a temp file (so it can be read without locking the live DB), then produces a ranked report of the last N days: total visits, unique domains, top sites by visit count, and time-of-day distribution. Useful for the periodic “where did my time go” review and for spotting domains worth blocking at the Pi-hole layer.

Schedule: daily, 5:30 AM (com.bee.browser-history.plist) Output: ~/Sync/ED/skills/browser-history/history-YYYY-MM-DD.json

scripts/generate_index

Walks ~/Sync/ED/skills/, summarizes each skill (script count, snapshot count, size on disk, scheduled plist), and rewrites ~/Sync/ED/SKILLS_INDEX.md so it always reflects the current state of the skills tree. Runs after the data-collection agents so the index reflects the latest snapshot.

Schedule: daily, 5:45 AM (com.bee.skills-index.plist) Output: ~/Sync/ED/SKILLS_INDEX.md

doc-sync

Nightly documentation drift detector. Each morning at 4 AM it: (1) finds every Claude session JSONL modified the previous day, (2) extracts the conversations to a markdown bundle (filtering tool noise, keeping user instructions and assistant text), (3) reads TASKS.md, (4) invokes the Claude CLI in non-interactive mode with the analyze prompt, and (5) writes a structured report to ~/Sync/ED/.doc-sync-log/YYYY-MM-DD.md flagging “Done but not documented”, “Planned but not tracked”, and “Open questions”. Currently report-only โ€” does NOT auto-modify TASKS.md or Bee Hub. Promote to auto-patch once trust is built.

Schedule: daily, 4:00 AM (com.bee.doc-sync.plist) Output: ~/Sync/ED/.doc-sync-log/YYYY-MM-DD.md Manual run: ~/Sync/ED/skills/doc-sync/scripts/run.sh [YYYY-MM-DD] Notification: Gotify (priority 5 if drift flagged, 3 if clean). Requires ~/.config/gotify-token containing the app token; silent if absent.

See Cron Jobs & Scheduled Tasks for the full launchd table and launchctl reload commands.

Managing Skills

Adding a New Plugin Skill

  1. Create directory: mkdir /Users/bee/Sync/ED/skills/my-new-skill
  2. Write the skill: vim /Users/bee/Sync/ED/skills/my-new-skill/SKILL.md
  3. Add to marketplace manifest: edit /Users/bee/Sync/ED/skills/.claude-plugin/marketplace.json โ€” add "./my-new-skill" to the skills array in the farm-skills plugin
  4. Update the marketplace: claude plugin marketplace update bee-farm-skills
  5. Reinstall the plugin: claude plugin uninstall farm-skills@bee-farm-skills && claude plugin install farm-skills@bee-farm-skills
  6. Add the skill to this page

Editing an Existing Skill

Edit /Users/bee/Sync/ED/skills/SKILL-NAME/SKILL.md directly. Changes take effect when Claude Code next loads the skill (typically at session start).

SKILL.md Structure

---
name: skill-name
description: "When to trigger and what it does. Be specific and slightly pushy โ€” Claude tends to under-trigger skills."
---

# Skill Title

Instructions, reference data, workflows, templates.
Keep under 500 lines. For large reference data, use a references/ subdirectory.

Adding a New Personal launchd Skill

  1. mkdir -p ~/Sync/ED/skills/NEW-SKILL/scripts
  2. Write the collection script โ€” output JSON to ~/Sync/ED/skills/NEW-SKILL/NAME-YYYY-MM-DD.json
  3. Update the latest-*.json symlink at the end of the script
  4. Drop a launchd plist at ~/Library/LaunchAgents/com.bee.NEW-SKILL.plist
  5. launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.bee.NEW-SKILL.plist

The generate_index.py skill picks up new skills automatically on its next daily run.