Dispatch
sickn33/agentic-awesome-skills
Delegate tasks to OpenAI Codex CLI and Google Antigravity CLI from Claude Code with topic-aware sessions
PLN-725 single-agent dispatch for stage11extractsignals and stage15coveragecritic.
$ npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install closedloop-ai/claude-plugins singleton-dispatch --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/closedloop-ai/claude-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/code-review/skills/singleton-dispatch .claude/skills/singleton-dispatch && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "singleton-dispatch" agent skill from https://github.com/closedloop-ai/claude-plugins/tree/main/plugins/code-review/skills/singleton-dispatch into .claude/skills/singleton-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "singleton-dispatch", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/closedloop-ai/claude-plugins/tree/main/plugins/code-review/skills/singleton-dispatchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install closedloop-ai/claude-plugins singleton-dispatch --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/closedloop-ai/claude-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/code-review/skills/singleton-dispatch .agents/skills/singleton-dispatch && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "singleton-dispatch" agent skill from https://github.com/closedloop-ai/claude-plugins/tree/main/plugins/code-review/skills/singleton-dispatch into .agents/skills/singleton-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "singleton-dispatch", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install closedloop-ai/claude-plugins singleton-dispatch --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/closedloop-ai/claude-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/code-review/skills/singleton-dispatch .cursor/skills/singleton-dispatch && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "singleton-dispatch" agent skill from https://github.com/closedloop-ai/claude-plugins/tree/main/plugins/code-review/skills/singleton-dispatch into .cursor/skills/singleton-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "singleton-dispatch", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/closedloop-ai/claude-plugins.git --path plugins/code-review/skills/singleton-dispatch--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install closedloop-ai/claude-plugins singleton-dispatch --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/closedloop-ai/claude-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/code-review/skills/singleton-dispatch .gemini/skills/singleton-dispatch && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "singleton-dispatch" agent skill from https://github.com/closedloop-ai/claude-plugins/tree/main/plugins/code-review/skills/singleton-dispatch into .gemini/skills/singleton-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "singleton-dispatch", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install closedloop-ai/claude-plugins singleton-dispatchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/closedloop-ai/claude-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/code-review/skills/singleton-dispatch .github/skills/singleton-dispatch && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "singleton-dispatch" agent skill from https://github.com/closedloop-ai/claude-plugins/tree/main/plugins/code-review/skills/singleton-dispatch into .github/skills/singleton-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "singleton-dispatch", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install closedloop-ai/claude-plugins singleton-dispatch --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/closedloop-ai/claude-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/code-review/skills/singleton-dispatch .opencode/skills/singleton-dispatch && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "singleton-dispatch" agent skill from https://github.com/closedloop-ai/claude-plugins/tree/main/plugins/code-review/skills/singleton-dispatch into .opencode/skills/singleton-dispatch/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "singleton-dispatch", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
singleton-dispatchPLN-725 single-agent dispatch for stage11extractsignals and stage15coveragecritic.
Singleton Dispatch is an agent skill from closedloop-ai/claude-plugins. PLN-725 single-agent dispatch for stage11extractsignals and stage15coveragecritic. After each prepare stage writes its manifest, this skill reads the status field (cachehit / skipped / needsagent) and, only on needsagent, spawns one synchronous singleton Task that writes the by-convention pln725.json output the sibling consolidate stage consumes. Invoke from walker-contract step 6 immediately after stage11extractsignals or stage15coveragecritic finishes. Do NOT use for the reviewer fleet (stage20 — see the…
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Open-source Claude Code plugins for multi-agent software delivery. Plan-first SDLC workflow, code review, LLM quality judges, and self-learning — grounded in your codebase… The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0e20ac0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Singleton Dispatch loads about 1.7k tokens when it runs. Until then it costs about 159 tokens; SKILL.md has 702 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from closedloop-ai/claude-plugins at commit 0e20ac0, republished under its Apache-2.0 licence (© closedloop-ai). 702 words, ~1,728 tokens.
.claude/skills/singleton-dispatch/SKILL.md (or your agent's skills folder).This skill is the canonical PLN-725 single-agent dispatcher for /code-review. It is split out of commands/start.md so the orchestration spine stays lean; the orchestrator invokes it from walker-contract step 6 immediately after stage_11_extract_signals or stage_15_coverage_critic finishes. The content below is relocated verbatim from start.md.
Walker contract step 6 points here. Two stages (stage_11_extract_signals, stage_15_coverage_critic) emit a manifest whose status field decides whether a singleton LLM agent must be spawned. This section codifies the dispatch — the same protocol applies to both stages with different paths.
After the prepare stage finishes, read its manifest:
| Stage | Manifest location |
|---|---|
stage_11_extract_signals | <CR_DIR>/extract_signals_manifest.json |
stage_15_coverage_critic | <CR_DIR>/coverage.json (critic section) |
Parse status:
status | Action |
|---|---|
"cache_hit" | Skip dispatch. Prepare already wrote the canonical output (extract_signals.json for stage_11; coverage.json.final for stage_15). The downstream sibling consolidate stage will no-op. |
"skipped" | Skip dispatch. Emitted by coverage-critic-prepare for any of three reasons (carried in the manifest's reason field): no-critic (operator passed --no-critic), no-roster (loaded available_reviewers.json is empty — no project agents configured), or no-candidates (roster is non-empty but every reviewer is already in the initial plan — nothing left for the critic to propose). In all three, prepare wrote coverage.json.final with critic_status: "skipped". The downstream sibling consolidate stage will no-op. |
"needs_agent" | Spawn the singleton agent below. |
For status: "needs_agent", the manifest carries the inputs the agent needs:
| Field | Use |
|---|---|
prompt_path | The agent's system prompt path — pass as {PROMPT_PATH} below; the agent reads it itself. |
input_path | The bounded input bundle (taxonomy + diff summary + AVAILABLE list / etc.) — pass as {INPUT_PATH}; the agent reads it itself. |
model | Model tier for the dispatch (haiku for signal-extraction, sonnet for coverage-critic). |
The manifest's output_path / coverage_state field is the canonical sibling consolidate output (extract_signals.json for stage_11; <CR_DIR>/coverage.json — the final section — for stage_15), NOT where the agent writes. The agent's write target is fixed by convention:
| Stage | Agent writes to |
|---|---|
stage_11_extract_signals | <CR_DIR>/pln725_extract_signals.json |
stage_15_coverage_critic | <CR_DIR>/pln725_coverage_critic.json |
These paths match the --agent-output arg the sibling stage's args declare, so the consolidate cmd finds the file with no walker substitution.
Spawn one synchronous Task (do not set run_in_background: true). Unlike the reviewer / verifier fleets — which spawn many background tasks and collect them with TaskOutput — the PLN-725 dispatch is a singleton that the walker waits on inline. A synchronous Task returns after the agent finishes; there is no task handle to pass to TaskOutput and no wait step needed:
subagent_type: "code-review:code-review-worker" (same allowlist as the verifier fleet — Read, Write, Grep, Glob).
model set to the manifest's model field.
Prompt template:
You are the PLN-725 SINGLE-AGENT DISPATCH ({STAGE_LABEL}). Your system
prompt is at:
{PROMPT_PATH}
Read it. Your input bundle is at:
{INPUT_PATH}
Read the bundle for the contract you are validating against. Write
your output JSON to:
{OUTPUT_PATH}
Do not write anywhere else. Do not read source files in the
repository unless the system prompt explicitly says so.Placeholder substitution map (do NOT substitute every placeholder from the manifest — output_path in the manifest is the consolidate target, not the agent target):
| Placeholder | Source |
|---|---|
{PROMPT_PATH} | manifest.prompt_path |
{INPUT_PATH} | manifest.input_path |
{OUTPUT_PATH} | The by-convention agent write target from the table above — <CR_DIR>/pln725_extract_signals.json (stage_11) or <CR_DIR>/pln725_coverage_critic.json (stage_15). NOT manifest.output_path. |
{STAGE_LABEL} | "signal-extraction" for stage_11, "coverage-critic" for stage_15. |
After the Task returns, hand control back to the caller. In the default run-prefix flow (the caller is start.md's Deterministic Prefix loop): do NOT advance the walker — return, and start.md re-invokes run-prefix --resume-from <resume_stage>, which runs the sibling consolidate stage. In the per-stage fallback walk (the caller is walking stages one at a time): advance the walker to the sibling consolidate stage yourself. Either way, no TaskOutput call — that's for background tasks; synchronous Tasks complete before control returns.
pln725_*.json output after the Task returns is NOT a fatal error. The sibling consolidate stage detects the missing file and fails closed — extract-signals emits the fail-closed default signal set + a signal-extraction-failed finding; coverage-critic leaves the initial plan as final + a coverage-critic-failed finding.Both "cache_hit" and "skipped" (any of no-critic / no-roster / no-candidates) mean prepare wrote the canonical output file itself. The walker advances to the sibling consolidate stage as normal; the sibling stage's cmd detects the manifest status, writes a one-line no-op JSON to stdout, and returns 0. No orchestrator-side branching needed.
© closedloop-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/code-review/skills/singleton-dispatch of closedloop-ai/claude-plugins.
Open the folder on GitHubat commit 0e20ac0
Singleton Dispatch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Singleton Dispatch this skillclosedloop-ai/claude-plugins | 122 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Dispatchsickn33/agentic-awesome-skills | 47k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Extractalirezarezvani/claude-skills | 28k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Matlab Extract Signal Featuresmatlab/matlab-agentic-toolkit | 1.1k | — | ~4.6k | Automated safety check: Pass | Custom licence | |
| Brand Extractnexu-io/open-design | 100k | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Design Extractnexu-io/open-design | 100k | — | ~549 | Automated safety check: Pass | Apache-2.0 |
sickn33/agentic-awesome-skills
Delegate tasks to OpenAI Codex CLI and Google Antigravity CLI from Claude Code with topic-aware sessions
alirezarezvani/claude-skills
Turn a proven pattern or debugging solution into a standalone reusable skill with SKILL.md, reference docs, and examples.
matlab/matlab-agentic-toolkit
Extract features from 1D signals using signalTimeFeatureExtractor, signalFrequencyFeatureExtractor, and signalTimeFrequencyFeatureExtractor.
nexu-io/open-design
Extract a complete Brand Kit from a live website by driving the in-app browser.
nexu-io/open-design
Extract design tokens (color / typography / spacing) from imported source code, screenshots, or Figma exports into the canonical token bag token-map consumes.
ruvnet/ruflo
Extract entities and relations from source files to build a knowledge graph
closedloop-ai/claude-plugins
Run Codex to review a plan file and return structured feedback with a verdict.
closedloop-ai/claude-plugins
Check if critic reviews are still valid before re-running Phase 2.5 critics.
closedloop-ai/claude-plugins
Check if cross-repo coordinator results can be reused, avoiding redundant Sonnet agent launches.
closedloop-ai/claude-plugins
Check for a cached plan-evaluation.json result before launching the plan-evaluator agent.
closedloop-ai/claude-plugins
This skill should be used when needing to locate files within the Claude Code plugins cache directory (~/.claude/plugins/cache).
closedloop-ai/claude-plugins
Start a detached GitHub pull-request monitor that wakes the exact launching Codex Desktop or CLI root through the managed Codex App Server when review, CI, conflict, merge-queue, closure, readiness…
PLN-725 single-agent dispatch for stage11extractsignals and stage15coveragecritic. Singleton Dispatch is an agent skill from closedloop-ai/claude-plugins. PLN-725 single-agent dispatch for stage11extractsignals and stage15coveragecritic.
Singleton Dispatch fits situations like: the reviewer fleet (stage20 — see the spawn-reviewers skill); the verifier fleet (stage23 — see the verify-findings skill).
Run `npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a claude-code`. Or copy the skill folder (plugins/code-review/skills/singleton-dispatch in closedloop-ai/claude-plugins) into .claude/skills/singleton-dispatch in your project. Claude Code loads it when a task matches its description.
Run `npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a codex`. Or copy the skill folder (plugins/code-review/skills/singleton-dispatch in closedloop-ai/claude-plugins) into .agents/skills/singleton-dispatch in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add closedloop-ai/claude-plugins --skill singleton-dispatch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/singleton-dispatch, .gemini/skills/singleton-dispatch, .github/skills/singleton-dispatch and .opencode/skills/singleton-dispatch in your project.
SKILL.md names no scripts, command-line tools or credentials: Singleton Dispatch is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Singleton Dispatch is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Singleton Dispatch: Dispatch (sickn33/agentic-awesome-skills, 47k stars), Extract (alirezarezvani/claude-skills, 28k stars), Matlab Extract Signal Features (matlab/matlab-agentic-toolkit, 1.1k stars) and Brand Extract (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
closedloop-ai (a GitHub organization) maintains it in closedloop-ai/claude-plugins, which has 122 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on October 7, 2026.
Source: closedloop-ai/claude-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.