A Claude Code plugin · MIT

Code that behaves the way
people already expect.

intent engineering — catch surprising code before it ships. Five review lenses run as parallel agents across planning, plan validation, code review, and codebase audit, returning scored findings that each name the broken expectation and propose a concrete fix.

contracts CI MIT lenses version contract checks arch packs
install
# in any repo, inside Claude Code
/plugin marketplace add https://github.com/davidteren/intent-engineering
/plugin install intent-engineering
The five lenses

One reviewer per kind of surprise.

Each lens is grounded in a researched design principle and reads its own detection heuristics. Two are always on; three switch on by context. Every finding carries a confidence anchor and a concrete fix — never just “this is surprising.”

Predictability

always-on

Name/behavior mismatches, hidden side effects, surprising returns, silent failures, preview ≠ result.

least-astonishment · DWIM · WYSIWYG

Convention

code

Reinvented conventions, config where convention exists, one-offs that fight the repo or framework. Reads your CLAUDE.md / AGENTS.md first.

convention-over-configuration · framework idiom

Simplicity

always-on

Needless abstraction, speculative generality, knobs nobody sets — and the flip side: don’t oversimplify away real requirements.

Occam · KISS · YAGNI

Experience

UI

Missing interaction states, non-semantic controls, form/destructive feedback gaps, broken keyboard/focus, accessibility gaps, weak IA, AI-slop design. Greppable smell cards included.

HIG · look & feel · UX

Architecture

Rails · Python (FastAPI) · Laravel · Express · Phoenix · React

Fat models/routers/controllers/components, God objects/modules/contexts, misused services, callback hell, queries in views / N+1, prop drilling, effect overuse, layer leaks, async & process misuse. Classifies design patterns against a per-stack catalog and enforces your policy.

structural quality · design patterns
Six skills (four review contexts + setup + PR learnings)

Run the lenses where the work is.

The same lenses adapt to the moment — from first setup through review, audit, and PR learnings. Fresh = first config; upgrade = add new capabilities without wiping notes; multi-repo = one shared config + roots.

/ie-init

Set up / upgrade

Wizard for .intense/ — monolith or multi-repo placement, auto CI/Copilot sources, severity align, pattern preference, thresholds, and calibrate. Upgrade merges missing keys only.

/ie-plan-assist

While planning

An advisory checklist of the principle decisions to get right now. Non-blocking.

/ie-validate-plan

Before coding

Dimensional 0–10 ratings on a plan or spec + the design gaps to resolve first.

/ie-review

On a change

Findings by severity on a PR, branch, or local diff; applies safe verified fixes — never pushes.

/ie-audit

On a codebase

A posture report — per-dimension scores and the top gaps to fix first.

/ie-from-pr-learnings

After review

Mine PR triage or PR threads into notes, sources, and severities so the next run enforces what humans already fought for.

How it works

Fan out, gate, report.

Select

Walk up to the nearest .intense config; pick the lenses that fit the context.

Fan out

Each lens runs as a parallel sub-agent against its own heuristics.

Gate

Merge, dedup, and confidence-gate; cross-lens agreement promotes a finding.

Report

A ranked report with the broken expectation and a concrete fix for each.

P1order.rb:42fetch_total also writes a cache rowleast-astonishment · 100
P2report_service.rb:8service exposes 6 public methods — split per operationarchitecture · 75
P2signup_form.rb:21silent rescue swallows validation errorserror-handling · 75

Grounded, not vibes

  • A researched knowledge base bundled in the plugin: principles, per-framework conventions, and cross-cutting topics — each with a violation-smell checklist and cited sources.
  • Confidence anchors (0/25/50/75/100); findings gate at 75, critical surprises survive lower.
  • When two principles conflict, the lens names the tension and presents the trade-off — it doesn’t dictate.

Tunable & trustworthy

  • .intense/ config (walk-up from cwd): toggle lenses, auto-discover Copilot/CI gates, severity align, preferred patterns, thresholds — project overrides defaults.
  • Read-only by default; only /ie-review applies gated_auto fixes locally, and it never pushes.
  • A 141-check contract suite runs in CI on every PR, so the plugin keeps its own promises.