8 battle-tested plugins extracted from real production work shipping multi-tenant SaaS on AWS. Smoking-gun post-mortem PDFs, branded multi-page documents, 13 diagram types, multi-agent orchestration via Paseo, session reflection, audio transcription, Jam.dev recording analysis, and auto session naming. No theory — every plugin earned its place in our daily workflow.
Each plugin solves a specific recurring pain in our workflow. They're independent — install one or all. Every skill carries the opinions we earned from production scars.
likely, probably, may have, appears to, ...) are caught by a linter before render — you can't ship a PDF that says "we believe the deploy may have caused it." Chrome-headless render loop detects page overflow and splits at natural boundaries.
.claude/rules/<topic>.md file content. Strips emotional content. Skips already-promoted patterns. Logs every promotion so reflection doesn't loop.
.opus (WhatsApp voice notes) to .mp3 via ffmpeg because Whisper won't accept opus directly. Auto-summary for transcripts >500 words. Optional save-as-markdown alongside the source file.
jam.dev/c/<uuid> URL → downloads raw WebM via anonymous GraphQL → extracts evenly-spaced frames with ffmpeg → Claude reads them with vision and narrates what the user actually did. Detail levels from quick (3 frames) to many (24). Pairs with the Jam MCP server for full debug context.
post-mortem, generic content shape. First-run brand wizard collects colors, fonts, and logo via AskUserQuestion, generates ./templates/<name>/, and reuses it across all your documents. Section components: .metrics, .timeline, .phase-card, .highlight-box, .check-list, tables, badges. Ships with a neutral default for zero-config first use.
bye, tchau, done, ...) and prefixes done- on the session name. Nudges /reflect every 10 sessions. Hooks: SessionStart (inject context + counter), UserPromptSubmit (auto-rename + exit detection), SessionEnd (final done- prefix). Plus a session-rename.sh utility that updates the JSONL custom-title record + the sessions-index so /resume picks up the new name.
Claude Code's native plugin system. No npm install, no global config, no postinstall scripts — just point at the marketplace and pick what you want.
/plugin marketplace add hyperdrive-bot/marketplace
Claude Code clones the repo under ~/.claude/plugins/marketplaces/ and indexes the 8 plugins.
Pick individually:
/plugin install post-mortem@hyperdrive-bot
/plugin install reflect@hyperdrive-bot
/plugin install transcript@hyperdrive-bot
/plugin install watch-jam@hyperdrive-bot
/plugin install paseo-bundle@hyperdrive-bot
/plugin install branded-pdf@hyperdrive-bot
/plugin install diagram-design@hyperdrive-bot
/plugin install session-naming@hyperdrive-bot
Once installed, skills surface as slash commands or natural-language triggers:
# Trigger explicitly
/post-mortem --branding default --title "Auth Outage 2025-01-15"
/transcript ~/Downloads/voice-note.opus --lang pt --summary
/watch-jam https://jam.dev/c/abc123... thorough
# Or trigger by intent — the skill descriptions are picked up automatically
"Build a post-mortem for the cloud SQL outage"
"Transcribe this voice note"
"Run a committee on this hard planning problem"
post-mortem needs Chrome + pdftotext (poppler); transcript needs OPENAI_API_KEY + ffmpeg; watch-jam needs ffmpeg + node; paseo-bundle needs the Paseo daemon. reflect has no external requirements.
Every plugin in here started as a workaround for a pain we kept hitting. The opinions baked into them came from real incidents — not from a blog post.
"The deploy likely caused it" is not a finding — it's a guess that gets pasted into stakeholder emails. Banned-word linter blocks 14 hedging phrases before render. Replaces with citations or EVIDENCE PENDING placeholders.
"X deployed without checking" is too shallow. The real Why-5 is "the deploy gate didn't require a CHANGES file with a blast-radius section." The skill forces systemic root causes, not blame.
Without explicit rules, agents re-learn the same lessons every conversation. reflect promotes 2+ session patterns into durable .claude/rules/ files — learnings compound instead of evaporating.
A 90-second voice note has 200 words of signal. Without transcription it's an unsearchable artifact that gets lost in WhatsApp history. .opus → Whisper → searchable markdown next to the source.
Jam.dev recordings show the symptom but devs need to read what the user saw. watch-jam extracts frames so Claude's vision can narrate the flow — faster than the dev re-watching the video at 2x.
When you tunnel-vision on a hard problem, you don't need MORE context — you need a FRESH context. paseo-committee launches two agents from contrasting providers (Opus + Codex) in parallel for true root-cause analysis.
Curated, not crowdsourced. Each release adds plugins only when they've earned their spot in real work.
Shipped — 5 plugins. post-mortem, reflect, transcript, watch-jam, paseo-bundle.
Shipped — 3 plugins. branded-pdf (PDF engine + brand wizard), diagram-design (13 diagram types), session-naming (5 hooks). You're looking at the result.
Rules plugin. Generic Lambda async patterns, CFN deletion-policy hygiene, git safety guards, npm platform-deps gotchas — extracted from real incident-driven rules.
BMAD-extras. Marra-customized BMAD personas not in @hyperdrive.bot/bmad-sls-react — Tiririca (BS detector), Elara (FinOps), Spike (Remotion video), Braga (security review), and more.
hyperdrive.bot. A polished landing for the full @hyperdrive.bot ecosystem — this marketplace, bmad-sls-react, and whatever else earns its place by then.
Showcase repo. Used daily in production. No support promised, PRs welcome.