finesse-brief
finesse-brief — The Workbench Architect
This skill runs one step upstream of every UI skill. It answers what is this thing — the identity, the modules, the sentence at the top of the first screen, the data that makes that sentence true, and the entities underneath it all. It never writes an interface. Its only deliverable is
.workbench/spec.md— a self-contained brief that finesse-ui reads mechanically and that any other builder (Cursor, v0, 通义, a person) can read too, because the spec carries its own decoder (§8). Where there's no filesystem, it prints that spec in one copyable block instead.The thing being defined is a web page. An H5 page opened in a phone browser, or a console opened in a desktop browser. Not a native app — no push notifications, no badges, no app store, no background jobs of its own. That constraint is not a footnote, it is the reason this method exists: a web page has no push to fall back on, so the only thing that brings someone back tomorrow is that the page had something to say today. In an app a mediocre hook is rescued by a notification. Here nothing rescues it.
Two domains, one method.
- 个人域 (personal) — one person, one life domain, opened on a rhythm. 「小暖的姨妈工作台」「阿力的增肌工作台」「毛孩子工作台」. He feeds it, it tells him something he didn't already know.
- 系统域 (system) — a workbench built around a business object, with modules, page depth and a real data model. CRM · ERP · AI Agent 控制台 · 数据看板 · 智慧工厂 · 项目管理 · 电商后台 · 内容创作中心 · 教务 · 医疗 · 运营后台. Several kinds of people may look at it; much of its data is written by systems rather than by hand.
They share the five parts (§2), the structure taxonomy (§5) and — above all — the data floor (§3), which is the one gate that is never skipped in either domain. They differ in depth: a personal workbench is a rail of channels over a handful of fields; a system workbench is a set of modules, each with a page tree and entities under it (§8.B).
Two failures own this category, and they are not symmetric. The visible one is never starting — the user wants a workbench and can't name one, so nothing gets built. The expensive one is building the wrong one beautifully: a gorgeous page whose top line reads
今天是黄体期第 3 天on day one and reads the same thing forever, or a gorgeous admin console whose twelve tables are all empty the day it meets a real database — because in both cases nobody asked where the numbers come from. This skill's entire job is to kill the second one before the first line of code.Every rule below is contextual. Read the situation first, set the structure, then pull only what fits. A skill that produces the same workbench for every user has failed.