动态表单规格设计器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ee9b2ae1/pacp-design-form
技能介绍
要解决的问题
表单设计需求很少以干净结构出现。它们可能是一句口语:「帮我设计一张立案审批表」,也可能是一份固定排版的 PDF 文书、一张纸质表单的扫描件,或者一份字段散落在段落里的 Word 需求文档。让 AI 直接从这些载体「凭空」生成布局,类 word 文书表单几乎必然走样——决定书、笔录、通知书的权威排版来源是物理模板,任何抽象描述都会丢失原文的行文顺序和填空位关系。另一个老问题是设计与构建耦合:一旦 AI 直接产出表单配置,字段命名、组件映射、布局语义稍有不慎,就得回炉重做。
核心工作流程
pacp-design-form 的答案是把产出物严格限定为一份 form-spec.md,构建交给下游 pacp-build-form。
输入形态识别:根据用户给出的载体自动选择策略。自然语言用于从零起表;PDF/Word 模板直接驱动类 word 文书表单,用 PyMuPDF 提取指定页文本流,识别 ___、××、空白等填空位映射为字段,并保留模板原文进 spec 的模板段;图片通过 OCR 提取文字;结构化文档用于抽取既有字段定义。
spec 结构化契约:字段块用小标题+属性列表(非表格)便于手工维护。表现形式使用两层词汇:第一层是封闭的标准词(单行文本、下拉选择、日期等),第二层是开放自定义组件(如「签名」)。文本字段必须声明 最大长度,选择类字段直接填 代码值(代码集编号),文号字段必须给出默认编码规则(如「环调询通〔{年份}〕{流水号}号」),禁止甩给后端。
布局段分两种范式:类 excel 网格表单用结构化逐字段布局表,每个字段显式声明布局语义(独占行/半行/三分之一行/四分之一行),避免散文描述被忽略;类 word 文书表单贴模板文本流作为骨架,用 ___、‹ ›、×× 三种占位标记区分空白位、预填可编辑区和占位文字。模板段必须逐字录入,禁止省略。
数据处理规则段(可选):承载字段间计算、联动、初始值带入和列表选择回填。规则用业务语义命名(如「总分自动汇总」),不写实现代码。列表选择字段的回填映射统一放这里,字段块只标表现形式。
质量门与落盘:产出草稿后跑结构完整性自检(字段清单、布局语义、文号规则、最大长度等),缺项追问用户,代码集编号给不出允许标「待定」。定稿后写入 .pacp/specs/动态渲染/{业务名}__表单.md,返回业务名给下游。
适用边界与注意点
- 只产规格,不构建。本技能终点是 spec 落盘,表单 JSON 配置、提交平台由
pacp-build-form完成。 - 不读任何源码。数据来源是远程 API + 本 SKILL.md + 用户提供,不碰业务代码。
- 风格包延后加载。设计阶段只记录用户显式指定的风格名(如「执法处罚-表格」),不激活
pacp-stylepack,组件映射留给 build。 - 探查是可选项。仅当用户没给表名或字段名时才调
getTables/getColumns,且需登录 session。 - session 可跨 skill 复用。
.pacp/session.json是可选缓存,pacp-build-form启动时会尝试读取,过期则重新获取。
使用场景
- 用户用一句口语描述需求,从零生成一张立案审批表的表单规格文档
- 需要把决定书或笔录等有固定排版的PDF文书转换成电子表单规格,并保留原文布局
- 已有纸质表单的扫描截图,需要识别字段并产出对应的表单spec供下游构建
- 需求文档是Word或Excel格式,字段定义散落其中,需要提取后生成结构化表单spec
适合人员
- 需要将PDF或Word文书模板快速数字化为电子表单的政务系统实施人员
- 负责把业务需求转化为可交付表单规格的产品经理或BA,希望减少来回沟通
- 在项目中频繁新增或修改表单,需要标准化spec产出流程的开发或实施团队
- 使用AI Agent编排pacp系列技能,希望设计阶段与构建阶段解耦的技术负责人