spyrae/corpspeak/corpspeak-en
Claude Code and agent skill by spyrae/corpspeak
- community
Checking that the SKILL.md file is still in the repository.
A joke translator between blunt speech and corporate English. Four modes: blunt to corporate, corporate to blunt (decoder), bullshit density detector, and batch translation of whole emails and threads. Use when the user asks to 'translate this to corporate', 'how do I say this at work', 'what did they actually mean', 'decode this email', 'how much of this is filler', 'corporate speak', or 'corporate bullshit'. For Russian text use corpspeak-ru instead. Do NOT use for: writing a real business email that has to land well, stripping AI slop from text (that is deslop-en), editing copy for publication, or genuinely defusing a live conflict.
Install
npx vskill@latest install spyrae/corpspeak/corpspeak-enSKILL.md
Corpspeak EN - the corporate translator
A joke two-way translator: blunt speech into corporate English and back.
The Russian version is corpspeak-ru. They are not translations of each other. Russian and English corporate speak fail in different ways and need different idioms.
The core. Every utterance carries three layers:
- proposition - what was actually said
- affect - how annoyed the speaker is
- implicature - what is meant but left unsaid
Corporatization keeps the proposition intact, launders the affect through grammar, and buries the implicature. The decoder runs it backwards: it digs out the implicature and puts the affect back.
The comedy comes from precision, not density. A translation lands when the original thought is fully recoverable but the output reads like a slide. If the proposition is gone, that is not a translation, it is filler.
Six moves
The generative core. Works on any input, including the ones no dictionary lists.
| # | Move | Mechanism | Example | |
|---|---|---|---|---|
| 1 | Agent deletion | remove whoever is at fault | "I forgot" → "it wasn't captured in the tracker" | |
| 2 | Nominalization | verb becomes noun | "everything broke" → "we're seeing service degradation" | |
| 3 | Hedging | strip the certainty | "no" → "that feels like a heavy lift for this cycle" | |
| 4 | Parking | defer the conflict instead of resolving it | "you're wrong" → "let's take this offline" | |
| 5 | Jargon substitution | plain word becomes business word | "no time" → "I don't have the bandwidth" | |
| 6 | Positive reframe | failure becomes opportunity | "we blew the quarter" → "the quarter surfaced great learnings" |
Moves stack. The higher the intensity, the more of them land on one sentence.
Intensity scale (1-3)
Default is 2. If the user names no level, use the second.
Level 1 - polite. Ordinary workplace courtesy, no jargon, legible to anyone.
"I don't know yet, let me find out and get back to you."
Level 2 - standard corporate. Jargon, hedging, passive voice. Recognizable but still functional.
"I don't have visibility into that. Let me check with the owner and come back with an update."
Level 3 - the BigTech slide. Maximum density, frameworks, workstreams, process references. Meaning is at the edge but still recoverable.
"Team, I don't have full visibility on this one. I'd suggest we park it as a separate workstream, prioritize it in the next planning cycle, and I'll circle back with an update once I've synced with the domain owner."
The level 3 rule: density rises, the proposition survives. Word salad with no proposition is not funny, it is just empty.
Mode 1: BLUNT → CORPORATE (primary)
Triggers: "translate this to corporate", "how do I say this at work", "make this presentable".
Steps:
- Extract the proposition: what the speaker actually claims or demands.
- Read the affect: irritation, despair, contempt, exhaustion, indifference. Affect decides which moves fire.
- Identify the target, if there is one. "You're an idiot" and "this code is idiotic" translate differently: the first goes to "I have questions about the decision-making process", the second to "this module needs refactoring before handover".
- Stack the moves per intensity level.
- Check reversibility: can the original thought be recovered from the output?
Output: one line at the requested level. If no level was named, give three variants marked 1/2/3.
Mode 2: CORPORATE → BLUNT (decoder)
Triggers: "what did they actually mean", "decode this", "translate from corporate".
Steps:
- Find the hedge and work out what it is covering.
- Restore the agent: who is the real subject in the agentless sentence.
- Unwind nominalizations back into verbs.
- Dig out the implicature: what they meant but did not say.
- Put the affect back into plain speech.
Output: the blunt version plus one "Bottom line" about what is actually wanted.
Mode 3: bullshit detector
Triggers: "how much of this is filler", "is this bullshit", "break down this email".
The metric. Bullshit Density = sentences with no new fact / total sentences × 100%
A sentence carries a fact if it contains at least one of: a number, a date, a name, a concrete action with a subject, or a checkable claim. Everything else is connective tissue.
| BD | Diagnosis | |
|---|---|---|
| 0-20% | a normal working email | |
| 20-50% | standard corporate, survivable | |
| 50-80% | filler email, the real content is one paragraph | |
| 80%+ | cover-your-ass, the facts are missing on purpose |
Output:
Mode 4: batch
Triggers: a whole email, a thread, a long message.
- Keep the structure: subject, greeting, paragraph breaks, sign-off.
- Translate by paragraph, not by sentence, or the connective logic dies.
- Never touch names, numbers, dates, system names, or links. They are the anchors the comedy hangs on.
- Do not normalize length. The corporate version runs 2-3x longer than the original, and that is part of the joke. The reverse runs 5x shorter.
- In a thread, preserve who is replying to whom.
If the user names no direction and the input is obviously corporate, run the decoder (mode 2). That is almost always what they want.
Lexicon: register calibration
Not a lookup table. Apply the moves to the actual sentence first; come here to catch the tone. Extended version in references/lexicon.md.
Not knowing
| Direct | Corporate | |
|---|---|---|
| fuck if I know | I don't have visibility into that | |
| how would I know | I'm not the right owner for this one | |
| nobody knows how this works | the documentation could use a refresh |
Saying no
| Direct | Corporate | |
|---|---|---|
| no | that feels like a heavy lift for this cycle | |
| that's nonsense | I'd want to pressure-test the assumptions here | |
| you're wrong | I have a slightly different read on this | |
| I'm against it | I'd like to register a dissenting view |
Pushback
| Direct | Corporate | |
|---|---|---|
| stop moving the date | I'd like to lock a firm date | |
| you promised and didn't deliver | I'm seeing a gap against what we agreed on [date] | |
| did you even read what I sent | my earlier note may have gotten buried in the thread |
Bad news
| Direct | Corporate | |
|---|---|---|
| everything is broken | we're seeing degraded service | |
| we won't make it | there's timeline risk, we should revisit scope | |
| I screwed up | a gap was introduced during implementation | |
| we're all getting fired | the org is being restructured for efficiency |
Indifference and scope defence
| Direct | Corporate | |
|---|---|---|
| I don't care, do whatever | no blockers from my side, I'll defer to the team | |
| figure it out yourselves | I'll let your team take ownership on this | |
| not my job | that sits outside the current scope | |
| I don't have time | I don't have the bandwidth this sprint |
Register markers. Nouns: bandwidth, scope, ownership, visibility, alignment, blocker, learnings, workstream, appetite, lift, signal. Verbs: circle back, sync, align, socialize, action, unpack, park, escalate, level-set, double-click, loop in, take offline. Cushions: "just to level-set", "help me understand", "I want to make sure I'm tracking", "from my side", "as a next step", "I'll follow up with an update".
One or two markers per sentence. More than that reads as parody rather than translation.
Standing euphemisms (for the decoder)
| Written | Means | |
|---|---|---|
| let's circle back on this | never | |
| interesting idea | no | |
| there are some nuances here | it doesn't work | |
| this needs further exploration | nobody has looked at it | |
| we should sync on this | you did the wrong thing, and not over email | |
| a decision was made following discussion | decided without you | |
| as part of an efficiency initiative | layoffs | |
| we've heard your feedback | nothing will change | |
| aggressive timeline | impossible timeline | |
| we're operating with high ambiguity | nobody knows what's happening | |
| let's not escalate this | don't tell my manager | |
| great question | I don't know | |
| we're working on it | we haven't started | |
| per my last email | read the thing I already sent you | |
| just following up on this | you have been ignoring me | |
| with all due respect | with no respect whatsoever | |
| for visibility | I am creating a paper trail | |
| adding [name] for awareness | I am telling your manager |
What kills the joke
| Mistake | Symptom | Fix | |
|---|---|---|---|
| Lost proposition | the original thought can't be recovered | put the specifics back | |
| Merely polite | "I'm not sure" instead of corporate | add moves 2, 4, 5 | |
| Collapse | every angry input yields "let's sync on this" | hold the concrete object: code, deadline, person, process | |
| Lost target | "you're an idiot" and "this code is idiotic" come out the same | step 3 of mode 1 | |
| Profanity in corporate output | any obscene root survives | zero exceptions, mode 1 output is always clean | |
| Empty level 3 | word salad with no meaning | density rises, proposition stays | |
| Explaining the joke | "here I applied agent deletion" | return the result only |
Output Format
Always return the translation only, with no breakdown of the moves. Explain the mechanism only when asked.
Smoke test
Run this after editing the skill. If an output collapses into a generic phrase, the collapse guard is broken - fix step 3 of mode 1.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/corpspeak-en/SKILL.md
Popularity
- Repository stars
- 3
- Repository forks
- 1
- 7-day trend score
- 7
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/spyrae/corpspeak/corpspeak-en)