audit-decisions
Skill3.1k starsChanged 2 days agoMITView on GitHub
Audit the decisions an implementing agent made, not its diff — a pure audit that traces the session's history into a decisions ledger, changes no code, and never blocks an unsupervised run. Working code still embeds architecture the user never chose; surface it because future work inherits it. Use when the user wants to review the decisions the AI made on their behalf, before merging or committing AI-implemented work, when integrating a delegated subagent's pass, or when a fix "works" but might be a point fix.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 43
Elicit and trace back: When an implementer reports done, ask: *"While working on this, which decisions did you make that you're not …
- Distinctive: line 149
Never skip the audit because the result looks clean.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Audit Decisions
Given a good decision, an agent implements it faithfully; wherever the task is underspecified, it makes the decision itself — silently, and the diff won't flag it. Reviewing thousands of changed lines doesn't scale, and it inspects the execution, which was probably fine. The audit that scales is of the decisions: surface every one the implementer made on its own, judge that list, and record the verdicts.
This is about architecture more than bugs. An implementation can work perfectly and still rest on decisions the user never made — a data shape, a storage location, a dependency, an API contract, a tradeoff of memory for speed — and every one of them is load-bearing for future work. The user needs to know them not because they're wrong, but because they now own them.
This is purely an audit — it is not about modifying code, and it can be called at any time. The job is to trace back: walk every step this session has taken, and every step each subagent took (a live implementer traces its own; otherwise reconstruct from its reports, transcripts, and diffs), and surface every single decision that was made on the user's behalf that was not in the original spec or prompt. The ledger of those decisions replaces reading the code as the user's review surface — that is the whole point. Acting on the verdicts (redoing an unsound decision, applying a provisional call) belongs to the caller: the implementing workflow mid-run, or the user after reading the report.
Two ways in, same audit:
- Called by a workflow (per pass or per slice): audit that pass, append its entries to the ledger, and return; the workflow presents the accumulated ledger when it hands back.
- Called directly by the user: audit the whole body of work in front of you (session, branch, or named change) and present the report immediately. Recommend; change nothing.
Workflow
- Elicit and trace back. When an implementer reports done, ask: "While working on this, which decisions did you make that you're not confident of? List all." — but treat the self-report as a starting point, not the boundary: agents under-report. Trace the history yourself — the session's steps, subagent reports, diffs, commits — and collect every decision that is in the work but not in the original spec or prompt. Sweep the architectural categories, not just the suspect fixes: data shapes and formats, storage and naming schemes, API contracts and their error behavior, dependencies added, concurrency/perf tradeoffs, scope interpretations, patterns future code will imitate. Auditing your own session, trace your own steps the same way. Decisions the plan explicitly delegated to the implementer are discretion, not audit items.
- Triage each decision on evidence. Forced by the plan, or invented? Invented ones get the scrutiny: is this the general solution, or a fix shaped to the one failing case? Verdict per decision: sound, unsound, or needs-user — and alongside the verdict, a confidence: how sure the audit is that the user would have made this same call. Confidence is what ranks the report. Reserve needs-user for genuinely user-only calls (taste, product direction, external cost); every needs-user entry records a recommended provisional call that is reversible, so an unsupervised caller can proceed without waiting. The audit never stalls a run: each entry is a judgment handed over for action or review, not a question that halts.
- State the corrected decision, don't sketch a patch. For each unsound decision, the entry names the corrected one the work should be redone from — the property that must hold in general — not an edit to layer on top. A patch on top of a bad decision preserves the decision; the redo itself is the caller's, after the ledger is reviewed.
- Bank every decision in the ledger (below), and promote load-bearing sound ones into the plan's handoff so later passes inherit them as givens instead of re-deciding.
Present the ledger: grouped by verdict, ranked by confidence. The audit's deliverable is the ledger, handed to whoever acts next — the calling workflow mid-run, the user at run's end. Each verdict group maps to an action — needs-user (decide, with the provisional calls), unsound (redo, with the corrected decisions), sound (acknowledge: the architecture the user now owns) — and within each group decisions are ranked by confidence, least confident first. When the ledger is long, open the report with the two or three least-confident decisions overall, whatever their group: the "review these first" line. Sound is not skippable. Only trivial discretion (internal naming, cosmetic calls) compresses to a one-line count.
Write every entry ELI5 — by default, not on request. The reader didn't live the session: write each entry in the eli5 register — a concrete scenario walked end to end (the triggering event, what the work does today, what the unbuilt alternative would do), every term of art defined at first use, and pseudocode at the level of the decision when it is about control flow, ordering, or timing. "A gated ask is dropped, not deferred" is a headline, not an entry. A compressed entry that makes the user ask "explain this one" has failed; the ledger must stand alone without the diff, the spec, or the transcript.
The Decisions Ledger
A dedicated file that outlives every pass: decisions.md beside the plan
(specs/<feature>/decisions.md when a spec owns the work). One entry per
audited decision:
- When — pass or commit it landed in.
- The decision — a one-line headline, then the ELI5 scenario: the triggering event, what the work does today, what the unbuilt alternative would do, with terms of art defined in place.
- The gap — what the plan left unspecified that forced it.
- The reach — what future work this decision constrains or enables; why the user needs to know it exists.
- Verdict — sound / unsound / needs-user, with a one-line why. For unsound: the corrected decision to redo from. For needs-user: the recommended provisional call and how to reverse it.
- Confidence — how sure the audit is that the user would have made the same call (low / medium / high). Ranks the report, ascending.
Rules of the ledger:
- Banked is settled: a decision already in the ledger (or promoted into the plan) is a given for later passes — never re-listed, never re-decided.
- The ledger is a plan-quality signal. Entries clustering around one slice or area mean the plan is foggy there — reslice or send that part back through the spec rather than triaging the same class of decision forever.
- ELI5 survives every rewrite. The entry format above — headline plus the walked scenario with terms defined in place — is the storage format, not presentation polish. When entries are consolidated, merged, re-audited at close, or copied into a final ledger, each surviving entry keeps (or regains) its full scenario. The known failure mode is exactly this compression: a closeout rewrite that shrinks banked entries to their headlines produces a ledger the reader must interrogate — "The checkpoint loads rows in mailbox order and rejects the list when a later reference has an earlier createdAt" reads as settled, but only the walked version (two sessions, per-session sequence numbers that can't be compared, the shared insert-timestamp clock) lets a reader actually judge the decision. A consolidation that drops scenarios has failed even if every fact survives — and so has one that keeps the scenario but leans on labels the build invented ("the retry envelope", "the evidence seam") without defining them where they're used.
Rules
- "It works" is not a verdict on the decision. The recurring smell is the coincidental fix: a resized buffer, bumped timeout, or special case whose magnitude happens to cover the failing input while the underlying cause stays dormant. Ask what property guarantees the fix in general; if the answer is "this case passes," the decision is unsound even though the code is green.
- Declared success is the point of maximum risk — the implementer's confidence is highest exactly when its unexamined decisions are about to be merged. Never skip the audit because the result looks clean.
- An empty list on nontrivial work is a red flag, not a pass. Probe: what did the task leave unspecified? Something filled those gaps.
- The audit changes no code, tests, or build state. Finding an unsound decision is the deliverable, not a license to fix it — record the corrected decision and leave the tree exactly as audited, so the ledger and the tree agree on what the caller is deciding about. Evidence-gathering is fair game: read anything, run the existing tests, write transient probes — but remove every probe before handback.
Done
The audit is done when every invented decision in the pass has a ledger entry with a verdict, every unsound entry names the corrected decision to redo from, every needs-user entry carries a reversible provisional call, and the ledger has been presented — grouped by verdict, least-confident-first within each group, every entry readable ELI5 without follow-up questions — to whoever acts next, with the tree untouched. A handback that shows the diff instead of the decisions, or a "fix" applied during the audit, is not done.
Trending
More talk lately.about the whole repository
Who's talking about dzhng/jevgrep
- Alex Hitt“Jevgrep GitHub Explained: Semantic Code Discovery for AI Coding Agents”YouTube · Sep 30, 2026 · 4.6k views
- Amplify Imagination“Find code by asking what it does — jevgrep”YouTube · Sep 28, 2026 · 618 views
- 아르사(Artsa)“파일 이름을 몰라도 코드 위치부터 찾는 jevgrep — 원리, 공개 평가 읽는 법, OpenRouter 설정”YouTube · Sep 29, 2026 · 520 views
- Kod Radarı“jevgrep: Yapay Zeka Kodlama Ajanlarının Maliyetini Düşüren CLI”YouTube · Sep 28, 2026 · 249 views
- LookOnThisGit“Cut AI Token Waste by 40% with jevgrep 🤖”YouTube · Sep 27, 2026 · 107 views
The biggest 5 of 45 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 45
Talked about on YouTube, GitHub, the web, Bluesky and Hacker News (45 times).
On YouTube · 21
- Sep 30, 2026Jevgrep GitHub Explained: Semantic Code Discovery for AI Coding Agents — Alex Hitt4.6k views · 3 comments
- Sep 28, 2026Find code by asking what it does — jevgrep — Amplify Imagination618 views
- Sep 29, 2026파일 이름을 몰라도 코드 위치부터 찾는 jevgrep — 원리, 공개 평가 읽는 법, OpenRouter 설정 — 아르사(Artsa)520 views
- Sep 28, 2026jevgrep: Yapay Zeka Kodlama Ajanlarının Maliyetini Düşüren CLI — Kod Radarı249 views
- Sep 27, 2026Cut AI Token Waste by 40% with jevgrep 🤖 — LookOnThisGitsays it tested it107 views
16 more on YouTube
- Oct 5, 2026Ask Your Codebase Where Things Live #shorts — Repo Rush100 views
- Oct 3, 2026Jevgrep GitHub Explained: Custom System One Gateways and 422 Errors — Alex Hitt74 views
- Oct 4, 2026Jevgrep GitHub Overview: How Offline File Inventories Scope AI Code Search — Alex Hitt43 views
- Sep 29, 2026jevgrep: a free CLI that finds code by asking it a question — ViewOS42 views
- Sep 29, 2026jevgrep - free open source tool — RepoDrop33 views
- Sep 29, 2026hotin.ai daily · Sep 29, 2026 · lemomo-ai/lemo-opuscar — HotInAI23 views
- Sep 30, 2026hotin.ai daily · Sep 30, 2026 · glanderness/beeftv — HotInAI20 views
- Sep 29, 2026hotin.ai daily · Sep 29, 2026 · lemomo-ai/lemo-opuscar — HotInAI20 views
- Sep 30, 2026hotin.ai daily · Sep 30, 2026 · glanderness/beeftv — HotInAI15 views
- Sep 30, 2026jevgrep 잡으러 클로드·GPT 출동… 코드 찾기 최강 셰프의 정체!? 직접 먹어봄😋jevgrep — Hell's Kernel14 views
- Sep 28, 2026hotin.ai daily · Sep 28, 2026 · sparkcpark/synthetic_hospital — HotInAI13 views · 1 comment
- Oct 5, 2026Same tasks solved, about a third less paid for the tokens. #sketchthestack #ai #software #tech — Sketch The Stack10 views
- Sep 28, 2026hotin.ai daily · Sep 28, 2026 · sparkcpark/synthetic_hospital — HotInAI10 views
- Oct 7, 2026jevgrep: The Hottest TypeScript Repo on GitHub Right Now — Repo Radar9 views
- Oct 6, 2026jevgrep : ton agent IA de code, un quart moins cher — GitTendance8 views
- Sep 30, 2026Find code with about 30% lower cost — 89labsays it tested it8 views
On GitHub · 13
- Oct 26, 2026Weekly spot-check 2026-10-26 — StefanKasamakov/ai-compass0 reactions
- Oct 19, 2026[사례] jevgrep: 동작 기반 코드 검색 — tourbut/decision-lib0 reactions · 1 comment
- Oct 18, 2026agent-skills.github.dzhng.jevgrep: 0.8.3 → 0.8.5 — sudosubin/agents.nix0 reactions
- Oct 18, 2026agent-skills.github.dzhng.jevgrep: 0.8.1 → 0.8.3 — sudosubin/agents.nix0 reactions
- Oct 17, 2026agent-skills.github.dzhng.jevgrep: 0.8.0 → 0.8.1 — sudosubin/agents.nix0 reactions
8 more on GitHub
- Oct 17, 2026[Candidate] dzhng/jevgrep/.agents/skills/codex - codex — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 17, 2026[Candidate] dzhng/jevgrep/.agents/skills/claude - claude — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 12, 2026Weekly spot-check 2026-10-12 — StefanKasamakov/ai-compass0 reactions
- Oct 12, 2026dzhng 'jevgrep' — Jev 디시전 모델로 코드 검색, 코딩 에이전트 파일 탐색 비용 ~30% 절감 주장 — roomedia/ax-trendsays it tested it0 reactions
- Oct 4, 2026Clean up the Google Sheet so the graph gets real topics (Category values, duplicates, empty tabs) — Amitro123/knowledgeBase-Agent0 reactions · 3 comments
- Oct 3, 2026agent-skills.github.dzhng.jevgrep: init at 0.8.0 — sudosubin/agents.nix0 reactions
- Sep 27, 2026jevgrep: init at 0.3.0 — NixOS/nixpkgs0 reactions · 1 comment
- Sep 26, 2026docs: add jevgrep (dzhng) listing — AppitStudio/awesome-jev0 reactions
On the web · 8
- Oct 5, 2026Jev Is the New AI Starlet. Should Claude Be Worried? — theairarchitect.substack.com
- Oct 2, 2026Jevgrep: Find Code by Asking What It Does - Inside dzhng/jevgrep | PyShine — pyshine.com
- Oct 1, 2026Abdullah Chaudhary — linkedin.com
- Sep 29, 2026Codex Rate Limits Discussion Thread - Codex - OpenAI Developer Community — community.openai.com
- Sep 29, 2026Codex Rate Limits Discussion Thread - Codex - OpenAI Developer Community — community.openai.com
3 more on the web
- Sep 28, 2026Codex Rate Limits Discussion Thread - Codex - OpenAI Developer Community — community.openai.com
- Sep 28, 2026Codex Rate Limits Discussion Thread - Codex - OpenAI Developer Community — community.openai.com
- Sep 26, 2026jevgrep Review: Ask Where the Code Is | MrJev — mrjev.com
On Bluesky · 2
- Oct 1, 2026jevgrep — AIのコード探索コストを約30%削減するTypeScript製CLI ・自然言語でコードの役割を質問し、関連ファイルや該当箇所を特定 ・Claude Code等のAIエージェントにスキルとして組み込み可能… — @sarubot.bsky.socialsays it tested it2 likes and reposts
- Sep 26, 2026RT @dzhng: Introducing jevgrep - a research agent CLI powered by jev from @typesafeai that reduces your coding agent cost by 40% (verified… — @theo-mir-rt.selfhosted.socialsays it tested it0 likes and reposts · 1 reply
On Hacker News · 1
- Sep 28, 2026Jevgrep: A CLI for coding agents that uses Jev to discover relevant files5 points
Other versions4 projects use a version of this.
Word for word · 3
- dzhng/skills★ 1.4k100% same
- dzhng/yap★ 112100% same
- dzhng/duet-agent★ 55100% same
Edited · 0
None found.
Wrote their own version · 1
- wolverin0/claude-skills★ 41same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- AGENTS.mdAGENTS.md
- audit-agentsSkill
- audit-performanceSkill
- audit-testsSkill
- auto-researchSkill
- claudeSkill
- close-specSkill
- code-reviewSkill
- codexSkill
- compare-screenshotsSkill
- design-with-imagesSkill
- eli5Skill
- eval-skillsSkill
- explore-unknownsSkill
- handoff-specSkill
- implement-specSkill
- implement-spec-with-codexSkill
- jevgrepSkill
- launch-videoSkill
- marketing-pagesSkill
- preview-shotsSkill
- ratchet-filesSkill
- refactor-cleanSkill
- reviewSkill
- screenshot-critiqueSkill
- typesafe-aiSkill
- write-docsSkill
- write-skillsSkill
- write-specSkill
- write-testsSkill
- jevgrepSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

