claude-plugins/plugins/save-doc/skills/save/SKILL.md
Cal Corum e02eb28e98 refactor: rename skill dirs to verb-based names to reduce autocomplete redundancy
Plugin:skill pairs now read as noun:verb commands instead of repeating
the plugin name. Also added concise descriptions to all SKILL.md frontmatter.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 13:57:19 -05:00

78 lines
3.0 KiB
Markdown

---
name: save
allowed-tools: Read,Write,Edit,Glob,Grep,Bash
description: Save documentation to the knowledge base with proper frontmatter
user-invocable: true
---
Save learnings, fixes, release notes, and other documentation to the claude-home knowledge base. Files are auto-committed and pushed by the `sync-kb` systemd timer (every 2 hours), which triggers kb-rag reindexing.
## Frontmatter Template
Every `.md` file MUST have this YAML frontmatter to be indexed:
```yaml
---
title: "Short descriptive title"
description: "One-sentence summary — used for search ranking, so be specific."
type: <type>
domain: <domain>
tags: [tag1, tag2, tag3]
---
```
## Valid Values
**type** (required): `reference`, `troubleshooting`, `guide`, `context`, `runbook`
**domain** (required — matches repo directory):
| Domain | Directory | Use for |
|--------|-----------|---------|
| `networking` | `networking/` | DNS, Pi-hole, firewall, SSL, nginx, SSH |
| `docker` | `docker/` | Container configs, compose patterns |
| `vm-management` | `vm-management/` | Proxmox, KVM, LXC |
| `tdarr` | `tdarr/` | Transcoding, ffmpeg, nvenc |
| `media-servers` | `media-servers/` | Jellyfin, Plex, watchstate |
| `media-tools` | `media-tools/` | yt-dlp, Playwright, scraping |
| `monitoring` | `monitoring/` | Uptime Kuma, alerts, health checks |
| `productivity` | `productivity/` | n8n, automation, Ko-fi |
| `gaming` | `gaming/` | Steam, Proton, STL |
| `databases` | `databases/` | PostgreSQL, Redis |
| `backups` | `backups/` | Restic, snapshots, retention |
| `server-configs` | `server-configs/` | Gitea, infrastructure |
| `workstation` | `workstation/` | Dotfiles, fish, tmux, zed |
| `development` | `development/` | Dev tooling, CI, testing |
| `scheduled-tasks` | `scheduled-tasks/` | Systemd timers, Claude automation |
| `paper-dynasty` | `paper-dynasty/` | Card game project docs |
| `major-domo` | `major-domo/` | Discord bot project docs |
| `tabletop` | `tabletop/` | Tabletop gaming |
| `tcg` | `tcg/` | Trading card games |
**tags**: Free-form, lowercase, hyphenated. Reuse existing tags when possible.
## File Naming
- Lowercase, hyphenated: `pihole-dns-timeout-fix.md`
- Release notes: `release-YYYY.M.DD.md` or `database-release-YYYY.M.DD.md`
- Troubleshooting additions: append to existing `{domain}/troubleshooting.md` when possible
## Where to Save
Save to `/mnt/NV2/Development/claude-home/{domain}/`. The file will be auto-committed and pushed by the `sync-kb` timer, triggering kb-rag reindexing.
## Workflow
1. Identify what's worth documenting (fix, decision, config, incident, release)
2. Check if an existing doc should be updated instead (`kb-search` or `Glob`)
3. Write the file with proper frontmatter to the correct directory
4. Confirm to the user what was saved and where
## Examples
See `examples/` in this skill directory for templates of each document type:
- `examples/troubleshooting.md` — Bug fix / incident resolution
- `examples/release-notes.md` — Deployment / release changelog
- `examples/guide.md` — How-to / setup guide
- `examples/runbook.md` — Operational procedure