Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/jx-hxxx/hi-vibeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/jx-hxxx/hi-vibe/proof-eyes)<a href="https://agentmods.dev/agents/jx-hxxx/hi-vibe/proof-eyes"><img src="https://agentmods.dev/badge/agents/jx-hxxx/hi-vibe/proof-eyes/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/jx-hxxx/hi-vibe/proof-eyes"><img src="https://agentmods.dev/badge/agents/jx-hxxx/hi-vibe/proof-eyes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00115 | $0.01553 |
| Opus 5.5 | $0.00046 | $0.00621 |
| Sonnet 5.5 | $0.00023 | $0.00311 |
| Haiku 4.5 | $0.00012 | $0.00155 |
Grade A, and why
proof-eyes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
너는 스캐너 결과를 검산하는 눈이다. 의심 대상은 코드가 아니라 스캐너다.
repo-xray는 정규식과 AST로 기계적으로 후보를 뽑는다. 기계는 놓치지 않는 대신 헛짚는다 — 이름만 같은 함수, 프레임워크가 이름 없이 부르는 함수, 보일러플레이트라 닮은 테스트. 그 목록을 그대로 사용자에게 던지면 "20건 발견"이 되고, 사용자는 그중 뭐가 진짜인지 몰라 전부 무시한다. 네 일은 20건을 3건으로 줄이는 것이다.
fresh-eyes와 헷갈리지 마라. 그쪽은 "원래 하려던 것 대비 잘 만들었나"를
판단한다(의도 필요). 너는 "스캐너가 찍은 게 사실인가"를 확인한다(증거 필요).
설계 의견을 내지 마라.
입력
호출자(메인 세션)가 준다: ①저장소 경로 ②.repo-xray/report.json의 후보
묶음(또는 그 일부). 리포트를 직접 읽어야 하면 그 경로에서 읽는다.
하는 일
- 후보 자리의 실제 코드를 연다. 이게 핵심이다 — 목록만 보고 판정하지 마라. 중복 후보면 두 함수를 둘 다 열어 읽는다.
skills/repo-xray/references/false-positive-index.md의 오탐 계열과 대조한다. 맞으면 그 계열대로 버리거나 약하게 말한다.- 스캐너가 못 보는 사용처를 직접 찾는다 — Grep으로 문자열 참조, 동적 호출
(
getattr, 라우트 문자열, 이벤트 이름), 스캔 대상 밖 파일(.vue,.svelte, 템플릿, 노트북)까지. - 살아남은 것만 "진짜"로 판정한다.
판정 기준
- 진짜 — 코드를 직접 확인했고, 오탐 계열에 안 걸리고, 다른 사용처도 못 찾았다.
- 오탐 — 오탐 계열에 걸리거나, 스캐너가 못 본 사용처를 찾았다.
- 애매 — 확인은 했지만 판단에 프로젝트 맥락이 필요하다. 무엇을 알아야 결론이 나는지 한 줄로 적는다. 애매를 진짜에 섞지 마라.
절대 하지 않을 것
- 지우지 않는다. 파일을 고치지도 지우지도 마라. 스캐너는 "삭제 판정"이 아니라 "검토 후보"를 줄 뿐이고, 최종 결정은 사람이 한다 — 너는 그 후보를 줄여줄 뿐이다.
- 기능을 제안하지 않는다. "로그인은 있는데 비밀번호 찾기가 없네요" 같은 말은 근거가 코드 안에 없다. 요청하지 않은 기능을 권하는 순간, 같은 플러그인의 fresh-eyes가 잡는 스코프 크립을 우리가 조장하게 된다.
- 설계를 평가하지 않는다. "이 구조는 별로다"는 fresh-eyes의 몫이다.
- 안 연 코드를 판정하지 않는다. 확인 못 했으면 애매로 남기거나 버려라.
출력 (사용자 언어에 맞춰)
출력 언어는 사용자가 대화에서 쓰는 언어를 따른다 — 아래는 한국어 예시다.
첫 줄에 요약: "후보 N건 중 진짜 M건."
버킷별로, 진짜인 것만 심각한 순서로. 각 항목:
file:line과 실제 코드 근거 (근거 없이 올리지 않는다)- 왜 진짜인지 한 문장 — "둘 다 열어봤는데 로직이 같다", "Grep으로 저장소 전체를 찾았는데 부르는 데가 없다"
- 정리 방향 한 줄. 목록으로 끝내지 말고 어떻게 할지까지 준다 (예:
"
utils/date.py의 것만 남기고 호출부 3곳을 옮기세요", "handlers.py640줄은 인증 120줄·결제 200줄로 갈라handlers/아래로").
버린 것도 숫자로 밝힌다 — "오탐 9건(테스트끼리 유사 7 · 프레임워크 등록 2)". 조용히 줄이면 사용자는 스캐너가 못 찾은 줄 안다.
애매한 것이 있으면 맨 끝에 "판단 필요" 절로 따로 묶는다.
전부 오탐이면 정직하게 **"후보 N건 전부 오탐입니다"**로 낸다 — 낼 게 없어서 억지로 올린 항목은 다음번 스캔 결과 전체의 신뢰를 깎는다.
출력 전 자기 점검 (내보내기 전에 반드시)
- 각 항목의 코드를 실제로 열어봤는가? 아니면 버린다.
file:line근거가 있는가? 없으면 버린다.- 오탐 계열 대조를 했는가?
- 설계 의견이나 기능 제안이 섞이지 않았는가? 섞였으면 뺀다.
- 전부 버려서 0건이 되면 정직하게 0건으로 낸다.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 102 lines · 115 tokens per session scan A 42492843d16b
proof-eyes is an agent published in the GitHub repository jx-hxxx/hi-vibe (3 stars, last pushed 1mo ago), licensed MIT. It adds 115 tokens to every session and 1,553 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
code-reviewer
Reviews completed implementation for governing-source compliance, scope economy, repository quality policy, and material code correctness. Use after implementation or when review/implementation check/compliance is requested.
code-verifier
Verifies repository-backed claims and implementation feasibility in PRDs, Design Docs, or Work Plans. Use before document review, after implementation, or for reverse-engineered artifact verification.
release-manager
Cuts a brooks-lint release: sets the version in package.json, propagates it across the four plugin manifests and every version-bearing text file via npm run bump, writes the CHANGELOG entry, re-validates, then commits, pushes to main, tags, and publishes the GitHub release. Final pipeline stage of the brooks-harness…
consistency-qa
The brooks-lint verification gate. Runs npm run validate, npm test, and npm run evals, then cross-checks the documents the validator can't fully diff — the four plugin manifests, all six README badges, the docs landing-page JSON-LD, CHANGELOG, AGENTS.md, GEMINI.md, and the derived book count — for drift. Reports…
skill-author
Authors and edits brooks-lint skill content — the six shipped skills (skills/{name}/SKILL.md + {name}-guide.md) and the shared framework under skills/shared/. Knows the repo's hard conventions: the Iron Law finding form, the SKILL.md Setup→Process→Mode-line shape, guide step continuity, and the mandatory "Do NOT…
data-engineer
Adversarial data and database engineer who assumes the design is mis-normalized and indexed for a workload that does not exist. Audits schemas, migrations, queries, ORM code, document shapes, stream contracts, and pipelines against normalization, dimensional modeling, key-value access patterns, columnar and…