CCPM Project Management
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
Choose the shape of a unit you are about to dispatch in this repo — one agent (--single) or a team (--orchestration '<name') — from divisibility criteria instead of asking, and report the shape you…
$ npx skills add vfarcic/dot-agent-deck --skill dispatch-shape -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vfarcic/dot-agent-deck dispatch-shape --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/vfarcic/dot-agent-deck.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/dispatch-shape .claude/skills/dispatch-shape && 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 "dispatch-shape" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/dispatch-shape into .claude/skills/dispatch-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dispatch-shape", 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/vfarcic/dot-agent-deck/tree/main/.claude/skills/dispatch-shapeType 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 vfarcic/dot-agent-deck --skill dispatch-shape -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vfarcic/dot-agent-deck dispatch-shape --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/dispatch-shape .agents/skills/dispatch-shape && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dispatch-shape" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/dispatch-shape into .agents/skills/dispatch-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dispatch-shape", 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 vfarcic/dot-agent-deck --skill dispatch-shape -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vfarcic/dot-agent-deck dispatch-shape --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/dispatch-shape .cursor/skills/dispatch-shape && 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 "dispatch-shape" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/dispatch-shape into .cursor/skills/dispatch-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dispatch-shape", 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/vfarcic/dot-agent-deck.git --path .claude/skills/dispatch-shape--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 vfarcic/dot-agent-deck --skill dispatch-shape -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vfarcic/dot-agent-deck dispatch-shape --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/dispatch-shape .gemini/skills/dispatch-shape && 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 "dispatch-shape" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/dispatch-shape into .gemini/skills/dispatch-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dispatch-shape", 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 vfarcic/dot-agent-deck dispatch-shapeInstalls 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 vfarcic/dot-agent-deck --skill dispatch-shape -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/dispatch-shape .github/skills/dispatch-shape && 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 "dispatch-shape" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/dispatch-shape into .github/skills/dispatch-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dispatch-shape", 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 vfarcic/dot-agent-deck --skill dispatch-shape -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vfarcic/dot-agent-deck dispatch-shape --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vfarcic/dot-agent-deck.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/dispatch-shape .opencode/skills/dispatch-shape && 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 "dispatch-shape" agent skill from https://github.com/vfarcic/dot-agent-deck/tree/main/.claude/skills/dispatch-shape into .opencode/skills/dispatch-shape/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dispatch-shape", 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.
dispatch-shapeChoose the shape of a unit you are about to dispatch in this repo — one agent (--single) or a team (--orchestration '<name') — from divisibility criteria instead of asking, and report the shape you…
Dispatch Shape is an agent skill from vfarcic/dot-agent-deck. Choose the shape of a unit you are about to dispatch in this repo — one agent (--single) or a team (--orchestration '<name') — from divisibility criteria instead of asking, and report the shape you chose with a one-line reason. Use whenever you are about to run dot-agent-deck dispatch in this repo for any reason — an ad-hoc "start X as a separate line of work" in a dispatcher pane, /issue-queue, or any other skill that dispatches. It is the maintainer's standing answer to the dispatcher prompt's shape question…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering PRD writing. The repository describes itself as: A rich terminal dashboard for monitoring and controlling multiple AI coding agent sessions. The licence is MIT.
Read from SKILL.md and the folder at commit 793c0d6. 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 (its code samples are bash).
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.
Dispatch Shape loads about 2.8k tokens when it runs. Until then it costs about 164 tokens; SKILL.md has 1,654 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 vfarcic/dot-agent-deck at commit 793c0d6, republished under its MIT licence (© vfarcic). 1,654 words, ~2,793 tokens.
.claude/skills/dispatch-shape/SKILL.md (or your agent's skills folder).A unit starts either as one agent or as a multi-role orchestration. In this repo, choose it yourself, from the criteria below, and say which you chose and why. Do not ask per unit, and do not fall back to a default without applying the test.
This skill is where that decision is defined for every dispatch made in this repo — an ad-hoc request in a dispatcher pane ("start X as a separate line of work"), /issue-queue, or any other skill that dispatches — except the skills named under Where this skill does not decide the shape, which carry a shape step of their own.
Dispatcher mode seeds every dispatcher pane with DISPATCHER_SEED_PROMPT (src/authoring_seeds.rs), whose section "Choosing the shape — ASK, do not guess" tells you to show the user --list-targets and ask which shape they want, once per unit. docs/dispatcher-mode.md carries the same contract for users. You will read both in the same context you are reading this in, so the conflict needs resolving explicitly rather than by whichever you read last.
The same prompt also says: "One answer can cover several units when the user gives one — take it and stop asking." This skill is that answer, given in advance by the maintainer for this repo: the shape of a unit dispatched here is chosen by the criteria below, and the agent reports which shape it chose and why. So applying the criteria is not the guess the prompt forbids — it is the user's answer, taken, with the question already asked and settled. What the prompt forbids is assuming an answer nobody gave; this one was given.
The prompt and the doc are not wrong, and this skill does not change them. They are compiled into the binary and published for every user of dot-agent-deck, in any repo, and they deliberately teach how dispatch works rather than how to organise work (PRD #220; dispatcher_seed_teaches_mechanics_not_work_methodology in src/ui.rs fails if named work-methodology phrases creep back into the seed). The criteria below are specific to this repo — they name this repo's orchestrations — so the product-wide default stays "ask", and this repo's answer lives here. Do not edit either to match this skill.
The user's word in the conversation still wins. If they name a shape — for one unit or for a whole batch — take it and stop applying the criteria to those units. A standing answer is a default the user set; a fresh one replaces it.
A large change confined to one function is a single agent; a medium one spread across separate modules with a decision to argue may be a team. Asking "how big is this?" produces teams on hard problems that do not divide, which is the failure this criterion guards against.
Take --single when any of these holds:
Take --orchestration 'mixed' only when the work genuinely splits:
When the two readings are close, take --single. A team in one file produces internal conflicts and a longer path to the same diff; a single agent on a divisible task merely takes longer. The failure modes are not symmetric.
Apply the criteria to each unit on its own, including when several are dispatched together. On the 2026-08-24 /issue-queue batch: #669 is an lstat guard of roughly ten lines in one function, with a reference implementation already sitting on a fork; #668 is an audit of every harness spawn path #661 does not reach, plus a reaping mechanism and its coverage. Those are not the same shape, and two or three tasks off this repo's backlog routinely mix kinds. So applying one shape across a batch is wrong whether it comes from your own shortcut or from reading the criteria once — the only batch-wide shape that holds is one the user states.
From the 2026-09-19 /issue-queue loop. --single: a mixed-separator path fix and a log-path default (two one-function fixes, bundled); ~23 tracing call sites needing the same escape helper (mechanical sweep); a delegate readiness race (one decision, one seam); a desktop pane's staleness affordance (one product call). --orchestration 'mixed': a voice-control PRD (new user-facing feature with milestones); a product website (design exploration, build, content, publish); and the /tmp endpoint squat, which moves two socket paths and the hook-endpoint writers and needs a transition strategy plus a versioning decision.
Tell the user the shape you chose for each unit, with the one-line reason — the criterion that produced it, e.g. "--single: confined to one function". Say it when you dispatch and again wherever you report where the work went. A user who disagrees needs to see the criterion that produced the choice, not have to infer it, and that visibility is what makes a standing answer acceptable in place of a question.
Pass the matching flag explicitly on every dispatch (--single or --orchestration '<name>'). With neither, the shape falls back to whatever the repo's config implies, which is a guess even when it happens to match.
dot-agent-deck dispatch --list-targetsRun that once — it is a read-only daemon round-trip and its answer describes the repo, not the unit — to learn which orchestrations exist before naming one.
If --list-targets errors, the message says which case it is:
DOT_AGENT_DECK_PANE_ID environment variable not set means nothing can be dispatched from here at all. dot-agent-deck dispatch reads that variable and exits FAILURE without it, and the check runs before the --list-targets branch (src/main.rs, the Commands::Dispatch arm), so outside a managed deck pane the dispatch and the shape query both fail. Say so and stop; there is no shape to choose.the daemon did not answer list-targets means no daemon or an older build. You still have the criteria, and --single is a safe shape for anything they select — so dispatch --single and say that the orchestration list was unavailable, rather than stalling. Only take it to the user when the criteria select a team and you cannot confirm the orchestration's name, since --orchestration needs one.mixed by default, and the provider is a SESSION propertySince issue #705 this repo defines three orchestrations rather than one: mixed, anthropic and GPT. They run the identical six roles with the identical prompts; only which agent each role launches differs.
Keep shape and provider separate — they are different kinds of decision:
mixed / anthropic / GPT) is a property of the session — which credits are healthy today, which stack the user wants exercised. It does not vary with the task at all.Default to mixed and do not ask — wherever this skill decides the shape; the skills listed at the end keep their own provider step — because it is the repo's default and exercises the most providers. Say which you used. Re-ask only if the user raises it, or if a dispatch fails on that provider's credentials — a credential failure is a session fact, so carry the new answer forward to every later unit rather than re-deciding each time.
Pass the name explicitly, always: --orchestration 'mixed', never a bare --orchestration=. The bare form opens whichever orchestration the repo declares as its default, which is currently mixed (default = true in .dot-agent-deck.toml) — a fact about the config file, not a choice the user made in this conversation. --list-targets shows which one that is with a [default] marker; that marker is there to inform the question, not to answer it.
If the user has no preference, say which one you are taking and why (mixed is the default and exercises the most providers) rather than silently omitting the flag.
Three dispatching skills in this repo carry a shape step of their own, and inside them their own steps govern — the shape and which orchestration to name — not this skill, so neither the criteria nor the mixed default above applies there:
/prd-queue asks the shape once per PRD (its step 7), because there the shape also decides which of two task documents its step 8 writes — /prd-full for a single agent, the orchestrator role template for a team. It also asks the provider once per session, the first time a PRD wants a team (the same step), rather than defaulting to mixed. Issue #1425 left it unchanged on purpose; whether it should use this skill instead is an open question, not a settled one./pr-review-queue asks the shape once per PR (its step 2b), showing the --list-targets output, so the answer names the orchestration too. Issue #1425 did not revisit it./code-cleanup dispatches every unit --single, by the maintainer's decision (its step 4). One bounded area and one small PR is confined work, so the criteria above would choose the same; that skill fixes it rather than re-deciding it per unit.Everywhere else in this repo — an ad-hoc dispatch, /issue-queue, or a skill written later without a shape step of its own — this skill decides.
© vfarcic, MIT. 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 .claude/skills/dispatch-shape of vfarcic/dot-agent-deck.
Open the folder on GitHubat commit 793c0d6
Dispatch Shape 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 |
|---|---|---|---|---|---|---|
| Dispatch Shape this skillvfarcic/dot-agent-deck | 109 | — | ~2.8k | Automated safety check: Pass | MIT | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Ralph Tui Create Beadssubsy/ralph-tui | 2.5k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Trellis Brainstormanjiemo/SunnyBeach | 178 | 7 repos | ~4k | Automated safety check: Pass | Apache-2.0 | |
| Adversarial Speczscole/adversarial-spec | 556 | 1 repos | ~8.3k | Automated safety check: Notes | MIT | |
| Ralph Tui Create Beads Rustsubsy/ralph-tui | 2.5k | 1 repos | ~2.8k | Automated safety check: Pass | MIT |
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.
anjiemo/SunnyBeach
Guides collaborative requirements discovery before implementation.
zscole/adversarial-spec
Iteratively refine a product spec by debating with multiple LLMs (GPT, Gemini, Grok, etc.) until all models agree.
subsy/ralph-tui
Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).
Q00/ouroboros
Runs a guided product-manager interview that classifies each question automatically and produces a Product Requirements Document.
vfarcic/dot-agent-deck
Check that a change to the user-facing docs covers both clients (the TUI and the desktop app) unless the feature exists in only one, and decide whether it needs a new or updated screenshot, then…
vfarcic/dot-agent-deck
Generate a feature request prompt for another dot-ai project.
vfarcic/dot-agent-deck
Take committed work from a branch to a verified pull request — push, open the PR, settle CI and the automated review, answer and resolve every finding, and hand off.
vfarcic/dot-agent-deck
Publish the docs site to GHCR with a main-<sha tag and bump site/helm/values.yaml so Argo CD picks it up — without cutting a SemVer release.
vfarcic/dot-agent-deck
Run, build, smoke-test, and screenshot the dot-agent-deck binary against an isolated sandbox.
vfarcic/dot-agent-deck
Stitch a manifest of terminal recordings into one narrated MP4 (title/description card, then clip, repeated) and optionally upload it privately to YouTube.
Categories
Choose the shape of a unit you are about to dispatch in this repo — one agent (--single) or a team (--orchestration '<name') — from divisibility criteria instead of asking, and report the shape you…. Dispatch Shape is an agent skill from vfarcic/dot-agent-deck. Choose the shape of a unit you are about to dispatch in this repo — one agent (--single) or a team (--orchestration '<name') — from divisibility criteria instead of asking, and report the shape you chose with a one-line reason.
Dispatch Shape fits situations like: you are about to run dot-agent-deck dispatch in this repo for any reason — an ad-hoc start X as a separate line of work in a dispatcher pane; any other skill that dispatches.
Run `npx skills add vfarcic/dot-agent-deck --skill dispatch-shape -a claude-code`. Or copy the skill folder (.claude/skills/dispatch-shape in vfarcic/dot-agent-deck) into .claude/skills/dispatch-shape in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vfarcic/dot-agent-deck --skill dispatch-shape -a codex`. Or copy the skill folder (.claude/skills/dispatch-shape in vfarcic/dot-agent-deck) into .agents/skills/dispatch-shape 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 vfarcic/dot-agent-deck --skill dispatch-shape -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dispatch-shape, .gemini/skills/dispatch-shape, .github/skills/dispatch-shape and .opencode/skills/dispatch-shape in your project.
SKILL.md names no scripts, command-line tools or credentials: Dispatch Shape 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.
Dispatch Shape is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k 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 Dispatch Shape: CCPM Project Management (automazeio/ccpm, 8.4k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Trellis Brainstorm (anjiemo/SunnyBeach, 178 stars) and Adversarial Spec (zscole/adversarial-spec, 556 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vfarcic (a GitHub user) maintains it in vfarcic/dot-agent-deck, which has 109 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 8, 2026.
Source: vfarcic/dot-agent-deck on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.