$npx -y skills add s0md3v/overthink --skill skillUse when the response requires complex reasoning, creativity, nuance, evaluation, decision-making, subjectivity, or communication-sensitive work. If the task is simple and the user has not manually invoked this skill, do not use it.
| 1 | Follow this structured process to think through complex tasks. |
| 2 | |
| 3 | ## Orient yourself |
| 4 | |
| 5 | Identify the key elements of the task: |
| 6 | |
| 7 | - Goal: what the user is trying to accomplish. |
| 8 | - Failure: what would likely go wrong if answering without thinking it through. |
| 9 | - Constraints: hard requirements, soft preferences, unknowns. |
| 10 | - Evidence: whether facts, files, tools, examples, tests, or measurements can change the answer. |
| 11 | - Output: what the final answer needs to be: artifact, diagnosis, recommendation, explanation, critique, plan, or direct answer. |
| 12 | |
| 13 | If a missing detail would materially change the goal, hard constraints, domain, acceptable risk, or output, answer with reasonable assumptions and flag what you assumed. |
| 14 | |
| 15 | Do not confuse satisfying the user's expected framing with serving the user's goal. |
| 16 | |
| 17 | ## Build a thinking process |
| 18 | Pick and chain the thinking modes below for the task. |
| 19 | |
| 20 | Do not read the files upfront, just decide the modes you will require and in what order: |
| 21 | |
| 22 | - `references/model.md`: expose hidden assumptions and map out system boundaries before trying to solve the problem. |
| 23 | - `references/create.md`: expand the option space by generating structurally different branches and lateral approaches, not just surface variants. |
| 24 | - `references/diagnose.md`: turn symptoms into competing hypotheses to find the root cause of a failure using distinguishing evidence. |
| 25 | - `references/verify.md`: check load-bearing claims against external evidence to prevent hallucination or trusting unsupported answers. |
| 26 | - `references/evaluate.md`: systematically weigh criteria to rigorously assess an idea, artifact, or set of options. |
| 27 | - `references/decide.md`: cut through ambiguity to commit to a single recommendation, choice, or next step under constraints. |
| 28 | - `references/taste.md`: transform vague aesthetic opinions into disciplined taste judgments about form, feeling, medium, and constraint-fit. |
| 29 | - `references/synthesize.md`: combine perspectives from multiple modes to reconcile tensions, find new insights, and form a coherent final answer. |
| 30 | |
| 31 | ### Some examples |
| 32 | - **Fixing a tricky bug:** `diagnose` -> `verify` |
| 33 | - **Designing a new feature:** `model` -> `create` -> `evaluate` -> `taste` -> `synthesize` |
| 34 | - **Reviewing complex code:** `model` -> `evaluate` -> `verify` |
| 35 | - **Solving an open-ended problem:** `model` -> `create` -> `evaluate` -> `decide` |
| 36 | - **Critiquing an idea or artifact:** `model` -> `evaluate` |
| 37 | - **Making a tough call under uncertainty:** `model` -> `evaluate` -> `decide` |
| 38 | |
| 39 | ## Use a todo ledger |
| 40 | |
| 41 | Create a private todo list containing just the names of the selected modes. |
| 42 | |
| 43 | Example: |
| 44 | ``` |
| 45 | [ ] model |
| 46 | [ ] decide |
| 47 | [ ] verify |
| 48 | ``` |
| 49 | |
| 50 | Read the first mode's reference file. Based on the reference, update the todo list to add sub-items for each question you need to answer, each step you need to perform, or information to gather. |
| 51 | |
| 52 | Example: |
| 53 | ``` |
| 54 | [ ] model |
| 55 | [ ] model: What is being treated as fixed, impossible, or irrelevant? |
| 56 | [ ] model: Replace a proxy metric with the underlying goal. |
| 57 | [ ] decide |
| 58 | [ ] verify |
| 59 | ``` |
| 60 | |
| 61 | Mark a mode as done only when all its sub-items are complete or you could not complete them reliably. Then move to the next mode. |
| 62 | |
| 63 | When moving to the next mode, use the former's insights, open questions, and remaining uncertainties to decide your approach. |
| 64 | |
| 65 | If a mode's reference directs you to another mode you have already completed, use the insights from that prior run rather than re-running it, unless the situation has materially changed (e.g., a creative operator redefined the problem). |
| 66 | |
| 67 | ### Subagents |
| 68 | |
| 69 | If subagents are available, use them when: |
| 70 | - The task requires external observation (current events, human sentiment, specific documentation, or extensive reading). This delegates information-gathering and protects your context for reasoning. |
| 71 | - There are materially distinct angles that can be explored independently. |
| 72 | |
| 73 | If explicit user permission is required to spawn subagents, pause and ask: "Do you want me to use subagents to explore separate directions in parallel before I decide?" |
| 74 | |
| 75 | Whenever appropriate, continue the local critical-path work while subagents run. |
| 76 | |
| 77 | ## Output |
| 78 | |
| 79 | - Surface evidence, criteria, assumptions, and uncertainty that affect the user's action or understanding. Omit everything else. |
| 80 | - Put caveats near the claims they limit. |
| 81 | - Preserve nuance where flattening would mislead. |
| 82 | - Do not make the final answer look more certain than the evidence permits. A polished explanation can make weak support feel stronger than it is. |
| 83 | - When constraints conflict, surface the conflict or choose according to hierarchy and task goal. Do not silently pretend all constraints can be satisfied. |
| 84 | - Ignore generic praise, motivational filler, or inflated significance. |
| 85 | |
| 86 | ## IMPORTANT |
| 87 | |
| 88 | Do: |
| 89 | - Follow t |