skills.polyhydra.app

Polyhydra Skills

Claude Code skills I actually use day to day, packaged as copy-paste SKILL.md files. 39 skills, 12 of them homelab-internal (pattern only, no implementation).

Agent Workflow

back-on-the-horse
Recap what happened on a project in roughly the last 24 hours (or a stated window), rendered as a visual card with a light "rough morning, here's the highlights" tone, plus a clear list of what's still open and what to do next. Triggers on "what happened while I was out", "catch me up", "back on the horse", "recap the last 24 hours", "get back on track", "morning recap for this project". Not for calendar/personal-schedule briefs — use the morning skill for that.
delegate
Route work off the expensive tier -- a Codex CLI worker, a Haiku/Sonnet subagent, or local Ollama -- instead of running it inline. Use for read-only investigation that would flood the transcript (grep sweeps, log trawls, triage) and to dispatch already-specified implementation, on "hand this off", "give it to codex", "use a worker". Code changes still need a GitHub issue first -- route through polyhydra-issue-router, this is not a way to implement without one.
dont-reinvent-the-wheel
Before scaffolding a "new" idea (tool, automation, script), search the user's own ecosystem and known external projects for prior art so work is not duplicated. Triggers on "new idea", "what if we built", "let's create a", "is there something already for this" -- any moment a fresh tool/automation/skill is about to be proposed. Not for routine bug fixes or well-scoped features in an already-identified codebase.
elicitation-first
Use when deciding how to put a choice to the operator, or when a turn is ending for any reason — render real forks as native single-tap pickers, close every handback in selectable options instead of prose, and recognize the cases where asking mid-task is wrong.
haiku-storm
Fan out a batch of independent, well-specified housekeeping/recon/mechanical work across several parallel lanes at once instead of working through it serially. Lanes dispatch to Codex Luna by default, with Haiku reserved for lanes that need Claude Code's own tool surface (MCP servers, nested Agent calls, a named subagent type). Use on "haiku storm", "storm this", or when there's a pile of low-ambiguity work (close stale issues, clean up merged worktrees, survey a backlog, verify-and-report tasks) that splits cleanly into 3-5 independent lanes. Not for work that needs judgment, touches files another in-flight task is actively editing, or requires a GitHub issue that doesn't exist yet.
handoff
Split part of the current conversation into a durable handoff file and launch a fresh session seeded with it, so the old thread can close instead of dragging its context forward. Triggers on "handoff", "hand this off to a new thread", "close this thread and start fresh", "this thread is getting long". Also use when a new session is pointed at a handoff file, to orient before starting work.
project-home
Scaffold or extend a ~/projects/<topic> project-home hub that coordinates multiple ~/code repos around one theme (symlinks + workspace.yaml + worktrees/ + README + LOCAL-WORK.md), matching the existing stepmania/rpgs convention. Use when the user wants to "set up a workspace for X", "make a project hub for these repos", "pull related repos together", or asks to replicate the rpgs/stepmania pattern for another topic.
projects
Navigate ~/projects -- list hubs with purpose and health, initialize a new hub (single-repo, or multi-repo via project-home), print a briefing block for a new conversation, give a "catch me up" recent/horizon/goals summary for one project, recommend what to work on next (git-dirty plus PR plus live-session signal), launch a session in a project, capture a stray idea with no home yet, park or activate backlog entries. Use for "what should I work on", "list my projects", "set me up on X", "start a session in X", "new day", "catch me up on X", "standup", "what happened on X", "new idea", "jot this down", "note this idea for later", or naming a project under ~/projects.

Content & Art

Dev Tools

