Agent Skills
返回列表
忘情水会问版

忘情水会问版

内容创作 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_97885b4a/mengpotang。

技能介绍

解决什么问题

  • utils/composer.js、data/story.js、data/relationship.js 等叙事引擎文件承担「组合命中句」与「通用六层兜底」逻辑,允许改动会导致孟婆汤独白生成失败。
  • 上层页面(pages/choose、pages/bottle、pages/loading)需要稳定调用 compose(),但参数顺序颠倒或 KEYMAP 维度改动时,技能不会主动报错,容易在发布后才发现问题。
  • 该技能在封装层补齐护栏与自检脚本,同时不侵入 assets/、components/ 等 UI 资源。

核心能力

  • 保持调用契约:composer.compose(themeLabels, userMemory),主题标签在前、用户记忆在后。
  • 自动校验 KEYMAP 五维、LABELMAP 逆向映射和 relationship.js 的 20 种组合句,识别引擎是否被破坏。
  • 复用 formatter.formatResult() 渲染结果,并通过 utils/canvas.js 生成 SVG 分享卡。
  • 将 selftest.js 放在工程根目录运行 node selftest.js,退出码为 0 即可继续发布。

关键步骤

  1. 从 pages/choose 获取中文主题标签 selectedThemes(最多 3 个,顺序保留)。
  2. 从 pages/bottle 获取用户输入 userMemory,为空时由引擎 pickMemory() 兜底。
  3. 在 pages/loading 调用 compose(themeLabels, userMemory),拿到 composed{type, combo, memory, body, point, quote, tip}。
  4. 通过 storage.saveHistory(...) 落库,再由结果页与分享卡页面渲染。

适用边界

  • 只适合微信小程序原生工程,且必须存在 utils/composer.js 和 data/*.js 引擎文件;纯文案生成不要使用。
  • 不能修改或重构受护栏保护的引擎代码,也不能用「通用随机文案」替代原有的组合句与意境分支。
  • 新增记忆标签时,需要同步扩展 KEYMAP/LABELMAP 与 data/ 六层库,不能改为通用随机池。
  • 若需要重写意境、增删维度或彻底调整文案,应改用 mengpo-narrative-engine 自由创作版。

使用场景

  • 在微信原生工程中接入叙事引擎,需要调用 compose 获取亲情主题独白并渲染分享卡。
  • 准备发布小程序更新前,运行 selftest.js 校验 KEYMAP 和 relationship 未被改坏。
  • 将引擎返回的 composed 结果接入自建页面或海报组件,且不修改底层引擎源码。
  • 把现有的孟婆汤调用逻辑迁移到新终端,需要保持 compose 参数顺序契约稳定。

适合人员

  • 微信小程序前端开发工程师,需要在 loading 页面稳定调用 compose 引擎并渲染结果。
  • 负责叙事类小程序移植的技术负责人,要求跨端复用调用逻辑且不改底层引擎源码。
  • 参与小程序发版前的测试工程师,需要通过 selftest 脚本验证代码的语义完整性。