lsd lazy-senior-dev
GitHub
one persona per plugin · three in the cast · Apache-2.0

Give your AI agent
a senior engineer's job.

A checklist gets skimmed. A character gets obeyed. Three reviewer personas, each a different senior engineer with a different job: one reads the code, one reads the deploy, one reads the history. Installed the same way in fourteen agents, gated by the same hook, and measured on the number that engineer would put on the wall.

lazy-senior-dev: three review personas and the measured drop in defects reaching the branch for each.
Your agentwrites the changeany host, any model
Personaa senior engineercharacter, not checklist
Verdictone fixed blocktooling can parse it
Gatehook can stop the writewhere the host allows
Measuredon one numberraw replies committed

Same mechanics for every persona. Only the engineer changes.

How each one works

Same mechanics, three different engineers

The cast

Three engineers, three jobs

The Grump Line sketch of a grey-stubbled reviewer with reading glasses pushed up into his hair, frowning over a mug that says NOT LGTM. NOT LGTM
live

The Grump

Show me where it breaks.

The staff engineer who reviews every write before it reaches your branch and blocks the merge when it should not happen. Measured on defects caught.

Claude Code
/plugin marketplace add lazy-senior-dev/grumpy-reviewer
/plugin install grumpy-reviewer@lazy-senior-dev

Site Repo

The Paranoid SRE Line sketch of an on-call engineer with her hair in a bun, a headset, wide alert eyes, and a pager clipped to her collar.
live

Paranoid SRE

It works. Now tell me how it fails.

The on-call engineer who reviews what happens after deploy: limits, probes, rollouts, rollbacks, alerts, and the 3 a.m. page. Measured on incidents prevented per rollout.

Claude Code
/plugin marketplace add lazy-senior-dev/paranoid-sre
/plugin install paranoid-sre@lazy-senior-dev

Site Repo

Tenured Line sketch of a veteran engineer: bald on top with hair at the sides, thick round glasses, a calm half-smile, a cardigan, and a notebook marked 2017 in the pocket. 2017
live

Tenured

We tried that in 2017.

The engineer who has been here longer than the monorepo and checks your change against the repository's own history: removals it resurrects, reverts it repeats, postmortems it ignores. Measured on repeated outages avoided.

Claude Code
/plugin marketplace add lazy-senior-dev/tenured
/plugin install tenured@lazy-senior-dev

Site Repo

Why a character

A list gets skimmed. A person gets answered.

One ruleset, every host

Each persona is one markdown file. A generator renders it into the format each agent reads: Claude Code, Codex, Copilot CLI, Antigravity, OpenCode, Cursor, and more. Edit once, ship everywhere.

A verdict you can act on

Every persona ends with a fixed block. Hooks parse it and can stop a write; a GitHub Action posts it as a review. No prose to interpret, no "looks good to me".

Measured, with receipts

Seeded, original benchmark cases; the same diff sent to the same agent with and without the persona; every raw reply committed so any number can be re-derived.

Open standards

Standards these implement

Every plugin here implements the same open specifications, and every body listed governs its specification in the open. Each repository's README says where each one runs in that repository.

StandardGoverned by
Model Context ProtocolOpen specification, Anthropic-originated, community-governed
SLSA build provenanceOpenSSF, Linux Foundation
SigstoreOpenSSF, Linux Foundation
CycloneDXOWASP, standardised as ECMA-424
SPDXLinux Foundation, ISO/IEC 5962
OpenSSF ScorecardOpenSSF, Linux Foundation
REUSE licence identifiersFree Software Foundation Europe
AGENTS.mdAgentic AI Foundation, Linux Foundation
Agent SkillsOpen specification
SARIF 2.1.0OASIS
Apache-2.0Apache Software Foundation