mini-program-engineering-suite

Orchestrate evidence-first engineering for WeChat and other mini programs from a vague idea or existing repository through project discovery, product specification, architecture, implementation, debug

SKILL.md

GitHub

/mini-program-engineering-suite — 小程序工程开发套件

把小程序任务视为一条有阶段、有门禁、有证据的工程链路。先确认当前事实,再决定路由和动作;只把已经有证据支持的状态报告给用户。

启动顺序

  1. 读取当前项目及上级目录中的 AGENTS.md、CLAUDE.md 或同类规则文件。
  2. 读取 共享工程门禁、证据状态模型、判断与确认规则 和 脱敏规则,再按当前阶段读取对应分 Skill 及其引用合同。未知技术栈可运行只读 scripts/capability_doctor.py;涉及对外输出时读取 文档边界。
  3. 判断这是新项目、已有项目,还是没有项目目录的咨询任务。
  4. 已有项目开发若无本轮事实图,先用 项目接管 Skill;纯只读审计走 源码审计短路径。只读发现前不改代码。
  5. 建立或恢复任务计划,记录原目标、当前阶段、完成证据和未完成项。

判断当前阶段

使用 路由与状态机 判断当前阶段。允许跳过与任务无关的阶段,但必须说明依据;不能因为已经写了代码就跳过验证。

用户意图 当前路由 可用状态
接管项目、了解现状、识别技术栈或改动边界 mini-program-project-intake-skill 已实现
梳理产品、MVP、流程与状态 mini-program-product-spec-skill 已实现
设计模块、数据、接口与权限 mini-program-architecture-skill 已实现
微信平台规则、工具、隐私与配置 wechat-mini-program-platform-skill 已实现
编写或修改代码 mini-program-implementation-skill 已实现
UI、参考还原、机型适配与手势 mini-program-ui-device-skill 已实现
白屏、错误、卡顿或状态异常 mini-program-debugging-skill 已实现
独立测试、回归或交付证据判断 mini-program-verification-skill 已实现
版本、导出、上传/审核/发布就绪治理 mini-program-release-skill 已实现

组件缺失时报告能力边界,仅做安全只读发现与拆解,不伪称调用。已实现组件可编排或独立使用,只交换阶段产物,不互调脚本。

编排工程任务

新项目从 0 到 1

按 discovery → specification → architecture → implementation → verification → release-ready 推进。先澄清核心用户、问题和最小闭环,再选择技术方案。没有用户授权时,不提交审核、不发布、不创建付费资源。

已有项目开发或修复

先执行项目接管,获得事实图、风险、未知项和改动边界。只在范围明确后实施;对错误先复现并定位根因,对共享契约补相应验证。

发布前判断

分别核对源码、当前分支、构建产物、开发者工具加载版本、平台上传记录与正式环境证据。任一层缺少证据时,只报告到已经证明的状态。

执行门禁

  • 未读取事实源,不修改已有项目。
  • 未确认产品语义,不新增按钮、入口、状态、付费、广告或数据规则。
  • 高影响视觉方案先给预览或候选方案,用户确认后再集成。
  • 数据、权限、外部服务和不可逆操作先说明影响、失败策略与回滚条件。
  • 工具异常、超时或中止后的在途动作先保持 unknown,刷新本地与外部事实,不盲目重放写操作。
  • 资产变体与证据材料分别记录谱系、指纹、适用范围和不能证明的内容。
  • 已实现必须进入与风险匹配的验证;本地通过不能推导出真机、云端或发布通过。
  • 质量优先;按推进与反馈合同交付每批可验收增量,及时接入主入口、限定隔离,复用有效检查;内部测试数量不代表用户进度。
  • 对外输出和安装包运行 python3 scripts/scan_sensitive_content.py <path> --format json。

中途问题与连续执行

用户提出中途问题时,先回答问题,再判断它是否改变原目标。若没有改变,恢复原计划与未完成步骤;若改变,更新计划并说明受影响阶段。不得把中途问题当成默默终止原任务的理由。

输出契约

阶段性或最终汇报至少包含:

  1. 当前结论与工程阶段。
  2. 已完成的动作及对应证据。
  3. 未执行、未验证或待用户确认的内容。
  4. 当前改动边界与残余风险。
  5. 下一步动作。

使用 证据状态模型 中的状态词。用户明确验收前,不使用 accepted(已正式验收);没有平台正式证据时,不使用 released(已正式发布)。

