fleet-maintenance
Installation
SKILL.md
Fleet Maintenance
Maintain Peter's Macs while protecting ambiguous local work. Package updates are explicitly allowed during active sessions and may disrupt the software being upgraded. Use $remote-mac for inventory/SSH and $xcode-sync for all Xcode work.
Desired state
- Read
~/Projects/manager/fleet/inventory.jsonfor desired software and local-account escrow references. Readreferences/fleet-schema.mdbefore changing its schema or adopting packages. - Keep exactly two profiles unless Peter explicitly changes the model:
full: daily-driver Macs with the complete development, communication, media, and agentic toolset.worker: lean remote Macs that mainly run Codex, Claude, OpenClaw nodes, and supporting agent infrastructure.
- Treat profile policy as
minimum: install required entries and report extras without removing them. Never silently turn observed software into desired state. - Keep topology, SSH routing, and handed-off status in
~/Projects/manager/computers.yaml. Do not duplicate live topology in this skill. - Keep passwords, recovery keys, and private keys in 1Password. The inventory stores opaque item IDs only. Invoke
$one-passwordbefore anyopcommand; apendingreference is not an error during package maintenance. - Require the classic OpenSSH mesh named by
ssh_meshon both profiles. The manager fleet setup document owns the canonical peer list and live proof. Use the symmetric Tailscale TCP 22 grant plus per-hostauthorized_keys; macOS GUI Tailscale clients cannot act as Tailscale SSH servers. Distribute public keys only, keep private keys host-local, verify both directions withBatchMode=yesand a finite timeout, and leave offline or provider-blocked directions pending. - Require the stable 1Password CLI integrity baseline on every fleet Mac. Require the file-backed service-account profile block unless that host has a documented
requirement_exceptionssecurity boundary in inventory. Audit eligible hosts withscripts/op-profile-audit.sh; audit token-exempt hosts withscripts/op-profile-audit.sh --cli-only. Repair only after$one-passwordis loaded and the mode-0600 token file is provisioned; never print or store the token in inventory. - Require the agent skill mirror on every fleet Mac. Audit it with
scripts/agent-skill-links-audit.sh; use--repaironly when both canonical repos exist. This owns the Codex root links, Claude flat mirror, and shared instruction pointers documented inreferences/fleet-schema.mdand~/Projects/manager/docs/fleet-setup.md. - Require the shared global Git ignore on every fleet Mac. Audit it with
scripts/global-gitignore-audit.sh;--repaircreates~/.config/git/ignore, preserves unrelated entries, adds the inventory's macOS metadata patterns, and pointscore.excludesFileat it. An already-configured alternate excludes file requires manual review so existing rules are never discarded. - Require Claude Code and Claude Desktop coding sessions to omit AI attribution. Audit
~/.claude/settings.jsonwithscripts/claude-attribution-audit.sh;--repairpreserves unrelated settings while disabling commit trailers, pull-request footers, and remote-session links. - Require the official Codex and Claude Code CLIs on both profiles. Package ownership comes from the profile's
codexandclaude-codeHomebrew casks; the separateclaudecask is Claude Desktop and does not satisfy the CLI requirement. Audit versions and non-interactive authentication withscripts/agent-cli-audit.sh; use--livefor bounded, tool-free, non-persistent model turns. Never copy normal Claude OAuth credentials between Macs: refresh each host independently through$anthropicand leave locked-Keychain, account-selection, or offline cases pending.