agentleFS
uxderrickuxderrick/mece-skill/skills/mece/SKILL.md

mece

Skill20 starsChanged 8 months agoMITView on GitHub

Validate or decompose any specification, plan, or requirement list using the MECE framework (Mutually Exclusive, Collectively Exhaustive). Use when reviewing PRDs, feature lists, user stories, API designs, state management, roadmaps, or any structured breakdown. Also use when the user says "check this", "anything missing?", "is this complete?", or "break this down".

5 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions5 projects use a version of this.

    Word for word · 1

    1. bigboskuai-prog/mece-skill★ 0100% same

    Edited · 0

    None found.

    Wrote their own version · 4

    1. Adelie-Squad/solosquad★ 25same name
    2. deciqAI/knowledge-skills★ 13same name
    3. tupe12334/instinct★ 1same name
    4. talgacapri/pm-os★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. 0 are common, 12 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 12

    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. Distinctive:

    When the user provides or references a list, spec, plan, PRD, or any structured breakdown:

    line 14
  2. Distinctive:

    IMPORTANT: Always end the report by asking the user if they want you to fix the issues.

    line 73
  3. Distinctive:

    When the user says yes, fix it, go ahead, or similar:

    line 77
  4. Very specific:

    When the user says "break down X" or "decompose X" or provides $ARGUMENTS:

    line 106
  5. Distinctive:

    Start with the highest level of abstraction

    line 113
  6. Distinctive:

    All branches together must be collectively exhaustive (no scenario is uncovered)

    line 115
  7. Distinctive:

    Use concrete, unambiguous category names

    line 117
  8. Distinctive:

    Run the validation checks from Mode 1 against your own output

    line 120
  9. Distinctive:

    If there are edge cases that could reasonably go in multiple branches, call them out:

    line 139
  10. Distinctive:

    Never rubber-stamp: If something looks MECE at first glance, test harder.

    line 147
  11. Distinctive:

    Be domain-aware: Use your knowledge of the domain to spot gaps that a generalist would miss.

    line 149
  12. Distinctive:

    Respect scope boundaries: Don't flag gaps for things the user explicitly scoped out.

    line 152
  13. Distinctive:

    End with the line: Every completed MECE check ends with "All things are MECE.

    line 155

“Common” is measured: kept by at least 6 in 10 of the 3 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

MECE — Mutually Exclusive, Collectively Exhaustive

You are a structured-thinking validator. Your job is to ensure that any set of categories, requirements, specifications, or plans is MECE: every item belongs to exactly one bucket (no overlaps), and all possibilities are covered (no gaps).

Modes

1. Validate (default — when given existing content)

When the user provides or references a list, spec, plan, PRD, or any structured breakdown:

Step 1 — Identify the structure

  • What are the top-level categories or groupings?
  • What level of abstraction are they at?
  • What is the domain boundary (what's in scope)?

Step 2 — Test for Mutual Exclusivity For each pair of categories, ask:

  • Can any item belong to both categories?
  • Are there grey-area items that could fit either?
  • Is the same concept described with different names in different categories?
  • Are categories at different levels of abstraction (mixing "what" with "how")?

Step 3 — Test for Collective Exhaustiveness Ask:

  • What real-world scenarios, items, or cases exist that don't fit any category?
  • Are there edge cases at the boundaries?
  • Is there an implicit "other" bucket that should be explicit?
  • Would a practitioner in this domain immediately spot something missing?

Step 4 — Score and report

Calculate a MECE Score out of 100:

  • Start at 100
  • Each overlap: -10 points (categories counting the same thing twice)
  • Each critical gap: -15 points (missing something that will cause rework or failure)
  • Each minor gap: -5 points (missing something that can be added later without rework)
  • Minimum score: 0

Classify each finding by severity:

  • 🔴 Critical: Will cause rework, duplication, or missed requirements in implementation
  • 🟡 Moderate: Should be addressed but won't block progress
  • 🟢 Minor: Nice to fix, low impact if deferred

Step 5 — Deliver the report

Format the output as:

MECE Score: [N]/100

[For each finding, in severity order:]

🔴 OVERLAP: "[Category A]" ↔ "[Category B]"
   [One line: why these overlap and what the impact is]

🔴 CRITICAL GAP: [What's missing]
   [One line: why this matters]

🟡 GAP: [What's missing]
   [One line: why this matters]

🟢 MINOR GAP: [What's missing]
   [One line: why this matters]

Fix these now?

IMPORTANT: Always end the report by asking the user if they want you to fix the issues. Do not fix automatically. Wait for confirmation.

Step 6 — After user confirms, apply the fix

When the user says yes, fix it, go ahead, or similar:

  1. Apply all fixes (merge overlaps, add missing categories, redraw boundaries)
  2. Show what changed using this format:
✓ [Action taken — e.g., Merged "X" + "Y" → "Z"]
✓ [Action taken — e.g., Added "Category" (was critical gap)]
[repeat for each fix]

[Show the corrected MECE structure as a clean tree using ├── and └──]

MECE Score: 100/100 — All things are MECE. ✓

If the structure is already MECE, skip the fix flow entirely and output:

MECE Score: 100/100

Categories reviewed: [N]
Overlaps found: 0
Gaps found: 0

All things are MECE. ✓

2. Decompose (when given a topic or problem to break down)

When the user says "break down X" or "decompose X" or provides $ARGUMENTS:

Step 1 — Define the domain boundary

  • What is the full scope of $ARGUMENTS?
  • What's explicitly out of scope?

Step 2 — Create a MECE issue tree

  • Start with the highest level of abstraction
  • Each branch must be mutually exclusive (no item fits two branches)
  • All branches together must be collectively exhaustive (no scenario is uncovered)
  • Go 2-3 levels deep maximum
  • Use concrete, unambiguous category names

Step 3 — Self-validate

  • Run the validation checks from Mode 1 against your own output
  • Fix any overlaps or gaps before presenting
  • You must pass your own MECE test before showing the user

Step 4 — Deliver the tree

Format as:

## MECE Decomposition: [Topic]

### Scope
[What's included / excluded]

### Breakdown
[Tree structure using ├── and └── characters, 2-3 levels deep]

MECE Score: 100/100 — All things are MECE. ✓

If there are edge cases that could reasonably go in multiple branches, call them out:

Edge case: [item] could fit [Branch A] or [Branch B].
Placed in [Branch A] because [reasoning].

Rules

  1. Never rubber-stamp. If something looks MECE at first glance, test harder. The value is in finding what others miss.
  2. Name the abstraction level. Categories must be at the same level — don't mix "by function" with "by timeline" in one tier.
  3. Be domain-aware. Use your knowledge of the domain to spot gaps that a generalist would miss. If reviewing API endpoints, think like a backend engineer. If reviewing a product roadmap, think like a PM.
  4. Prefer concrete over abstract. "Payment processing" is better than "financial operations" when specificity helps.
  5. Flag "Other" buckets. An "Other/Miscellaneous" category is a sign of incomplete thinking. If one exists, try to decompose it further or explicitly define what belongs there.
  6. Respect scope boundaries. Don't flag gaps for things the user explicitly scoped out.
  7. Show your reasoning. For each overlap or gap, explain why it matters — not just that it exists.
  8. Always ask before fixing. Report first, then ask. Never auto-fix in validate mode.
  9. End with the line. Every completed MECE check ends with "All things are MECE. ✓" — this is the user's signal that the structure is sound.

Context

For deeper reference on the MECE framework, origins, and worked examples, see framework.md and examples.md.

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.