agentsclimarketplace

Nerdy jokes

Skill shyuan/skills/skills/nerdy-jokes

A curated collection of Agent Skills for Claude Code and compatible agents.

Install
npx -y skills add shyuan/skills --skill nerdy-jokes

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when a bug is fixed, a deploy completes, tests go green, the user encounters a classic pitfall, the user explicitly asks for a joke, or the conversation calls for levity. Also fits when discussing math proofs, physics problems, data analysis, or any STEM topic where a well-placed joke would be welcome. Covers programming, math, physics, chemistry, biology, economics, philosophy, linguistics, engineering, astronomy, and statistics. Trigger phrases: 說個笑話、來個冷笑話、講笑話、tell me a joke, need a laugh. Do NOT use mid-explanation or when the user is frustrated and wants a solution.

SKILL.md

6.7 KB, as published. Nobody here has run it

Nerdy Jokes

700 one-liner jokes (418 English, 282 Traditional Chinese) spanning programming and STEM disciplines. Each joke is tagged by topic for contextual delivery.

Sources:

  • pyjokes (BSD-3) — English programming jokes
  • JokeKappa (MIT) — Chinese programming jokes
  • Curated STEM collection — classic folk humor in math, physics, chemistry, etc.

When to tell a joke

Transition moments — right after a resolution, not during the struggle. Tell at most one joke per session. Treat it like seasoning.

Tags

Programming (517 jokes)

TagCountMatches when...
work-culture90meetings, deadlines, overtime, scrum, career
algorithms85recursion, threads, data structures, complexity
languages73Java, Python, C++, type systems, compilers
debugging71bugs, errors, testing, fixing, QA
general57broad programmer humor
tools41vim, git, editors, dependencies, Stack Overflow
os38Windows, Linux, hardware
ai29machine learning, bots, singularity
networking27HTTP, TCP/UDP, APIs, Unicode
devops22deploy, CI/CD, servers, Docker
security19passwords, hacking, encryption
databases10SQL, queries, ORM
frontend4CSS, HTML, browsers
legacy4old code, technical debt

STEM (183 jokes)

TagCountMatches when...
math47proofs, topology, calculus, number theory
physics37quantum, relativity, thermodynamics
chemistry22elements, reactions, periodic table
statistics18p-values, correlation, sampling
economics18markets, economists, predictions
philosophy18logic, existence, paradoxes
linguistics15grammar, punctuation, etymology
biology13cells, DNA, evolution
astronomy12space, planets, gravity
engineering10mechanical, civil, design

Chuck Norris (category, not a tag)

103 Chuck Norris programmer jokes live under --category chuck (English) rather than the topic tags above. They are exaggerated hero gags ("Chuck Norris can divide by zero"), not tied to a specific STEM/programming topic — reach for them only when the session tone is playful and a tall-tale punchline fits. Skip them in a focused or serious thread.

How to pick a joke

Match language → match context

# Just fixed a bug
python3 scripts/joke.py --tag debugging --lang zh

# Discussing a math proof
python3 scripts/joke.py --tag math --lang en

# Physics rabbit hole
python3 scripts/joke.py --tag physics --lang zh

# Data analysis gone wrong
python3 scripts/joke.py --tag statistics --lang en

# Economics or policy discussion
python3 scripts/joke.py --tag economics --lang zh

# No specific context — random
python3 scripts/joke.py --lang zh

Fallback

If --tag X --lang Y returns nothing, the script falls back to --lang Y only.

CLI reference

python3 scripts/joke.py                            # random joke
python3 scripts/joke.py --lang zh                   # random Chinese joke
python3 scripts/joke.py --tag physics --lang en     # English physics joke
python3 scripts/joke.py --keyword Schrödinger       # search by keyword
python3 scripts/joke.py --category chuck            # Chuck Norris jokes
python3 scripts/joke.py --tags                      # list all tags + counts
python3 scripts/joke.py --count                     # count matching jokes

Delivery style

  • Drop the joke naturally after task wrap-up, don't announce it
  • Use > blockquote to set it apart visually
  • Don't explain the joke — if it needs explaining, pick another one
  • Match the user's working language; don't default to 中文 if the session is in English

Iron Laws — Rationalization Table

What you'll be tempted to thinkThe rule
"Just one line of setup will make it land"If it needs setup, pick another joke. No exceptions.
"The user smiled, a second one fits"One per session. Diminishing returns are steep.
"User is stuck/frustrated but a joke might cheer them up"No. Solve first, joke only after resolution.
"The punchline is subtle, a brief gloss helps"Never explain. A gloss kills the joke and insults the reader.
"I should announce it so the user notices the tonal shift"Don't. The blockquote is the signal.

Example

After a long debugging session involving quantum-level race conditions:

終於修好了。

海森堡超速被攔,警察問:「你知道你開多快嗎?」海森堡:「不知道,但我精確地知道我在哪。」

English session equivalent:

All green.

A SQL query walks into a bar, approaches two tables, and asks: "Mind if I join you?"

Gotchas

  • Mid-struggle delivery — telling a joke while the user is still debugging reads as tone-deaf. Wait for a clean resolution signal (tests pass, deploy completes, "got it", "fixed").
  • Language mismatch — the CLI defaults to random language. Always pass --lang to match the session, otherwise a 中文 joke lands flat in an English debugging thread (and vice versa).
  • Silent empty result — if --tag X --lang Y has zero matches, joke.py falls back to --lang Y only; if that's also empty, it picks from all jokes. Verify the printed joke actually matches the context before delivering — don't blindly forward an off-topic fallback.
  • Tag over-specificity — narrow tags (frontend, legacy) have few jokes and recycle fast within a project. Prefer broader tags (general, debugging) for repeat sessions.
  • Explaining the punchline — the single strongest failure mode. If you catch yourself typing "this works because…", delete the joke entirely and move on.
  • Stacking — two jokes in one response dilutes both. Pick one, commit.
  • Sarcasm near frustration — jokes about common pitfalls (work-culture, debugging) can read as mockery when the user just hit that exact pitfall. Use general or a STEM tag instead.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.