用途:读取当前工作目录的 PRD.md,按 shared/repo-layout.md 的布局生成第三方 PAM 控件(Power Apps 原生扩展)的原生源码,产出已编译 .ppmplugin 轨道所需文件,让工程师直接进入 OS 特定代码定制,而非编写样板。
主要能力:生成 iOS Obj-C 的 <Pascal>Module(RCT<Pascal>Module,含 +moduleName 返回 Module 后缀名的写法)、Android <Pascal>Module(com.powerapps.<lower>)、可选 podspec、dev-only package.json,以及已提交的仓库根 manifest.json(分发契约来源)。该清单中 name、receivers[].nativeModule、方法名、entrypoints 均由本技能依据生成的原生符号直接撰写,避免 PCF 与模块间复合键 <name>/<receiver> 漂移。此轨道没有 TypeScript INativeExtension / handleMessageAsync 层,不生成 src/ 层,wrap host 按 manifest 的 receivers 契约直接调用 NativeModules.<Pascal>Module.<method>。
使用方式:先读 shared 文档与 PRD.md,缺少 PRD.md 时以 BLOCKED 停止并提示先运行 /design-native-extension-feature;打印前置检查块(git 必需,Node/pnpm 可选),再展示 scaffold 计划并请求用户确认后写入;逐组打印进度,最后由后续构建技能 /generate-ppmplugin 产生 .ppmplugin,配套 PCF 由 /generate-pcf-companion 单独生成,本技能不执行 git 操作。
适用场景:需要为 Power Apps 构建第三方 PAM 原生控件的开发者,在已有仓库中生成可编译的原生模块骨架。
限制:仅本地写入,无远程、无 feed、无 registry;不对 podspec 做 npm 自动链接;不编译、不运行基线检查,Step 4 仅为结构自检;不生成 TS 契约层或 SDK 时代字段(entrypoints.js、extension.hbc、jsLayer 等)。文稿中 iOS 部分内容在结尾处被截断,后续细节暂未提供。