Borrowing it
Nothing to install: this file belongs to tatargabor/set-copilot. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tatargabor/set-copilot/master/.claude/skills/set/decompose/SKILL.mdgit clone --depth 1 https://github.com/tatargabor/set-copilotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/tatargabor/set-copilot/decompose)<a href="https://agentmods.dev/skills/tatargabor/set-copilot/decompose"><img src="https://agentmods.dev/badge/skills/tatargabor/set-copilot/decompose.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.02123 |
| Opus 5 | $0.00000 | $0.01061 |
| Sonnet 5 | $0.00000 | $0.00425 |
| Haiku 4.5 | $0.00000 | $0.00212 |
Grade A, and why
decompose scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Decompose a specification document into an orchestration execution plan.
Input: Spec file path (provided as argument or via environment SPEC_PATH), optional phase hint via PHASE_HINT.
You are a planning agent. Your job is to analyze a spec document, explore the codebase, and produce an orchestration-plan.json that the orchestrator can dispatch.
Steps
-
Read the spec
- If
SPEC_PATHis a directory (multi-file spec):- Read the master file first (matching
v*-*.mdorREADME.mdat root level) - Use the Agent tool (Explore) to analyze domains in parallel — one agent per subdirectory
- Each agent should return: domain summary, key requirements, cross-references to other domains
- Combine results into a unified view before decomposing
- Read the master file first (matching
- If
SPEC_PATHis a single file:- If under 200 lines, read it directly
- If over 200 lines, use the Agent tool (Explore) to analyze sections — do NOT load the entire spec into context
- Identify completed items (checkboxes, "done" markers) and focus on incomplete work
- If
-
Read project context (if files exist, skip gracefully if not)
set/plugins/project-type.yaml— verification rules, conventions, project typeset/knowledge/project-knowledge.yaml— cross-cutting files, feature registryset/requirements/*.yaml— active requirements (status: captured or planned)set/orchestration/config.yamlor.claude/orchestration.yaml— directives
2b. Read design-manifest.yaml (v0 pipeline) — if
docs/design-manifest.yamlexists- Load every route's
path+scope_keywordsinto planning context - The manifest is the AUTHORITATIVE route inventory: every route MUST be accounted for in the plan
- If no
docs/design-manifest.yamlexists, skip this step + INFO log; the plan proceeds design-unaware (legacy mode)
-
Explore the codebase
- Use the Agent tool (Explore) to scan for existing implementations matching spec topics
- Understand what's already built vs what needs to be built
- Identify shared files that multiple changes would touch (merge hazard)
- Run multiple Explore agents in parallel for different spec sections
-
Recall relevant memories
set-memory recall "<spec topic>" --tags "phase:planning" --limit 3 --mode hybridUse the recall MCP tool with
phase:planningtag. Look for past decomposition learnings, known pitfalls. -
Check existing work
openspec list --jsonList existing specs and active changes to avoid duplication.
-
Bind design-manifest routes to changes (v0 pipeline) — skip if
docs/design-manifest.yamlwas absent in step 2b- Every manifest route MUST end up in EITHER exactly one change's
design_routes: ["/…"]OR the plan-leveldeferred_design_routes: [{route, reason}]list - A change without UI has
design_routes: [](explicit empty list) - When spec mentions UI for a page with no matching manifest route, emit a
design_gapambiguity with options: (a) regenerate v0 to include the page, (b) remove from spec, (c) accept that fidelity gate will skip for that page - Emit a
design_route_mapdebug section in the plan'sreasoningfield showing each route → change binding
- Every manifest route MUST end up in EITHER exactly one change's
-
Generate the plan
Write
orchestration-plan.jsonto the project root with this schema:{ "phase_detected": "Description of the phase/section being implemented", "reasoning": "Why this decomposition — what's the strategy", "changes": [ { "name": "kebab-case-name", "scope": "Detailed description of what to implement + test requirements", "complexity": "S|M|L", "change_type": "<one of the valid change types — see below>", "model": "opus|sonnet", "has_manual_tasks": false, "depends_on": ["other-change-name"], "roadmap_item": "The spec section this implements", "design_routes": ["/", "/kavek"], "spec_files": ["path/relative/to/spec-dir.md"], "requirements": ["REQ-DOMAIN-001"], "also_affects_reqs": ["REQ-CROSS-001"] } ], "deferred_requirements": [ { "id": "REQ-DOMAIN-002", "reason": "Depends on auth system, planned for next phase" } ], "deferred_design_routes": [ { "route": "/admin/settings", "reason": "Phase 2 scope, skipped for this run" } ], "source_items": [ { "id": "SI-1", "text": "Description of the spec item", "change": "assigned-change-name-or-null" } ] } **Note:** `spec_files`, `requirements`, and `also_affects_reqs` are only required when working with a multi-file spec that has been digested (`set/orchestration/digest/` exists). For single-file specs, omit these fields. **Source items (single-file mode only):** When there is NO digest directory, generate a `source_items` array listing every identifiable spec item (feature, requirement, task, checkbox) with an assigned change name or `null` if intentionally excluded. Omit `source_items` entirely in digest mode (digest uses `requirements.json` instead). **Requirement accounting (digest mode only):** When a digest exists, every requirement in `set/orchestration/digest/requirements.json` MUST be accounted for. Either: - Assign it to a change via `requirements[]` or `also_affects_reqs[]`, OR - List it in `deferred_requirements[]` with a reason explaining why it is deferred (e.g., dependency on another phase, out of scope for this sprint, intentionally excluded) Silent omission of requirements — assigning neither to a change nor to `deferred_requirements` — is a planning error. `validate_plan()` will report unaccounted requirements as errors and block dispatch.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 178 lines · 0 tokens per session scan A 17e7b30781bc
decompose is a skill published in the GitHub repository tatargabor/set-copilot (2 stars, last pushed 14d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,123 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…