skills/mine/agent-exploration/SKILL.md
Dispatches scoped-write explorer agents in parallel via `compozy exec` for multi-area research that must produce written artifacts — one seven-section analysis file per slice plus a parent-authored summary. Use when a research question spans several distinct areas and chat output is not enough. Do not use for single-file lookups (use Explore) or edits to existing code.
npx skillsauth add pedronauck/skills agent-explorationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generic parallel-research workflow. Use when a question requires deep reads across multiple distinct areas and the operator needs written artifacts (not chat output). The skill dispatches explorer agents in parallel through compozy exec; each invocation writes one analysis file. The parent then synthesizes a final summary.
The skill is self-contained and harness-agnostic. The explorer is a Compozy agent — a single definition (assets/AGENT.md) installed once at ~/.compozy/agents/explorer/AGENT.md, discoverable by compozy exec --agent explorer from any harness (Claude Code, Codex CLI, Cursor, Droid, OpenCode, Pi, Gemini, Copilot, …). The parent runtime is selected per invocation via --ide, --model, and --reasoning. Parallel dispatch uses whatever async/background tool calls your harness exposes — the skill does not prescribe a specific tool.
Match your step to the row. Read the listed files in full before producing output. They are not appendices — they are load-bearing. Inline content in this SKILL.md is a pointer, not a substitute.
| Step | MUST read |
| ------------------------------------------------------- | ---------------------------------------------------------------------- |
| Step 4 — composing every slice prompt | references/dispatch-rules.md + assets/analysis-template.md |
| Step 5 — verifying outputs | references/checklist.md + assets/analysis-template.md |
| Step 6 — synthesizing summary.md | every <path>/analysis/NN_analysis_<slug>.md from this round |
| Any contract violation, fabricated evidence, or retry | references/dispatch-rules.md (re-read; do not paraphrase from memory)|
references/dispatch-rules.md — the scoped-write contract: what the dispatched agent may write, may read, may run; tool allow/forbid lists; parent responsibilities; parallelism cap; failure handling. Must be embedded verbatim in every slice prompt.references/checklist.md — seven-section output validation checklist (installation, inputs, scout, dispatch, files, schema, summary). Run before authoring summary.md.assets/analysis-template.md — the canonical seven-section schema every dispatched agent fills (Overview, Mechanisms/Patterns, Relevant Sources, Transferable Patterns, Risks/Mismatches, Open Questions, Evidence) plus a Scope header.assets/AGENT.md — the Compozy explorer agent definition (frontmatter: title, description, ide, model, reasoning_effort, access_mode; body: the scoped-write contract and workflow). Installed by scripts/install-explorer.sh to ~/.compozy/agents/explorer/AGENT.md.scripts/install-explorer.sh — bootstrap helper. Writes the bundled assets/AGENT.md to the Compozy global registry. Refuses to overwrite.scripts/dispatch-slices.sh — parallel dispatch runner. Takes --ide/--model/--reasoning plus 1-8 prompt files, backgrounds one compozy exec per file, waits via wait $pid, captures per-slice stdout/stderr/exit, and reports a summary. Zero external dependencies (native bash + the compozy binary).Resolve every bundled helper relative to the directory that holds this SKILL.md. When a command appears below as scripts/<name>, treat the actual invocation as <agent-exploration-dir>/scripts/<name> — expand <agent-exploration-dir> to the absolute skill directory before running.
--path <dir> (required): Output directory. Analysis files are written under <path>/analysis/. Any project-relative or absolute directory works (for example docs/research/<topic>/, tasks/<slug>/, or a path outside the repo). The skill is not tied to any specific project layout.--agents <num> (optional, default 3, hard cap 8): Number of explorer invocations to dispatch in parallel.--prompt <text> (required): The research question. Quoted multi-line strings are supported. If omitted, the parent asks the operator before continuing.--ide <ide> (optional, default claude): Compozy runtime for each dispatched invocation. Forwarded to compozy exec --ide. Accepted values mirror compozy exec: codex, claude, cursor-agent, droid, opencode, pi, gemini, copilot.--model <name> (optional, default opus): Forwarded to compozy exec --model. See Model Options for the two supported profiles (Opus default; Grok 4.5 High Fast via --ide cursor-agent --model 'grok-4.5[effort=high,fast=true]'). When the chosen IDE does not support the requested model, compozy surfaces the error and the slice fails — re-dispatch with a compatible model.--reasoning <effort> (optional, default xhigh): Forwarded to compozy exec --reasoning-effort. Accepted values: low, medium, high, xhigh.If --path or --prompt is missing, the parent asks the operator a single clarification before continuing. Never invent defaults for either. Apply the documented defaults for --ide, --model, --reasoning silently when omitted; reject an invalid --ide rather than falling back.
Two dispatch profiles are supported. Opus is the default; Grok 4.5 High Fast is the fast alternative for breadth work. Pick per run via --ide/--model.
| Profile | Flags | When |
| -------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------- |
| Opus (default, high-fidelity) | --ide claude --model opus --reasoning xhigh | Hardest slices; when citation precision must be maximal. |
| Grok 4.5 High Fast (via cursor-agent) | --ide cursor-agent --model 'grok-4.5[effort=high,fast=true]' | Breadth research, cost-sensitive runs, high slice counts. |
Grok profile notes:
[effort=high,fast=true]); the --reasoning flag does not control this profile.<path>/analysis/
├── 01_analysis_<slug-a>.md
├── 02_analysis_<slug-b>.md
├── 03_analysis_<slug-c>.md
└── summary.md
01, 02, …, 08).summary.md is parent-authored synthesis, not a dispatched output.Step 1: Verify the explorer agent is installed
compozy binary is on PATH (e.g. command -v compozy). If missing, abort with a one-line message instructing the operator to install Compozy from /Users/pedronauck/dev/compozy/looper. Do not fall back to harness-native subagents.~/.compozy/agents/explorer/AGENT.md.<repo>/.compozy/agents/explorer/AGENT.md.
At least one must be present.explorer Compozy agent is not installed at ~/.compozy/agents/explorer/AGENT.md. Install it now? [yes/no]". Do not proceed silently.<agent-exploration-dir>/scripts/install-explorer.sh. The helper installs to ~/.compozy/agents/explorer/AGENT.md and refuses to overwrite an existing file.compozy agents inspect explorer and confirm the entry is discoverable. Any error here blocks dispatch.Step 2: Resolve inputs
--path, --agents, --prompt, --ide, --model, --reasoning from the invocation. If --path or --prompt is missing, ask the operator and stop.--agents to 3 when omitted. Reject values below 1 or above 8 — ask the operator to choose a value in range.--ide to claude, --model to opus, --reasoning to xhigh when omitted. Validate --ide against the accepted list (codex, claude, cursor-agent, droid, opencode, pi, gemini, copilot) and --reasoning against low, medium, high, xhigh; reject invalid values with a clear message instead of silent fallback. Do not validate --model ahead of time — let compozy surface incompatibilities.--path to an absolute path. If the directory does not exist, ask the operator whether to create it before continuing; if creation fails, stop and report the filesystem error.<path>/analysis/ if absent. The dispatched agents refuse to write into a missing directory.Step 3: Parent-led initial scout (MANDATORY — do not skip)
The scout is the load-bearing step that prevents wasted parallel dispatch. The parent must do this work itself before any slice is launched.
Glob, Grep, and targeted Read calls. The scout's job is to learn enough about the territory to divide it well — not to produce analysis content. Cap the scout at 8–15 tool calls; deep reading belongs to the dispatched agents.--agents distinct slices that are:
--prompt — every slice serves the original research question.01..08).state-machine, event-bus, auth-boundaries).NN – slug – focus) before dispatching. Do not ask for approval unless the slices look thin or overlap; just announce and proceed.If the scout reveals that fewer than --agents non-overlapping slices exist, reduce the dispatch count and tell the operator. Do not pad slices to hit the requested count.
Step 4: Dispatch explorer agents in parallel
Gist tripwires — the contract items the parent must enforce in every dispatched prompt:
git/make/package managers, no writes outside <path>/analysis/.compozy exec, with --ide/--model/--reasoning-effort forwarded from the operator's inputs. Wait for every process to exit (code 0) before verification.STOP. Read references/dispatch-rules.md in full before composing any slice prompt. That file contains the complete scoped-write contract, tool allow/forbid lists, parent responsibilities, and failure handling. The bullets above are tripwires, not the contract — the contract must be embedded verbatim in every slice prompt.
STOP. Read assets/analysis-template.md in full before composing any slice prompt. That file is the canonical seven-section schema every dispatched agent fills. The schema must be embedded in the prompt; do not paraphrase it.
Compose one slice prompt per slice. Every prompt MUST include:
--prompt verbatim, prefixed by a short orientation line.<path>/analysis/NN_analysis_<slug>.md (absolute path).references/dispatch-rules.md content embedded verbatim (copy-paste, do not paraphrase).assets/analysis-template.md.Write each composed prompt to its own file at <path>/.dispatch/prompts/NN_<slug>.txt. The file basename (without extension) becomes the slice id used for per-slice log file naming.
Recommended dispatch path: scripts/dispatch-slices.sh. The bundled script backgrounds one compozy exec per prompt file, waits for every PID, captures per-slice stdout/stderr/exit under <logs-dir>, and exits non-zero if any slice failed. Zero external dependencies; portable across any harness that can run a bash script.
<agent-exploration-dir>/scripts/dispatch-slices.sh \
--ide <ide> --model <model> --reasoning <reasoning> \
--logs <path>/.dispatch/logs \
-- <path>/.dispatch/prompts/01_<slug-a>.txt \
<path>/.dispatch/prompts/02_<slug-b>.txt \
<path>/.dispatch/prompts/03_<slug-c>.txt
<ide>, <model>, <reasoning> are the resolved operator inputs (defaults claude, opus, xhigh).dispatched: <slug> pid=<N> per launch and exited: <slug> rc=<N> per completion, ending with a summary: total=Xs ok=N/M failed=K/M line.compozy exec --prompt-file <file> (no shell-escaping risk for long prompts).references/dispatch-rules.md.Manual alternative (if you cannot run a bash script — e.g., a harness that prefers issuing N parallel tool calls itself): invoke each slice with the command shape below. Use whatever async/background facility your harness exposes; wait for every invocation to exit before continuing.
compozy exec \
--agent explorer \
--ide <ide> \
--model <model> \
--reasoning-effort <reasoning> \
--prompt-file <path>/.dispatch/prompts/NN_<slug>.txt
Notes that apply to both paths:
compozy exec already defaults --access-mode to full, so no extra runtime-permission flag is required.--ide cursor-agent (Grok profile), reasoning effort is pinned in the model string (grok-4.5[effort=high,fast=true]); the forwarded --reasoning-effort value does not control it (see Model Options).--timeout in the dispatch template. The Compozy default is an activity timeout (job canceled only when no output is received within the period), which the dispatched agent's normal tool-call streaming keeps reset. If a specific slice legitimately needs a longer silent window (e.g., synthesising over 25+ sources), the operator can append --timeout 30m (or higher) to that single invocation.Step 5: Verify outputs
Gist tripwires — the floor items that catch most failures:
compozy exec exited 0. Non-zero exits are slice failures, not warnings.N files at the expected NN_analysis_<slug>.md paths under <path>/analysis/.Read for local paths, well-formedness for URLs).STOP. Read references/checklist.md in full before declaring outputs verified. That file is the seven-section output validation checklist (installation, inputs, scout, dispatch, files, schema, summary). Every item must pass; failing items trigger a re-dispatch of the offending slice. The bullets above are tripwires, not the contract.
If a section is empty, a file is missing, a cited path is fake, or the schema is incomplete, re-dispatch the offending slice via a fresh compozy exec with the schema embedded and a request to fill the gap. The parent never authors the missing analysis content — the dispatched agent owns the write.
Step 6: Synthesize summary.md
<path>/analysis/NN_analysis_<slug>.md in full.<path>/analysis/summary.md with these sections:
--prompt, verbatim.NN – slug to its slice question and one-line finding.<path>/analysis/NN_analysis_<slug>.md paths so a future reader can drill in.summary.md is parent-authored. Do not dispatch a slice for this step.Explore or direct Grep/Read. This skill is overkill.Input, installation, and scout failures are handled inline where they occur — each item in Steps 1–3 names its own recovery. Contract violations, fabricated evidence, schema-incomplete analyses, and retries route through the Required Reading Router: STOP, re-read references/dispatch-rules.md in full, then re-dispatch the offending slice — the dispatched agent owns the write. One round-level rule lives only here:
development
Deep review of branch diffs, working trees, or GitHub PRs at any size. Use when the user asks for CodeRabbit-grade review, an incremental re-review after new pushes, publication of findings to a PR, a cross-LLM peer-review verdict round, or conformance review against spec artifacts. Don't use for applying fixes, reviewing specs or PRDs as documents, or quick single-file feedback.
tools
Orchestrate Claude and Codex worker TUIs from a controller agent through herdr panes and the herdr socket CLI. Use when delegating bounded tasks to herdr worker panes, running user-activated plan-first delegations (Claude Code plan mode, Codex Plan mode), waiting on native agent status (idle, working, blocked, done), or verifying worker reports. Workers launch as interactive TUIs via herdr agent start — never through headless runners (compozy exec, claude -p, codex exec). Not for cmux workspaces (see cmux-orchestration) and not for end-user herdr control.
tools
TanStack Query, Router, and Form patterns for React. Use when writing useQuery/queryOptions, mutations, caching, file-based routes, search params, loaders, or TanStack Form validation. Don't use for TanStack Start, TanStack DB/collections, Zustand client state, or non-TanStack routing.
development
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.