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
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.
development
Turn an idea or objective into a goal package for /goal. Interviews the user, builds a reviewed fact sheet via Plannotator, then explores the codebase to produce an execution plan.
development
Open Plannotator's browser-based code review UI for the current worktree or a pull request URL, then act on the feedback that comes back.
testing
Open Plannotator on the latest rendered assistant message and use the returned annotations to revise that message or continue.