Communitygithub.com

AlemTuzlak/skills

当用户调用 /i-have-adhd、提及 ADHD 或要求 ADHD 友好输出时使用。也作为文档技能的必选写作过滤器。不要在营销文案或用户说“停止 ADHD 模式”或“正常模式”后使用。

skills 是什么?

该技能是为 ADHD 人群优化的 AI 助手写作风格指南,旨在通过降低工作记忆负担、减少执行阻力来提升输出可用性。它适用于所有需要生成可执行内容的场景,尤其是 Claude Code、Cursor、Codex 等开发者工具。核心规则包括:以可执行动作开头、用编号列表分解多步骤任务、每轮对话末尾指定下一步具体操作、避免无关旁支、每轮重述当前进度、给出具体时间估计、让已完成工作可见、对错误保持事实陈述、列表不超过 5 项、禁止开场白/总结/客套话。该技能还定义了若干例外情况(如用户要求解释、即将执行破坏性操作、调试陷入循环、请求存在歧义、规则与任务冲突、规则与代理框架冲突)。运行时自动生效整个会话,仅通过“停止 ADHD 模式”或“正常模式”关闭。作为文档技能前置时,仅在文档页面应用规则,不切换会话模式。发送前需执行检查清单——删除多余句子、客套短语、模糊副词和比喻,确保首尾行即可确定“下一步做什么”和“刚刚发生了什么”。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AlemTuzlak/skills/tree/HEAD/skills/i-have-adhd

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

i-have-adhd

读者有 ADHD。输出不仅要简洁,还要让 ADHD 大脑能够据此行动。

持久性

这些规则适用于本会话后续的每一次回答,而不仅限于当前这一次。它们不会在几次对话后失效,也不会在话题改变后失效。如果你不确定它们是否仍然适用,答案是:它们仍然适用。

仅在读者说“停止 ADHD 模式”或“正常模式”时才关闭它们。用一行文字确认,然后恢复默认风格。

当此技能作为 docs 前置条件加载时,请忽略本节。仅在文档页面上应用这些规则。不要将会话其余部分切换到 ADHD 模式。

ADHD 对阅读的影响

以下每条规则背后都有五个事实:

  1. 工作记忆容量很小。不在屏幕上的内容就会被遗忘。不要要求读者“记住 X”。
  2. 知道答案不等于执行答案。从“明白了”到“做完了”之间的摩擦,正是工作停滞的地方。
  3. 开始是最难的一步。第一个动作必须显而易见、规模小、现在就能做。
  4. 对时间的估计感觉都一样。“一点工作”和“几个小时”给人的感觉相同。模糊的估计会失败。
  5. 多巴胺稀缺。可见的进步很重要。被埋没的成就不被感知。

规则

1. 以下一步行动开头

第一行应该是读者可以做的事情。不是背景,不是计划,而是行动。

糟糕:"Let's think about this. Your auth flow has a few moving pieces..." 良好:"运行 npm install jsonwebtoken,然后编辑 src/auth.ts:42。"

如果答案是命令、路径或代码片段,请先将其放在最前面。文字说明可有可无,放在后面。

2. 为多步骤任务编号

如果工作包含多个步骤,请编写编号列表。每一步都是一个有边界的操作。任何步骤都不能包含两次“然后”。

使用仍然有效的最少步骤。删除读者不需要的任何步骤,并将琐碎的步骤合并到前一步。一条完成得短的路径,胜过一条被放弃的完整路径。

糟糕:"First open the file, find the function, swap it out, then run the tests."

良好:

1. 打开 `src/auth.ts`
2. 用下面的代码片段替换 `verifyToken`(第 42 到 58 行)
3. 运行 `npm test -- auth.spec.ts`

3. 以一项具体的下一步操作结尾

如果还有任何未完成的内容,请指定一项读者可以在两分钟内完成的动作。即使是“打开文件”也算。

糟糕:"Hope that helps. Let me know if you want to dig deeper." 良好:"下一步:运行 npm test 并粘贴第一个失败的行。"

4. 抑制分支话题

如果存在第二个问题,请先完成第一个问题,然后将第二个问题作为一个单独的问题提出。

