agentleFS
zcacereszcaceres/skills/skills/decompose/SKILL.md

decompose

Skill7 starsChanged 3 months agoMITView on GitHub

Break a problem into smaller pieces — subsystems that are easier to think about — and show how they relate. Works on the current conversation by default, or on a focus passed after the command. Invoke via /decompose.

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use idea, discover and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • szweibelSkill

    idea

    Generate a wide field of options when the user is brainstorming, exploring, expanding, or pressure-testing — not recommending or implementing

    Also in 3 projects that use this

  • anombyte93Skill

    discover

    Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery. Delegates to superpowers:brainstorming in Interactive Mode (one adaptive question at a time), or self-brainstorms in Autonomous Mode when no user is present. Intercepts before the brainstorming chain hands off to writing-plans — this skill owns the exit. Extracts constraints, calibrates scale (Solo / Team / Enterprise), and advances the pipeline to GENERATE.

    Also in 3 projects that use this

  • SentrySkill

    review

    Fixture review skill.

    Also in 9 projects that use this

  • MicrosoftSkill

    diagnose

    Use to systematically diagnose why scenarios fail — identifies root causes by analyzing agent traces, codebase, and behavioral patterns

    Also in 4 projects that use this

  • GitHubSkill

    prd

    Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.

    Also in 3 projects that use this

  • Hugging FaceSkill

    implement

    Make tests pass. Invoke after /write-tests produces failing tests.

    Also in 6 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 25 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Grounded: When the problem involves code, cite file:line to anchor a piece to where it lives.

    line 34
  2. Distinctive:

    Start with a single-line header:

    line 38
  3. Distinctive:

    Don't fabricate pieces to pad out the list.

    line 62
  4. Distinctive:

    Don't propose code changes or make edits.

    line 63
  5. Distinctive:

    Don't write a file artifact.

    line 64
  6. Distinctive:

    If the problem is already small enough to think about whole, say so directly and name the next move.

    line 65
  7. Distinctive:

    Don't lecture or restate what the user already plainly knows.

    line 66
  8. Distinctive:

    Follow-ups are normal conversation.

    line 70

“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Decompose

Break a problem into smaller pieces — subsystems that are easier to think about one at a time — and show how the pieces relate.

Usage: /decompose [focus]

Examples:

  • /decompose — decompose whatever's currently being worked on in the conversation
  • /decompose "the cache invalidation logic" — focus on a specific named piece
  • /decompose how should the new ingest pipeline be structured — decompose a stated problem

Input

Raw input: $ARGUMENTS

  • Empty → decompose the active problem from the recent conversation turns.
  • Anything else → use it as the focus. Still draw on the broader conversation for context.

What makes a good decomposition

The user wants the problem broken into subsystems they can reason about independently. Aim for:

  • 3–7 pieces. Fewer means you haven't decomposed; more means you're listing tasks, not subsystems.
  • Each piece independently thinkable. A reader should be able to hold one piece in their head and reason about it without simultaneously tracking the others.
  • Named, with a one-line description. The name is a handle; the description says what the piece is responsible for.
  • Real seams. Cut along boundaries that actually exist in the problem — data transformations, ownership boundaries, decisions that constrain other decisions — not arbitrary thirds.
  • Grounded. When the problem involves code, cite file:line to anchor a piece to where it lives.

Output format

Start with a single-line header:

**Decompose ▸ <focus>**

Then, in order:

  1. One-line restatement of the problem in plain language. If the user's framing is already clear, paraphrase briefly — don't parrot.
  2. Pieces — a numbered list. Each entry: a bold name, a dash, a one-line description of what the piece covers or is responsible for.
  3. Map — a small ASCII diagram of the pieces as nodes and their dependencies as arrows, when it clarifies the shape. Label each node with the piece's number and name so it cross-references the list above; optionally label an arrow with what flows across it (data, control, a constraint). Keep it compact. For example:

    1. Ingest ──raw──▶ 2. Parser ──▶ 4. Store
                           │
                           └──▶ 3. Schema (constrains 2)

    Skip the diagram — or collapse it to a one-line chain like 1 → 2 → 3 — when the structure is a trivial straight line or there are only two or three pieces. A box-and-arrow drawing of a linear pipeline is noise. Never invent edges to make the picture look busier than the problem actually is.

  4. How they connect — a short bullet list of the relationships the diagram can't carry on its own: what the critical path is, which pieces are independent and can be thought about (or deferred) separately, and which single piece constrains the others most.

What NOT to do

  • Don't fabricate pieces to pad out the list. If the problem genuinely has two parts, list two.
  • Don't propose code changes or make edits. This is a thinking tool — if a code edit is the obvious next move, say so, but don't do it.
  • Don't write a file artifact. Chat only, unless the user explicitly asks.
  • If the problem is already small enough to think about whole, say so directly and name the next move. False structure is worse than no structure.
  • Don't lecture or restate what the user already plainly knows.

Follow-ups

Follow-ups are normal conversation. If the user asks about one of the pieces, just discuss it — or decompose it further in the same format if that's what they ask for. No special syntax.

Tone

Concise. Concrete. The user wants a clearer map of the problem, not a textbook. When a piece is genuinely murky to you too, say so plainly — sometimes the decomposition's value is revealing which piece needs investigation first.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.