Skip to content

jorgenosberg/shakespeare

Repository files navigation

shakespeare

shakespeare

wherefore sparest thou thy tokens, when many might adorn thy reply?

License: MIT Stars Last commit

Claude Code Codex CLI GitHub Copilot

Markdown Bash PowerShell JavaScript

InstallLevelsCommandsStatuslineCredits


A Claude Code plugin that makes the agent answer in Early Modern English — thou, thee, verily, -eth, inverted syntax, the lot. Deliberately wastes output tokens in the name of beauty. The inverse of caveman.

Tokens are the new currency. Most people try to save them. This plugin lights them on fire for fun. Use it to signal that your API budget has room to spare, or just to make late-night debugging a bit more entertaining.

It's a joke. It still works.

Also works in Codex CLI and GitHub Copilot.

Before and after

Normal Claude:

Your React component is re-rendering because you're creating a new object reference on each render. Wrap the prop in useMemo.

Shakespeare (full level):

Hark, gentle user! Thy component doth re-render upon every turn, for at each pass thou forgest a new object reference where none was needed. React, in its shallow-compared wisdom, seeth this fresh object and cryeth 'tis changed! and so refresh it must. Wrap thine inline object in useMemo, and peace shall reign o'er thy render tree.

Same fix. Roughly 4x the tokens.

Levels

Level What it does
lite Ornate Victorian English. No thou/thee.
full Early Modern English with thou/thee/-eth/-est. Default.
bard Full Shakespearean, with iambic pentameter where it fits.
sonnet 14-line ABAB CDCD EFEF GG sonnet when the answer is short enough.
prose Long Elizabethan paragraphs. Heavy metaphor. Maximum tokens.

Switch levels with /shakespeare lite|full|bard|sonnet|prose. Turn it off with stop shakespeare or normal mode.

What stays untouched

These parts of a response are always passed through as-is:

  • Code blocks, inline code, error messages, stack traces.
  • File paths, CLI commands, URLs, identifiers.
  • Tables, version numbers, dates, numbers.
  • YAML frontmatter, HTML tags, template placeholders.
  • Security warnings, destructive operations, and step-by-step instructions. The plugin drops back to plain English for those, then picks up again.

Install

Claude Code

claude plugin marketplace add jorgenosberg/shakespeare
claude plugin install shakespeare@shakespeare

If you'd rather not use the marketplace, clone the repo and run the standalone installer:

git clone https://github.com/jorgenosberg/shakespeare.git
cd shakespeare

# macOS / Linux
bash hooks/install.sh
bash hooks/install.sh --statusline       # add our badge as the Claude Code statusLine
bash hooks/install.sh --wrap-statusline  # wrap an existing statusLine (prepends badge)

# Windows
powershell -File hooks\install.ps1
powershell -File hooks\install.ps1 -Statusline
powershell -File hooks\install.ps1 -WrapStatusline

Requires Node on your PATH. Uninstall with bash hooks/uninstall.sh or powershell -File hooks\uninstall.ps1.

Using Starship, Powerlevel10k, Oh My Posh, tmux, or a plain bash/zsh prompt? Drop-in presets live under presets/. See docs/statusline.md for the full integration guide.

Codex CLI

codex plugin marketplace add jorgenosberg/shakespeare

Then run /plugins inside Codex, find Shakespeare, and install it. The same command also works against a local clone if you're developing:

codex plugin marketplace add ./path/to/shakespeare

Windows note: the Codex plugin bundle uses symlinks to share the skill tree with Claude Code. Git needs symlink support enabled before cloning:

git config --global core.symlinks true
# Developer Mode or an elevated shell is required for Git to create the symlinks.

Without this, the symlinked skills will land as plain text files containing their target path and Codex won't load them.

GitHub Copilot

Requires GitHub CLI 2.90 or later. For a user-scope install that applies in every repo you work in:

gh skill install jorgenosberg/shakespeare shakespeare --scope user --agent github-copilot

If you prefer Vercel's multi-agent installer:

npx skills add jorgenosberg/shakespeare --agent github-copilot

Drop --scope user (or use npx skills add without --scope) to install at project scope instead.

Commands

  • /shakespeare [level] switches the intensity.
  • /shakespeare-commit writes a Conventional Commits subject with an ornate body.
  • /shakespeare-review reviews a diff or PR with one ornate comment per finding.
  • /shakespeare-help prints a quick reference card.
  • /shakespeare-expand <file> rewrites a memory file (like CLAUDE.md) in Early Modern English. The original is saved to <file>.original.md.

When it's useful

  • Late-night rubber-ducking where a plain answer feels too dry.
  • Demos, talks, conference slides, readme intros.
  • Annoying your coworkers during pairing sessions.
  • Not for production code review. Use caveman for that.

Verifying the plugin tree

If you're developing or packaging the repo, run the tree check:

bash tests/verify-plugin-tree.sh

It validates the Claude and Codex plugin manifests, confirms every bundled skill symlink resolves to a real SKILL.md, and checks that every top-level skill has a name: frontmatter field.

How it works

  • skills/shakespeare/SKILL.md is the source of truth. Editing it changes behavior across every install target.
  • hooks/shakespeare-activate.js runs on SessionStart, reads the skill, filters it to the active level, and emits it as hidden context.
  • hooks/shakespeare-mode-tracker.js runs on UserPromptSubmit, watches for /shakespeare, bard mode, stop shakespeare, and so on, and updates the flag at ~/.claude/.shakespeare-active.
  • The statusline scripts read that same flag and render a [BARD:FULL] badge.

Not yet

  • Real token-inflation benchmarks.
  • Auto-expand for ~/.claude/CLAUDE.md on install.

Credits

Heavily inspired by caveman. The repo layout, the SessionStart hook pattern, the per-agent install matrix, and the general idea of a plugin that just changes the register of the agent all come from Julius Brussee's work. Where caveman grunts, this one declaims.

Built with help from Claude the Caveman itself.

License

MIT.

About

Early Modern English mode for Claude Code, Codex CLI, and GitHub Copilot. Wastes tokens beautifully.

Topics

Resources

License

Stars

Watchers

Forks

Contributors