feat(dev): 新增组件样式与表单辅助 Skill

This commit is contained in:
zhiye.sun
2026-08-25 17:16:03 +08:00
parent da5678f260
commit dec3855ce6
27 changed files with 335 additions and 14 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "dev",
"version": "0.1.0",
"version": "0.2.0",
"description": "通用软件设计、编码、审查与测试工作流。",
"author": {
"name": "CraftKit"
@@ -9,7 +9,7 @@
"interface": {
"displayName": "Dev",
"shortDescription": "软件设计、编码、审查与测试工具",
"longDescription": "提供不绑定公司框架的软件设计、编码、审查和测试工作流。",
"longDescription": "提供不绑定公司框架的组件选型、样式设计、表单设计及软件开发工作流。",
"developerName": "CraftKit",
"category": "Productivity",
"capabilities": ["Read", "Write"],
+27
View File
@@ -0,0 +1,27 @@
---
name: component
description: 根据当前项目的真实依赖、已有用法和可验证契约选择或检查前端组件。适用于字段或场景组件选型、props、events、slots 查证和组件缺口评估;页面实现、视觉样式设计或无证据编造组件契约不应触发。
---
# 前端组件选型
为当前项目选择可复用组件,并明确每项结论的证据。不要凭经验虚构组件、属性、事件或插槽。
## 工作流
1. 读取 `.craftkit/project.json`、依赖清单、锁文件和现有代码,确认框架、版本及组件来源。
2. 按 [选型规则](references/selection.md) 比较复用、扩展和新建方案。
3. 按 [证据规则](references/evidence.md) 查证组件契约及版本兼容性。
4. 输出推荐组件、适用理由、契约摘要、替代方案、缺口和风险。
5. 用户需要持续复用扫描结果时,按 [组件索引](references/index.md) 展示拟新增或更新内容;确认后写入 `.craftkit/standards/frontend/components.md`。
6. 如证据不足,说明缺少的材料并询问用户,不代替后续页面实现 Skill 编写完整页面。
项目没有 `.craftkit/project.json` 时,继续检查真实依赖和现有代码;只有缺失信息会改变结论时才询问用户。
## 边界
- 优先复用项目已有组件和封装,再评估已安装的公共组件库。
- 内部组件只能从当前项目的源码、类型、示例或项目文档取得契约。
- 公共组件库可查对应版本的官方文档,不把其他版本的接口当作当前契约。
- 项目组件索引只保存可验证元数据和项目相对入口,不复制依赖库文档或私有实现。
- 组件视觉样式交给 `style`,表单结构交给 `form`,完整页面实现交给前端实现 Skill。
@@ -0,0 +1,4 @@
interface:
display_name: "组件选型"
short_description: "基于项目证据选择并查证前端组件"
default_prompt: "使用 $component 为当前场景选择组件,并列出契约证据和风险。"
@@ -0,0 +1,18 @@
# 组件契约证据
## 证据优先级
1. 当前项目源码、类型声明、测试和真实调用。
2. `.craftkit/standards/frontend/` 中经过项目维护的规范。
3. 本地依赖包中的类型、源码、示例或项目内 Storybook。
4. 与已安装版本一致的公共组件库官方文档。
5. 用户明确提供并授权采用的参考项目或设计资料。
## 查证要求
- 记录组件来源和版本,分别列出已验证的 props、events、slots 与限制。
- 示例代码只能使用已验证契约;无法核实的接口标为待确认。
- 不把相似组件、其他版本或其他项目的契约直接套用到当前项目。
- 不复制参考项目的专有实现;只提炼用户授权范围内的通用模式。
若无法取得可靠证据,应询问用户是否有组件文档、参考项目或可访问的源码,不编造结论。
@@ -0,0 +1,18 @@
# 项目组件索引
组件索引用于减少后续重复扫描,不是第三方文档镜像。默认位置为 `.craftkit/standards/frontend/components.md`。
## 建立流程
1. 读取 `.craftkit/project.json` 中的前端框架、组件库、版本、组件根和文档入口。
2. 扫描用户授权的组件根、类型、测试、示例和本地文档,只收集当前项目实际存在的组件。
3. 按组件记录名称、用途、来源、版本范围、源码或文档相对入口、已验证契约和验证日期。
4. 区分项目自研组件、项目封装和公共依赖组件;公共依赖只链接官方资料或本地类型入口,不复制文档正文。
5. 展示新增、变更、失效和冲突项,经用户确认后保守合并。
## 维护边界
- 没有源码、类型、测试、真实调用或对应版本官方资料支持的契约不得入库。
- 依赖升级后将受影响记录标为待复核,不自动沿用旧版本接口。
- 不写入凭据、私有仓库认证地址、个人绝对路径或参考项目业务代码。
- 删除或重命名记录前必须核对当前项目并取得确认。
@@ -0,0 +1,21 @@
# 组件选型规则
## 判断顺序
1. 当前页面或相邻模块已经稳定使用的组件。
2. 项目公共组件、领域组件及其封装。
3. 当前依赖中已安装且版本匹配的公共组件。
4. 扩展现有组件或新建组件。
## 比较维度
- 语义是否匹配字段、操作和状态。
- 是否能复用现有交互与错误处理方式。
- 键盘操作、焦点、标签和辅助技术支持是否满足要求。
- 是否兼容当前框架、组件库和构建工具版本。
- 是否引入新的依赖、包体或维护成本。
- 是否能接入项目已有的表单状态、校验和只读展示。
## 输出建议
每个候选项说明“复用、扩展或新建”、适用范围、证据、关键契约和代价。若需求超过现有组件能力,明确缺口,不用未经验证的参数掩盖缺口。
+23
View File
@@ -0,0 +1,23 @@
---
name: form
description: 设计或检查前端表单的分组、列布局、响应式、条件字段、只读展示、错误位置和可访问性。适用于表单结构调整与布局评审;接口设计、业务校验规则、组件契约猜测和完整页面实现不应触发。
---
# 表单结构设计
依据当前项目的真实组件契约和既有布局模式组织表单,不虚构组件接口、业务规则或固定列数。
## 工作流
1. 检查框架版本、现有表单、布局样式、需求和目标设备。
2. 从当前项目证据或 `component` 的查证结果取得表单组件契约。
3. 按 [布局规则](references/layout.md) 设计字段分组、标签、列、条件区域、操作区和响应行为。
4. 按 [评审清单](references/review.md) 检查校验呈现、键盘操作、只读状态和小视口行为。
5. 输出结构方案、采用的证据、待确认业务规则和剩余风险;只有用户要求时才修改现有表单文件。
## 边界
- 不设计接口、字典或数据回填协议。
- 不自行确定字段必填、条件显示或业务校验逻辑;需求不明确时列为待确认。
- 不使用未经验证的组件、属性、事件或插槽。
- 视觉令牌和 CSS 交给 `style`,完整业务页面实现交给前端实现 Skill。
@@ -0,0 +1,4 @@
interface:
display_name: "表单设计"
short_description: "设计和检查前端表单结构与响应布局"
default_prompt: "使用 $form 为当前需求设计表单结构,并列出证据与待确认项。"
@@ -0,0 +1,16 @@
# 表单布局规则
## 结构
- 按用户任务和信息语义分组,避免只按后端对象机械排列。
- 标签、控件、提示和错误信息保持可关联且可读。
- 列数和字段跨度由容器宽度、内容长度和目标设备决定,不采用固定通用值。
- 条件字段应有稳定的布局位置,并明确隐藏、禁用、清空和保留策略由谁决定。
- 动态必填只呈现已确认的业务规则,不从界面结构反推规则。
- 操作区的位置、主次关系和滚动行为应与项目现有模式一致。
## 状态
- 编辑、只读、禁用、加载、空值和错误状态均应可辨识。
- 只读展示应保留字段语义,不能只依赖颜色表达状态。
- 小视口下优先保持阅读和操作顺序,处理标签换行、控件溢出和操作区遮挡。
@@ -0,0 +1,12 @@
# 表单评审清单
- 字段分组和顺序是否符合用户完成任务的流程。
- 标签是否与控件程序化关联,必填含义是否可感知。
- 键盘能否按合理顺序访问控件和操作。
- 焦点、错误、禁用、只读和加载状态是否清晰。
- 错误信息是否靠近相关字段,并能在提交失败后定位。
- 条件字段切换是否造成焦点丢失、布局跳动或隐藏错误残留。
- 小视口、缩放和长文本下是否溢出或遮挡。
- 组件契约是否有项目源码、类型、测试或对应版本官方文档作为证据。
- 接口、字典、回填和业务校验是否被明确标为外部输入,而非凭空补全。
- 未执行构建、浏览器或辅助技术检查时,是否如实标注验证边界。
+25
View File
@@ -0,0 +1,25 @@
---
name: style
description: 基于当前项目的设计令牌、主题、页面和用户参考设计前端视觉规范或 CSS、SCSS。适用于颜色、排版、间距、主题、响应式与状态样式;组件选型、业务表单结构和完整页面实现不应触发。
---
# 前端样式设计
延续项目已有视觉语言,或在输入充分时建立中性视觉基线。不得把固定品牌、颜色、断点或模板强加给项目。
## 工作流
1. 确认框架版本,并检查设计令牌、主题配置、全局样式和代表性页面。
2. 按 [来源优先级](references/sources.md) 确定现有设计权威与用户参考的关系。
3. 识别需要继承、补充或覆盖的颜色、排版、间距、圆角、阴影、断点和交互状态。
4. 按 [输出约定](references/output.md) 给出规范或样式修改,并说明未验证风险。
5. 需要写入 `.craftkit/standards/frontend/design.md` 时,先展示拟写内容和合并策略,经用户确认后再修改。
如果项目没有视觉基线,先询问用户是否有设计稿、截图或参考项目;输入仍不足时只给出待确认项,不擅自确定品牌风格。
## 边界
- 优先复用已有变量、令牌和主题能力,避免散落的任意值。
- 断点由项目目标设备、现有规则或用户要求决定,不内置固定矩阵。
- 组件契约交给 `component`,表单结构交给 `form`,业务页面实现交给前端实现 Skill。
- 未进行真实渲染或浏览器检查时,不宣称视觉验收通过。
@@ -0,0 +1,4 @@
interface:
display_name: "样式设计"
short_description: "延续项目视觉语言并设计前端样式"
default_prompt: "使用 $style 基于当前项目视觉基线设计或调整样式。"
@@ -0,0 +1,22 @@
# 样式输出约定
## 规范内容
按任务需要选择以下部分,不为凑齐章节虚构规则:
- 颜色与语义状态
- 字体、字号、行高和字重
- 间距、尺寸、圆角和阴影
- 页面层级和背景
- 断点、目标设备和响应行为
- 悬停、焦点、禁用、错误和加载状态
- 对比度、缩放、减少动画等可访问性要求
## 代码要求
- 复用已有 CSS 变量、预处理器变量或主题令牌。
- 新增令牌时说明命名、作用域、默认值和兼容影响。
- 避免无来源的魔法数、过深选择器和不必要的强制覆盖。
- 明确样式是否经过构建、页面渲染、视口和主题验证。
输出末尾列出继承项、新增项、覆盖项、验证证据和剩余风险。
@@ -0,0 +1,12 @@
# 样式来源优先级
按以下顺序判断设计依据:
1. 当前项目的设计令牌、主题、全局样式和稳定页面。
2. 用户提供的设计稿、截图、品牌约束或参考项目。
3. `.craftkit/standards/frontend/` 中的项目规范。
4. 项目所用公共框架与组件库对应版本的官方资料。
参考项目只用于用户授权的范围。若参考内容与当前项目冲突,列出冲突及合并方案,由用户决定继承还是覆盖。
框架版本应从依赖清单、锁文件或 `.craftkit/project.json` 核实;不要用其他主版本的主题接口、选择器或构建方式替代当前版本。