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…
Extracts product requirements and produces a PRD. Use when a user wants to build software and needs to define what to build before architecture or implementation, when scoping an MVP, or when translating a vague idea into a buildable specification.
$ npx -y skills add isvlasov/rageatc-oss --skill managing-product --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/managing-productContext preview
The summary Claude sees to decide when to auto-load this skill.
Extracts product requirements and produces a PRD. Use when a user wants to build software and needs to define what to build before architecture or implementation, when scoping an MVP, or when translating a vague idea into a buildable specification.
name: managing-product description: Extracts product requirements and produces a PRD. Use when a user wants to build software and needs to define what to build before architecture or implementation, when scoping an MVP, or when translating a vague idea into a buildable specification.
Defines *what to build* before any architecture or code: translates an understood idea into a structured, prioritised PRD that agents can execute against without ambiguity.
**Position:** understanding-the-ask (clarify problem) → solutioning (choose direction) → managing-product (define what to build) → architecting-software (design how).
**Inputs:** a clear problem statement, a chosen solution direction ("we will build software"), and the user's domain knowledge accessible through conversation.
**Output:** `PRD.md` with five essential elements — problem statement, target users, success criteria, scope (MoSCoW-prioritised plus explicit out-of-scope), and requirements as user stories with testable acceptance criteria.
**Not covered:** problem clarification or solution direction (upstream), technical architecture (architecting-software), chunk enrichment, roadmapping, sprint planning, rollout strategy.
Check whether you already have a clear problem statement, an identified audience, and any stated constraints. If the user arrives with problem and audience clear (e.g. "I want to build a habit tracking app for myself"), confirm inline and proceed — upstream skills are not required. If either remains vague after confirmation, return to understanding-the-ask.
State what you understand so the user can correct it before extraction begins:
> "Before we define what to build, let me confirm: we're solving [problem] for [user type]. Does that match your intent?"
Pull out the five essential elements through focused, sequential questions — one at a time, never a form or a list of questions at once.
**A. Target users** (if not already clear):
**B. Core problem and current alternative:**
**C. Success definition:**
**D. Feature exploration:**
**E. Boundaries:**
**Redirect solution-focused input to outcomes.** "It needs a React frontend" → "What does the user need to be able to do? We can decide the technology once we know what it needs to accomplish." "It needs a database with relational tables" → "What information needs to be stored and retrieved? We'll leave the technical decisions to the architect."
**Pacing:** you are looking for the five essential elements, not an exhaustive feature list. A simple project needs one short conversation; a complex one (multiple user types, integrations) needs follow-ups per sub-area. Stop when you can draft a PRD — not when the user has exhausted every idea.
Before drafting, challenge any criterion that cannot be tested objectively:
| Vague statement | Clarifying question | |---|---| | "It should be easy to use" | "How would you test that? What would a new user be able to do within their first session?" | | "It needs to be fast" | "Fast compared to what? Is there a specific action that needs to respond within a certain time?" | | "It should be secure" | "What specifically needs to be protected? User data, transactions, access control?" | | "It needs to scale" | "How many users are you planning for? Is scalability a day-one requirement or a future concern?" | | "It should handle edge cases" | "Which edge cases? Let's name the ones that matter." |
The test: each acceptance criterion must be answerable with pass or fail. The outcome is not always a number — "a user who has never seen the app can complete a purchase without asking for help" is testable without being quantitative.
Apply MoSCoW to the requirements from Step 2:
**Won't Have vs Non-Goals:** "Won't Have" lists specific features considered and set aside; "Non-Goals" states broader boundaries about what the product is not trying to be ("this is not a social platform"). Both are needed; they should not duplicate each other.
**The one-page heuristic:** if the MVP requirements don't fit on a page, the scope is too large (split into phases) or the problem is not yet clear (return to Step 2). Diagnostic, not rigid rule.
**Split into phases when** the P0 list exceeds 8–10 requirements, different user types have substantially different workflows, or deliverable value exists in a subset (ship that first). Split only on real sequencing logic, never just to shorten the document; produce a separate PRD per phase.
**Common mistakes to catch:** everything is P0 ("If you could only ship one feature, which would it be?"); scope creep during definition (log new id
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.…
Converts an approved ARCHITECTURE.md into an implementation roadmap of isolated, dependency-ordered chunks. Use when architecture has been approved and work…
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…