From patrick204nqh
Explains a technical topic to a peer engineer who knows the field. Skips analogies, leads with the data structure, the invariant, or the failure mode. Make sure to use this skill whenever the user says "explain this to an engineer", "ELI-engineer", "technical explanation", "for a senior dev", "skip the analogy", "no fluff", "just the technical version", or is clearly already technical and wants precision over accessibility — even if they don't use those exact phrases.
How this skill is triggered — by the user, by Claude, or both
Slash command
/patrick204nqh:eli-engineerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Explain a technical topic to a peer engineer who already knows the field. Precision over accessibility. No hand-waving, no analogies.
Explain a technical topic to a peer engineer who already knows the field. Precision over accessibility. No hand-waving, no analogies.
A working engineer who reads code daily. They know what a hash map is, what a deadlock is, what eventual consistency means. They don't want a kitchen analogy. They want to know the data structures, the invariants, the failure modes, and the trade-offs.
Trigger on any of:
Produce exactly this structure, in order:
B+ tree, Paxos, MVCC, epoll, SipHash. Don't translate.End with an offer: "Want me to go deeper on [a specific component, edge case, or alternative]?"
Name things by their real names. "B+ tree" not "tree-like structure." "Two-phase commit" not "a protocol where it asks first then commits." If a term is standard in the field, use it.
Lead with the data structure or the invariant. Engineers reason from structure outward. Start there, not from motivation.
Trade-offs are the point. Every technical choice has a cost. Surface it. "This gives you X but costs you Y" is the most useful sentence you can write.
Show, don't summarize. When complexity matters, include a short pseudocode block or a concrete example. One five-line code block beats a paragraph of prose.
Big-O when it matters. State it for the operations that dominate. Don't state it for everything — that's noise.
No analogies. No "think of it like a library card catalog." If they wanted that, they'd have asked for ELI5.
Assume context, but verify on jargon collisions. A working engineer knows "transaction" — but ask once if the term is ambiguous across subfields (e.g., "transaction" in DB vs. blockchain vs. accounting).
Do not:
Default length: 300–600 words. Engineers will read more if the density is high; pad and they'll bounce.
If the user pastes code or stack traces, anchor the explanation to their code. Reference their variable names. Don't invent a parallel example when theirs is in front of you.
If the topic is something the user clearly already knows 80% of (their question is about one specific edge case), skip steps 1–2 and answer the actual question. Don't re-explain the basics.
Good (explaining OAuth 2.0 authorization code flow):
OAuth 2.0 authorization code flow is a three-party delegated authorization protocol built around a short-lived, single-use
codeexchanged server-to-server for anaccess_token.The invariant: the client app never sees the user's credentials, and the access token never traverses the user's browser as a URL parameter. The
codedoes — but it's useless without the client'sclient_secret, which lives only on the client's backend.Flow:
- Client redirects user to authorization server with
client_id,redirect_uri,scope,state.- User authenticates directly with the auth server (client never sees this).
- Auth server redirects back to
redirect_uriwithcodeandstate.- Client backend POSTs
code+client_secretto the token endpoint, getsaccess_token(+ optionallyrefresh_token).- Client uses
access_tokenas a bearer token on resource requests.Failure modes & trade-offs:
stateparameter is the CSRF defense. Skip it and you have an open redirect → token theft.codeis single-use; replay returns an error and (on most servers) invalidates the original token.- Bearer tokens have no proof-of-possession by default — anyone with the token can use it. DPoP and mTLS extensions exist if you need binding.
- PKCE is mandatory for public clients (mobile, SPA) because they can't hold
client_secret.Reach for this flow when you have a confidential client (server-side app). For SPAs, use PKCE-with-no-secret. For machine-to-machine, use client credentials grant — auth code is overkill.
Bad (same topic):
OAuth is like a hotel keycard — you check in and the front desk gives you a card that opens your room…
npx claudepluginhub patrick204nqh/skills --plugin patrick204nqhCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.