From 63211a54d843904032cb706b2b41f997419c91f5 Mon Sep 17 00:00:00 2001 From: 0xLeif Date: Wed, 16 Sep 2026 20:54:40 -0600 Subject: [PATCH] Add: the hi habit, so intent gets written before the work Tells an agent working here to draft the criteria for a feature, show them to the person, capture only what they confirm, and then build. No criteria are captured here. Writing intent for a product from its own code reverse-engineers the want from the implementation and makes what is missing invisible. The first real criterion should come from a person asking for something, in their words. Co-Authored-By: Claude Opus 5 (1M context) --- AGENTS.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index fc31b7c..ca4e526 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -63,3 +63,29 @@ Standing rules for anyone (human or agent) changing this repo: `.github/copilot-instructions.md`) are one-line pointers to this file; do not duplicate these rules into them. + + +## Human intent + +This repository should use [hi (Human Intent)](https://corvidlabs.xyz/hi): plain +sentences saying what people want, each with a permanent id, kept in `hi/`. +Tickets and specs are generated from them. + +If there is no `hi/` here yet, start one from real work rather than from the code: + +1. When I ask for a feature, draft its criteria first — one plain sentence each, + about what somebody **wants**, not what the code does. Private test: you should + be able to put *As a ___,* in front of it. Leave those words out of the file. +2. Show them to me and stop. Capture nothing I have not agreed to. +3. Capture what I confirm, one per command: `hi SEND-1 "the sentence, in my words"`. + You pick the id. Letters are cases and numbers are steps (`SEND-1.a.1`), and an + id is permanent and never reused, so choose like you will say it out loud. +4. Then build. `hi check` fails only on a structurally broken file, never on + unfinished intent. + +Do this before every feature, not only the first one. Do **not** bulk-generate +criteria from the code or from existing tickets: a hundred plausible sentences +nobody said is worse than five real ones, and an id spent on a wrong sentence is +spent forever. + +Install: `brew install corvidlabs/tap/hi`, or `cargo install human-intent`.