harness-control: Skill for Claude Code

.agents/skills/hc-tech-design/SKILL.md

hc-tech-design is a skill for Claude Code, Codex from harness-base/harness-control. It costs 184 tokens per session (3,969 once invoked), scanned A, original, MIT.

An interactive workflow for turning product requirements into a technical design, including an interface contract when the system exposes an interface. It sits between requirements work and implementation.

In plain words
What is it for?
Use it to decide how to implement a requirement, split interfaces, choose technologies, design data storage, and document decisions that need user review.
Why use it?
It makes important design choices explicit before coding, using the existing project structure, data, interfaces, and technology instead of guessing.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: reads .claude/ paths; mentions Claude Code; installed under .agents/ (shared by several agents).

This is harness-base/harness-control's own configuration. It tells Claude Code and Codex how to work on harness-control itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything harness-control configures →

Reuse

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.

Copy the file
curl -O https://raw.githubusercontent.com/harness-base/harness-control/main/.agents/skills/hc-tech-design/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/harness-base/harness-control

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for hc-tech-design

README.md
[![agentmods](https://agentmods.dev/badge/skills/harness-base/harness-control/hc-tech-design.svg)](https://agentmods.dev/skills/harness-base/harness-control/hc-tech-design)
Your own site
<a href="https://agentmods.dev/skills/harness-base/harness-control/hc-tech-design"><img src="https://agentmods.dev/badge/skills/harness-base/harness-control/hc-tech-design.svg" alt="Measured on agentmods" height="20"></a>
Per session 184 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,969 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00184 $0.03969
Opus 5 $0.00092 $0.01985
Sonnet 5 $0.00037 $0.00794
Haiku 4.5 $0.00018 $0.00397

Measured 7d ago against content hash b3107f05cbaa, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

hc-tech-design 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 7d 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.

.agents/skills/hc-tech-design/SKILL.md · 83 lines

How it starts

The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.

交互式产出研发方案(hc-tech-design)

本 skill 管"把需求落成可执行的技术设计(有对外接口再附接口契约)"——填 hc-prd(产需求)与 hc-dev(写代码)之间的设计空档。链条:hc-prdhc-tech-design →(api 用例 / hc-dev;它产出的接口契约(若有)被 api 用例消费。

形态 = 交互式设计(主 agent 当设计者),评审回改循环同各 skill 惯例(做 → 派 reviewer 挑刺 → 回改到过);不是 hc-prd / hc-dev(ADR-0021 后)那种总监 + 并行 worker——设计是一条连贯的推演对话、不可拆并行。依据 ADR-0009(同批姊妹件;hc-dev 形态后由 ADR-0021 演进为编排式,本 skill 不变)。

① 何时用 / 何时不用

  • :手上有需求(PRD / 原型 / 用户故事,或用户当场口述),要把它落成技术设计(有对外接口再附接口契约);选型 / 接口怎么切 / 数据怎么存 这类方向性 / 不可逆 / 影响大 / 有明显取舍的设计决策需要拍板(低风险、有唯一合理解的细节由设计者自决,不逐个打断用户,见 ④ / ⑧)。
  • 不用产出需求走 hc-prd(那是上游);直接写代码 / 改 bug / 重构走 hc-dev(那是下游);产测试用例hc-test;纯控制面 / 文档 / 脚本改动。
  • 一句话边界:hc-tech-design设计,不写实现代码、不产需求、不写测试用例。

② 输入(需求来源不限 + 必读项目现状)

  • 需求来源不限:之前的 PRD(docs/prds/<id>/)、原型图、用户故事,或用户当场用别的方式说,都能当需求来源。缺需求来源就(仓内找)或用户,不假设(rule-0008)。
  • 必读项目资产 + 代码:设计前projects/<工程>/ 的真实代码与资产,基于现状设计、不凭空。要先知道现有的模块边界、数据模型、接口风格、技术栈,再在其上设计。
  • 进某目录读 / 动文件前,按启动顺序加载向上最近的 AGENTS.md / 先读该目录 README.md(就近规则)。

③ 怎么设计(交互推演,不可拆并行)

一条连贯对话,主 agent 当设计者,逐步推演、与用户来回收敛:

  1. 读现状:读需求来源 + projects/<工程>/ 真实代码与资产,摸清现有边界 / 数据 / 接口 / 技术栈。
  2. 提方案:基于现状提出设计草案——讲前因后果、不抽象:把"为什么这么设计、取舍是什么"讲清楚,不甩一堆结论让用户猜。
  3. 不确定就查 + 问,不静默假设(rule-0008):信息不足 →
    • :去事实源找(仓内代码 / 资产 / 正式文档);
    • :查不到就摆出来问用户,把不确定点显式列出来,绝不拿"已有信息 + 想要的结果"硬编。
  4. 决策点让用户拍(只升级方向性 / 不可逆 / 影响大 / 有取舍的)选型 / 接口怎么切 / 数据怎么存这类岔路,只有当它方向性 / 不可逆 / 影响大 / 有明显取舍时让用户拍板,不替用户定——把选项 + 各自取舍摆清楚,等用户点头;其余有唯一合理解 / 低风险的设计细节由设计者按现状自决、不逐个打断用户。无论用户拍的还是设计者自决的,决策都留痕进 design.md 第 ⑥ 段(选了什么 / 备选 / 为什么)。
  5. 收敛:把查 / 问 / 决策点逐个消解,直到全明确

真相源优先级(信息冲突时裁):① 用户当场直说 > ② 仓内现有代码 / 现状 > ③ 用户提交的外部材料(外部 / 粘贴材料先过 rule-0008 验收才算数)。

④ 产出门槛(全明确才落 + 用户审核门)

  • 全明确才落可执行方案:③ 的查 / 问 / 决策点把不确定消解干净全明确 + 用户审核通过,才落方案
  • 方案定稿必须可执行、零 TBD / 待确认:定稿里不留"待确认 / TBD / 看情况"段——还有没拍的,回 ③ 继续查 / 问,别带着窟窿落稿。
  • 落稿前 producer 自检("全明确"正面清单):逐条过——① 有接口必有数据模型(design.md ③ 数据模型对得上 ④ 接口);② 有写操作必有 ⑧ 业务码;③ 字段表无空格、无 TODO;④ ⑥ 每条决策有备选 + 取舍。任一不满足即未全明确,回 ③ 补。含糊措辞「合理处理 / 视情况 / 按需 / 暂定 / 待联调 / 后续优化 / TODO / 待补 / 留待实现」与残留 TBD 同级、算未消解,不许带进定稿。(此为设计者落稿前自查;判断层由 hc-tech-design-reviewer ⑤ 的正面清单复核,见 ⑥。)
  • 用户审核门:方案落稿要用户点头才算定稿(同 hc-prd 的确认门精神)。

Read the full file on GitHub · 83 lines

Changes

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.

  1. 7d ago First seen · 83 lines · 184 tokens per session scan A b3107f05cbaa

Subscribe to this mod's changes

hc-tech-design is a skill published in the GitHub repository harness-base/harness-control (22 stars, last pushed 1mo ago), licensed MIT. It adds 184 tokens to every session and 3,969 once invoked, about $0.0009 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.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

next-partial-prefetching-adoption

Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…

vercel/next.js · 103 tokens

chronicle

Analyze Copilot session history for standup reports, usage tips, session search, and session reindexing. Use when the user asks for a standup, daily summary, usage tips, workflow recommendations, wants to search or find past sessions by keyword/file/PR, wants to reindex their session store, or asks about deleting…

microsoft/vscode · 72 tokens

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…

openai/codex · 114 tokens