The pun skill your AI agent didn't know it needed.
Real-time phonetic discovery. Comedy theory. A 17/25 quality bar.
No recycled jokes. No "lettuce" puns. No mercy.
Ask any AI to make a pun. Go ahead. You'll get one of three things:
- A pun from 2019 that your uncle already forwarded in a family group chat
- A pun so obvious the audience can finish it before you do
- Something that isn't actually a pun but the AI is very proud of it anyway
This happens because LLMs generate puns from training data. They're pulling from memory, not discovering new connections. The result is the comedy equivalent of reheated leftovers.
Punderstruck doesn't retrieve puns. It discovers them.
The skill queries the Datamuse API in real time for phonetic collisions (sounds-like, homophones, compound splits), then builds puns from scratch using structured comedy construction (punchline-first method). Every candidate gets scored against five quality criteria. Only puns scoring 17/25 or higher get served.
The entire pipeline runs silently behind tool calls. You see the pun. Nothing else.
Generic AI pun (what you're used to):
Why did the AI go to therapy? Because it had too many issues with its layers!
Punderstruck (what this skill produces):
I asked my AI to lose some parameters, but it told me to weight.
One was pulled from training data. The other was built from a Datamuse collision between "weight" and "wait" applied to the neural network domain. That's the difference between retrieval and discovery.
# Claude Code (recommended, auto-updates with git pull)
git clone https://github.com/alexgreensh/punderstruck.git ~/.claude/skills/punderstruckThen just type /punderstruck in any conversation.
| Command | What It Does |
|---|---|
/punderstruck |
Random pun, full pipeline, no topic constraint |
/punderstruck [topic] |
Focused puns on your topic |
/punderstruck --roast [topic] |
Pun-based roasts with adjustable heat (1-4) |
/punderstruck --translate "[phrase]" |
Turns corporate jargon into wordplay |
/punderstruck --remix |
Famous quotes and lyrics, rebuilt as puns |
/punderstruck --compose [format] about [topic] |
Limericks, haiku, sonnets, spoken word, you name it |
/punderstruck --explain |
Delivers the pun, then dissects the comedy mechanics |
brainstorm puns for... |
Collaborative pun consulting for your projects |
shower thought about [topic] |
Those 2am "wait, actually..." observations |
wordplay on [word] |
Manipulates the word itself, phonetically and structurally |
dad joke about [topic] |
Maximum eye-roll dad jokes via syllable-breakdown setups |
Flags combine freely. Natural language works too. "Write me a limerick about sales" activates compose mode automatically.
Compose mode (/punderstruck --compose limerick about sales):
A sales rep obsessed with her funnel, Tried closing through some kind of tunnel. She said with a grin, "I'm piping them in!" Now her pipeline's become departmental.
Roast mode (/punderstruck --roast marketers, Medium Roast):
So you're in marketing. Your whole job is impressions, and honestly? You're not making a great one right now.
You talk about "conversion rates" like you're saving souls. Buddy, you're selling SaaS. Your funnel has more leaks than your strategy has layers, and the best conversion you've ever pulled off is convincing finance to approve another tool.
You put the "fun" in "funnel," the "con" in "content," and the "pain" in "campaign." And somehow, you're still asking for a bigger budget.
Shower thought (shower thought about meetings):
Every meeting could've been an email, but every email could've been a meeting that never happened.
Roast mode is where Punderstruck truly shows its range. Pick a heat level before it starts cooking:
| Level | Label | What You Get |
|---|---|---|
| 1 | Light Roast | Playful wordplay, barely a tease. Grandma-safe. |
| 2 | Medium Roast | Pointed puns with a knowing wink. Coworkers gasp-laugh. |
| 3 | Dark Roast | Sharp and unapologetic. HR might overhear. |
| 4 | Espresso Shot | One devastating line. Maximum damage per word. |
Every roast follows a comedy monologue arc: opener, escalating build with pipeline-sourced puns, callback to earlier material, and a mic drop closer. Espresso mode is different: one line, 10-20 words, maximum devastation per syllable.
The skill always roasts the archetype, never individuals. The target should laugh the hardest.
You: "punderstruck AI"
|
[Extract handles: AI, neural, model, training, weight, layer...]
|
[Query Datamuse: sounds-like, homophones, compound splits]
|
[Analyze collisions for cognitive distance]
|
[Build punchlines: highest-distance pairs first]
|
[Score 5 candidates on 5 criteria (/25)]
|
[Serve only survivors (17/25 minimum)]
|
You see: "I asked my AI to lose some parameters, but it told me to weight."
The pipeline prioritizes polysemy (same word, genuinely different meanings) over homophones, because Reddit data shows polysemy puns get 35% higher engagement. Every pun must have both meanings simultaneously true in the sentence, which is the #1 rule from cognitive linguistics research.
Five criteria, scored 1-5 each. Total out of 25.
- Effortless Activation: Does the double meaning land instantly?
- Surprising Punchline: Could you predict it? (You shouldn't be able to.)
- Groan-Worthy: The good kind. The involuntary, full-body kind.
- Setup Brevity: Short setups hit harder. Target: 8-20 words.
- Actually Funny: Score below 3/5 and the pun gets eliminated. No exceptions. This criterion has veto power.
Minimum to serve: 17/25. If nothing clears the bar, the skill digs deeper instead of serving mediocre material.
Works with any AI agent that supports custom skills with tool/file access:
- Claude Code (recommended)
- Windsurf
- Cursor
- Claude Desktop / Cowork
- Codex
- Antigravity and other skill-compatible agents
Only requirements: internet access (for Datamuse API calls) and a willingness to groan.
Claude Code (recommended):
git clone https://github.com/alexgreensh/punderstruck.git ~/.claude/skills/punderstruckUpdate anytime with git -C ~/.claude/skills/punderstruck pull.
Rebuild the upload zip locally:
python3 scripts/build_package.pyClaude Desktop / Cowork:
Download punderstruck.zip from this repo, then go to Settings > Capabilities > Add Skill and upload the zip.
Other agents (Windsurf, Cursor, etc.):
Clone this repo and point your agent's skill configuration at the directory containing SKILL.md.
punderstruck/
├── SKILL.md # Main skill prompt
├── scripts/
│ ├── datamuse_probe.py # Deterministic sound-alike and seed fetcher
│ └── build_package.py # Clean distributable zip builder
├── LICENSE # PolyForm Noncommercial 1.0.0
├── punderstruck.zip # Ready-to-upload package (Claude Desktop/Cowork)
├── assets/
│ ├── punderstruck-hero.png
│ └── punderstruck-logo.png
└── references/
├── pipeline-detailed.md # Full pun construction pipeline
├── bonus-modes.md # Roast, translate, remix, compose specs
├── comedy-theory.md # Comedy construction methodology
├── pun-taxonomy.md # Pun mechanisms classified by Reddit performance
└── worked-examples.md # Scored examples for calibration
Alex Greenshpun is an AI strategist, educator, and a person whose love of puns has been described by colleagues as "a condition." She believes AI should amplify human creativity rather than replace it, and that every product name is a pun waiting to happen.
PolyForm Noncommercial 1.0.0. In plain English: free for personal use, hobby projects, education, and nonprofits. Commercial licensing inquiries: linkedin.com/in/alexgreensh.
Made with equal parts comedy theory and questionable life choices.

