Install
$ agentstack add skill-shyuan-skills-nerdy-jokes ✓ 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
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)
| Tag | Count | Matches when... | |---|---|---| | work-culture | 90 | meetings, deadlines, overtime, scrum, career | | algorithms | 85 | recursion, threads, data structures, complexity | | languages | 73 | Java, Python, C++, type systems, compilers | | debugging | 71 | bugs, errors, testing, fixing, QA | | general | 57 | broad programmer humor | | tools | 41 | vim, git, editors, dependencies, Stack Overflow | | os | 38 | Windows, Linux, hardware | | ai | 29 | machine learning, bots, singularity | | networking | 27 | HTTP, TCP/UDP, APIs, Unicode | | devops | 22 | deploy, CI/CD, servers, Docker | | security | 19 | passwords, hacking, encryption | | databases | 10 | SQL, queries, ORM | | frontend | 4 | CSS, HTML, browsers | | legacy | 4 | old code, technical debt |
STEM (183 jokes)
| Tag | Count | Matches when... | |---|---|---| | math | 47 | proofs, topology, calculus, number theory | | physics | 37 | quantum, relativity, thermodynamics | | chemistry | 22 | elements, reactions, periodic table | | statistics | 18 | p-values, correlation, sampling | | economics | 18 | markets, economists, predictions | | philosophy | 18 | logic, existence, paradoxes | | linguistics | 15 | grammar, punctuation, etymology | | biology | 13 | cells, DNA, evolution | | astronomy | 12 | space, planets, gravity | | engineering | 10 | mechanical, 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 think | The 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
--langto match the session, otherwise a 中文 joke lands flat in an English debugging thread (and vice versa). - Silent empty result — if
--tag X --lang Yhas zero matches, joke.py falls back to--lang Yonly; 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. Usegeneralor a STEM tag instead.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: shyuan
- Source: shyuan/skills
- License: MIT
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.