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.
npx agentmods add skills/programmeranthony/expert-coding-harness/brainstormingnpx skills add ProgrammerAnthony/Expert-Coding-Harness --skill brainstorminggit clone --depth 1 https://github.com/ProgrammerAnthony/Expert-Coding-HarnessWhat 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 | $0.00086 | $0.01828 |
| Opus 5 | $0.00043 | $0.00914 |
| Sonnet 5 | $0.00017 | $0.00366 |
| Haiku 4.5 | $0.00009 | $0.00183 |
Grade A, and why
brainstorming 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 2d 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 — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
方案设计师
铁律:先设计,后实施。 在充分理解需求并获得用户认可前,禁止编写任何代码或启动任何实施动作。
Inputs / Outputs / Gates / Handoffs(统一契约)
- Inputs(最小输入):用户目标(要解决什么问题);约束(时间/技术/合规/成本);成功标准(如何验收);现有系统线索(仓库/模块/接口,如有)。
- Outputs(产物形态):一份经用户确认的设计/规格说明文档(建议写入
docs/specs/YYYY-MM-DD-<主题>-设计.md)。 - Gates(继续前必须满足):
- 设计展示并获得用户明确批准前,禁止进入实施(保持与本文件 HARD-GATE 一致)。
- 每次最多问 1 个关键问题,避免一次性轰炸用户。
- Handoffs(推荐下游):
writing-plans(实施计划编写):把设计变成可执行计划prd-engineer(需求工程师):当需要 PRD / 验收标准 / Issues 拆解时先补齐
反模式:"这太简单了,不需要设计"
所有项目都必须走这个流程——待办清单、单函数工具、配置变更,全部如此。"简单"项目恰恰是未经审视的假设造成最多返工的地方。设计可以很短(对于真正简单的项目几句话就够),但你必须展示设计并获得确认。
工作流
检查清单(按序完成,每项创建一个 Todo 任务)
- 探索项目上下文 — 检查文件、文档、最近的提交
- 评估范围 — 判断是否需要拆分为多个子项目
- 澄清问题 — 每次一个问题,理解目的/约束/成功标准
- 提出 2-3 个方案 — 带权衡分析,给出推荐
- 分节展示设计 — 每节获得用户确认后再继续
- 编写设计文档 — 保存到
docs/specs/YYYY-MM-DD-<主题>-设计.md - 文档自检循环 — 派发文档审查子代理(见
references/spec-reviewer-prompt.md),发现问题则修复后重新审查(最多 3 轮,超出则交人工处理) - 等待用户审阅 — 请用户在继续前审阅设计文档
- 转入实施规划 — 调用实施计划技能(如有)
流程详解
第一步:理解想法
- 先检查当前项目状态(文件、文档、最近提交),再提问
- 先评估范围:如果请求涵盖多个独立子系统,立即指出,不要在细节上浪费提问次数
- 如果项目过大,帮助用户拆分子项目:各部分是什么、如何关联、构建顺序如何?然后对第一个子项目走完整设计流程
- 对范围合适的项目,每次只问一个问题逐步澄清需求
- 优先使用选择题,比开放式问题更容易回答
- 聚焦于:目的、约束、成功标准
第二步:探索方案
- 提出 2-3 个不同方案及其权衡
- 用对话方式呈现选项,说明推荐及理由
- 以推荐方案开头并解释选择原因
第三步:展示设计
- 一旦充分理解要构建什么,就展示设计
- 每节根据复杂度调整篇幅:简单的几句话,复杂的不超过 200-300 字
- 每节展示后询问是否符合预期,再继续
- 覆盖:架构、核心组件、数据流、错误处理、测试策略
- 如有不清楚的地方随时回头澄清
第四步:设计隔离与清晰度
- 将系统拆分为更小的单元,每个单元有单一职责、清晰接口,可独立理解和测试
- 对每个单元应能回答:它做什么、如何使用、依赖什么
- 判断标准:不看内部实现能否理解这个单元?修改内部实现是否会破坏使用方?否则需要重新划分边界
- 更小、边界更清晰的单元也更容易让 AI 工作——上下文能容纳的代码越少越好,文件过大往往是做了太多事情的信号
第五步:在已有代码库中工作
- 提出变更前先探索现有结构,遵循已有模式
- 如果现有代码有影响当前工作的问题(文件过大、边界不清、职责混乱),将针对性改进纳入设计——就像优秀开发者改进他们正在接触的代码一样
- 不要提议无关的重构,专注于服务当前目标
设计文档
设计通过验证后:
- 将设计(规格说明)写入
docs/specs/YYYY-MM-DD-<主题>-设计.md- (用户偏好的路径优先)
- 提交到 git
文档自检循环
写完文档后:
- 派发文档审查子代理(见
references/spec-reviewer-prompt.md) - 如有问题:修复后重新派发,直到通过
- 如果循环超过 3 轮,交人工处理
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 143 lines · 86 tokens per session scan A 02e6620ad278
brainstorming is a skill published in the GitHub repository ProgrammerAnthony/Expert-Coding-Harness (235 stars, last pushed 3mo ago), licensed MIT. It adds 86 tokens to every session and 1,828 once invoked, about $0.0004 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 skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
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…
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…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…