GitHub 两万四千 Star 开源技能:给编程 AI 立十条输出规矩,答案只许放第一行
⭐ MIT 开源免费i-have-adhd 是一个给编程 AI 用的输出规范技能(Agent Skill), 由开发者 ayghri 在 2026 年 5 月开源,采用 MIT 协议,目前已拿下约 2.4 万 Star、1500+ Fork。 它治的不是「AI 写不出代码」,而是「AI 写得出、但把答案埋在两百字里」——开场先夸你问得好, 中间科普一遍原理,真正能执行的那句话压在最后一行。
它的实现非常轻:核心就是一份 SKILL.md 规则文件,里面写了 10 条输出规矩 +
6 条例外情形 + 一份发送前自检清单。装上并显式呼出后,规则对当前会话的每一次回复持续生效,
不会聊几轮就失效;想让它恢复原样,跟它说一句 stop adhd mode 或 normal mode 即可。
它跟 Codex 的关系是「即插即用的输出层」:不改你的模型、不改你的工作流,只改它怎么把答案排版给你。 除 Codex 外,仓库还提供了 Claude Code、Gemini CLI、GitHub Copilot、Qwen Code、OpenCode、Zed、 Hermes、Kimi Code CLI、Pi 等十来种客户端的安装方式,规则文件是同一份。
skills/i-have-adhd/SKILL.mdINSTALL.md| 项目 | 说明 |
|---|---|
| 它管 | AI 回复的排版与表达:答案位置、步骤编号、列表长度、废话删除、报错语气、进度复述 |
| 它不管 | 代码质量、模型选择、工具调用逻辑——它不改 AI 的能力,只改 AI 的说法 |
| 形态 | 一份 SKILL.md(Agent Skill 规范)+ 各客户端的插件封装 |
| 触发方式 | Codex 里打 $i-have-adhd;Claude Code / Qwen Code 里打 /i-have-adhd |
| 生效范围 | 当前会话的每一次回复,直到你说 stop adhd mode |
| 永久生效 | 把规则段写进 ~/.codex/AGENTS.md(Codex)或用 SessionStart 钩子(Claude Code) |
| 协议 | MIT,可商用、可魔改、可二次分发 |
| 环境 | 要求 |
|---|---|
| 操作系统 | Windows / macOS / Linux 均可,跟着你的 AI 客户端走 |
| 必备 | 装好并已登录的 Codex CLI(或 Claude Code 等其他受支持客户端) |
| 插件支持 | Codex 需要支持 codex plugin 子命令的版本;命令报「unknown command」就先升级 CLI |
| 硬件 / 显存 | 无要求。它是纯文本规则,不跑模型、不吃显卡 |
| 网络 | 安装时需要能访问 GitHub;装完后规则在本地,离线也生效 |
| 额外依赖 | 无。不用装 Python 环境,也不用配 API Key |
$i-have-adhd 呼出 → 想永久生效就把规则段写进 AGENTS 文件。
全程不到两分钟,不用配任何环境。
先把仓库加成插件市场源,再从这个源装插件。在终端里执行:
codex plugin marketplace add ayghri/i-have-adhd --ref main
codex plugin add i-have-adhd@i-have-adhd
装完用这条确认它在列表里:
codex plugin list
agents/openai.yaml 里 policy.allow_implicit_invocation: false),
你不叫它,它就是关着的。很多人装完发现「没变化」,其实是这一步没做。
在 Codex 会话里输入下面这个词,规则立刻对本次会话的每一条回复生效:
$i-have-adhd
$i-have-adhd,
Claude Code 和 Qwen Code 才是 /i-have-adhd。
打了斜杠没反应,多半就是记成了另一家的写法。另外插件索引是启动时读的,
装完没出现在补全里就重启一次客户端。
每开一个新会话都要重新呼一次太麻烦。把下面这段写进 ~/.codex/AGENTS.md,
以后每次新会话自动带上核心规则(这段是仓库 INSTALL.md 里给的官方写法):
## Output style
The reader has ADHD. Shape every response so it can be acted on:
1. Lead with the answer or next action: command, path, or snippet first.
2. Number multi-step work; one bounded action per step.
3. End with one next action doable in under two minutes.
4. Finish the current issue before raising a new one.
5. Restate progress each turn ("step 3 of 5 done").
6. Give time estimates in concrete units, never "a bit".
7. After a change, show what now works.
8. Errors: state location, cause, and fix. No drama.
9. Cap lists at 5 items.
10. No preamble, no recaps, no closers.
Exceptions: explain fully when asked to explain. Confirm before destructive
actions. After three failed fixes, stop and name the doubtful assumption.
If the request is ambiguous, ask one short question.
中文环境想让它按中文习惯排版,可以把这段翻成中文再贴,规则本身照抄不变即可。
改报错、跑命令的时候开着最舒服;但让它讲架构、讲原理时,规则会把解释压得太短。 这时候直接说:
stop adhd mode
它会用一行确认,然后恢复默认风格。normal mode 也是同样效果。
另外规则本身留了例外:你明确要求「解释一下」「带我过一遍」时,它会完整讲,
只是依然不许有开场白和结尾客套。
用 Claude Code 的话,命令换成这两行,呼出用斜杠:
claude plugin marketplace add ayghri/i-have-adhd
claude plugin install i-have-adhd@i-have-adhd
Claude Code 还支持真正的「一劳永逸」:touch ~/.claude/.i-have-adhd-always
创建标记文件后,SessionStart 钩子会在每个会话的第一条消息就加载完整规则。
觉得十条里有几条不合胃口(比如不想要时间估算),Fork 仓库改
skills/i-have-adhd/SKILL.md,再把插件源换成你自己的仓库即可。
其实最省事的办法是压根不装它——直接把上面第 3 步那段规则抄进你自己的
AGENTS.md,效果一样。
| # | 规矩 | 具体要求 |
|---|---|---|
| 1 | 答案放第一行 | 第一句必须是能立刻做的动作。是命令、路径、代码就直接放最前,解释放后面或不放 |
| 2 | 多步骤必须编号 | 超过一步就写编号列表,每步一个动作,一步里不许出现两个「然后」;能省的步骤要省 |
| 3 | 结尾给一个具体动作 | 还有事没完,就指名一件两分钟内能做完的事,「先把文件打开」也算 |
| 4 | 不许跑题 | 发现第二个问题,先把第一个说完,再单独问一句要不要处理 |
| 5 | 每轮复述进度 | 不能假设你记得「现在在第几步」,每次都要重述状态 |
| 6 | 时间估算要具体 | 不许说「要花点时间」,要给「大约 15 分钟」这种量级 |
| 7 | 完成的事要看得见 | 说清现在什么功能能用了、怎么验证,不许把成果埋在总结里 |
| 8 | 报错平铺直叙 | 禁止「哎呀」「好像出了点问题」,直接给位置、原因、修法 |
| 9 | 列表最多五条 | 超过五条就拆成「现在做 / 以后做」,五条排好序胜过十条堆着 |
| 10 | 禁开场白禁复述禁客套 | 「问得好」「让我来…」「希望对你有帮助」「有需要随时叫我」全部禁用 |
六条例外情形(规则本身允许被打破的时候):
| 情形 | 怎么做 |
|---|---|
| 你要求「解释一下」 | 完整讲透,长度不限,但依然没有开场白和结尾客套 |
| 要执行危险操作 | rm -rf、强制推送、改表结构之前必须先确认,安全优先于简短 |
| 陷入调试死循环 | 连续三轮还是「没好」,停止改代码,点出可能错的假设,问一个诊断问题 |
| 需求真的有歧义 | 先问一个短问题,胜过猜错再重做 |
| 规矩会删掉答案本身 | 比如问「有哪些选项」,就给 2-4 个排序选项 + 一句权衡,推荐的放最前 |
| 规矩和平台冲突 | Agent 平台要求先声明工具调用时,听平台的,格式要求保留 |
SKILL.md 里专门写了「Persistence(持续性)」段落,
明确告诉模型「这些规则适用于本会话剩下的每一次回复,不因话题变化而失效,拿不准时就当它还生效」;
二是结尾有一份「发送前自检」清单,让模型在输出前主动删掉五类内容:宣告式的第一句、
问「还有别的吗」的最后一句、「顺便说一句」的岔开话题、没信息量的模糊副词、以及各种比喻套话。
九成是没呼出。Codex 里必须手动打 $i-have-adhd,它不会自己启动。
已经呼过还这样,就开一个新会话再试;仍然跑偏,说明你的提问太长太杂,
可以把规则段写进 AGENTS.md 让它常驻。
/i-have-adhd 没反应?
符号记错了。Codex 是 $ 开头,Claude Code / Qwen Code 才是 /。
另外补全列表是客户端启动时建的索引,刚装完需要重启一次。
区别在可持续和可验证。粘提示词换个会话就得重粘,聊几轮还会漂回去; 这份规则明确声明整个会话有效,而且给的是可验证的硬指标——答案在不在第一行、有没有编号、 列表是不是超过五条,这些一眼能查。「请简洁一点」查不了。
规则里留了六条例外专门防这个。你说「解释一下」「带我过一遍」时它会完整讲;
问「有哪些方案」时它会给 2-4 个选项而不是只给一条路。真觉得压太狠,
一句 stop adhd mode 就恢复原样。
不只。仓库的 INSTALL.md 里给了 Codex、Claude Code、Gemini CLI、GitHub Copilot、
Qwen Code、OpenCode、Zed、Hermes、Kimi Code CLI、Pi 等十来种客户端各自的安装方式,
底层是同一份 SKILL.md。Zed 和 OpenCode 甚至能原生读 Agent Skills,不用装插件。
完全可以,而且这是最省事的路。把上面第 7 节那十条(或第 3 步那段英文原文)
抄进你自己的 AGENTS.md / 项目规则文件,效果一样。MIT 协议允许你这么做。
不是,它在例外条款里(Debug spiral)。原文的意思是:如果连续三个回合都是「还是没好」, 就不要再改代码了,停下来点出那个可能站不住的假设,问一个诊断问题。 这条对省时间的帮助往往比那十条更大。
恰恰相反。它是纯文本规则,本身几乎不占篇幅,但会明显压短每次的回复长度。 回复短了,读的时间和产生的内容都少,长会话里这个差别会被不断放大。
作者在 README 里专门写了一句「不需要任何诊断」。它借的只是「小屏幕、短注意力下怎么排版才好读」 这套思路,作者说明是参考了一本相关工具书的方法,但改的是「AI 该怎么回话」,不是任何医疗建议。 实际用起来,它就是个输出格式规范。
MIT 协议,可商用、可修改、可再分发,保留版权声明即可。