codex-poorman-pr
Run a fast, local, read-only Codex analysis pass over the current changes and return prioritized recommendations before a pull request is ever opened upstream. Use during a Codex/GitHub review outage or quota gap, and as a routine rapid check before submitting any PR -- advisory only, never a merge gate or a substitute for the real Codex Review Gate.
discord-notify
Send the user a Discord DM via their private bot (SpottieClaw#3956, in the "Polyhydra Games Internal" server) using credentials from ~/.config/secrets/discord.env. Use when a long-running task finishes, something needs the user's attention and they may not be watching the terminal, or they explicitly ask to be pinged/notified/messaged on Discord.
nuget-publish
Publishes internal .NET packages to a private NuGet feed so other repos can restore them.
opinionated-defaults
Apply a small, curated bundle of Claude Code settings.json tweaks — auto-compact earlier (~30% of context instead of near-100%), file checkpointing for /rewind, background compaction precompute, and terminal progress indicators. Use when the user asks to "tune up" their Claude Code settings, apply the recommended/opinionated defaults, make auto-compact trigger sooner, or mentions this skill by name.
sage-code-index
Search Sage's code index before doing an ad-hoc repository sweep. Use when asked "find duplicate logic", "does this pattern exist elsewhere", "what touches X across my repos", or whether code should be reused or consolidated across repositories.

GitHub & Delivery

codeburn
Launch, monitor, and stop the portfolio Burn Console, and run an agent-driven portfolio burn — rank every open issue smallest-first, filter out work that is already done, split it into Codex worker batches, review the resulting PRs, and close verified-complete issues with evidence. Use when the user says "start the burn console", "check burn status", "stop the burn", "codeburn
mapped-frontier-development
Plan and execute issue-backed work with Mapped-Frontier Development (MFD), also called STDD. Use when a request mentions MFD, Mapped-Frontier, STDD, Phase 0, a build packet, an approval brief, or when a material product, architecture, security, deployment, or operational change needs durable scope and evidence before implementation. Ported from a Codex plugin — GitHub/issue-based, not tied to any Codex-specific tooling.
quest-log
Use when the user wants to see GitHub issue progress rendered as a retro text-adventure screen instead of a status report — single-issue quest screens, a multi-issue "dungeon map" overview to answer "where do I need to focus," or optional local-LLM flavor narration layered over real, deterministic issue data.
straighten-the-road
Prep a portfolio of repos across ~/projects for a multi-day unattended coding-agent burn (Codex or otherwise) — narrow scope to the repos actually in play, clear local/PR/branch turbulence, and make sure every in-scope repo has queued work. Use when the user says "straighten the road", "get ready for the burn", "clear the runway", wants repos "in good shape" before a multi-day agent session, or asks what's blocking a clean unattended run across their portfolio.
v1-delivery-shaping
Define a project's lean V1 from a V0 baseline, including inherited half-built work, then create a GitHub-authoritative epic, feature-story, and QA-validation shape. Use when a project needs its first coherent release definition; when the user mentions V0, V1, a V1 checklist, validation work under an epic, inherited partial code, or post-V1 stabilization.

Homelab Infra

batocera-audio
Checks and switches the active audio output device (HDMI vs. headphone jack) on a Batocera retro-gaming console over SSH, and remembers which device actually worked per host.
cloudflare-dns
Manages DNS records for the homelab's own domains via the Cloudflare API. Used to stand up a public hostname for a new self-hosted service, or to check and fix an existing record.
dreadtv-firetv-deploy
Sideloads an Android TV app build onto Fire TV devices on the local network via ADB, and checks which known devices are currently reachable and authorized.
infisical-lookup
Safely discover which Infisical project/env/path a secret key lives at, or list what keys exist somewhere -- without ever printing, logging, or writing a secret VALUE. Use before adding a sibling secret next to an existing one, or any time you need to know "where does key X live" without already knowing the value.
keycloak-admin
Manages a self-hosted Keycloak identity server — realms, clients, users, and role mappings — through its Admin REST API instead of the admin console UI.
lan-mouse
Diagnoses and fixes lan-mouse (feschber/lan-mouse) cursor-capture problems on a Linux desktop — cursor stuck to a peer, a permission dialog looping, or the daemon fighting for control.
r620-deploy
End-to-end workflow for shipping a .NET service to the homelab's Docker Swarm host: build a real image, register the stack, deploy it, and verify a live TLS endpoint rather than just "container is running."
r620-remote-ops
Operates the homelab's Docker Swarm host safely from a sandboxed session where direct SSH to the LAN isn't reachable, by going through the container platform's HTTPS API instead.
secret-apply
Generates or accepts one new secret value and applies it everywhere it needs to land — env files, CI secrets, a secrets manager — in a single hands-off pass. Self-issued secrets (DB passwords, keys) generate non-interactively; provider-issued credentials (PATs, OAuth tokens) are taken once via a GUI or hidden prompt. Never surfaces the value to a transcript, shell history, or process list.
seq
Queries the homelab's centralized structured-log server over its HTTP API.
stack-apply
Reconciles a Docker Swarm stack's compose definition against what's actually running on the homelab host in one atomic pass — refuses to deploy secret-shaped env literals or a TLS router missing its cert resolver, and diffs against live state rather than trusting a possibly-stale git copy.

Personal

Streaming & Media

Uncategorized

dogfood-staging
Take a late-development app from "code works locally" to a durable dev/QA deployment (e.g. dev.<app>.com) that the owner actually uses day-to-day, then track what dogfooding surfaces and decide when it's ready to graduate to production. Use when a project has a defined V1/stabilizing scope and the next step is standing up a semi-durable dev-tier environment, when the user says "dogfood", "staging site", "dev site", "dev.<app>.com", or asks whether a project is ready for a dev-tier cutover.
memory-audit
Sweep the auto-memory store (~/.claude/projects/-home-lancer1977-projects/memory/) for structural hygiene problems and recurring-friction patterns worth turning into a skill or hook. Use on "audit memory", "find memory gaps", "what memories are orphaned", "mine memories for new skills", "memory hygiene", or when asked to look back over recent work for duplication/frustration patterns. Not for recalling a specific fact -- that's ordinary memory lookup, this is a meta-pass over the whole store.
obs-websocket
Control the arch-server OBS Studio instance (scenes, sources, browser sources, stream/record) via the obs-websocket-mcp MCP server, or re-register/repair that server if it's missing. Use when the user wants to add a browser/media source to OBS, switch scenes, start/stop streaming or recording, or asks to "wire up OBS" / "use the OBS skill".
portainer-api
Manage Portainer environments, stacks, services, containers, and logs through the Portainer HTTP API. Use when the user wants you to inspect or update Portainer-managed stacks, restart or diagnose containers/services, fetch stack files, compare deployed vs intended compose content, or troubleshoot Traefik/Swarm/container state without using the Portainer web UI.
ubiquitous-language
Shared glossary for terms that keep getting conflated across projects -- Version, Stage/Tier, Delivery Phase (V0/V1), MFD Phase (Phase 0 / R-numbers), and the task hierarchy (epic/issue/PR). Use when scoping or reporting status and it's unclear whether "V1", "Phase 0", "shipped", or "dev" means the same thing here as it did on another project, or when two projects use overlapping numbering (S-steps, R-numbers, waves) that shouldn't be assumed to line up.