能力地图

  • 基础层(3.0 新增,领域无关,可独立分发):evidence-first-engineering —— 证据状态模型、工程门禁、判断与确认规则、脱敏规则与四个交付模板的通用版本,位于 foundation/;本套件是其第一个垂直应用,scripts/check_foundation_equivalence.py 保证通用版与 shared/ 原版不分叉。
  • 项目接管 Skill:只读建立项目事实图、技术栈、风险、未知项和改动边界。
  • 产品规格 Skill:将模糊想法收敛为范围、流程、状态矩阵与可测试验收标准,不发明产品逻辑。
  • 工程架构 Skill:把稳定产品语义映射为模块、状态源、数据、接口、权限、失败策略与 ADR。
  • 微信平台适配 Skill:只读核对工具、构建、权限、隐私和发布证据层;时效性规则查微信官方当前资料。
  • 平台事实层(按目标平台路由,doctor 的 target_platforms 决定入口):
    • 微信:platforms/wechat/(证据层、核对清单、隐私矩阵、规则地图 与 核验标注;支持确定性漂移检测);
    • 支付宝:规则地图 与 核验标注(官方文档为客户端渲染 SPA,确定性指纹不可观测,保鲜依赖运行时查官方与用户上报,规则地图标 manual-only);
    • 抖音:规则地图 与 核验标注(官方文档为客户端渲染同构壳页,确定性指纹不可观测文章内容,同样标 manual-only);
    • 未收录平台:无平台事实层,平台触点步骤一律查官方当前资料并保持 unknown,不猜测。
  • 工程流程层遇到平台触点时引用对应平台事实层,不内置平台规则;事实标注规范、检测模式与「运行时只读 / 刷新走 PR」的基线治理边界见 platforms/README.md。
  • 工程实现 Skill:在明确边界内保护用户改动,以测试驱动小步实施并交付验证入口。
  • 界面与真机适配 Skill:按参考目标处理预览、确认、集成、屏幕/内容边界、手势和真机证据。
  • 问题调试 Skill:从最小复现、竞争假设与判别实验定位根因,并覆盖同类状态回归。
  • 工程验证 Skill:按风险分层执行静态、单元、集成、状态、真机、云端和发布验证,报告已执行、未执行与残余风险。
  • 发布治理 Skill:核对版本、构建、安全、权限隐私、回滚和各发布层证据;默认只读,外部动作逐项授权。

组件含 agents/openai.yaml、工作流与模板,可独立安装触发;主 Skill 统一编排、计划与证据状态。

共享模板与门禁

维护脚本与公开包

  • VERSION:套件语义版本事实源。
  • scripts/validate_suite.py:检查主 Skill、九个分 Skill、共享层、公开文档、版本事实源、链接、frontmatter、界面元数据和占位内容。
  • scripts/check_i18n_readme_structure.py:检查六种语言 README 的核心章节顺序,防止安装、验证、包完整性、版本和许可说明漂移。
  • scripts/scan_sensitive_content.py:扫描公开包候选中的真实 AppID、云环境 ID、凭证形态、用户路径、邮箱、手机号、JWT、COS bucket、私钥块与二进制命中。
  • scripts/export_public_package.py:按明确公共路径清单执行全候选敏感扫描和确定性导出,未知文件默认拒绝,并生成相对路径哈希清单。
  • scripts/verify_public_package.py:只读取收到的公共包,独立复算文件大小与 SHA-256,并拒绝缺失、篡改、新增、非法路径或损坏清单。
  • scripts/summarize_evaluations.py:把发布门禁的评测产物汇总为只含结论、关键指标与审计元数据的公开摘要,不含提示词、回复或夹具内容。
  • scripts/artifact_nondegradation_gate.py:fail-closed 复验私有 Tier 4 配对产物证据。
  • 评测证据说明:说明 tier1-4、独立判定、签署和公开摘要边界。
  • scripts/capability_doctor.py:只读识别原生/Taro/uni-app、既有脚本、测试依赖、分包和工具事实;不执行命令、不安装依赖、不输出配置值。
  • scripts/audit_source_inventory.py:只读生成文件清单、数量和指纹;匿名快照无 Git 时不借外层提交,拦截不实报告。
  • install.sh:从源码或已导出的公开包中安装套件,默认不覆盖已有目录,项目级安装必须显式传入目标项目路径。
  • .github/workflows/ci.yml 与 .github/workflows/release.yml:分别守住常规变更门禁和版本化发布包门禁;Release 附带压缩包、package-manifest.json 与 SHA256SUMS。

可靠性方法论资源