background
|
git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace /tmp/background && cp -r /tmp/background/plugins/ai-agency/hyperflow/skills/background ~/.claude/skills/backgroundSKILL.md
# Background Read-only-by-default management interface for background agents fired by other hyperflow skills (dispatch quality gates, deploy CI watcher, scaffold analysis refresh, cache compact, scope speculative prefetch). Reads from `.hyperflow/background/registry.json` + per-agent output buffers. Full doctrine: [background-agents.md](../hyperflow/background-agents.md). ## Subcommands | Subcommand | Description | |---|---| | `list` | Print the registry: in-flight · completed-uncollected · stalled · errored | | `show <id>` | Print one agent's output buffer (`.hyperflow/background/<id>.md`) | | `cancel <id>` | Cancel one specific in-flight agent | | `cancel --all` | Cancel every in-flight agent (use before closing a session) | | `prune` | Delete completed `.hyperflow/background/<id>.md` files older than 7 days | Default subcommand when none provided: `list`. ## Subcommand Details ### `list` Read `.hyperflow/background/registry.json`. Group entries by status and print a compact table: ```markdown ## In flight (N) | ID | Purpose | Fired | Timeout | Blocks | |-----------------------------------|--------------------------------------|------------|---------|---------| | `bg-1718049600-quality-gates-b2` | Layer 5 gates Batch 2 | 17:30 | 18:00 | step3 | | `bg-1718049820-ci-watcher` | GitHub Actions watch for v4.7.0 | 17:33 | 18:33 | — | ## Completed (uncollected, N) | ID | Purpose | Completed | Duration | Output | |-----------------------------------|--------------------------------------|------------|----------|--------| | `bg-1718045400-scaffold-refresh` | Refresh .hyperflow/architecture.md | 16:42 | 2m 18s | 1.4kb | ## Stalled / Errored (N) | ID | Purpose | Status | Reason | |-----------------------------------|--------------------------------------|-------------------|-------------------| | `bg-1717980000-cache-compact` | Compact learnings.md | STALLED | timeout (30m) | ``` Print one trailing line: `<count> in flight · <count> uncollected · <count> needs attention`. If registry is empty, print `No background agents.` and stop. ### `show <id>` Read `.hyperflow/background/<id>.md` and print it verbatim. If the agent is still running, print the registry entry first then `Output buffer not yet written.` and stop. ### `cancel <id>` 1. Read registry, find the entry. 2. If `status: running`, signal cancellation per the provider's mechanism (Claude Code: use the runtime's cancellation API for that subagent ID; if unavailable, mark the entry `status: cancelled` and leave the agent to time out on its own — the foreground orchestrator will drop the result on collection). 3. Update registry entry: `status: cancelled`, `cancelled_at: <now>`. 4. Print `Cancelled <id> — <purpose>`. If the agent already completed, print `Agent <id> already <status> — nothing to cancel.` ### `cancel --all` For every entry with `status: running`, run the `cancel` flow. Print summary: `Cancelled N agents.` ### `prune` `find .hyperflow/background/ -name "bg-*.md" -mtime +7 -delete` plus remove their entries from `registry.json` (only entries with `status: complete | error | stalled | cancelled` older than 7 days are pruned). Print: `Pruned N output buffers · N registry entries`. ## Flow 1. Parse subcommand from invocation (default: `list`). 2. Read `.hyperflow/background/registry.json` (if absent, treat as empty). 3. Execute subcommand. 4. Print result. ## Overview `/hyperflow:background` is the user-facing read/manage interface for background agents. The orchestrator itself maintains the registry as a side-effect of `run_in_background: true` Agent dispatches in other skills — this skill never *fires* a background agent, it only reads/manages the registry. ## Prerequisites - `.hyperflow/background/registry.json` exists (created on first background dispatch by any other skill — if absent, all subcommands degrade gracefully). - `.hyperflow/` initialized (run `/hyperflow:scaffold` if missing — though this skill works even without scaffold, since the registry is created on demand). ## Instructions See [Subcommands](#subcommands) and [Subcommand Details](#subcommand-details). Summary: 1. Parse the subcommand (default `list` when none given). 2. Read the registry from `.hyperflow/background/registry.json`. 3. Execute the subcommand against the registry + per-agent output buffers. 4. Print compact result; do not modify any source code. ## Output - `list` — table of in-flight / completed-uncollected / stalled+errored, with one trailing summary line. - `show <id>` — file contents of `.hyperflow/background/<id>.md`. - `cancel <id>` / `cancel --all` — one-line confirmation per cancelled agent + total. - `prune` — count of pruned buffers + registry entries. ## Error Handling | Failure | Behavior | |---|---| | Registry file missing | Treat as empty — `list` prints `No background agents.`; other subcommands print `No registry — fire a background agent first.` and stop. | | Registry JSON malformed | Print `Registry malformed — back up to .hyperflow/background/registry.json.bak and re-create empty.` Move file, write empty registry, continue. | | `show <id>` for unknown id | List 3 closest IDs by Levenshtein distance. | | `cancel <id>` for already-completed agent | Print `Agent <id> already <status> — nothing to cancel.` | | Provider cancellation API unavailable | Mark entry `status: cancelled` in registry; the foreground orchestrator drops the result on collection. Print `Marked <id> as cancelled (provider has no live cancellation API — agent will run to completion or timeout, but result will be discarded).` | | Prune called with no eligible entries | Print `Nothing to prune — no completed buffers older tha
|
Engineering lead — hand Apex any task and it routes internally. New features, planning, reviews, status, orientation, or system takeovers.
Plan and scope a project — discovery, challenge assumptions, present S/M/L options with token and cost estimates. Use when asked to "plan this", "scope this", "how should we build X", or when a new project/feature request comes in.
Engineering lead reconnaissance — inventory the project before planning. Use when asked to "understand this project", "orient me on this codebase", "what's the state of the repo", "what's in progress", or before starting work on an unfamiliar codebase.
Cross-cutting review of recent work — catches gaps between specialists. Use when asked to "review what we built", "check the work", "pre-launch review", or after completing a significant chunk of work.
CTO-level project status from git and codebase state. Use when asked "where are we", "project status", "what's done", or at the start of a work session.
System takeover — take ownership of an existing codebase or inherited system. Use when "we acquired this", "previous team left", "take over this system", "inherited this codebase".
Knowledge engineer — architecture docs, ADRs, diagrams, changelogs, onboarding, and reports.