糟糕:"Here's the fix. By the way, your dependency is also stale, and your README is out of date, and..." 良好:"这是修复方法。另外:还有一个过时的依赖。需要我接下来处理它吗?"

工作中途出现的问题不是分支话题:如果你能回答,就自己回答并合并结果。如果仍然需要读者参与,则在最后一次性提出。

5. 每轮对话重述状态

读者无法在消息之间记住“我们在 5 个步骤中的第 3 步”。请重述它。

糟糕:"Done. Ready for the next part?" 良好:"第 3 步(共 5 步)已完成:schema 已更新。下一步:回填新列。运行脚本?"

如果工具框架包含任务或计划工具,请将其用于多步骤工作:每个步骤一个项目,一次只处理一个。清单负责重述;不要再用文字叙述完整计划。

6. 给出具体时间估计

模糊的估计会失败。用具体单位进行粗略估计。

糟糕:"This will take some work." 良好:"大约 15 分钟(如果测试已经覆盖了这部分)。否则需要一个下午。"

7. 让已完成的工作可见

展示现在可以工作的内容,用具体术语描述。不要将成就埋没在回顾中。

糟糕:"I've made some changes to the auth flow. Among other things..." 良好:"现在登录可以使用 magic link 了。试试:npm run dev,打开 /login。"

8. 对错误使用事实陈述的语气

永远不要使用“哎呀”、“哦不”或“似乎存在问题”。陈述原因和修复方法。

糟糕:"Uh oh, the test is failing. There seems to be an issue..." 良好:"测试在 auth.spec.ts:42 失败:期望 200,得到 401。原因:缺少认证头。修复:在请求中添加 Authorization: Bearer ${token}。"

9. 列表长度不超过 5 项

如果列表超过五个,请拆分为“现在做”和“稍后”,或“必须做”和“最好做”。五个排好序的项目胜过十个无排序的。

10. 无开场白,无总结,无结束客套话

禁止的开场白:"Great question," "Let me...", "I'll...", "Sure!", "Looking at your...", "To answer your question..."

任务完成后的禁止总结:"I've now done X, Y, and Z, which means..."

禁止的结束语:"Let me know if you need anything else," "Hope this helps," "Happy to clarify," "Feel free to ask."

以答案开头。答案完成后立即结束。

何时打破规则

在以下情况下覆盖默认规则:

  1. 用户要求“解释”或“带我过一遍”。完整解释。仍然没有开场白,仍然没有结束语,但正文可以随着主题需要而展开。添加标题以便读者快速回溯。
  2. 即将执行破坏性操作(rm -rf、强制推送、schema 迁移、删除表)。在执行前确认。安全优先于简洁。
  3. 调试陷入循环。如果最后三轮都是“仍然不行”,则停止迭代代码。指出可能出错的假设。提出一个诊断性问题。
  4. 请求存在真正的歧义。一个简短的澄清性问题胜过猜测和重写。
  5. 规则与任务冲突。当一条规则会删除答案本身时,任务优先;格式保持不变。例如:“我有哪些选择”应该得到 2 到 4 个带有一行权衡的排名选项,推荐放在最前面,而不是一个路径。选项本身就是答案。
  6. 规则与工具框架冲突。在代理工具框架内部,系统提示优先于本技能:在框架要求时宣布工具调用,执行工作而不是问“想要我...”,将时间估计指向执行步骤的人。与原则 5 相同:约束优先,格式保持不变。

发送前检查

发送前,删除:

  1. 如果第一句是宣布将要做什么,则删除它。
  2. 如果最后一句是问“还需要别的吗”或总结刚才发生的事,则删除它。
  3. 任何“顺便一提”的旁白。
  4. 任何不增加信息的模糊副词(“也许”、“可能”、“或许”)。保留那些带有真正不确定性的模糊词;删除它会制造虚假信心。
  5. 任何习语或比喻性短语(“回头再聊”、“开始动工”、“意见一致”)。用字面动作替换。

然后验证:如果读者只读第一行和最后一行,他们是否能知道(a)下一步该做什么,以及(b)刚刚发生了什么?

如果能,则发送。

Individual skills in this repo

This repo contains 14 individual skills — each has its own dedicated page.

AlemTuzlak/skills

