Skip to content
Development
Skill

/decomposing-work

Converts an approved ARCHITECTURE.md into an implementation roadmap of isolated, dependency-ordered chunks. Use when architecture has been approved and work must be decomposed before implementation begins.

From plugin
rageatc-oss
1145 skills11 agents

Claude Code

$ npx -y skills add isvlasov/rageatc-oss --skill decomposing-work --agent claude-code

SKILL.md

decomposing-work.SKILL.md
name: decomposing-work
description: Converts an approved ARCHITECTURE.md into an implementation roadmap of isolated, dependency-ordered chunks. Use when architecture has been approved and work must be decomposed before implementation begins.

Decomposing Work

Converts a confirmed ARCHITECTURE.md into a persistent roadmap of implementation chunks — the decomposition discipline that determines whether developer-agents succeed.

**Position:** architecting-software (ARCHITECTURE.md) → decomposing-work (ROADMAP.md structure) → enriching-roadmap (acceptance criteria, pattern references) → developer-agent.

**Inputs:** a confirmed ARCHITECTURE.md and human confirmation to proceed — do not begin autonomously. If the architecture is ambiguous (missing component boundaries, implicit interfaces, unclear data ownership), flag specific gaps to the human before producing chunks. Inferred boundaries produce misaligned briefs.

**Output:** `ROADMAP.md` in the project root — header block, global Definition of Done, chunks grouped by phase, per the Templates section. Present the draft as "proposed" and write the final file only after the human confirms.

**Not covered:** architecture design, enrichment, orchestration, implementation.

Workflow

Step 1: Read the Architecture

Read ARCHITECTURE.md fully and extract four labelled lists:

  • **Components** — named services, modules, packages, domains
  • **Integration surfaces** — every API, event contract, shared schema, or data-model interface between components
  • **Foundational infrastructure** — what must exist before any feature (project scaffold, CI/CD, database setup, auth skeleton, shared types, logging wiring)
  • **Cross-cutting concerns** — logging, error handling, observability, authentication — only those explicitly described in the architecture

Log anything ambiguous or absent as an open question. Do not proceed with unresolved questions that would force you to infer chunk boundaries.

Step 2: Calibrate Scale

Assess project scale (component count, team size, complexity, workflow tier) and set a target chunk range — this prevents over-decomposition, where brief-develop-review overhead exceeds the project's complexity.

| Project scale | Target chunks | Example | |---------------|---------------|---------| | Small (1-2 components, solo dev) | 5-12 | Personal recipe app, CLI tool | | Medium (3-5 components, small team) | 10-20 | SaaS feature, API service | | Large (5+ components, team) | 15-40 | Platform, multi-service system |

Use this as a sanity check after Step 5: if the chunk count significantly exceeds the target, consolidate chunks that form natural vertical slices.

Step 3: Identify the Walking Skeleton (chunk-001)

Non-negotiable, before any other chunk. The Walking Skeleton is the thinnest end-to-end implementation through all major architectural layers — a single request or operation traversing the full system with no real business logic. It validates that the layers connect and establishes the project structure every subsequent chunk plugs into.

State the single traversal (e.g., "HTTP request to `/health` returns 200 from behind the database connection"), the layers it touches, and the infrastructure it establishes. **Always Phase 0, chunk-001, no dependencies; every other chunk depends on it.**

Step 4: Extract Remaining Chunks

Map each element from Step 1 to chunks:

| Architecture element | Chunk type | |---|---| | Component / service / module | One or more `feature` chunks (start with the thinnest viable path through the component) | | API boundary / shared interface / event contract | One `interface` chunk (contract before either side implements) | | Shared data model or schema | One `infrastructure` chunk (schema and migrations before data access) | | Foundation infrastructure (CI, scaffold, auth skeleton, shared types) | `infrastructure` chunks in Phase 0 | | Third-party integration or adapter | One `integration` chunk | | Cross-cutting concern | Scaffold in Phase 0 as `infrastructure`; harden in Phase 3 as `hardening` |

**Granularity: each chunk is a coherent vertical slice** — the smallest unit that produces an independently testable capability end-to-end. Don't split tightly coupled code (a service from its routes) just to reduce file count. Chunks typically touch 2–5 files; beyond 5, verify the files are genuinely coupled, and if not, split. Never split a single file's functionality across chunks unless it genuinely has independent concerns. (A previous hard 1-3 file constraint caused artificial splits — vertical slices aligned with how code is written and tested work better.)

Write a draft entry per chunk using the Templates schema; leave `Depends on` for Step 5.

Step 5: Build the Dependency Graph

Fill `Depends on` for every chunk, applying:

  • Interface chunks precede both sides of the integration they define
  • Infrastructure chunks precede chunks requiring that infrastructure
  • The Walking Skeleton precedes everything
  • Feature chunks may depend on their component's interface chunks but not on sibling feature chunks (keep them parallel-safe)

Verify the graph is a DAG — a cycle means the decomposition has a structural problem; resolve it before proceeding. Chunks with no dependencies beyond the Walking Skeleton are the first parallel candidates.

Step 6: Assign Phases

Group by dependency depth:

| Phase | Content | |---|---| | **Phase 0 — Foundation** | Walking Skeleton, CI/CD scaffold, shared types and interfaces, database schema, auth skeleton, logging wiring | | **Phase 1 — Core domains** | Primary capability of each component; no cross-component integration yet | | **Phase 2 — Integration** | Cross-component flows, API composition, third-party adapters, auth flows using the skeleton | | **Phase 3 — Hardening** | Comprehensive error handling, observability, performance-sensitive paths, security hardening |

For simple architectures (one or two components, no distinct integratio

Read more
@isvlasov
Ships withrageatc-oss

Rage Against The C - pick your own C to rage against. Two plugins for Claude Code / Cowork, built on the idea that we're using AI wrong: the speed of its output tricks us into rushing the input.

1145 skills11 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
11
Star history of isvlasov/rageatc-oss on GitHub, a chart by star-history.com

Other skills on rageatc-oss.

building-telegram-bots

building-telegram-bots

Writes correct, version-aware Telegram bot code. Use when writing, extending, or debugging a Telegram bot in python-telegram-bot,…

delegating-to-codex

delegating-to-codex

Delegates a task to OpenAI Codex running as an interactive session in a herdr pane - uses the user's ChatGPT subscription,…

designing-interfaces

designing-interfaces

Creates a design system for software with a UI. Use when a project has a user interface and architecture is confirmed — whether…

enriching-roadmap

enriching-roadmap

Enriches implementation roadmap chunks with acceptance criteria, pattern references, and contextual notes. Use after…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about decomposing-work.

Which coding agents can use decomposing-work?
decomposing-work installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.