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
+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. 扩展现有组件或新建组件。
## 比较维度
- 语义是否匹配字段、操作和状态。
- 是否能复用现有交互与错误处理方式。
- 键盘操作、焦点、标签和辅助技术支持是否满足要求。
- 是否兼容当前框架、组件库和构建工具版本。
- 是否引入新的依赖、包体或维护成本。
- 是否能接入项目已有的表单状态、校验和只读展示。
## 输出建议
每个候选项说明“复用、扩展或新建”、适用范围、证据、关键契约和代价。若需求超过现有组件能力,明确缺口,不用未经验证的参数掩盖缺口。