diff options
| author | Paul Buetow <paul@buetow.org> | 2026-07-18 22:08:10 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-07-18 22:08:10 +0300 |
| commit | efbb7876347bc667bdb3633f72a22a51b3bfbc49 (patch) | |
| tree | 0a2d1d9367f4bf549584aaa71b0b82337cab2226 | |
| parent | fbf9d4815ea25bd85be0f232ac8670bda1a64955 (diff) | |
skills: rename pkgrepo -> f3s-pkgrepo and rocky-vm-setup -> f3s-rocky-vm-setup
Extend the f3s- prefix to the two remaining f3s-scoped siblings so the whole
homelab family groups together. Both are f3s-specific: pkgrepo IS
pkgrepo.f3s.buetow.org, and rocky-vm-setup documents the 'rocky' VM on the f3s
host f3.
- git mv both skill dirs (history preserved); update name: frontmatter; add the
'Part of the f3s homelab skill family' note to both descriptions.
- Rewrite every reference to the *skills*: backtick mentions (`pkgrepo` ->
`f3s-pkgrepo`, `rocky-vm-setup` -> `f3s-rocky-vm-setup`), markdown cross-links
(../pkgrepo/ -> ../f3s-pkgrepo/, etc.), the f3s hub Related-skills block and
description, and skill-maintenance's index-pattern example.
- Left references to the package REPOSITORY (pkgrepo.f3s.buetow.org, 'the custom
pkgrepo') unchanged — those name a service, not the skill.
- Verified all 114 relative links resolve. Plan doc updated to record the rename.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
| -rw-r--r-- | plans/f3s-skill-split-plan.md | 14 | ||||
| -rw-r--r-- | prompts/skills/f3s-dtail/SKILL.md | 8 | ||||
| -rw-r--r-- | prompts/skills/f3s-dtail/references/dserver.d | 2 | ||||
| -rw-r--r-- | prompts/skills/f3s-dtail/references/dtail.md | 8 | ||||
| -rw-r--r-- | prompts/skills/f3s-pkgrepo/SKILL.md (renamed from prompts/skills/pkgrepo/SKILL.md) | 4 | ||||
| -rw-r--r-- | prompts/skills/f3s-pkgrepo/references/client-setup.md (renamed from prompts/skills/pkgrepo/references/client-setup.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-pkgrepo/references/dtail-package.md (renamed from prompts/skills/pkgrepo/references/dtail-package.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-pkgrepo/references/openbsd-build-vm.md (renamed from prompts/skills/pkgrepo/references/openbsd-build-vm.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-pkgrepo/references/packaging-workflow.md (renamed from prompts/skills/pkgrepo/references/packaging-workflow.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-pkgrepo/references/repo-architecture.md (renamed from prompts/skills/pkgrepo/references/repo-architecture.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-raspberry-pi/SKILL.md | 4 | ||||
| -rw-r--r-- | prompts/skills/f3s-raspberry-pi/references/bootstrap-netbsd-pi.md | 2 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/SKILL.md (renamed from prompts/skills/rocky-vm-setup/SKILL.md) | 4 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/git-remotes.md (renamed from prompts/skills/rocky-vm-setup/references/git-remotes.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/notes.md (renamed from prompts/skills/rocky-vm-setup/references/notes.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/overview.md (renamed from prompts/skills/rocky-vm-setup/references/overview.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/privileges.md (renamed from prompts/skills/rocky-vm-setup/references/privileges.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/rex.md (renamed from prompts/skills/rocky-vm-setup/references/rex.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/scripts.md (renamed from prompts/skills/rocky-vm-setup/references/scripts.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/tmux.md (renamed from prompts/skills/rocky-vm-setup/references/tmux.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/tools.md (renamed from prompts/skills/rocky-vm-setup/references/tools.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s-rocky-vm-setup/references/zrepl.md (renamed from prompts/skills/rocky-vm-setup/references/zrepl.md) | 0 | ||||
| -rw-r--r-- | prompts/skills/f3s/SKILL.md | 6 | ||||
| -rw-r--r-- | prompts/skills/skill-maintenance/SKILL.md | 4 | ||||
| -rw-r--r-- | prompts/skills/skill-maintenance/references/sub-division.md | 10 |
25 files changed, 36 insertions, 30 deletions
diff --git a/plans/f3s-skill-split-plan.md b/plans/f3s-skill-split-plan.md index acb0650..1d92329 100644 --- a/plans/f3s-skill-split-plan.md +++ b/plans/f3s-skill-split-plan.md @@ -83,10 +83,16 @@ obvious they belong together: `f3s-storage`, `f3s-k3s`, `f3s-workloads`, hyphens, ≤64 chars) and is applied uniformly to all six. Note this is a **prefix**, not a trailing suffix (`f3s-storage`, not `storage-f3s`): -a prefix is what groups them alphabetically beside `f3s`. The existing siblings -`pkgrepo` and `rocky-vm-setup` stay unprefixed (they are not being renamed); only the -new f3s carve-outs take the `f3s-` marker. The earlier unprefixed `homelab-*` -alternative is rejected. +a prefix is what groups them alphabetically beside `f3s`. The earlier unprefixed +`homelab-*` alternative is rejected. + +**Update (post-execution):** the two pre-existing siblings were **also renamed for +consistency**, since both are f3s-scoped — `pkgrepo` → **`f3s-pkgrepo`** (it *is* +`pkgrepo.f3s.buetow.org`) and `rocky-vm-setup` → **`f3s-rocky-vm-setup`** (the `rocky` +VM runs on the f3s host f3). So the whole family now carries the `f3s-` prefix. All +cross-references (including inbound links and prose mentions of the *skills*) were +updated; references to the package **repository** `pkgrepo.f3s.buetow.org` were left +unchanged. --- diff --git a/prompts/skills/f3s-dtail/SKILL.md b/prompts/skills/f3s-dtail/SKILL.md index 779e1b3..127b708 100644 --- a/prompts/skills/f3s-dtail/SKILL.md +++ b/prompts/skills/f3s-dtail/SKILL.md @@ -1,25 +1,25 @@ --- name: f3s-dtail -description: Reference skill for DTail/dserver deployment across the f3s fleet, distributed log access over SSH on port 2222 — Pis arm64 (NetBSD + Rocky) vs r0–r2 amd64, r-VM root + root.authorized_keys cache, firewalld/npf 2222 rules, systemd timers. Package building lives in the `pkgrepo` skill. Use when deploying, configuring, or troubleshooting dserver on homelab hosts. Part of the f3s homelab skill family (hub, [`f3s`](../f3s/SKILL.md)). +description: Reference skill for DTail/dserver deployment across the f3s fleet, distributed log access over SSH on port 2222 — Pis arm64 (NetBSD + Rocky) vs r0–r2 amd64, r-VM root + root.authorized_keys cache, firewalld/npf 2222 rules, systemd timers. Package building lives in the `f3s-pkgrepo` skill. Use when deploying, configuring, or troubleshooting dserver on homelab hosts. Part of the f3s homelab skill family (hub, [`f3s`](../f3s/SKILL.md)). --- # f3s DTail / dserver Distributed log access (DTail) via `dserver` across the f3s fleet. This skill owns the **runtime deployment/operations**; package *building/publishing* lives in the -sibling [`pkgrepo`](../pkgrepo/SKILL.md) skill (`dtail-package.md`). +sibling [`f3s-pkgrepo`](../f3s-pkgrepo/SKILL.md) skill (`dtail-package.md`). ## When to Use - Deploying, configuring, or troubleshooting `dserver` on homelab hosts (Pis, r0–r2) - SSH-on-2222 access, permissions/key-cache, firewall (firewalld/npf) rules, systemd timers -- For building the `dtail` package (esp. the NetBSD build), use [`pkgrepo`](../pkgrepo/SKILL.md); for the Pi nodes themselves, [`f3s-raspberry-pi`](../f3s-raspberry-pi/SKILL.md); for hosts/IPs, the [`f3s`](../f3s/SKILL.md) hub. +- For building the `dtail` package (esp. the NetBSD build), use [`f3s-pkgrepo`](../f3s-pkgrepo/SKILL.md); for the Pi nodes themselves, [`f3s-raspberry-pi`](../f3s-raspberry-pi/SKILL.md); for hosts/IPs, the [`f3s`](../f3s/SKILL.md) hub. ## Overview Distributed log access (`dcat`/`dtail`/`dgrep`/`dmap`) over SSH on port **2222** (not sshd's 22), by architecture: **pi2/pi3** linux/arm64, **pi0/pi1** netbsd/arm64 (installed -from the `dtail` package in the custom [`pkgrepo`](../pkgrepo/SKILL.md)), **r0–r2** k3s +from the `dtail` package in the custom [`f3s-pkgrepo`](../f3s-pkgrepo/SKILL.md)), **r0–r2** k3s Rocky VMs linux/amd64. The recurring gotchas — installing as `root`, listing `root` in `Server.Permissions.Users`, mirroring `/root/.ssh/authorized_keys` into the key cache (the cache script only walks `/home/*`), and opening 2222 in firewalld/npf — plus the diff --git a/prompts/skills/f3s-dtail/references/dserver.d b/prompts/skills/f3s-dtail/references/dserver.d index 49d5c54..5d4e7be 100644 --- a/prompts/skills/f3s-dtail/references/dserver.d +++ b/prompts/skills/f3s-dtail/references/dserver.d @@ -1,7 +1,7 @@ # dserver on f3s (index) - **r0–r2 Rocky bhyve / k3s VMs** — install context and SSH notes: [Rocky Linux VMs – DTail (dserver) on r0–r2](rocky-linux-vms.md#dtail-dserver-on-r0r2) -- **pi0–pi1 NetBSD Pis** — dserver installed from the custom pkgrepo (`dtail-4.3.2ng` package): build with `make dtail-netbsd` in `~/git/conf/packages` (cross-compile netbsd/arm64, package natively on pi0, upload to pkgrepo), deploy via `pkg_add https://pkgrepo.f3s.buetow.org/netbsd/10.1/packages/aarch64/dtail-<version>.tgz`. Full build/install/rc.d/npf details and gotchas: `pkgrepo` skill's `dtail-package.md` +- **pi0–pi1 NetBSD Pis** — dserver installed from the custom pkgrepo (`dtail-4.3.2ng` package): build with `make dtail-netbsd` in `~/git/conf/packages` (cross-compile netbsd/arm64, package natively on pi0, upload to pkgrepo), deploy via `pkg_add https://pkgrepo.f3s.buetow.org/netbsd/10.1/packages/aarch64/dtail-<version>.tgz`. Full build/install/rc.d/npf details and gotchas: `f3s-pkgrepo` skill's `dtail-package.md` - **Full DTail reference** (NetBSD + Rocky Pis, r VMs amd64, firewalld, key cache, clients): [dtail.md](dtail.md) Upstream repo: `https://codeberg.org/snonux/dtail` — `doc/installation.md`, `examples/`. diff --git a/prompts/skills/f3s-dtail/references/dtail.md b/prompts/skills/f3s-dtail/references/dtail.md index 840f07d..4d94c29 100644 --- a/prompts/skills/f3s-dtail/references/dtail.md +++ b/prompts/skills/f3s-dtail/references/dtail.md @@ -13,7 +13,7 @@ Upstream install and examples live in the repo: `doc/installation.md`, `examples | **r0–r2** | Rocky Linux 9 **x86_64** (bhyve VMs, k3s nodes) | Cross-build **linux/amd64**, `nozstd` | Often `root@rN.lan.buetow.org` (see [Rocky Linux VMs](../../f3s/references/rocky-linux-vms.md)); add `root` (and `paul` if present) to **Server.Permissions.Users** in `dtail.json` | | **blowfish, fishfinger** | OpenBSD 7.8 **amd64** | Native OpenBSD package build | `rex@blowfish.buetow.org`, `rex@fishfinger.buetow.org` | -`pi0`/`pi1` (NetBSD) run dserver since 2026-07-09 from the `dtail` package in the custom pkgrepo — build pipeline (`make dtail-netbsd`), install steps, rc.d/npf details, and gotchas live in the `pkgrepo` skill's `dtail-package.md`. +`pi0`/`pi1` (NetBSD) run dserver since 2026-07-09 from the `dtail` package in the custom pkgrepo — build pipeline (`make dtail-netbsd`), install steps, rc.d/npf details, and gotchas live in the `f3s-pkgrepo` skill's `dtail-package.md`. **Key cache filenames matter:** `examples/update_key_cache.sh.example` only scans `/home/*` and writes `/var/run/dserver/cache/USER.authorized_keys`. In this lab, DTail auth worked only after writing the exact cache filename for the login user: @@ -160,7 +160,7 @@ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -tags nozstd -o dserver-linux-amd ## Installation checklist (each server) -Do this on **each** Linux target (pi2–pi3 and/or r0–r2). pi0/pi1 are NetBSD and install the `dtail` package from the custom pkgrepo instead — see the `pkgrepo` skill's `dtail-package.md`. Adjust **user** if you are not using `paul` on the node. +Do this on **each** Linux target (pi2–pi3 and/or r0–r2). pi0/pi1 are NetBSD and install the `dtail` package from the custom pkgrepo instead — see the `f3s-pkgrepo` skill's `dtail-package.md`. Adjust **user** if you are not using `paul` on the node. 1. **Binary**: `/usr/local/bin/dserver`, mode `0755`, owned by root. 2. **OS user**: `dserver` system account (`useradd -r -d /var/lib/dserver -s /sbin/nologin -U dserver`). @@ -200,9 +200,9 @@ Use hostnames that resolve from where you run the client (often `*.lan.buetow.or ## Package-managed DTail -For package-repo-backed DTail and other custom package repo tasks, use the sibling `pkgrepo` skill and its reference: +For package-repo-backed DTail and other custom package repo tasks, use the sibling `f3s-pkgrepo` skill and its reference: -- [Package Repositories](../../pkgrepo/references/repo-architecture.md) +- [Package Repositories](../../f3s-pkgrepo/references/repo-architecture.md) That skill now owns: diff --git a/prompts/skills/pkgrepo/SKILL.md b/prompts/skills/f3s-pkgrepo/SKILL.md index 9b0982e..262a6e7 100644 --- a/prompts/skills/pkgrepo/SKILL.md +++ b/prompts/skills/f3s-pkgrepo/SKILL.md @@ -1,6 +1,6 @@ --- -name: pkgrepo -description: Reference skill for the homelab package repositories behind pkgrepo.f3s.buetow.org. Covers FreeBSD pkg, OpenBSD pkg_add, NetBSD pkg_add, Rocky Linux dnf repos, PV layout, nginx/ArgoCD wiring, DTail package publishing, and client repo configuration. Use when publishing packages, troubleshooting repository access or metadata, or deciding how packages should be installed from the custom repo. +name: f3s-pkgrepo +description: Reference skill for the homelab package repositories behind pkgrepo.f3s.buetow.org. Covers FreeBSD pkg, OpenBSD pkg_add, NetBSD pkg_add, Rocky Linux dnf repos, PV layout, nginx/ArgoCD wiring, DTail package publishing, and client repo configuration. Use when publishing packages, troubleshooting repository access or metadata, or deciding how packages should be installed from the custom repo. Part of the f3s homelab skill family (hub, [`f3s`](../f3s/SKILL.md)). --- # Package Repo Reference diff --git a/prompts/skills/pkgrepo/references/client-setup.md b/prompts/skills/f3s-pkgrepo/references/client-setup.md index 1e29c4e..1e29c4e 100644 --- a/prompts/skills/pkgrepo/references/client-setup.md +++ b/prompts/skills/f3s-pkgrepo/references/client-setup.md diff --git a/prompts/skills/pkgrepo/references/dtail-package.md b/prompts/skills/f3s-pkgrepo/references/dtail-package.md index fbdd8d6..fbdd8d6 100644 --- a/prompts/skills/pkgrepo/references/dtail-package.md +++ b/prompts/skills/f3s-pkgrepo/references/dtail-package.md diff --git a/prompts/skills/pkgrepo/references/openbsd-build-vm.md b/prompts/skills/f3s-pkgrepo/references/openbsd-build-vm.md index 2c2831f..2c2831f 100644 --- a/prompts/skills/pkgrepo/references/openbsd-build-vm.md +++ b/prompts/skills/f3s-pkgrepo/references/openbsd-build-vm.md diff --git a/prompts/skills/pkgrepo/references/packaging-workflow.md b/prompts/skills/f3s-pkgrepo/references/packaging-workflow.md index d2b7388..d2b7388 100644 --- a/prompts/skills/pkgrepo/references/packaging-workflow.md +++ b/prompts/skills/f3s-pkgrepo/references/packaging-workflow.md diff --git a/prompts/skills/pkgrepo/references/repo-architecture.md b/prompts/skills/f3s-pkgrepo/references/repo-architecture.md index ae42e1f..ae42e1f 100644 --- a/prompts/skills/pkgrepo/references/repo-architecture.md +++ b/prompts/skills/f3s-pkgrepo/references/repo-architecture.md diff --git a/prompts/skills/f3s-raspberry-pi/SKILL.md b/prompts/skills/f3s-raspberry-pi/SKILL.md index 0ed3ac1..2ede716 100644 --- a/prompts/skills/f3s-raspberry-pi/SKILL.md +++ b/prompts/skills/f3s-raspberry-pi/SKILL.md @@ -13,7 +13,7 @@ The four Raspberry Pi 3 nodes of the f3s homelab. The master host/IP inventory - Configuring or troubleshooting pi0–pi3 (NetBSD static site pair, or Rocky Pi-hole pair) - The static `f3s.buetow.org` / `snonux.foo` site (bozohttpd, relayd forwarding, vhosts) - Pi-hole and `*.f3s.lan.buetow.org` LAN wildcard DNS -- For the WireGuard mesh these depend on, see the [`f3s`](../f3s/SKILL.md) hub's `wireguard.md`; for DTail/dserver on the Pis, [`f3s-dtail`](../f3s-dtail/SKILL.md); for building the NetBSD dserver package, the [`pkgrepo`](../pkgrepo/SKILL.md) skill. +- For the WireGuard mesh these depend on, see the [`f3s`](../f3s/SKILL.md) hub's `wireguard.md`; for DTail/dserver on the Pis, [`f3s-dtail`](../f3s-dtail/SKILL.md); for building the NetBSD dserver package, the [`f3s-pkgrepo`](../f3s-pkgrepo/SKILL.md) skill. ## Node roles @@ -50,5 +50,5 @@ canonical detail in [references/bootstrap-netbsd-pi.md](references/bootstrap-net ## Reference Files -- [NetBSD Pi Setup](references/bootstrap-netbsd-pi.md) — how services are installed on `pi0`/`pi1` (NetBSD): doas/pkgin bootstrap, WireGuard via userspace `wireguard-go` (no native `wg(4)`), bozohttpd (`-X` dir-listing, vhost symlinks), uptimed from source, npf firewall, content-sync. dserver (DTail) is installed from the custom pkgrepo — see the [`pkgrepo`](../pkgrepo/SKILL.md) skill's `dtail-package.md`. +- [NetBSD Pi Setup](references/bootstrap-netbsd-pi.md) — how services are installed on `pi0`/`pi1` (NetBSD): doas/pkgin bootstrap, WireGuard via userspace `wireguard-go` (no native `wg(4)`), bozohttpd (`-X` dir-listing, vhost symlinks), uptimed from source, npf firewall, content-sync. dserver (DTail) is installed from the custom pkgrepo — see the [`f3s-pkgrepo`](../f3s-pkgrepo/SKILL.md) skill's `dtail-package.md`. - [Pi-hole on Pis](references/pihole-pi.md) — **pi2/pi3** Docker Pi-hole, **`~/pihole`**, **`*.f3s.lan.buetow.org` → 192.168.1.138**, paths under **`f3s/pihole/docker-pi/`** diff --git a/prompts/skills/f3s-raspberry-pi/references/bootstrap-netbsd-pi.md b/prompts/skills/f3s-raspberry-pi/references/bootstrap-netbsd-pi.md index 44d4b58..99c29a2 100644 --- a/prompts/skills/f3s-raspberry-pi/references/bootstrap-netbsd-pi.md +++ b/prompts/skills/f3s-raspberry-pi/references/bootstrap-netbsd-pi.md @@ -291,7 +291,7 @@ group default { } ``` -Port 2222 is dserver (DTail) — see the `pkgrepo` skill's `dtail-package.md` +Port 2222 is dserver (DTail) — see the `f3s-pkgrepo` skill's `dtail-package.md` for the install steps. `family inet4`/`inet6` must be explicit on multi-family interfaces or diff --git a/prompts/skills/rocky-vm-setup/SKILL.md b/prompts/skills/f3s-rocky-vm-setup/SKILL.md index dfa5c57..bab9de0 100644 --- a/prompts/skills/rocky-vm-setup/SKILL.md +++ b/prompts/skills/f3s-rocky-vm-setup/SKILL.md @@ -1,6 +1,6 @@ --- -name: rocky-vm-setup -description: Reference for the plain Rocky Linux 9 bhyve VM (host `rocky`, 192.168.1.123) running on f3. Covers SSH keys, local git server remotes, tooling (tmux, fish, amp, claude-code, pi, taskwarrior, Rex), zrepl replication, and restricted user privileges. Use when working on or replicating the rocky VM configuration. +name: f3s-rocky-vm-setup +description: Reference for the plain Rocky Linux 9 bhyve VM (host `rocky`, 192.168.1.123) running on f3. Covers SSH keys, local git server remotes, tooling (tmux, fish, amp, claude-code, pi, taskwarrior, Rex), zrepl replication, and restricted user privileges. Use when working on or replicating the rocky VM configuration. Part of the f3s homelab skill family (hub, [`f3s`](../f3s/SKILL.md)). --- # Rocky VM Setup Reference diff --git a/prompts/skills/rocky-vm-setup/references/git-remotes.md b/prompts/skills/f3s-rocky-vm-setup/references/git-remotes.md index bddc6c3..bddc6c3 100644 --- a/prompts/skills/rocky-vm-setup/references/git-remotes.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/git-remotes.md diff --git a/prompts/skills/rocky-vm-setup/references/notes.md b/prompts/skills/f3s-rocky-vm-setup/references/notes.md index 124c345..124c345 100644 --- a/prompts/skills/rocky-vm-setup/references/notes.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/notes.md diff --git a/prompts/skills/rocky-vm-setup/references/overview.md b/prompts/skills/f3s-rocky-vm-setup/references/overview.md index e606f37..e606f37 100644 --- a/prompts/skills/rocky-vm-setup/references/overview.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/overview.md diff --git a/prompts/skills/rocky-vm-setup/references/privileges.md b/prompts/skills/f3s-rocky-vm-setup/references/privileges.md index d8f25ba..d8f25ba 100644 --- a/prompts/skills/rocky-vm-setup/references/privileges.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/privileges.md diff --git a/prompts/skills/rocky-vm-setup/references/rex.md b/prompts/skills/f3s-rocky-vm-setup/references/rex.md index 1eba83a..1eba83a 100644 --- a/prompts/skills/rocky-vm-setup/references/rex.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/rex.md diff --git a/prompts/skills/rocky-vm-setup/references/scripts.md b/prompts/skills/f3s-rocky-vm-setup/references/scripts.md index 14fa7e0..14fa7e0 100644 --- a/prompts/skills/rocky-vm-setup/references/scripts.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/scripts.md diff --git a/prompts/skills/rocky-vm-setup/references/tmux.md b/prompts/skills/f3s-rocky-vm-setup/references/tmux.md index 8c1a112..8c1a112 100644 --- a/prompts/skills/rocky-vm-setup/references/tmux.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/tmux.md diff --git a/prompts/skills/rocky-vm-setup/references/tools.md b/prompts/skills/f3s-rocky-vm-setup/references/tools.md index b3307ef..b3307ef 100644 --- a/prompts/skills/rocky-vm-setup/references/tools.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/tools.md diff --git a/prompts/skills/rocky-vm-setup/references/zrepl.md b/prompts/skills/f3s-rocky-vm-setup/references/zrepl.md index 17a3daf..17a3daf 100644 --- a/prompts/skills/rocky-vm-setup/references/zrepl.md +++ b/prompts/skills/f3s-rocky-vm-setup/references/zrepl.md diff --git a/prompts/skills/f3s/SKILL.md b/prompts/skills/f3s/SKILL.md index 540ea13..eaa2dc4 100644 --- a/prompts/skills/f3s/SKILL.md +++ b/prompts/skills/f3s/SKILL.md @@ -1,6 +1,6 @@ --- name: f3s -description: "Hub reference skill for the f3s homelab—four Beelink S12 Pro hosts (f0/f1/f2/f3) running FreeBSD with Rocky Linux Bhyve VMs and a k3s Kubernetes cluster. f0/f1/f2 run r0/r1/r2 k3s nodes; f3 is standalone bhyve only (not part of k3s) and hosts the plain Rocky Linux VM named rocky; plus four Raspberry Pi 3 nodes (pi0–pi3). This hub owns the master host/IP inventory, the physical hosts, bhyve layer, power, WireGuard mesh, and off-LAN access; detailed subsystems live in sibling skills: f3s-storage, f3s-k3s, f3s-observability, f3s-workloads, f3s-raspberry-pi, f3s-dtail (also pkgrepo, rocky-vm-setup). Use for host/network/context questions or as the entry point to the f3s skill family." +description: "Hub reference skill for the f3s homelab—four Beelink S12 Pro hosts (f0/f1/f2/f3) running FreeBSD with Rocky Linux Bhyve VMs and a k3s Kubernetes cluster. f0/f1/f2 run r0/r1/r2 k3s nodes; f3 is standalone bhyve only (not part of k3s) and hosts the plain Rocky Linux VM named rocky; plus four Raspberry Pi 3 nodes (pi0–pi3). This hub owns the master host/IP inventory, the physical hosts, bhyve layer, power, WireGuard mesh, and off-LAN access; detailed subsystems live in sibling skills: f3s-storage, f3s-k3s, f3s-observability, f3s-workloads, f3s-raspberry-pi, f3s-dtail (also f3s-pkgrepo, f3s-rocky-vm-setup). Use for host/network/context questions or as the entry point to the f3s skill family." --- # f3s Homelab Reference @@ -65,8 +65,8 @@ table, physical hosts, WireGuard mesh, and off-LAN access that they all link bac - [`f3s-raspberry-pi`](../f3s-raspberry-pi/SKILL.md) — pi0/pi1 NetBSD static `f3s.buetow.org`/`snonux.foo` site (bozohttpd), pi2/pi3 Pi-hole + LAN wildcard DNS - [`f3s-workloads`](../f3s-workloads/SKILL.md) — hosted apps: Immich, Garage, Player, yChat, goprecords/uptimed - [`f3s-dtail`](../f3s-dtail/SKILL.md) — DTail/dserver deployment/ops (SSH port 2222) -- [`pkgrepo`](../pkgrepo/SKILL.md) — `pkgrepo.f3s.buetow.org`, repo layout, package publication, client repo config (incl. the `dtail` package build) -- [`rocky-vm-setup`](../rocky-vm-setup/SKILL.md) — the plain Rocky Linux VM on f3 (`rocky`, `192.168.1.123`): SSH keys, git remotes, tooling, zrepl, user privileges +- [`f3s-pkgrepo`](../f3s-pkgrepo/SKILL.md) — `pkgrepo.f3s.buetow.org`, repo layout, package publication, client repo config (incl. the `dtail` package build) +- [`f3s-rocky-vm-setup`](../f3s-rocky-vm-setup/SKILL.md) — the plain Rocky Linux VM on f3 (`rocky`, `192.168.1.123`): SSH keys, git remotes, tooling, zrepl, user privileges ## Config Repository diff --git a/prompts/skills/skill-maintenance/SKILL.md b/prompts/skills/skill-maintenance/SKILL.md index faed9f3..d483e68 100644 --- a/prompts/skills/skill-maintenance/SKILL.md +++ b/prompts/skills/skill-maintenance/SKILL.md @@ -1,6 +1,6 @@ --- name: skill-maintenance -description: "Maintain the ~/.agents/skills collection: audit skills against the Agent Skills spec, enforce DRY across skills (one canonical home for shared knowledge; cross-link, don't duplicate), sub-divide oversized skills into focused references/ (the f3s/rocky-vm-setup index pattern), and commit/sync changes. Use when asked to review, refactor, audit, or health-check skills, or to apply best practices to the skills collection. Triggers on: skill maintenance, audit skills, review skills, refactor skills, skill health, DRY skills, sub-divide skill, skill best practices." +description: "Maintain the ~/.agents/skills collection: audit skills against the Agent Skills spec, enforce DRY across skills (one canonical home for shared knowledge; cross-link, don't duplicate), sub-divide oversized skills into focused references/ (the f3s/f3s-rocky-vm-setup index pattern), and commit/sync changes. Use when asked to review, refactor, audit, or health-check skills, or to apply best practices to the skills collection. Triggers on: skill maintenance, audit skills, review skills, refactor skills, skill health, DRY skills, sub-divide skill, skill best practices." --- # Skill Maintenance @@ -23,7 +23,7 @@ Detailed reference documentation is in the `references/` subfolder: - [Best Practices](references/best-practices.md) — the Agent Skills spec rules + pi specifics: progressive disclosure (metadata ~100 tokens always loaded; instructions <5000 tokens / <500 lines; resources on demand), frontmatter, name rules, description, structure, scripts, references, file refs one level deep, validation. - [DRY Across Skills](references/dry-across-skills.md) — DRY principles for a skill collection: one canonical home for shared knowledge; cross-link via `../sibling/SKILL.md`; when to share a reference vs. keep a skill self-contained; how to resolve conflicts; worked examples from this collection. -- [Sub-division](references/sub-division.md) — when and how to sub-divide an oversized skill into focused `references/`: the index pattern (`f3s`, `rocky-vm-setup`), the "SKILL.md must not duplicate its own references" rule, naming and sizing reference files, keeping refs one level deep. +- [Sub-division](references/sub-division.md) — when and how to sub-divide an oversized skill into focused `references/`: the index pattern (`f3s`, `f3s-rocky-vm-setup`), the "SKILL.md must not duplicate its own references" rule, naming and sizing reference files, keeping refs one level deep. - [Audit Checklist](references/audit-checklist.md) — the concrete step-by-step checklist for reviewing a single skill or sweeping the whole collection. ## Quick Checklist diff --git a/prompts/skills/skill-maintenance/references/sub-division.md b/prompts/skills/skill-maintenance/references/sub-division.md index c435d3e..ae6ce97 100644 --- a/prompts/skills/skill-maintenance/references/sub-division.md +++ b/prompts/skills/skill-maintenance/references/sub-division.md @@ -2,7 +2,7 @@ When a skill grows too large, sub-divide it into a slim `SKILL.md` index plus focused `references/`. The model in this collection is `f3s` and -`rocky-vm-setup`: a short overview + a "Reference Files" list + a tiny +`f3s-rocky-vm-setup`: a short overview + a "Reference Files" list + a tiny quick-reference, with all detail living in `references/*.md`. ## When to sub-divide @@ -11,7 +11,7 @@ Sub-divide when any of these hold: - `SKILL.md` exceeds ~500 lines or ~5000 tokens (the spec's soft target). - `SKILL.md` re-inlines content that already exists in its own `references/` - (the worst DRY offender — `rocky-vm-setup` was this before refactoring). + (the worst DRY offender — `f3s-rocky-vm-setup` was this before refactoring). - A single reference file covers multiple unrelated topics (split it). - The agent would need to load the whole `SKILL.md` when only one section is relevant. @@ -24,7 +24,7 @@ Do **not** sub-divide when: — thresholds and code are inseparable; keep inline). - The skill is a single linear procedure with no reusable sub-topics. -## The index pattern (f3s / rocky-vm-setup) +## The index pattern (f3s / f3s-rocky-vm-setup) A sub-divided `SKILL.md` should contain: @@ -65,8 +65,8 @@ grep -l "<unique line from SKILL.md>" skill/references/*.md - **Good index models:** `f3s`, `c-best-practices`, `bash-best-practices`, `agent-task-management`, `llm-benchmark-comparison`, `music-collection`, - `rocky-vm-setup` (after refactor). -- **Sub-divided during the DRY pass:** `rocky-vm-setup` (260 → ~40 line index), + `f3s-rocky-vm-setup` (after refactor). +- **Sub-divided during the DRY pass:** `f3s-rocky-vm-setup` (260 → ~40 line index), `blog-writing-style` (216 → ~120 lines; examples moved to `references/`). - **Borderline, kept inline by design:** `photo-processing` (snippets are the skill's value), `check-shopping-status` (already delegates to 2 refs). |
