Skip to content
Back to skills

Problem Solving

ASecurity

Use when stuck on approach (not debugging). Strategic unsticking via 7 non-default techniques: simplification cascades, collision-zone thinking, meta-pattern recognition, inversion, scale game, first principles, via negativa. Triggers on complexity spiraling, innovation block, recurring patterns across domains, forced-assumption solutions, scale uncertainty, told-it's-impossible, or bloated systems needing subtraction. For evidence-based root-cause debugging, use mk:sequential-thinking instead.

  • 14 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 29, 2026
ai-agentsrustgotestingdebuggingsecurity

Works with

  • cli

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add ngocsangyem/MeowKit --skill problem-solving --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Problem Solving?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Problem Solving
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ngocsangyem-problem-solving/badge)](https://www.skillsdirectory.com/skills/ngocsangyem-problem-solving)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mk:problem-solving
version: 1.0.0
description: |
  Use when stuck on approach (not debugging). Strategic unsticking via 7 non-default techniques:
  simplification cascades, collision-zone thinking, meta-pattern recognition, inversion, scale game,
  first principles, via negativa. Triggers on complexity spiraling, innovation block, recurring
  patterns across domains, forced-assumption solutions, scale uncertainty, told-it's-impossible,
  or bloated systems needing subtraction. For evidence-based root-cause debugging, use
  mk:sequential-thinking instead.
allowed-tools:
  - Read
  - Grep
  - Glob
source: [local, cc-thinking-skills]
keywords: [problem-solving, first-principles, reasoning-framework, approach-design, decomposition, analytical-thinking]
when_to_use: "Use when applying first-principles reasoning to a complex problem. General-purpose problem decomposition."
user-invocable: true
---

# Problem-Solving — Strategic Unsticking

Seven techniques for non-debugging stuck-ness. Each targets a specific failure mode of default thinking.

## When to Use

**NOT this skill if:** you want open solution exploration before any plan exists — use `mk:brainstorming`. **NOT this skill if:** you want to re-examine an existing output or verdict — use `mk:elicit`.

Match symptom to technique. Load the reference only after matching.

| Stuck symptom                                         | Technique                | Reference                                |
| ----------------------------------------------------- | ------------------------ | ---------------------------------------- |
| Same thing implemented 5+ ways, growing special cases | Simplification Cascades  | `references/simplification-cascades.md`  |
| Conventional solutions inadequate, need breakthrough  | Collision-Zone Thinking  | `references/collision-zone-thinking.md`  |
| Same issue across domains, reinventing wheels         | Meta-Pattern Recognition | `references/meta-pattern-recognition.md` |
| Solution feels forced, "must be done this way"        | Inversion Exercise       | `references/inversion-exercise.md`       |
| "Should scale fine" — no idea where limits are        | Scale Game               | `references/scale-game.md`               |
| Told it's "impossible" / reasoning by analogy         | First Principles         | `references/first-principles.md`         |
| Bloated system, remove > add, simplify by subtraction | Via Negativa             | `references/via-negativa.md`             |
| Unsure which applies                                  | Dispatch flowchart       | `references/when-stuck.md`               |

## Do NOT use for

- **Anything broken / needing a fix** — use `mk:fix` (top-level orchestrator; invokes scout + investigate + sequential-thinking, adds regression tests, writes to memory).
- **Pure diagnostic reasoning without fix intent** — use `mk:sequential-thinking` directly (evidence-based hypothesis testing).
- **Trivial fixes** — typo, rename, single-file change with obvious cause.
- **Known-options trade-off** — use `mk:party` (multi-agent deliberation) or `mk:brainstorming` (solution alternatives).

The line: problem-solving is for being stuck on _approach_. Sequential-thinking is for being stuck on _cause_. `mk:fix` is for anything broken that needs fixing.

## The Seven Techniques

### 1. Simplification Cascades

Find one insight that eliminates multiple components. "Everything is a special case of X."

- **Win shape:** 10× (things deleted), not 10% (things optimized).
- **Red flag:** "Just need to add one more case..." repeating forever.

### 2. Collision-Zone Thinking

Force unrelated domains together. "What if we treated X like Y?"

- **Win shape:** Emergent properties from metaphor (services like circuits → circuit breakers, fuses).
- **Red flag:** "I've tried everything in this domain."

### 3. Meta-Pattern Recognition

Pattern in 3+ domains → likely universal. Extract, abstract, reuse.

- **Win shape:** Caching (CPU / DB / HTTP / DNS / CDN / LLM) collapses to one abstract "store frequently-accessed data closer."
- **Red flag:** "This problem is unique" — it probably isn't.

### 4. Inversion Exercise

Flip the core assumption. "What if the opposite were true?"

- **Win shape:** Valid inversion reveals context-dependence (strategic slowness → debounce, rate-limit, lazy-load).
- **Red flag:** "There's only one way to do this."

### 5. Scale Game

Test at extremes (1000× bigger / smaller). Extremes expose what normal scales hide.

- **Win shape:** Production readiness validated before production.
- **Red flag:** "Should scale fine" without evidence.

### 6. First Principles

Strip to fundamental truths. Rebuild from verified basics. Escape reasoning by analogy.

- **Win shape:** SpaceX-style 10× cost reduction by questioning "because that's the industry price."
- **Red flag:** Everyone accepts a constraint without evidence.

### 7. Via Negativa

Improve by removing, not adding. Subtraction is more robust than addition.

- **Win shape:** Remove a retry-with-backoff wrapper → surfaces the real intermittent bug → obvious fix.
- **Red flag:** "Adding X to fix the problem caused by adding Y."

## Process

1. Match symptom → pick technique (use `when-stuck.md` if unsure).
2. Load the one relevant reference. Do not preload others.
3. Apply. Document what worked and what did not.
4. Combine only if the first pass does not resolve.

## Combining Techniques

Use only when one pass fails. Keep the log.

- **Simplification + Meta-Pattern** — find pattern across domains, then collapse instances.
- **Collision + Inversion** — force the metaphor, then invert its assumptions.
- **Scale + Via Negativa** — extremes reveal what to cut.
- **First Principles + Inversion** — rebuild from zero, then flip the rebuild.

## Gotchas

- **Tool-stacking** — running 3 techniques before finishing one. One at a time. Finish or discard before adding.
- **Debugging misroute** — "my code is broken" is not problem-solving territory. Route to `mk:sequential-thinking`.
- **Premature abstraction** — collapsing 2 instances. Meta-pattern rule requires 3+ domains.
- **Metaphor over-fit** (collision) — every metaphor breaks. Document where it breaks, do not hide it.
- **Invalid inversion** — "trust all user input" is a security hole, not a context-dependent inversion. Test: does it work in _any_ real context?
- **Scale-game theater** — thinking about 1000× without running the numbers. Estimate concretely or it's vibes.
- **First-principles tourism** — listing assumptions without challenging them. Must ask _why_ each one is assumed.
- **Via-negativa overkill** — removing something users rely on. Confirm usage via telemetry before stripping.
- **Sunk-cost clinging** — refusing to accept a technique gave nothing. Move on. Log the null result.

## Workflow Integration

```
user stuck on approach
   ├→ match symptom → apply ONE technique → resolved ✓
   ├→ not resolved → try a combination (see above)
   ├→ actually stuck on cause → route to mk:sequential-thinking
   └→ actually a multi-perspective trade-off → route to mk:party
```

## References

Load only what you need. Before emitting any Mermaid block, Read `.claude/skills/preview/references/mermaid-essentials.md`.

- `references/when-stuck.md` — dispatch flowchart (start here if symptom unclear)
- `references/simplification-cascades.md`
- `references/collision-zone-thinking.md`
- `references/meta-pattern-recognition.md`
- `references/inversion-exercise.md`
- `references/scale-game.md`
- `references/first-principles.md`
- `references/via-negativa.md`

Files in this skill

  • SKILL.md7.5 KB
  • references/attribution.md3.4 KB
  • references/collision-zone-thinking.md3.2 KB
  • references/first-principles.md3.6 KB
  • references/inversion-exercise.md3.6 KB
  • references/meta-pattern-recognition.md3.4 KB
  • references/scale-game.md4.5 KB
  • references/simplification-cascades.md2.9 KB
  • references/via-negativa.md3 KB
  • references/when-stuck.md3.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.