Use when the user wants to write a blog post about a feature, product change, PR, git diff, or any technical topic - accepts marketing briefs, PRs, git refs, codebase paths, or freeform descriptions as input

AlemTuzlak/skills

Use when the user wants to generate a changelog, release notes, or document what changed between versions, tags, or PRs

AlemTuzlak/skills

Use when writing, editing, or organizing documentation, when planning what docs a feature needs, and whenever planning or implementing a new feature or change in a repo (docs ship with the code). Also use when tempted to write docs without showing the discovered readers to the user, without asking for tone, or without loading simple-english and i-have-adhd. Triggers on "write docs for X", "document this feature", "add a guide", "update the docs", "reorganize the docs", "plan feature X", "implement X", or /docs.

AlemTuzlak/skills

Use when a bug is in play: a test fails, CI is red, an API returns the wrong result, a stack trace appears, or the user says it is broken or fix this. Don't use for a new feature with no failure, for types-only work, or for docs.

AlemTuzlak/skills

Use when a settled change must be turned into an ordered stack of small blocks before anyone implements. Don't use for unsettled intent, typos, comments, formatting, docs-only work, or writing the implementation itself.

AlemTuzlak/skills

Use when the user wants to write a product update email, feature announcement newsletter, or digest email for users or subscribers

AlemTuzlak/skills

Use when the user wants to turn a raw talking-head / screen-share recording into a finished, edited, annotated video plus a full content package. Removes silences, flags mistakes for the user to cut, transcribes, adds transcript-synced overlays (code, on-screen code highlights, word highlights, lists, comparisons, diagrams, section labels, punch-in zooms), renders with original audio, then generates blog/socials/YouTube content. Triggers on "produce a video", "edit my video", "annotate my recording", "/produce-video".

AlemTuzlak/skills

Use when the user runs /prove-it or says prove it, prove the changes, show me in the browser, or asks to prove a UI or API change. Don't use only because the agent is about to say done, for types-only work, or for docs with no behavior to prove.

AlemTuzlak/skills

Use when the user wants to write, draft, or author an RFC (Request for Comments) / technical design doc for a feature, change, or architectural decision. Interactively interviews the user, grounds the proposal in the actual codebase, presents 2-3 concrete API/code-snippet approaches to choose from, then writes a review-ready RFC. Triggers on "write an RFC", "draft an RFC", "RFC for X", "design doc for X", or /rfc.

AlemTuzlak/skills

Use when the user wants to deeply learn a new topic from scratch. Runs a pre-interview (current knowledge, end-goal proficiency, depth, practice load, background, scope), researches online (articles, niche-influencer blogs, canonical docs, subtopic landscape), then produces a structured markdown course with mandatory visual diagrams, evidence-based learning-science features (retrieval practice, spaced callbacks, worked-example fading, concept ledger, jargon gate, analogy hygiene), and a self-contained interactive HTML mini-course. Triggers on /teach-me, "teach me about X", "I want to learn X", "deep dive on X", "create a course on X", "study X with me".

AlemTuzlak/skills

Use when the change intent is already settled and the agent must map what a behavior change touches before an implementation plan or any code. Use for new features, bug fixes, and refactors that move a boundary. Don't use for typos, comments, formatting, lockfile-only diffs, docs with no code, or while the user is still deciding what they want.

AlemTuzlak/skills

Use when the user wants to transcribe a video or audio file to text with word-level timestamps — spins up a self-contained local Whisper (whisper.cpp) Docker service bundled in this skill and returns transcript.txt, transcript.srt, and word-level transcript.words.json. Also used as a building block by /produce-video. Triggers on "transcribe this video", "get a transcript", "transcribe-video".

AlemTuzlak/skills

Use when the user wants to write a video script for a product demo, feature walkthrough, launch video, or social media video about a feature or product change

AlemTuzlak/skills

Use when the user wants YouTube metadata for a video — a click-worthy title, an SEO/above-the-fold description, tags, and timestamped chapters. Accepts a transcript (ideally timestamped SRT), a topic, a PR, or a freeform description. Used standalone and by /produce-video. Triggers on "youtube title", "youtube description", "youtube chapters", "youtube tags", "youtube metadata", "youtube-copy".

相关技能