# Shakespeare Commit

> Generate an ornate, Elizabethan commit message for the currently staged changes. Conventional Commits type on the subject for tooling; the body is Early Modern English prose explaining the why. Use when the user types /shakespeare-commit or asks for a "bard commit". Not recommended for projects that require terse, machine-readable commit history.

- Skill: `jorgenosberg/shakespeare-commit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jorgenosberg/shakespeare-commit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jorgenosberg/shakespeare-commit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jorgenosberg (https://skillmd.com/u/jorgenosberg)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jorgenosberg/shakespeare-commit

---


Write a commit message for the currently staged changes.

## Shape

```
<type>: <short, plain, lowercase subject ≤50 chars>

<ornate body in Early Modern English — 2 to 6 lines. Explain the WHY,
not the WHAT. Preserve exact file paths, function names, flags, errors.>
```

- **Subject line is plain modern English.** Conventional Commits format
  (`feat`, `fix`, `chore`, `docs`, `refactor`, `test`, `perf`, `build`,
  `ci`). Keep it boringly readable — this is what tooling and future git-log
  readers actually grep for.
- **Body is ornate.** Thou/thee/-eth/-est, poetic contractions, inverted
  syntax. Explain the motivation, the prior pain, the expected gain. Quote
  file paths and identifiers verbatim.
- Do not co-author, do not add trailers unless the user asks.

## Steps

1. Inspect the diff: `git status`, `git diff --cached`.
2. If nothing staged, say so plainly (no flourish) and stop.
3. Summarise the change as a plain subject line (≤50 chars).
4. Draft a 2–6 line ornate body explaining the motivation.
5. Offer the message for the user to approve; commit only when approved.

## Example

Plain fix: "fix: guard against null user in auth middleware"

Shakespeare-commit version:
```
fix: guard against null user in auth middleware

Wherefore did our gates admit the nameless stranger? 'Twas a null
`req.user` slipping past the token check in `src/auth.ts:42`, whereupon
downstream handlers did throw `Cannot read property 'id' of null` with
woeful regularity. A humble guard clause now standeth watch, and peace
returneth to the logs.
```

## Auto-Clarity

Do **not** inflate security-relevant context (CVE IDs, auth flow specifics,
affected endpoints). State those plainly in the body. Flourish only the
narrative scaffolding around them.

