product-design
Skill2 starsChanged 3 months agoMITView on GitHub
把任何产品(Web / App / CLI / 库 / 更抽象的产品)从模糊想法收敛成「一个问题→一个输出→一个决定」的契约。当用户要定义新产品、设计功能、画界面、纠结要不要加某个功能、或说产品变臃肿了要瘦身时使用。
26 other projects use a version of this.
Adopted by
Most recently taken up by
- lklimek/claudiustheir own version, first seen Nov 8, 2026
- thensls/nsls-builder-toolkittheir own version, first seen Nov 8, 2026
- fracazo/design-systemtheir own version, first seen Nov 8, 2026
- lobehub/lobehubtheir own version, first seen Nov 5, 2026
- Cure-Consulting-Group/ProductEngineeringSkillstheir own version, first seen Nov 4, 2026
- MasihMoafi/skillstheir own version, first seen Nov 3, 2026
Used with
Projects with it also use ux-audit and i18n.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
shmehroSkillux-audit
Perform a heuristic UX audit on a UI screen, flow, or component description
Also in 3 projects that use this
lbednerSkilli18n
Use when a code or template change introduces a new translation message key, in either the framework CLI (aegis/i18n/locales/) or a generated project's CLI (the app/i18n/locales/ template tree). Covers adding the real English string, stubbing the same key into every other locale for parity, and the separate translation PR that later replaces placeholders with reviewed native text.
Also in 3 projects that use this
Other versions26 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 26
- lobehub/lobe-chat★ 84ksame name
- lobehub/lobehub★ 84ksame name
- alekspetrov/navigator★ 355same name
- qf-studio/navigator★ 355same name
- duyet/clickhouse-monitoring★ 303same name
- github/replica★ 230same name
- mblode/agent-skills★ 189same name
- chuhaiqu/skills★ 22same name
- vercel-labs/arcade★ 21same name
- yoyothesheep/claude-skills★ 16same name
16 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- AGENTS.mdAGENTS.md
- initSkill
- maintain-contextSkill
- record-decisionSkill
- ship-changeSkill
The file
Files
产品设计方法
唯一信条
产品是「问题被解决」之后自然沉淀的产物,不是起点。
设计的对象从来不是「做什么功能」,而是「回答什么问题」。任何功能开工前必须先改写成契约。
契约:动词 → 三行
每个功能只允许是这三行,超出即臃肿:
| 行 | 问题 |
| 1 | 它回答用户的哪个问题? |
| 2 | 它唯一输出是什么(一个数字 / 一张图 / 一个结果)? |
| 3 | 用户拿这个输出做哪个决定? |
答不出第 3 行 = 这个功能没有存在理由,写进 docs/roadmap.md 的「明确不做」,不写进产品。
形态无关:Web 的一屏、App 的一个页面、CLI 的一个命令、库的一个函数、抽象产品的一个环节,套的是同一个契约。变的只是「输出怎么呈现」,契约本身不变。
原则层
- 单一权威源:契约表是唯一权威,别处不重复定义同一个功能。重复定义 = 漂移的起点。
- 语义分层:界面只引用语义(「结论」「警示」「危险」),不写死样式值;消费方永远不碰原始值。
- 缺失 ≠ 要补:缺一个字段 / 颜色 / 功能,先用最接近的既有答案顶上,而不是加一个新的。补进来的东西要有「设计负责人批准」级别的理由。
- 责任分离:一个界面 / 环节只回答一个问题,不越界干别的。
- 例外走显式流程:想加任何东西,先写进
docs/roadmap.md的「明确不做」区,再走过滤问题决定要不要进产品。
方法层(每次迭代都执行)
外部基准(默认步骤,先于契约确认)
用户提出功能构想时,先做轻量市场基准,再确认契约三行:
- 问一句:同类成熟产品如何回答同一个问题(它的 问题→输出→决定)?国际 / 中文 / 开源各覆盖 1–2 个方向,定向检索。功能名只是检索词——先重写成三行让用户确认,再继续。检索不可用(离线 / 无网络)时,改问用户要 1–2 个他熟悉的同类产品代替;仍没有就跳过基准,并在契约备注里标注「基准未做」——基准是输入不是门禁。
- 收敛成参考:把「别人的 问题→输出→决定」压缩成一段外部基准(附来源),随契约落盘为一行备注。外部阈值与口径不可移植,只借鉴「回答了什么问题、输出了什么、驱动什么决定」的结构。
- 边界:不建研究账本、不做多路并行、不设交付格式门——基准是契约的输入,不是独立项目。
过滤问题(唯一的砍刀)
想加任何功能、字段、图表、按钮、命令、参数,先问一句:
它服务契约表里哪个决定?没有它,那个决定还做得出来吗?
- 答不上 → 写进
docs/roadmap.md的「明确不做」,不进产品。 - 做得出来 → 砍掉,它此刻就是臃肿。
- 做不出来 → 保留,它是刚需。
不需要 RICE、Kano、优先级框架来「排序」——排序是等它进来之后的事,砍刀只需要这一句。
结论前置
默认只显示「触发决定的那个结果」(结论数字),明细、图表、表格全部「点开才有」。臃肿几乎总是「把明细默认铺开」造成的。
显示导致决定的数字,不是原始数据。比如显示「储蓄率 38%」,而不是「年支出 20 万」——前者直接触发决定,后者还要用户心算。
「明确不做」仪式
每次想加东西,先写进 docs/roadmap.md 的「明确不做」区(有地方安放,不憋着),再走过滤问题:确认不要的留在该区;被判定为刚需的,从该区移进对应里程碑的功能表。这份清单同时是「想加的东西有去处」的安放处和「迷茫时的方向标」。
与 init 的协作
init 技能阶段 2(领域深挖)在项目形态是面向用户的产品时,应调用本技能做一次契约访谈,把收敛结果落进 docs/goals.md 和 docs/roadmap.md 的「明确不做」。本技能是独立技能,可单独调用,也可被 init 引用,两者各自演进。
反模式(这些写法等于没写)
- 用「以后可能用到」作为保留理由 → 直接砍。加回来的成本近零,方向错的成本不可逆。
- 为还不存在的需求预建字段 / 目录 / 接口 → 砍。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

