clean-agents
Reclaim hv resources after features land — stop and remove finished background agents, and prune merged feature worktrees and branches. Use once a feature's PR is merged (or abandoned). Safe by default — it refuses to remove anything tied to an unmerged, still-open PR unless forced.
What this skill does
# Hv cleanup
## Input
$ARGUMENTS
Background agents and worktrees accumulate and each consumes quota and disk, so
clean them up once their work has landed. The hard rule: **never destroy work
that hasn't been merged.** A leftover worktree is cheap; a deleted unmerged
branch is lost work.
## Context (auto-injected)
```
!`bash "${CLAUDE_PLUGIN_ROOT}/scripts/agents-status.sh" hv/ 2>/dev/null`
```
- Worktrees: !`git worktree list 2>/dev/null`
## Step 1 — Decide what is safe to clean
For each candidate feature/branch, confirm it is **merged or intentionally
abandoned**:
```bash
gh pr list --state merged --json number,headRefName --jq '.[].headRefName'
```
A branch is safe to clean only if its PR is MERGED, or there is no PR and the
user explicitly asked to abandon it. If a PR is still OPEN, skip it and say why
(unless the user passed `--force` for a deliberate abandon).
## Step 2 — Delegate the destructive work to the `janitor` subagent
Don't run the removals inline — dispatch the **`janitor`** subagent with the list
of safe-to-clean feature keys (branch / `hv/<id>` / PR). It owns the removal
commands and the guardrails in one place, and returns a report, so this skill's
main context stays clean. Pass it the candidates and whether this is normal
merged-cleanup or an explicit `--abandon`.
`janitor` re-verifies safety before touching anything: a feature is cleaned only
if its PR is **MERGED** (or `--abandon`) **and** its agent is **not running**. It
uses `git worktree remove` (no `--force`) and `git branch -d` (not `-D`), and
identifies worktrees by their **checked-out branch** (`feat/<id>`), not the
host-assigned directory name. Worktrees with uncommitted changes are skipped, not
forced.
## Step 3 — Context-aware roles (who runs this matters)
- **From the parent / launcher session**: full reclaim — stop+`rm` the child
session, remove its worktree and branch, delete its spec.
- **From inside a child feature session**: you may clean your **own** worktree,
branch, and spec, and tidy already-merged siblings — but `janitor` must operate
with `git -C <main-checkout>` / absolute paths (a `cd` doesn't persist between its
Bash calls, and you can't remove the worktree you're standing in otherwise). The
one thing a child does **not** do is `claude rm` **its own session record** —
leave that to the parent.
- **Absolute guard, every path**: never stop or remove an agent that is still
`running`/working, even if its PR shows merged.
## Step 4 — Report
```
| feature | PR | action taken | skipped (reason) |
|---------|----|--------------|------------------|
```
result: cleaned <n> landed features; skipped <m> (still running / unmerged / changes present).
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.