Engineering is not writing code.
It's making good decisions.
Instinct installs a three-question Gate as ambient behavior in your AI coding agent — the questions a staff engineer asks before touching anything, applied automatically, before the code is written. Not a persona. Not a checklist you invoke. A mechanism.
The Gate
sheet 1 of 6Three questions, asked in order, about the request in front of it. Answered by what the change actually touches — not by trusting how the request is phrased. Stop at the first yes. Treat an unclear answer as yes.
Touches beyond
what's named?
More than
one consumer?
Expensive
to undo?
yes to Q3 → Critical — reconstruct why, name the alternative, deposit the reasoning
A public or heavily-used surface isn't automatically a yes. A signup form having many users isn't the same as another piece of code depending on it as an interface.
Tightening validation with no required caller changes is usually a no, even on a security-adjacent surface. A new required parameter is a yes regardless of how additive it sounds.
The Gate in action
sheet 2 of 6This is Instinct's own canonical example (gt-03) — and the one real bug this evaluation found and fixed twice: a fresh model twice talked itself out of escalating it by leaning on the word "additive," before the Gate's wording was corrected to name the actual test. It now lands Critical on 11/11 independent fresh-Claude samples, unanimous. Full history →
Evidence
sheet 3 of 6No LOC/cost/speed benchmark suite sits behind Instinct — that's not what it measures, and inventing one just for a chart would be exactly the fabricated-metric theater this project has refused all along. What exists instead is real, individually-verified evaluation evidence.
| what was tested | result | where |
|---|---|---|
| Trigger accuracy — does the skill correctly fire or skip | 10/10 × 2 samples | known-failure-modes.md |
Canonical breaking-change example (gt-03, above) |
11/11 unanimous | RFC-0011 |
Q2 wording fix (gt-07) |
3/3 clean | known-failure-modes.md |
| Real-repo pilot, 3 tasks, baseline vs. Instinct-loaded | 3/3 added verification; 1 real vuln caught | RFC-0013 |
| Claude Code plugin installability | confirmed via real install | installation.md |
| Full test suite | 91/91 passing | tests/ |
Install
sheet 4 of 6claude plugin marketplace add \ bhouvana/Instinct claude plugin install \ instinct@instinct
codex plugin marketplace add \ bhouvana/Instinct codex plugin add instinct@instinct
// opencode.json
{ "plugin": [
"./.opencode/plugins/instinct.mjs"
] }
gemini extensions install \ https://github.com/bhouvana/Instinct
copilot plugin marketplace add \ bhouvana/Instinct copilot plugin install \ instinct@instinct
hermes plugins install \ bhouvana/Instinct --enable
Plus Cursor, Windsurf, Cline, Kiro, Qoder, the pi editor, and a raw MCP server for anything else — 14 hosts total, each one marked confirmed (actually run against real host software — one is, so far) or inferred (follows the documented contract, not yet run), never presented with false confidence. Full install guide →
The skill family
sheet 5 of 6Deliberately missing two things a Ponytail-inspired reader might expect: user-selectable intensity modes, and a benchmark scoreboard. Both considered, both rejected — see the tiers below, and the Evidence sheet above.
Tiers, not modes
sheet 6 of 6No /instinct lite|full|ultra. The Gate decides the tier from what the request touches — you don't set the intensity, the change does.
Consequential
Real but reversible. The ceremony is proportional.
- Look once for an existing pattern before writing new code
- Prefer stdlib over a new dependency
- Keep the diff to what's needed
- State the why in the commit, not just the what
Critical
Expensive to undo. The ceremony matches the stakes.
- Reconstruct why the current shape exists
- State the strongest alternative once, briefly
- Implement whichever the requester confirms
- Deposit the reasoning somewhere durable