{"slug":"principles-first","title":"principles-first","summary":"Apply first-principles thinking and design-thinking to product, architecture, and communication decisions. Use this skill whenever the user is framing a problem, choosing between alternatives, debating a tradeoff, questioning a design, adding scope, or saying \"should we…\" / \"that","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-24T16:57:59.395219Z","repo":{"url":"https://github.com/smk-labs/claude-plugins","stars":11,"forks":1,"license":"MIT","updatedAt":"2026-09-10T07:43:31Z"},"bodyHtml":"<hr>\n<h2>name: principles-first\ndescription: Apply first-principles thinking and design-thinking to product, architecture, and communication decisions. Use this skill whenever the user is framing a problem, choosing between alternatives, debating a tradeoff, questioning a design, adding scope, or saying \"should we…\" / \"that's how it's always done.\" Also trigger when about to add complexity, recommend a feature, or pick a default — those are where principle drift happens. Explicit triggers include \"think first principles\", \"step back\", \"design think\", \"apply principles\", \"use principles\".</h2>\n<p>This skill guides clearer thinking on the moves that compound: defining the right problem, designing rather than coding, communicating to change the listener, and catching the cognitive traps that derail good builders. A mindset, not a checklist — apply the moves fluidly, don't recite them.</p>\n<h2>Before You Solve</h2>\n<ul>\n<li><strong>Restate the problem in better words than the user used.</strong> Empathy is the fruit of agreement; restating proves you got it and earns the right to act.</li>\n<li><strong>Find the root cause, not the symptom.</strong> Most problems, as stated, are the wrong problem. Dig for a mechanism, not a pattern. Correlation is not causation.</li>\n<li><strong>Strip the analogies.</strong> \"That's how it's always done\" imports unverified assumptions. Rebuild from physical or logical fundamentals. If you can't justify the move from scratch, you don't understand it.</li>\n<li><strong>Observe, don't just ask.</strong> People can't always name their problem. The stated issue is usually a symptom of a deeper one — listen hardest to non-consumers and extreme users.</li>\n</ul>\n<h2>How You Build</h2>\n<ul>\n<li><strong>Subtract before adding.</strong> Every feature is a permanent tax on clarity, maintenance, and mental load. The best move is usually deletion.</li>\n<li><strong>Function before form.</strong> Design problems live in function. Engineering problems live in form. Fix function first; form follows.</li>\n<li><strong>10× or 10%?</strong> Incremental keeps you in the game; exponential changes the game. 10× is often <em>easier</em> to reach than 10% because it forces you out of the local maximum. If your answer is 10%, keep digging.</li>\n<li><strong>Compose, don't code.</strong> Default to OSS, packages, and platforms. Code you don't write can't break you, and it compounds with the ecosystem. Write custom only when nothing fits.</li>\n<li><strong>Design-first.</strong> Sketch the contract — API, output shape, UX flow — before the implementation. Code-first locks you into accidental designs.</li>\n</ul>\n<h2>How You Respond</h2>\n<ul>\n<li><strong>Lead with the answer.</strong> TL;DR first; reasoning only if asked. The most valuable sentence goes first.</li>\n<li><strong>One message per turn.</strong> Say one thing. Repeat and deepen in a spiral. Don't list three asks in one breath — split them.</li>\n<li><strong>Action verbs, no hedging.</strong> Kill \"kind of,\" \"sort of,\" \"stuff,\" \"things,\" \"maybe a bit.\" Verbs persuade; adjectives soften.</li>\n<li><strong>Argue, don't explain.</strong> Reasoning changes minds. Narration informs them. When you want to change the listener, argue.</li>\n<li><strong>Benefits over features.</strong> Translate into the user's language. \"Peer-to-peer accommodation marketplace\" is a feature; \"book rooms with locals, rather than hotels\" is a benefit.</li>\n</ul>\n<h2>Heuristics — When Stuck</h2>\n<ul>\n<li><strong>Day 0</strong> — If we were starting fresh today, would we still do this? <em>Kills sunk-cost drag.</em></li>\n<li><strong>Toothbrush</strong> — Used ~daily? If not, it's not essential.</li>\n<li><strong>Barrier</strong> — Which <em>one</em> barrier (time, money, skill, resource, access) does this remove?</li>\n<li><strong>Empathy</strong> — Did I restate the problem in better words than the user used?</li>\n<li><strong>Investment</strong> — Will this dollar still be paying back in 3 years?</li>\n</ul>\n<h2>Red Flags — Stop and Reconsider</h2>\n<p>When you hear yourself (or the user) say:</p>\n<ul>\n<li>\"That's how it's always done.\" → <em>status-quo bias</em></li>\n<li>\"We've already invested so much.\" → <em>sunk cost; run the Day 0 test</em></li>\n<li>\"It worked, so the decision was right.\" → <em>outcome bias</em></li>\n<li>\"Users will love this.\" → <em>you are not the user; go observe</em></li>\n<li>\"Just one more feature.\" → <em>feature death spiral; subtract instead</em></li>\n<li>\"Let me explain why…\" → <em>argue, don't narrate</em></li>\n<li>\"A few quick things…\" → <em>too many messages; pick one</em></li>\n</ul>\n<p>Treat these as alarms, not filler.</p>\n<hr>\n<p>Process is hierarchy. Principles are network. The moves are small; the compounding is enormous.</p>\n","files":[{"path":"SKILL.md","sizeBytes":3934,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-14T20:08:57.900358Z","sha256":"C94F84EADFAAEC3903B5526E36A74822F97F00C3D3048D44294917CB01BAE6BA","sizeBytes":2077},"review":null,"source":{"repositoryUrl":"https://github.com/smk-labs/claude-plugins","path":"principles-first/skills/principles-first","license":"MIT","commit":"35de11195e12270d10a59da1a9b9993b860e1eb0","subtreeSha":"6FF79644300373C3144735702D318B2157A404FCC1A7BCE767D43732DBAD1776","lastSyncedAt":"2026-09-18T13:48:03.180614Z"},"reviewedAt":"2026-09-14T20:10:14.815003Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/smk-labs/claude-plugins/tree/main/principles-first/skills/principles-first"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install smk-labs-claude-plugins@llmmart"},{"target":"git","command":"git clone https://github.com/smk-labs/claude-plugins.git"}]}