modules/programs/agents/shared/skills/homepage-add/SKILL.md
Add a new service to the Homepage dashboard. Use when a new container or VM has been set up on Proxmox and needs to be added to Homepage. Discovers IP and port automatically from the container.
npx skillsauth add MichaelVessia/nixos-config homepage-addInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Add services running on Proxmox to the Homepage dashboard (LXC 103).
Expects: <CTID> <service-name>
Example: /homepage-add 117 CommaFeed
If no arguments provided, ask the user for the container ID and service name.
ssh proxmox "pct exec <CTID> -- ip -4 addr show eth0" 2>/dev/null | grep inet | awk '{print $2}' | cut -d/ -f1
# Find non-system ports (excludes 22, 25, 111, etc)
ssh proxmox "pct exec <CTID> -- ss -tlnp" 2>/dev/null
Look for ports that are likely the service (typically 8000-9999 range, or well-known app ports).
ssh proxmox "pct exec <CTID> -- systemctl list-units --type=service --state=running" 2>/dev/null | grep -v systemd
Homepage runs on LXC 103. Config file:
/opt/homepage/config/services.yaml
Add entries under the appropriate section (Infrastructure, Documents & Books, Utilities, Media).
Basic entry (no widget):
- ServiceName:
icon: service-name.png
href: http://<IP>:<PORT>
description: Short description
proxmoxNode: pve
proxmoxType: lxc
proxmoxVMID: <CTID>
Homepage uses Dashboard Icons. Common patterns:
service-name.pngjellyfin.png, radarr.png, sonarr.png, adguard-home.pngssh proxmox "pct exec <CTID> -- ip -4 addr show eth0" and extract IPssh proxmox "pct exec <CTID> -- ss -tlnp" and identify service portssh proxmox "pct exec 103 -- cat /opt/homepage/config/services.yaml"ssh proxmox "pct exec 103 -- tee /opt/homepage/config/services.yaml > /dev/null"ssh proxmox "pct exec 103 -- grep -A6 <ServiceName> /opt/homepage/config/services.yaml"From the current config (ordered by card height):
The | indicates where widget cards end and no-widget cards begin.
Cards with widgets are taller than cards without. Homepage uses row-based layout, so mixing heights creates whitespace gaps.
Rule: Group cards by height within each section.
Example for Utilities (8 items, 3 columns):
When adding a new service:
proxmoxVMID without proxmoxTypeproxmoxVMID and proxmoxType: lxcdevelopment
Restate the last message in plain human language, with no jargon.
testing
Fan out a batch of work items into one PR each via isolated worktree agents, review every PR before it opens, then babysit all PRs through green CI and review feedback. Use when the user wants to fan out PRs, dispatch parallel PR agents over a list of items, or run a batch of independent changes as separate PRs.
development
Dispatch user-visible coding or research agents through Herdr with Codex-Desktop-like thread ergonomics. Use when the user asks to use Herdr to spawn, dispatch, fan out, inspect, follow up with, or monitor agent workspaces/threads.
development
Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to nicobailon/visual-explainer.