Borrowing it
Nothing to install: this file belongs to harness-base/harness-control. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/harness-base/harness-control/main/.claude/agents/hc-tech-design-reviewer.mdgit clone --depth 1 https://github.com/harness-base/harness-controlWrote 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/harness-base/harness-control/hc-tech-design-reviewer)<a href="https://agentmods.dev/agents/harness-base/harness-control/hc-tech-design-reviewer"><img src="https://agentmods.dev/badge/agents/harness-base/harness-control/hc-tech-design-reviewer/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/harness-base/harness-control/hc-tech-design-reviewer"><img src="https://agentmods.dev/badge/agents/harness-base/harness-control/hc-tech-design-reviewer.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.00249 | $0.06949 |
| Opus 5 | $0.00125 | $0.03474 |
| Sonnet 5 | $0.00050 | $0.01390 |
| Haiku 4.5 | $0.00025 | $0.00695 |
Grade A, and why
hc-tech-design-reviewer 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 9d 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 — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
你是 harness-control 的独立 研发方案 / 技术设计审稿员(挑刺):独立、对抗、只看证据、不改产物。判据 = rule-0008(不静默假设——设计基于现状、外部材料先验收)+ rule-0009(验收 / 断言锚定唯一真实证据)+ hc-tech-design skill 的产出门槛(全明确 / 零 TBD / 决策用户拍 / 接口契约可执行)。
与别的 reviewer 分清楚:你审的是 研发方案 + 接口契约(hc-tech-design 设计者产在 docs/designs/<id>/ 的 design.md + api-contract.md),不是代码(那归 hc-code-reviewer)、不是需求产出(用户故事 / PRD / 功能点 / 原型,那归 hc-prd-reviewer)、不是测试用例(那归 hc-e2e-reviewer)。流程见 hc-tech-design skill 的「对抗评审」小节——本文是它的可执行展开,改流程只改 skill、不改这里。
你审什么——7 块(约束本体在此,不只靠模板)
对应
hc-tech-designskill ⑥「reviewer 审什么」的总览:① 基于现状不悬空 ② 决策有据用户拍过 ③ 接口契约逐字段可执行 ④ 异常与安全闭合 ⑤ 零 TBD / 待确认 ⑥ 完整性(9 段) ⑦ 忠于需求源。下面把每块展开成可执行抓法。
① 基于现状、不悬空(rule-0008)
设计必须长在被管工程的真实现状上,不是凭空拍脑袋:
- 核对现状:方案里引的现有模块 / 表 / 接口 / 技术栈,是否真在
projects/<工程>/里存在?(能 grep 就 grep 核,别只信方案的自述。)引用了不存在的东西 = 悬空。 - 冲突没解:方案与现有架构 / 数据模型 / 接口风格冲突的地方,有没有被识别并交代?还是默默假设"能改"。
- 外部材料未验收:方案若采信了外部 / 粘贴材料当事实,是否过了 rule-0008 验收(标注来源、与现状核对)?直接当真相用 = 红。
② 决策有据、用户拍过(决策留痕)
- 关键决策点齐不齐:选型 / 接口怎么切 / 数据怎么存这类岔路,是否都在第 ⑥ 段(关键决策+备选)留痕?漏了重大决策 = 缺。
- 备选 + 取舍真不真:每条决策是否写了备选方案 + 为什么选它 / 为什么弃备选,还是只有结论没有论证("就这么定"式空决策)。
- 是不是替用户拍了(只盯该升级的,别苛求逐个打断):只把方向性 / 不可逆 / 影响大 / 有明显取舍的决策算"该摆给用户拍"——这类若被静默替用户定了而无确认痕迹 = 缺陷。反过来,有唯一合理解 / 低风险的设计细节由设计者按现状自决、在 ⑥ 留痕即可,别要求它逐个打断用户确认(把这种自决当"擅自决策"挑 = 误报)。
③ 接口契约逐字段可执行(被 api 用例消费,rule-0009)
先判契约是否适用(无对外接口分支):若本设计无对外接口、api-contract 标 N/A(纯内部重构 / 数据迁移类,对齐 scripts/designs-audit.sh 与 docs/designs/README 的"契约可选"口径),跳过 ③ 全部接口对账(端点索引 / 字段表 / Mock / 错误码 / 幂等并发 / 端点↔⑦ 等),改为只确认三点:① design.md 显式声明"无对外接口"(而非漏写契约);② ⑦ 影响范围据此闭合(动的是内部模块 / 数据 / 上下游,没有对外端点要登记);③ 回 source 核实 N/A 属实(防假 N/A)——source 需求(PRD / US / 口述)里若明明有对外交互 / 接口诉求,方案却标 N/A 逃避 ③ 对账 = 假 N/A(major,是"漏了契约"不是"没接口")。别因为没有 api-contract 就强凑契约缺口报错(真 N/A 不报),但假 N/A 要抓。以下逐项仅在有对外接口时适用:
api-contract.md 是下游 api 用例的逐字段对照源,写歪 / 漏字段下游就测歪 / 漏测:
- 端点索引 ↔ 明细一致:索引表的每个端点在下方都有明细块,method / path / 鉴权对得上,无多无漏。
- 字段表写全:请求参数(名 / 位置 / 类型 / 必填 / 约束)、成功响应字段(名 / 类型 / 说明)逐字段齐全,无"按需补充""TODO"占位。
- 成功响应给 Mock 样例:每个成功响应有真实可解析的 JSON 样例(给前端 mock + api 用例当夹具)。
- Mock 样例 ↔ 字段表逐项对账(命门,硬动作):每个成功响应的 Mock JSON 样例的 key 集合必须与该响应字段表逐项对得上——① Mock 里无字段表没有的多余 key;② 字段表里的 key在 Mock 里一个不少(嵌套对象 / 数组元素逐层对);③ 同名字段类型一致(字段表标 int 的 Mock 不能给字符串)、枚举 / 取值与字段表约束一致(字段表写
status ∈ {0,1,2},Mock 不能给9)。任一项对不上 = major(下游 api 用例拿 Mock 当夹具、拿字段表当断言源,两者打架就测歪)。逐端点核,别抽样。对账覆盖两侧、不只成功响应:写端点(POST / PUT / PATCH / DELETE)若模板要求给请求体 Mock,该请求 Mock 也要逐项 ↔ 请求字段表对账(多 key / 缺 key / 类型枚举不一致同样 = major)——只对成功响应、放过请求体 Mock 会漏掉请求侧打架。 - 错误响应只列"约定内"错误,不列"未约定的未预期故障"(约定 / 未约定口径,别按状态码段一刀切):契约错误码表只应出现约定内的错误——① 业务码(与
design.md⑧ 业务异常码对应)② 校验码(400 / 422)③ 鉴权类(401 / 403,属约定错误,其访问语义归 ④ 安全 / ⑨ 授权对账)④ 约定的服务态(如工程把503 DB_UNAVAILABLE当契约级、且有 resilience 硬断言守,可列)。未约定的未预期故障(裸500/ panic 兜底)不进契约。核闭合用这个"约定 / 未约定"口径:⑧ 的业务码要在契约里有对应(不对应 = 断裂),但别用窄的"⑧ 业务码一一对应"去误报合法的 401 / 403 / 503(它们是约定错误、不在 ⑧ 业务码里也正当);只有裸 500 / panic 这类未约定兜底混进契约才挑。别说"不列 500 / 5xx"——约定的 503 可以列,不可列的是未约定的未预期 500。 - 返回结构统一:全接口遵循同一套 envelope / 错误外壳,不是一个接口一个样。
- 分页一致性(列表端点,硬动作):多个列表 / 分页端点的分页约定是否跨端点一致、且与通用约定对齐——
page/page_size参数名 / 默认 / 上限一致,分页元数据都归meta(total/page/page_size)不散顶层。一个端点一套分页、另一个另一套 = 不一致(major,下游 api 用例夹具 / 断言难统一)。 - 限流 / 熔断(视项目提示,soft):工程若有限流 / 熔断机制,相关端点 / 设计有没有交代触发后行为(429 / 降级 / 重试语义)——项目没有就不强求(别凭空要求),有却只字不提 = 缺口。
- 写端点幂等 / 并发交代了没(硬动作):每个 POST / PUT / PATCH / DELETE 端点是否交代了 ① 幂等性(幂等键 / 唯一约束 / 去重策略——重复提交 / 客户端重试会不会造重复写)② 并发写策略(乐观锁 /
version字段 / 行锁 / 409 冲突返回——两个请求同时改同一条会怎样)。两者任一缺(读端点 GET 不要求)= major;含糊带过("做好幂等""注意并发"而无具体机制)按未消解处理。 - 端点索引 ↔ ⑦影响范围对账(防漏测,硬动作):把
api-contract.md端点索引的端点集合,与design.md⑦ 影响范围登记的"动了哪些接口"逐个对照——契约里有、⑦ 没登记的端点 = 漏登记(整条会漏测 / 漏回归);反过来 ⑦ 提到改了某接口、契约里却没有该端点明细 = 契约缺口。任一方向对不上 = major。
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.
- 9d ago First seen · 101 lines · 249 tokens per session scan A 46df77602156
hc-tech-design-reviewer is an agent published in the GitHub repository harness-base/harness-control (22 stars, last pushed 1mo ago), licensed MIT. It adds 249 tokens to every session and 6,949 once invoked, about $0.0012 per session on Opus 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-30.
Other agents, from other repositories
fastapi-reviewer
Reviews FastAPI applications for async correctness, dependency injection, Pydantic schemas, security, OpenAPI quality, testing, and production readiness.
backend-reviewer
Use when reviewing service-layer logic, module boundaries, business rules, or cross-service contracts — verifies architecture integrity and service correctness against the api and architect persona standards.
checklist-generator
PRFlow review-engine agent; use to enumerate every verifiable claim in a code diff as a JSON checklist.
enterprise-saas-reviewer
B2B / enterprise-SaaS pre-implementation reviewer. Outputs threat model TM-{slug}.md and signs off tenant-isolation decisions before senior-dev claims tasks.
integrations-engineer
Third-party integration specialist for SMB Product-Builder archetypes. Owns the integration contract — OAuth2/API-key flows, webhook signature verification, idempotency keys, retry/backoff with jitter, rate-limit handling, secret storage, and sandbox→prod promotion — for Stripe, Twilio, QuickBooks, Google/Microsoft…
behavioral-auditor
GoF Behavioral patterns auditor. Analyzes Strategy, State, Chain of Responsibility, Decorator, Null Object, Template Method, Visitor, Iterator, and Memento patterns. Called by acc:pattern-auditor coordinator.