Commit 81036c887c33ff5cc973ab9be0acf2ccc1472fbf
1 parent
07b660e5
新增 quick-ui:前端小功能快速通道(已有页面局部小交互,不重跑 coding)
与 quick-field 成对:纯前端直改 frontend/(lint/类型检查 + grep 自检, 不起栈、不跑行为门/e2e),可见布局变化同步 prototype/、按需更新 docs/08 §三 FE 行文字,台账重基线但绝不作废 req-done/milestone tag——前端阶段 不重跑。硬边界:只消费 docs/05 既有端点、不新增页面/路由/FE 行,超界 回落 /add-req。 同步:docs/08 §四 标题泛化为「微改待验清单(quick-field / quick-ui)」 两通道共用(quick-ui 含旧标题迁移指令);quick-field/add-req 分流提示 互指;plugin.json 注册(10→11 skill);README 目录树/入口表(4→5)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Showing
5 changed files
with
153 additions
and
10 deletions
.claude-plugin/plugin.json
| 1 | 1 | { |
| 2 | 2 | "name": "erp-workflow", |
| 3 | - "description": "ERP 项目全流程框架:阶段 A 计划(plan-start 入口 + A0~A5 共 6 个 skill + 增量需求入口 add-req + 字段微改快速通道 quick-field + B 阶段瘦入口 coding-start = 10 个 skill;plan-start 终结闸 4 项前移硬校验;add-req 经 req-ledger 哈希台账识别后续新增/变更需求只跑增量;quick-field 对「加列 + 界面呈现」保 SSoT 跳流程、不重跑 coding) + 阶段 B 编码(单个静默 Workflow 脚本 coding.mjs,子代理自动跑后端+前端功能循环、测试闸门、本地里程碑 tag)。", | |
| 3 | + "description": "ERP 项目全流程框架:阶段 A 计划(plan-start 入口 + A0~A5 共 6 个 skill + 增量需求入口 add-req + 微改快速通道 quick-field/quick-ui + B 阶段瘦入口 coding-start = 11 个 skill;plan-start 终结闸 4 项前移硬校验;add-req 经 req-ledger 哈希台账识别后续新增/变更需求只跑增量;quick-field 对「加列 + 界面呈现」、quick-ui 对「已有页面纯前端小交互」保 SSoT 跳流程、不作废 tag、不重跑 coding) + 阶段 B 编码(单个静默 Workflow 脚本 coding.mjs,子代理自动跑后端+前端功能循环、测试闸门、本地里程碑 tag)。", | |
| 4 | 4 | "version": "0.3.0", |
| 5 | 5 | "skills": [ |
| 6 | 6 | "./skills/plan/plan-start", |
| ... | ... | @@ -12,6 +12,7 @@ |
| 12 | 12 | "./skills/plan/downstream-gen", |
| 13 | 13 | "./skills/plan/add-req", |
| 14 | 14 | "./skills/plan/quick-field", |
| 15 | + "./skills/plan/quick-ui", | |
| 15 | 16 | "./skills/coding/coding-start" |
| 16 | 17 | ] |
| 17 | 18 | } | ... | ... |
README.md
| ... | ... | @@ -119,7 +119,7 @@ Claude Code 插件:ERP / 后端管理系统全流程开发框架。 |
| 119 | 119 | ``` |
| 120 | 120 | erp-workflow-plugin/ |
| 121 | 121 | ├── .claude-plugin/ |
| 122 | -│ └── plugin.json # 插件清单,显式列出 10 个 skill 路径 | |
| 122 | +│ └── plugin.json # 插件清单,显式列出 11 个 skill 路径 | |
| 123 | 123 | ├── README.md # 本文档 |
| 124 | 124 | ├── workflows/ |
| 125 | 125 | │ └── coding.mjs # 阶段 B:整个编码阶段编排为单个静默 Workflow |
| ... | ... | @@ -132,7 +132,7 @@ erp-workflow-plugin/ |
| 132 | 132 | ├── agents/ |
| 133 | 133 | │ └── code-reviewer.md # 统一 reviewer(coding.mjs review stage 调用,phase 选维度集) |
| 134 | 134 | └── skills/ # 按阶段分组(slug 不变,由 SKILL.md frontmatter name 决定) |
| 135 | - ├── plan/ # 阶段 A:9 个 skill(入口 + A0~A5 + 增量入口 + 微改通道) | |
| 135 | + ├── plan/ # 阶段 A:10 个 skill(入口 + A0~A5 + 增量入口 + 微改通道×2) | |
| 136 | 136 | │ ├── plan-start/ # A 阶段入口 + Plan 终结硬闸 |
| 137 | 137 | │ ├── project-init/ # A0 |
| 138 | 138 | │ ├── scope-lock/ # A1 |
| ... | ... | @@ -141,14 +141,15 @@ erp-workflow-plugin/ |
| 141 | 141 | │ ├── db-init/ # A4 |
| 142 | 142 | │ ├── downstream-gen/ # A5(含前端 FE 清单推导,原 A6 已并入) |
| 143 | 143 | │ ├── add-req/ # 增量需求入口(Plan 完结后追加/修改需求,经 req-ledger 哈希台账只跑增量) |
| 144 | - │ └── quick-field/ # 字段微改快速通道(加列 + 界面呈现:保 SSoT 跳流程,不作废 tag、不重跑 coding) | |
| 144 | + │ ├── quick-field/ # 字段微改快速通道(加列 + 界面呈现:保 SSoT 跳流程,不作废 tag、不重跑 coding) | |
| 145 | + │ └── quick-ui/ # 前端小功能快速通道(已有页面局部小交互,只消费既有端点:直改 frontend/,不作废 tag、不重跑 coding) | |
| 145 | 146 | └── coding/ # 阶段 B:1 个 skill(瘦入口) |
| 146 | 147 | └── coding-start/ # 启动 workflows/coding.mjs |
| 147 | 148 | ``` |
| 148 | 149 | |
| 149 | -## Skill 清单(10 个) | |
| 150 | +## Skill 清单(11 个) | |
| 150 | 151 | |
| 151 | -### 入口(4 个) | |
| 152 | +### 入口(5 个) | |
| 152 | 153 | |
| 153 | 154 | | Skill | 作用 | 谁调用 | |
| 154 | 155 | |---|---|---| |
| ... | ... | @@ -156,6 +157,7 @@ erp-workflow-plugin/ |
| 156 | 157 | | `coding-start` | **B 阶段瘦入口**(`allowed-tools: Read Glob Workflow Bash(git ...)`)。校验 Plan 完成态(docs/08 § 一 全勾)+ 取得 projectRoot(git 就绪由 coding.mjs runBranchSetup 在运行时把守)→ 读 docs/08 § 二/§ 三 + `git tag -l 'milestone/*'` 概述阶段进度(Workflow Router 再用 `req-done/*` 判定功能级 resume)→ 若有 `docs/superpowers/RESUME.md` 则读末尾条目复盘上次 halt 原因/待跑模块 → 调用 `Workflow({scriptPath:"${CLAUDE_PLUGIN_ROOT}/workflows/coding.mjs", args:{projectRoot}})` 启动整个编码阶段 → 告知"已在后台启动" | **用户手动** `/erp-workflow:coding-start` | |
| 157 | 158 | | `add-req` | **增量需求入口**(Plan 完结后追加 / 修改需求时用)。`node lib/req-ledger.mjs scan` 用内容哈希台账(`.req-ledger.json`)识别 docs/01 REQ 卡片 + docs/08 §三 FE 行的**新增 / 变更**;只对增量做 **A3-delta**(写新 `V_n` migration + 同步 docs/03,**绝不改 V1**)+ **A5-delta**(补 docs/05 端点 / docs/02 顺序 / docs/08 模块行 / FE 行),并 `git tag -d` 作废**变更**单元已有的 `req-done/*`(及所属 `milestone/*`,复位 docs/08 里程碑字段),使 coding.mjs Router 只重跑增量。首跑无台账则先建基线。 | **用户手动** `/erp-workflow:add-req` | |
| 158 | 159 | | `quick-field` | **字段微改快速通道**(已完成需求追加纯展示/录入字段时替代 add-req 全流程)。保 schema SSoT 不缩水(`V_n` ALTER + docs/03 同步 + validate-ddl fail-closed),后端/前端代码由主会话直改(grep 清单 + 轻量编译/lint 自检),台账 `req-ledger commit` 重基线但**绝不作废任何 req-done/milestone tag**——Router 视一切已完成,不重跑 coding.mjs(不冷起栈、不跑测试门/行为门)。代价是字段未过行为验收:登记到 docs/08 §四 待验清单,攒批人工验收。仅限追加式 ADD COLUMN(可空/带 DEFAULT)+ 既有链路多带一个字段;超界即停下回落 `/add-req`。 | **用户手动** `/erp-workflow:quick-field` | |
| 160 | +| `quick-ui` | **前端小功能快速通道**(quick-field 的姊妹通道,已完成页面追加局部小交互时替代 add-req)。代码由主会话直改 `frontend/`(lint/类型检查 + grep 自检,不起栈、不跑行为门/e2e),可见布局变化同步 `prototype/`、按需更新 docs/08 §三 FE 行文字,台账 `req-ledger commit` 重基线但**绝不作废任何 tag**——前端阶段不重跑。待验条目登记 docs/08 §四。硬边界:纯前端、只消费 docs/05 既有端点、不新增页面/路由/FE 行;超界即停下回落 `/add-req`。 | **用户手动** `/erp-workflow:quick-ui` | | |
| 159 | 161 | |
| 160 | 162 | ### Plan 阶段 A skill(A0~A5,共 6 个) |
| 161 | 163 | ... | ... |
skills/plan/add-req/SKILL.md
| ... | ... | @@ -13,7 +13,7 @@ allowed-tools: Read Write Edit Grep Glob AskUserQuestion Bash(node *) Bash(git * |
| 13 | 13 | |
| 14 | 14 | > 用法约定:先**人工**在 `docs/01-需求清单/` 里把新 REQ 卡片写好(真实业务内容,同 A1 填法)或修改已有卡片,再运行 `/erp-workflow:add-req`。本 skill 负责「识别 + 下游生成 + 作废过期完成标记」,不替你写业务需求本身。 |
| 15 | 15 | > |
| 16 | -> **微改分流**:若只是给已有表**追加一个纯展示/录入字段**(ADD COLUMN + 界面呈现,不改业务逻辑/端点),走 `/erp-workflow:quick-field` 更快——保 schema SSoT 但不作废 tag、不重跑 coding.mjs。语义变更 / 新端点 / 类型变更仍走本 skill。 | |
| 16 | +> **微改分流**:若只是给已有表**追加一个纯展示/录入字段**(ADD COLUMN + 界面呈现,不改业务逻辑/端点),走 `/erp-workflow:quick-field`;若只是**已有页面加个纯前端小交互**(只消费既有端点,不新增页面/路由),走 `/erp-workflow:quick-ui`。两者都保 SSoT 但不作废 tag、不重跑 coding.mjs。语义变更 / 新端点 / 新页面 / 类型变更仍走本 skill。 | |
| 17 | 17 | |
| 18 | 18 | `<root>` = 项目根(含 `docs/`、`config-vars.yaml`、`sql/`、`.git`)。`${CLAUDE_PLUGIN_ROOT}` = 插件根。 |
| 19 | 19 | ... | ... |
skills/plan/quick-field/SKILL.md
| ... | ... | @@ -31,7 +31,7 @@ allowed-tools: Read Write Edit Grep Glob AskUserQuestion Bash(node *) Bash(git * |
| 31 | 31 | 4. **前端仅展示/录入**:列表列、详情项、表单项;不新增页面/路由/交互流程。 |
| 32 | 32 | 5. **字段归属某个已完成的 REQ**(有 `req-done/<id>` tag 或所属模块已打 milestone)。尚未编码的 REQ 直接改它的卡片走正常流程即可,轮不到本 skill。 |
| 33 | 33 | |
| 34 | -超界示例(一律停下,打印原因 + 建议走 `/erp-workflow:add-req` 或人工方案):改列类型、字段带联动校验、需要新查询接口、需要迁移回填存量数据、新页面。 | |
| 34 | +超界示例(一律停下,打印原因 + 建议走 `/erp-workflow:add-req` 或人工方案):改列类型、字段带联动校验、需要新查询接口、需要迁移回填存量数据、新页面。**纯前端小交互**(不涉 schema)→ 走姊妹通道 `/erp-workflow:quick-ui`。 | |
| 35 | 35 | |
| 36 | 36 | ## 步骤 0:前置检查(全过才继续) |
| 37 | 37 | |
| ... | ... | @@ -109,10 +109,10 @@ node ${CLAUDE_PLUGIN_ROOT}/lib/req-ledger.mjs commit <root> |
| 109 | 109 | |
| 110 | 110 | ## 步骤 6:待验登记 |
| 111 | 111 | |
| 112 | -`Read` `docs/08-模块任务管理.md`:末尾若无 `## 四、quick-field 待验字段` 小节则追加创建,然后登记一行: | |
| 112 | +`Read` `docs/08-模块任务管理.md`:末尾若无 `## 四、微改待验清单(quick-field / quick-ui)` 小节则追加创建,然后登记一行: | |
| 113 | 113 | |
| 114 | 114 | ``` |
| 115 | -- [ ] <YYYY-MM-DD> <table>.<column>(<REQ-id>;<展示/录入>)——未过测试门/行为门,待人工点验或随下次正规需求批量验收 | |
| 115 | +- [ ] <YYYY-MM-DD> <table>.<column>(<REQ-id>;quick-field <展示/录入>)——未过测试门/行为门,待人工点验或随下次正规需求批量验收 | |
| 116 | 116 | ``` |
| 117 | 117 | |
| 118 | 118 | (该小节位于 §三 之后,`req-ledger` 的 FE 行解析在下一个 `##` 处截断,不影响台账哈希。)验收完成后由人工勾选。 | ... | ... |
skills/plan/quick-ui/SKILL.md
0 → 100644
| 1 | +--- | |
| 2 | +name: quick-ui | |
| 3 | +description: 前端小功能快速通道——给已完成的页面追加局部小交互(按钮/筛选/排序/格式化等,只消费 docs/05 已有端点)时替代 add-req 全流程。代码由主会话直改 frontend/(不起 coding.mjs、不跑行为门/e2e),原型与 docs/08 §三 FE 行文字按需同步,台账 req-ledger 重基线但绝不作废 req-done/milestone tag,Router 视一切已完成不重跑前端阶段。涉及后端/新页面/新路由即停下回落 /add-req。与 quick-field(加列+呈现)成对。 | |
| 4 | +user-invocable: true | |
| 5 | +allowed-tools: Read Write Edit Grep Glob AskUserQuestion Bash(node *) Bash(git *) Bash(ls *) | |
| 6 | +--- | |
| 7 | + | |
| 8 | +**所有输出必须使用中文。** | |
| 9 | + | |
| 10 | +# quick-ui — 前端小功能快速通道 | |
| 11 | + | |
| 12 | +用于**前端阶段已打 `milestone/frontend-phase`** 之后的最小前端改动形态:在已完成的页面上追加一个局部小功能。与姊妹通道的分工: | |
| 13 | + | |
| 14 | +| 改动形态 | 走哪个 | | |
| 15 | +|---|---| | |
| 16 | +| 加列 + 界面展示/录入 | `/erp-workflow:quick-field` | | |
| 17 | +| 已有页面加局部小交互(纯前端) | **本 skill** | | |
| 18 | +| 新需求 / 新端点 / 新页面 / 语义变更 | `/erp-workflow:add-req`(正规通道) | | |
| 19 | + | |
| 20 | +> 速度来自跳过前端阶段重跑(Preview 截图门 / 前端功能循环 / 行为门起全栈 / 全量 e2e),代价是**该功能未过行为验收**——步骤 6 登记待验,起栈后人工点一下。 | |
| 21 | + | |
| 22 | +`<root>` = 项目根(含 `docs/`、`frontend/`、`prototype/`、`.git`)。`${CLAUDE_PLUGIN_ROOT}` = 插件根。 | |
| 23 | + | |
| 24 | +## 适用边界(硬门,任一不满足即停下回落 add-req) | |
| 25 | + | |
| 26 | +1. **纯前端**:不写 `backend/` / `sql/` / `scripts/` 任何文件,不需要 schema 变化。 | |
| 27 | +2. **只消费既有端点**:功能所需数据/操作在 `docs/05-API接口契约.md` 已有端点上齐备(`Grep` 确认);需要新端点或改既有端点语义 → 回落 add-req。 | |
| 28 | +3. **不新增页面/路由**:改动局限在既有页面/组件内部(新增子组件文件可以,新增 router 条目不行)。 | |
| 29 | +4. **归属某个已完成的 FE 行**(docs/08 §三 已有 `FE-NN` 且 `req-done/FE-NN` tag 存在)。**绝不新增 FE 行**——新增 FE 行是新功能单元,走 add-req。 | |
| 30 | +5. **交互局部、低风险**:按钮/筛选/排序/格式化/展开折叠/复制导出这类;涉及跨页面状态、权限逻辑、提交链路语义变化 → 回落 add-req。 | |
| 31 | + | |
| 32 | +超界示例(一律停下,打印命中条目 + 建议走 `/erp-workflow:add-req`):需要后端新查询、新页面、新路由、改表单提交语义、跨页面联动。 | |
| 33 | + | |
| 34 | +## 步骤 0:前置检查(全过才继续) | |
| 35 | + | |
| 36 | +1. **Plan 已完结**:`Read` `docs/08-模块任务管理.md § 一`,存在任一 `- [ ]` 未勾 → 停下提示先跑 `/erp-workflow:plan-start`。 | |
| 37 | +2. **coding.mjs 未在运行**:向用户确认没有 Coding Workflow 在后台跑。在跑 → 停下等它结束。 | |
| 38 | +3. **工作树干净**:`git -C <root> status --porcelain` 为空。不干净 → 停下提示先处理。 | |
| 39 | +4. **台账干净(关键)**: | |
| 40 | + ``` | |
| 41 | + node ${CLAUDE_PLUGIN_ROOT}/lib/req-ledger.mjs scan <root> | |
| 42 | + ``` | |
| 43 | + - `ledgerExists: false` → 停下提示先跑一次 `/erp-workflow:add-req` 建基线。 | |
| 44 | + - `new[]` / `changed[]` / `removed[]` 须**全空**(`changed` 仅含本次目标 FE 行(kind=fe)和/或 `__prototype__`(kind=proto)时放行——用户可能已先手改了 FE 行文字或原型)。存在其他待处理增量 → **停下**:步骤 5 的 `req-ledger commit` 是全量重基线,会把它们悄悄吞进基线、add-req 永远检测不到。提示先跑 `/erp-workflow:add-req` 清账再来。 | |
| 45 | + | |
| 46 | +## 步骤 1:收集改动意图 + 边界判定 | |
| 47 | + | |
| 48 | +从用户输入(或 `AskUserQuestion`)明确: | |
| 49 | + | |
| 50 | +- **目标页面/组件**与**功能描述**(做什么、放哪、触发后发生什么); | |
| 51 | +- **归属 FE 行**:`Grep` `docs/08 §三` 按功能名/页面定位 `FE-NN`;多命中或零命中 → `AskUserQuestion` 让用户指定; | |
| 52 | +- **数据来源**:`Grep` `docs/05` 确认所需端点已存在(边界 2 的证据)。 | |
| 53 | + | |
| 54 | +随后对照适用边界逐条判定,**任一超界立即停下**(打印命中条目),不做任何写操作。 | |
| 55 | + | |
| 56 | +## 步骤 2:原型同步(按需) | |
| 57 | + | |
| 58 | +原型(`prototype/**/*.html`)是前端布局/页面/交互的权威。若本功能带来**可见的布局/控件变化**(新按钮、新筛选控件等)→ `Edit` 对应原型页面同步加上(静态呈现即可,无需真交互逻辑);纯行为变化(如点击已有按钮的新反馈)可不动原型。 | |
| 59 | + | |
| 60 | +> 改了原型 → `__prototype__` 哈希变化,由步骤 5 重基线吸收;**绝不**因此删任何 `req-done/FE-*` / `milestone/frontend-phase` tag——那是 add-req 的语义(整个前端重跑),恰是本 skill 要避免的。 | |
| 61 | + | |
| 62 | +## 步骤 3:代码直改 + 轻量自检 | |
| 63 | + | |
| 64 | +**改代码**(`Grep` 在 `frontend/` 定位目标组件;分层/状态管理/请求封装遵循 `docs/04-技术规范.md § 二`,组件选型对齐 § 零 `frontend.ui_lib`,色值用 `src/styles/tokens.css` 的 token): | |
| 65 | + | |
| 66 | +- 在既有页面/组件内实现该功能;请求走项目既有的请求封装调 docs/05 已有端点。 | |
| 67 | +- **不写** `backend/` / `sql/` / router 新条目——写到一半发现绕不开即停,回落 add-req(已写的前端改动 `git checkout` 丢弃)。 | |
| 68 | + | |
| 69 | +**轻量自检(必做,不搭测试 harness、不起栈)**: | |
| 70 | + | |
| 71 | +1. **grep 清单**:新增控件文案/函数名/端点调用在目标组件内逐一 `Grep` 确认落位;确认没碰 `backend/`/`sql/`(`git status` 复核改动全在 `frontend/` + `prototype/` + docs)。 | |
| 72 | +2. **语法/类型门(若命令轻量)**:docs/04 § 零 有前端 lint / 类型检查命令(如 lint script、`vue-tsc`)则跑一次,红了就修;该组件若有既有 vitest 单测且能按文件过滤,可顺带跑**该文件**;**不跑**全量测试 / e2e / 行为门。 | |
| 73 | + | |
| 74 | +## 步骤 4:FE 行文字同步(按需) | |
| 75 | + | |
| 76 | +若新功能值得体现在功能清单里(对后续维护者有信息量)→ `Edit` `docs/08 §三` 该 `FE-NN` 行的功能描述文字(**改文字,不新增行、不动 checkbox**)。琐碎改动可不改。 | |
| 77 | + | |
| 78 | +改了行文字 → 该 FE 单元哈希变化,由步骤 5 重基线吸收。 | |
| 79 | + | |
| 80 | +## 步骤 5:台账重基线(绝不作废 tag) | |
| 81 | + | |
| 82 | +仅当步骤 2/4 改动了 `prototype/` 或 docs/08 §三 FE 行(否则台账无变化,跳过本步): | |
| 83 | + | |
| 84 | +``` | |
| 85 | +node ${CLAUDE_PLUGIN_ROOT}/lib/req-ledger.mjs scan <root> | |
| 86 | +``` | |
| 87 | + | |
| 88 | +复核输出:`changed` **仅含**本次目标 FE 行和/或 `__prototype__`,`new`/`removed` 为空(步骤 0 已保证,此处防中途意外)。确认后: | |
| 89 | + | |
| 90 | +``` | |
| 91 | +node ${CLAUDE_PLUGIN_ROOT}/lib/req-ledger.mjs commit <root> | |
| 92 | +``` | |
| 93 | + | |
| 94 | +**本 skill 全程绝不执行任何 `git tag -d`**——`req-done/FE-*` / `milestone/frontend-phase` 全部保留,Router 视前端阶段已完成,coding.mjs 不会因本次微改重跑。 | |
| 95 | + | |
| 96 | +## 步骤 6:待验登记 | |
| 97 | + | |
| 98 | +`Read` `docs/08-模块任务管理.md`:末尾若无 `## 四、微改待验清单(quick-field / quick-ui)` 小节则追加创建(若已有旧标题 `## 四、quick-field 待验字段` 则把标题更新为前者,存量条目保留),然后登记一行: | |
| 99 | + | |
| 100 | +``` | |
| 101 | +- [ ] <YYYY-MM-DD> <页面/组件> <功能摘要>(<FE-NN>;quick-ui)——未过行为门/e2e,待人工点验或随下次正规需求批量验收 | |
| 102 | +``` | |
| 103 | + | |
| 104 | +(该小节位于 §三 之后,`req-ledger` 的 FE 行解析在下一个 `##` 处截断,不影响台账哈希。)验收完成后由人工勾选。 | |
| 105 | + | |
| 106 | +## 步骤 7:git 提交 + 完成横幅 | |
| 107 | + | |
| 108 | +1. 在**当前分支(默认分支)**提交全部产物: | |
| 109 | + ``` | |
| 110 | + git -C <root> add frontend prototype docs/08-模块任务管理.md .req-ledger.json | |
| 111 | + git -C <root> commit -m "feat(quick-ui): <页面> <功能摘要>(<FE-NN>;纯前端直改 + 台账重基线,不重跑 coding)" | |
| 112 | + ``` | |
| 113 | +2. `git -C <root> status --porcelain` 复核干净,有残留则排查补提交。 | |
| 114 | +3. 打印横幅并**停下**: | |
| 115 | + | |
| 116 | +``` | |
| 117 | +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | |
| 118 | + [quick-ui] ✅ 前端小功能完成(未重跑 coding) | |
| 119 | + | |
| 120 | + 功能:<页面/组件 + 功能摘要>(归属 <FE-NN>) | |
| 121 | + 端点:<复用的 docs/05 端点 或 纯展示无请求> | |
| 122 | + 原型:<已同步 <文件> 或 无布局变化未动> | |
| 123 | + 自检:grep 清单通过<;lint/类型检查通过 或 —><;<组件>单测通过 或 —> | |
| 124 | + 台账:<已重基线 或 无变化未动>;req-done/milestone tag 全部保留 | |
| 125 | + 待验:docs/08 §四 已登记(未过行为门/e2e) | |
| 126 | + | |
| 127 | + 起栈后请人工点验该功能;攒批待验条目可随下次正规需求一并验收后勾销。 | |
| 128 | + [ERP-HALT] 前端微改完成,已停下。 | |
| 129 | +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | |
| 130 | +``` | |
| 131 | + | |
| 132 | +## 参考 | |
| 133 | + | |
| 134 | +- `${CLAUDE_PLUGIN_ROOT}/skills/plan/quick-field/SKILL.md`(姊妹通道:加列+呈现) | |
| 135 | +- `${CLAUDE_PLUGIN_ROOT}/skills/plan/add-req/SKILL.md`(正规增量通道;超界回落目标) | |
| 136 | +- `${CLAUDE_PLUGIN_ROOT}/lib/req-ledger.mjs`(台账 scan/commit;本 skill 只重基线、不作废 tag) | |
| 137 | +- `docs/04-技术规范.md § 二 前端规范 / § 零 命令`(分层、组件库、lint/类型检查命令) | |
| 138 | +- `docs/05-API接口契约.md`(既有端点清单,边界 2 判据) | |
| 139 | +- `docs/08-模块任务管理.md § 三`(FE 行)/ `§ 四`(微改待验清单) | |
| 140 | +- `prototype/`(前端布局/交互权威,可见变化需同步) | ... | ... |