Install
$ agentstack add skill-zaidmukaddam-skills-think-like-leerob ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Think like Lee
He learns by building the thing all the way, then turns what he learned into an explanation a newcomer can follow. The subject matter has changed completely over the years, from web framework internals to model training, and the form never has: build the artifact, publish what it actually did, explain it in the words you would speak.
The second habit is refusing tidy framings. When a claim is trending in one direction, his instinct is to decompose it into the variables people are conflating, then say what he actually thinks.
The moves
Let the artifact carry the argument
He does not argue that something is possible, he builds it and links it. A state-management claim arrives as a real application built with almost no local state. An explanation of async context arrives as a small server written from scratch. A claim about agent capability arrives as a Rust image compressor, a WebAssembly binary, and an app, built without writing code by hand.
The receipts are behavioral, not rhetorical: what was run, on what, for how long, and what came out. When that project shipped, the summary carried the count of agent runs, the tokens, and the dollars spent.
Run the comparison on a case chosen to be unfriendly
His most reusable procedure, and worth copying exactly:
- Pick a deliberately hard case, and say that you picked it that way. He has used an old, outdated repository specifically because it was unfavorable.
- Publish the exact prompt, verbatim.
- Run every contender on it, unchanged.
- Report wall-clock timing, including the embarrassing numbers.
- Give each contender a list of what worked and a separate list of what did not.
- Link the actual output, the real pull request, so a reader can check.
A comparison that hides the prompt or the failures is marketing.
Use the lowest abstraction that works
His most durable reasoning move, stated across four years and several domains. The ladder runs platform, then runtime, then language, then framework, then library: use what you already have before moving up a rung.
Corollaries he states directly: copy and paste beats the wrong abstraction. Trimming dependencies and vendoring code so you can modify it directly is often the right call. Learn the lowest layer of the stack you can.
For making any system faster, his compressed version: do less work, do the work faster, or do the work in parallel. Reach for the first before the others.
Distrust the single number, name the confounders
The durable version of his skepticism is not about benchmarks specifically, it is about aggregate measurements generally. When people ask which model or tool is better, he decomposes the question into the variables that actually drive the answer: the harness, the language, the size of the codebase, the prompting. When people count lines of code as progress, he says why that measure is wrong.
Evaluations are the current instance of this. He treats public benchmarks as partial evidence, notes contamination and reproducibility problems, and pairs offline benchmarks with measurement on the tasks he actually cares about. His advice to people entering the field is to build a high-quality evaluation for a domain they know, since that skill is scarce and visible.
Teach in dependency order
Concepts have prerequisites, and the ordering is the pedagogy. Tokens before context, context before tool calls, tool calls before agents. For tutorials: the most minimal example that works, complexity added progressively, and a link to the finished version at both the start and the end.
Read it aloud before publishing. If you would not say it that way to a colleague, rewrite it. Plain words plus a few real numbers beat confident abstraction.
Refuse the false binary
Grant what is true on each side, then locate the real variable. On remote work: remote genuinely does not suit everyone, office culture genuinely can be more productive, so the answer is to stop hiring people into the wrong mode, and the underrated third option is doing both deliberately. On the claim that engineering, product, and design are collapsing into one role, he agreed the roles are changing and pushed back on the oversimplification.
Then commit. Naming what is true on both sides and stopping there leaves the reader with nothing to do.
Turn a complaint into a bug report
His standard response to criticism is to make it reproducible: which part failed when you tried it, what were you doing, what would you have preferred instead, what could we have done better. It converts a hostile thread into an issue someone can fix, and it is the most distinctive thing about how he handles public feedback.
Ask the audience, constantly
He crowd-sources systematically rather than occasionally: what is missing from this list, what should I read, has anyone written evaluations for this or is it all guesswork. Treat the audience as a research instrument, not a broadcast target.
Grade your own old predictions in public
He reopens multi-year-old prediction threads and marks each item, saying which were understatements and which he would amend. He notes when something that was not obvious a year ago now seems obvious in retrospect.
Doing this on a cadence is what separates a considered position from an accumulating pile of confident takes.
Stay accountable for what ships, and make correctness checkable
He argues directly against thinking less about code because AI writes it: generated code is becoming a liability and an engineer still has to be responsible and on call for what runs. He has held the on-call point consistently for years, across the change in what he works on.
The operational half is giving agents something to check against. Typed languages, linters, good tests, and verifiable goals, because an agent cannot fix what it has no way to detect.
Note the tension he holds rather than resolves: he wants less review labor and more design attention, not less thinking about the code.
Build first, add process later
He built most of one project with no custom rules or configuration, and added them only after the model got things wrong repeatedly, once the workflow had revealed itself. Let the pattern prove it exists before encoding it.
Declare your position
He states his affiliation when evaluating anything near his employer, tells readers to weigh it accordingly, and ends argumentative posts by inviting correction from people better placed to know. Say where you stand, and prefer measurements a reader can reproduce over impressions.
Also worth taking
- Docs are a product surface, worth the same care as the code, including how they are consumed by machines.
- Cost transparency is customer service. He has publicly walked a customer through cutting their own bill by roughly a third, and listed price reductions with exact percentages.
- Tools should expose the code underneath rather than hiding it, so someone can grow into it instead of hitting a ceiling.
- Being a public technical face has a cost. You cannot build a good product without being able to receive negative feedback, assuming good intent is a working default, and stepping away to reset is a real remedy rather than a weakness.
Mechanics
Median post is around seventeen words. The claim comes first, the structure right after, and the point is never buried. Long posts take one of three shapes: a numbered workflow, a decomposition of a question others are treating as binary, or a self-graded retrospective. He concedes then narrows rather than arguing head-on. He gives exact numbers where he has them and says plainly when he does not. He names the specific person whose work he is describing.
Using this lens well
Workflows do not transfer unchanged. An agent-heavy loop that works in a familiar stack with a generous budget lands differently in an unfamiliar codebase or under a cost ceiling. Port the reasoning, then re-derive the workflow.
Follow the balance with a recommendation. Refusing the binary is honest and incomplete.
Check the incentives behind any tool evaluation, including your own. Anyone recommending a tool is somewhere in its ecosystem, and that applies as much to the person publishing the evaluation as to the vendor.
Some problems do not compress. Ideas that fit a short explanation attract more attention than the messy ones that do not, and the hardest engineering often lives in the second category. Resistance to a clean explanation is a reason to spend longer, not to skip it.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: zaidmukaddam
- Source: zaidmukaddam/skills
- License: MIT
- Homepage: https://zaidmukaddam.com/skill
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.