architecting-software
Designs software architecture from a confirmed PRD. Use when a PRD exists and architecture must be designed before implementation, when writing ADRs, choosing…
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.
$ npx -y skills add isvlasov/rageatc-oss --skill decomposing-work --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/decomposing-workContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
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.
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.
Read ARCHITECTURE.md fully and extract four labelled lists:
Log anything ambiguous or absent as an open question. Do not proceed with unresolved questions that would force you to infer chunk boundaries.
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.
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.**
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.
Fill `Depends on` for every chunk, applying:
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.
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
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.
Repo: isvlasov/rageatc-oss
Designs software architecture from a confirmed PRD. Use when a PRD exists and architecture must be designed before implementation, when writing ADRs, choosing…
Writes correct, version-aware Telegram bot code. Use when writing, extending, or debugging a Telegram bot in python-telegram-bot, aiogram, grammY, or Telegraf.…
Delegates a task to OpenAI Codex running as an interactive session in a herdr pane - uses the user's ChatGPT subscription, visible in herdr, steerable…
Delegates a task to a local LLM running as a Pi coding-agent session in a herdr pane - the subagent is visible in herdr, can be steered mid-session, and costs…
Creates a design system for software with a UI. Use when a project has a user interface and architecture is confirmed — whether creating from scratch or…
Enriches implementation roadmap chunks with acceptance criteria, pattern references, and contextual notes. Use after decomposing-work has produced the…