| name | docs |
| description | HomeLab documentation maintenance — audit infrastructure changes and update README.md, CLAUDE.md, docs/, and skill files |
| context | main |
docs
When to use:
- After adding/removing services in docker-compose.yml
- After creating/modifying scripts
- After changing ports, paths, or configurations
- After modifying garmin-collector contract (FastAPI routes)
- Before committing infrastructure changes
- When detecting new multi-component stacks
What this skill does:
- Scans docker-compose.yml for new/removed services
- Checks scripts/ directory for new scripts
- Audits config files and mount points
- Detects multi-component stacks with
com.centurylinklabs.watchtower.enable: "false"
- Updates README.md and CLAUDE.md cheatsheets
- Synchronizes Table of Contents
- Updates behavior documentation in docs/
- Prompts to extend /upgrade-stack for new stacks
Note: The dashboard + REST API used to live here under packages/api
and packages/dashboard. Both moved to jkrumm/argo (deployed to VPS).
Hermes skill regeneration (the argo-api skill in ~/SourceRoot/hermes-agent)
now belongs to argo's docs flow, not this one.
What this skill does NOT do:
- Execute infrastructure changes (only documents them)
- Commit changes automatically (use /commit after review)
- Modify scripts or configurations
- Create new services or scripts
Audit Checklist
When running this skill, I will check:
Infrastructure Changes
Multi-Component Stack Detection
Current stacks in /upgrade-stack:
- Caddy (custom local build,
docker compose build)
- Immich (server, ML, postgres, redis)
Documentation Sync
Documentation Standards
Cheatsheet Categories (in order)
- SSH Access
- Docker Operations
- Git Workflow
- System Health
- Watchdog Management
- Container Diagnostics
- Uptime Kuma Config-as-Code
- Garmin Collector
- HDD Diagnostics
- Restic Backup
- 1Password Secrets
- Emergency Commands
Command Format
README.md (verbose, copy-paste ready):
ssh homelab "docker compose ps"
CLAUDE.md (table format, concise):
| `docker compose ps` | View all services |
Behavior Documentation (docs/*.md)
Create detailed behavior docs for complex scripts with:
- Multiple failure modes or recovery paths
- Self-healing logic users need to understand
- Configuration affecting system behavior
Required sections:
- Overview - Purpose and design principles
- Health checks - What the script monitors
- Failure scenarios - Each failure type with behavior
- Recovery behaviors - Escalation level actions
- Manual intervention - When and how
- Configuration - Key variables and effects
Naming: docs/<script-name>-behaviors.md
Workflow
Phase 1: Audit
Scan and identify changes:
## Documentation Audit Results
### New Services
- [Service Name] (port X, URL, purpose)
Type: Public/Private/Internal
### New Scripts
- [Script name] in scripts/
Purpose: [brief description]
### Modified Configurations
- [Config file]: [what changed]
### Multi-Component Stack Check
✅ Immich: 4 services, already in /upgrade-stack
✅ Caddy: 1 service (custom build), already in /upgrade-stack
⚠️ NEW: <stack-name> detected (N services with watchtower opted-out)
→ Prompt: Add <stack-name> to /upgrade-stack?
### Outdated Documentation
- [Command/service] needs update in [file]
Phase 2: Update Documentation
If changes found, update:
README.md:
- Infrastructure Overview (service count)
- Service Access Cheatsheet (Public/Private/Internal tables)
- Quick Commands Cheatsheet (new service commands)
- Table of Contents (if structure changed)
CLAUDE.md:
- Services Reference (Public/Private/Internal tables)
- Quick Reference Card (command tables)
- Available Scripts table
docs/*.md:
- Update behavior documentation if script logic changed
- Verify timeouts and states match code
Phase 3: Extend /upgrade-stack (if needed)
If new multi-component stack detected:
- Prompt user: "New stack {name} detected. Add to /upgrade-stack?"
- If approved, read
.claude/skills/upgrade-stack/SKILL.md
- Add new section to "Manually-Managed Containers"
- Document version sources and compatibility requirements
- Note in commit message
Files Updated
| File | What Gets Updated |
|---|
README.md | Quick Commands Cheatsheet, ToC, Service tables |
CLAUDE.md | Quick Reference Card, Services Reference, Scripts table |
docs/watchdog-behaviors.md | Failure scenarios, recovery states |
docs/*.md | Behavior documentation for modified scripts |
uptime-kuma/monitors.yaml | If monitor config changed |
.claude/skills/upgrade-stack/SKILL.md | New multi-component stacks |
.claude/skills/docs/SKILL.md | This file - if audit scope changes |
Validation Checklist
After updates:
Output Format
## Documentation Updated
**Files modified:**
- README.md: [specific changes]
- CLAUDE.md: [specific changes]
- docs/\*.md: [specific changes]
- .claude/skills/\*.md: [specific changes]
**Services added:**
- [Service name]: [port, URL, purpose]
**Commands added:**
- [Command]: [description]
**Multi-component stacks:**
- [Stack name]: Added to /upgrade-stack
**Next steps:**
- Review changes: `git diff`
- Commit: `/commit`
Integration
With /upgrade-stack
- Detects new stacks with WUD notify-only or ignore labels
- Prompts to add to
.claude/skills/upgrade-stack/SKILL.md
- Updates "Manually-Managed Containers" section automatically
With /commit
After documentation updates:
/commit
Creates commit with docs changes.