summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-28home-backup: exclude .config/google-chromePaul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019f0cc8-1a8f-71ab-8a1c-914d7cdb055a Co-authored-by: Amp <amp@ampcode.com>
2026-06-28Add home-backup script with daily systemd timerPaul Buetow
Backs up ~ to encrypted ZFS dataset on f2 (zdata/enc/earth-backup) via rsync over SSH. Excludes caches, trash, build artifacts, git checkouts, syncthing, and media libraries. Adds systemd user service+timer (daily) and enables it via Rex home_systemd_user task. Amp-Thread-ID: https://ampcode.com/threads/T-019f0cc8-1a8f-71ab-8a1c-914d7cdb055a Co-authored-by: Amp <amp@ampcode.com>
2026-06-27scripts/wol-f3s: Power off rack fans after host shutdownPaul Buetow
2026-06-26turn on fans as wellPaul Buetow
2026-06-22new reference herePaul Buetow
2026-06-22UpdatePaul Buetow
2026-06-22update promptsPaul Buetow
2026-06-20f3s: fix WireGuard key mismatch — f3 now reachable from fishfinger/blowfishPaul Buetow
Corrected mutual pubkey and PSK mismatch between f3 and both OpenBSD gateways. f3 is now reachable directly via WireGuard from fishfinger or blowfish without the double-hop workaround. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20f3s: update to FreeBSD 15.1-RELEASE, document 15.1 breaking changesPaul Buetow
- Current version bump: 15.0-RELEASE → 15.1-RELEASE - Added breaking changes section for 15.1: ZFS sysctl rename (vfs.zfs.min_auto_ashift → vfs.zfs.vdev.min_auto_ashift), libzfs7/libzpool7 SONAME bump, if_bridge/if_epair MAC change, CARP failover + NFS sink dataset readonly fix - Updated minor upgrade example: two-pass flow with correct PAGER=cat workarounds, doas env-var handling via doas sh -c, sysctl rename step - Noted carpcontrol.sh fixes: readonly flip on MASTER + rollback on BACKUP (commits 6c13b6a + c9f06a2 in conf repo) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20taskwarrior: DRY up export/import into symmetric label helpersPaul Buetow
The export path passed a file_label argument that was always identical to the tag (TASK_EXPORT_TAG/TASK_EXPORT_TAG, rocky/rocky), and the import path duplicated the find | while read | import/rm block once per source. Collapse both into a single 'list of labels' model: - _taskwarrior::export_tag drops the redundant file_label; the tag name is the file label. - New _taskwarrior::import_label imports+removes all files for one label, replacing the two copy-pasted blocks. - export loops over [$TASK_EXPORT_TAG rocky]; import loops over [$TASK_IMPORT_TAG (hostname)]. The rocky routing (export by tag name, import by hostname match) is now explicit and symmetric. Behaviour is unchanged; verified with a stubbed-task/hostname harness covering the rocky host, a non-rocky host, and label isolation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20c-best-practices skill: split oversized SKILL.md into references/Paul Buetow
The prior worker extracted the style sections into four references/ files (naming-and-formatting, files-and-headers, module-organization, code-body-conventions) but was interrupted before slimming SKILL.md, leaving the content duplicated. Resume: slim SKILL.md to intro, When-to-Use, a reference index, and the Quick Checklist summary (187 -> 44 lines). Content moved verbatim; nothing dropped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19music-collection skill: split oversized SKILL.md into references/Paul Buetow
Reorganize the 217-line SKILL.md into a slim 50-line entry point (purpose, principles, core workflow, reference index, quick reference) plus four focused references, matching the f3s / llm-benchmark-comparison pattern. Pure reorganization; all content preserved. References: - beets-layout-and-dedup.md (layout, sorting, duplicates plugin) - navidrome-rescan.md (full scan on host and in Kubernetes) - cmus-reindex.md (lib.pl/cache, offline and live re-index) - tiddl-downloads.md (auth, batch loops, quality/output config) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19llm-benchmark-comparison: split oversized SKILL.md into references/Paul Buetow
Reorganize the skill to follow the f3s / blog-writing-style pattern: a slim SKILL.md (purpose, trigger, inputs, core workflow, reference index) plus three focused reference files. Pure reorganization — all content preserved verbatim. - references/search-and-sourcing.md: search endpoints, per-model queries, source trust order, source endpoint URLs (workflow steps 2-3) - references/benchmarks-catalog.md: per-model fields-to-capture table and the 2026 benchmark glossary - references/output-and-analysis.md: comparison table structure, analysis sections, anti-patterns, output format, output shape (workflow steps 4-7) SKILL.md drops from 225 to 86 lines. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19skills: split oversized SKILL.md files into references/ (f3s pattern)Paul Buetow
Break up the three most monolithic flat skills into a slim SKILL.md plus a references/ directory of focused sub-files, matching the f3s and agent-task-management structure. Pure reorganization: all content and meaning preserved, only moved behind a reference index with resolving links. - blog-writing-style (619->216): extract the Wikipedia-based 'Signs of AI writing' deep catalog into references/signs-of-ai-writing.md. - check-shopping-status (319->135): extract references/imap-scan-script.md (steps 1-3 Python) and references/amazon-cdp.md (CDP login helper). - photo-processing (232->155): extract references/auto-enhance.md (standalone ImageMagick auto-enhance script). Adds notes/skills-review-2026-06-19.md with the full inventory and the follow-up task IDs (dq0, eq0, fq0) for the remaining oversized skills. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19f3s skill: document reusable r-node Rex deploy mechanismPaul Buetow
Add references/r-node-deploy.md describing the Rex nfs_mount_monitor rollout to r0/r1/r2: group/root/parallelism-3 conventions, idempotent file/on_change reload flow, and systemctl/journalctl verification, so conf-project agents don't re-derive the rollout each task. Wire it into SKILL.md's reference index. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19go-best-practices: document slow/timeout-exceeding test suitesPaul Buetow
Add a section on handling test suites that work but exceed the go-test/mage/command timeout (e.g. mage integrationTest > 30m): which focused subset to run (-short/-run/build tags, touched packages), how to annotate that the full suite was intentionally skipped, and the acceptance implications (focused subset is not full verification). Cross-references the 8q0 missing-toolchain section rather than restating it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19go-best-practices: add env preflight and verification honesty sectionPaul Buetow
Document how agents should handle a local toolchain that cannot build or test the project (e.g. missing libbpf bpf/bpf.h headers, missing flutter/dart). Preflight the build/test path before trusting it, run the smallest verifying subset that works, annotate the blocker via ask annotate, and never claim full verification that did not run. Scoped to MISSING/incomplete toolchains; slow/long-running test suites are covered separately by task 9q0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19agent-task-management: add 'stay within task scope' rule forbidding edits to ↵Paul Buetow
vendored/upstream deps A sub-agent patched a vendored dependency (libbpfgo) and the change had to be reverted. When completing a task appears to require changing a vendored, generated, or upstream dependency, that is a scope boundary: flag it as a blocker (annotate + report) instead of patching the dep. Added to 2-start-task.md with a pointer from SKILL.md; cross-references the complete-task commit hygiene and stalled-worker recovery rather than restating them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19agent-task-management: add in-scope-only commit guidance for dirty worktreePaul Buetow
Extend the complete-task reference with a 'Commit only in-scope files' section: at task start and before committing, run git status and split dirty paths into in-scope vs out-of-scope (pre-existing/unrelated user edits such as .gitignore/start.sh). Stage only in-scope files by explicit path, never git add -A/. over a pre-existing dirty worktree, never commit unrelated files, and record the in-scope/out-of-scope decision in an ask annotate note. Cross-reference 6-recover-stalled-task.md (broken partial WIP) to keep the two cases distinct and avoid duplication. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19agent-task-management: add stalled-worker recovery procedurePaul Buetow
Multiple ior/player tasks had a worker stall or get interrupted mid-edit, leaving broken, uncommitted partial file edits with no documented recovery path. Add references/6-recover-stalled-task.md covering detect -> assess -> revert -> resume: how to spot a partial/interrupted edit (dirty worktree, broken build, half-applied diffs), assess dirty changes against the task annotations (keep in-scope WIP vs. discard broken edits vs. preserve unrelated user changes), revert cleanly with scoped git checkout/stash WITHOUT destroying unrelated work, then re-read annotations, resume from the last known-good point, and annotate the recovery. Wire the new reference into SKILL.md's 'When to load what' table and cross-ref it from 2-start-task.md when picking up an already-started task. Commit discipline is cross-referenced to 3-complete-task.md rather than duplicated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19agent-task-management skill: make ask-is-not-NL warning prominent + add ↵Paul Buetow
invocation contract Agents repeatedly mistook `ask` for a natural-language interface and ran things like `ask agent-task-management ...` or `ask <free text>`, forcing orchestrators to paste the correction into every task description. - Add a prominent STOP blockquote at the very top of SKILL.md stating that `ask` is a CLI with fixed subcommands and that agent-task-management is a skill name, never an `ask` subcommand. - Add an explicit 'Invocation contract' section listing the only valid form (`ask <subcommand> [args]`) and the real subcommands, derived from existing content; consolidate the valid/invalid examples there (DRY) with inline reasons on the invalid ones. - Mirror the same STOP warning at the top of references/00-context.md and tighten its rule to point at the contract. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19notes: add agent run history analysis with skill improvement findingsPaul Buetow
Analyse 240 unique completed agent tasks (963 annotations) from ~/Documents/Taskwarrior/AgentsHistory. Identify 7 recurring friction signals (ask-as-subcommand confusion, stalled-worker recovery, missing local toolchain, test-suite timeouts, dirty-worktree handling, out-of-scope dep edits, re-derived r-node deploy) and map each to a specific skill with concrete fixes. Follow-up agent tasks: 6q0, 7q0, 8q0, 9q0, aq0, bq0, cq0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19taskwarrior: export +rocky tasks and import them on the rocky hostPaul Buetow
Factor the per-tag export loop out of taskwarrior::export into a reusable _taskwarrior::export_tag helper, then use it to export everything tagged +rocky into a separate tw-rocky-export-*.json set. Those files are picked up by the existing hostname-keyed import path, so the rocky VM imports them automatically while work/personal export/import behaviour is unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19f3s skill: add remote-access.md for off-LAN access via jump hostsPaul Buetow
Documents the fishfinger/blowfish ProxyJump path to reach f-hosts (paul + doas), r-VMs/rocky (root), and Pis from outside the LAN. Notes the f3 WireGuard routing caveat and tcsh shell pitfall. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18worktime: source fish uprecords helper from worktime repo instead of shPaul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019ed908-ca57-7251-8ff1-ce10c8c3a787 Co-authored-by: Amp <amp@ampcode.com>
2026-06-18worktime: point uprecords helper at scripts/ subdir in worktime repoPaul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019ed908-ca57-7251-8ff1-ce10c8c3a787 Co-authored-by: Amp <amp@ampcode.com>
2026-06-18worktime: move uprecords collect/import into hidden worktime-repo scriptPaul Buetow
Host-specific upload details now live in ~/git/worktime/.uprecords-sync.sh (kept out of the public dotfiles repo). worktime::supersync calls it via sh; f3s skill updated accordingly. Amp-Thread-ID: https://ampcode.com/threads/T-019ed908-ca57-7251-8ff1-ce10c8c3a787 Co-authored-by: Amp <amp@ampcode.com>
2026-06-18worktime: publish Mac uptimed stats to goprecords as mega-m3-proPaul Buetow
- Implement worktime::uprecords::darwin::import: on earth, push the Mac's uprecords files synced into the worktime repo to goprecords, re-labelling host MBDVXJ4XKH9C -> mega-m3-pro. - f3s skill: add k3s off-LAN remote-access reference (jump via OpenBSD frontend -> root@r0.wg0 -> kubectl) and document the mega-m3-pro upload config + earth GOPRECORDS_HOST gotcha in goprecords-uptimed. Amp-Thread-ID: https://ampcode.com/threads/T-019ed908-ca57-7251-8ff1-ce10c8c3a787 Co-authored-by: Amp <amp@ampcode.com>
2026-06-18increment-version skill: prefer patch bumps for small changesPaul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019ed908-ca57-7251-8ff1-ce10c8c3a787 Co-authored-by: Amp <amp@ampcode.com>
2026-06-18taskwarrior: avoid duplicate random tasksPaul Buetow
Check picked random note descriptions against pending +random tasks and retry up to 3 times before skipping the slot. Amp-Thread-ID: https://ampcode.com/threads/T-019ed8f8-b1e8-7191-8e47-57244a6d0e44 Co-authored-by: Amp <amp@ampcode.com>
2026-06-17immich-upload: auto-detect LAN vs public ingressPaul Buetow
Probe the LAN /api/server/ping endpoint with a short timeout and use it when reachable, otherwise fall back to the public HTTPS URL. Fixes the indefinite hang when running off the home LAN. Amp-Thread-ID: https://ampcode.com/threads/T-019ed713-5af1-72a2-8a4e-27ee32c1d6d5 Co-authored-by: Amp <amp@ampcode.com>
2026-06-15UpdatePaul Buetow
2026-06-15refresh-irregular-ninja skill: shuriken workflow, new path, cache/ dirPaul Buetow
Update the irregular.ninja refresh skill: the album moved to ~/git/irregular.ninja/irregular.ninja and is driven by shuriken (not the old photoalbum/Makefile). Document the volatile cache/ directory (persistent EXIF cache parallel to dist/, never deployed) and add a rule that only dist/ is rsynced to the servers.
2026-06-15Update refresh-irregular-ninja skill to use git repo instead of DesktopPaul Buetow
2026-06-12add skills and promptsPaul Buetow
2026-06-11clarify: ampcode is the coding agent, not generic AMPPaul Buetow
2026-06-11Add continue-reminder skill with agent-specific sub-referencesPaul Buetow
New skill: prompts/skills/continue-reminder/ - SKILL.md: common systemd + tmux resume skeletons - references/claude.md: full concrete example (Claude Code rate-limit in tmux) - references/codex.md: placeholder - references/opencode.md: placeholder - references/amp.md: placeholder
2026-06-11Merge branch 'master' of ssh://r0:30022/repos/dotfilesPaul Buetow
2026-06-11Add home_agents Rex task for AI agent dotfile symlinksPaul Buetow
2026-06-09rocky-vm-setup: tmux COLORTERM pass-through for helix truecolorPaul Buetow
2026-06-09tmux.rocky.conf: pass COLORTERM through update-environment for helix truecolorPaul Buetow
2026-06-09rocky-vm-setup: add tmux default-terminal for 256-color helix supportPaul Buetow
2026-06-09tmux.rocky.conf: add default-terminal tmux-256color and terminal-overrides ↵Paul Buetow
for truecolor
2026-06-09rocky-vm-setup: add helix 25.07.1 (EPEL)Paul Buetow
2026-06-09Merge branch 'master' of ssh://r0:30022/repos/dotfilesPaul Buetow
2026-06-09pkg_rocky: add helix and helix-themesPaul Buetow
2026-06-09Merge branch 'master' of ssh://r0:30022/repos/dotfilesPaul Buetow
2026-06-09home_tmux_rocky: source rocky overrides at END of tmux.conf so colors winPaul Buetow
2026-06-09UpdatePaul Buetow
2026-06-09rocky-vm-setup: document pane indicators in red/orange for nested tmuxPaul Buetow