SuperAPI AI 工具集

forbid

办公与效率

查看项目

更新于 10-16 02:21

技能介绍

用途

forbid 技能用于在活跃的循环会话(loop session)中,向禁止列表添加条目。被列入禁止列表的项目会被机会发现(opportunity discovery)流程阻挡,即阻止在匹配话题上继续开展工作。根据触发词描述,它可用于“禁止话题”“添加禁用项”“阻止工作”等场景。

主要能力

  • 添加禁用项:将指定短语加入禁止列表。
  • 列出禁用项:显示当前所有被禁用的条目。
  • 清空禁用项:一次性清除所有禁用条目。
  • 按短语移除:使用模糊匹配(fuzzy)移除与给定短语匹配的条目。

该技能支持运行时配置:无论是否处于活跃循环均可使用,变更会在下一次迭代时应用。它被描述为自进化技能,通过使用不断改进;如果指令有误、参数发生偏移或需要变通方法,应基于真实、可复现的问题立即修正文件,而不是推迟。

使用方式

命令形式如下:

  • /ru:forbid documentation updates — 将“documentation updates”加入禁止列表
  • /ru:forbid --list — 显示当前禁用项
  • /ru:forbid --clear — 清空所有禁用项
  • /ru:forbid --remove <phrase> — 移除与短语匹配的条目(模糊匹配)

执行过程通过运行一段 bash 脚本完成。脚本会读取项目目录(CLAUDE_PROJECT_DIR 或当前工作目录),定位配置文件 $PROJECT_DIR/.claude/ru-config.json。若配置文件不存在,则以 {"guidance": {"forbidden": [], "encouraged": []}} 创建;若缺少 guidance 结构,则补充该结构。

命令处理逻辑(基于脚本内容):

  • --list 或 -l:输出当前禁止列表,逐条显示并统计总数。
  • --clear 或 -c:将 .guidance.forbidden 置为空数组。
  • --remove <phrase>:从禁止列表中查找第一条(不区分大小写)包含该短语的条目;若未找到则报错退出;找到则移除该条目并更新时间戳。
  • 无参数:显示用法说明及当前禁用项。
  • 其他参数:将参数作为条目加入禁止列表(去重),并更新时间戳,然后显示当前列表。

工作原理

  • 配置文件:变更写入 .claude/ru-config.json。
  • 下次迭代应用:Stop 钩子在每次迭代时重新读取配置。
  • 模板渲染:禁用项会出现在 ## USER GUIDANCE 部分。

适用场景

  • 在循环会话中阻止特定话题或工作方向。
  • 临时或持续禁用某些机会发现条目。
  • 希望在无需停止当前循环的情况下调整工作约束。

限制与注意事项

  • 变更需等到下一次迭代才生效。
  • 移除操作采用模糊匹配,仅移除第一条匹配项。
  • 若 RU(循环)未运行,禁用项不会被强制执行,需先用 /ru:start 启动。
  • 条目未出现可能是拼写或大小写差异,可用 --list 核对确切文本。

故障排查(据资料)

  • jq 添加时报错:配置文件格式错误,可运行 /ru:settings reset 重建。
  • 条目未出现:拼写或大小写不同,用 --list 验证确切文本。
  • 禁用未强制执行:RU 未运行,用 /ru:start 启动。
  • 按短语移除失败:未找到匹配,用 --list 查看确切条目名称。
  • 找不到配置文件:.claude 目录缺失,可用 mkdir -p .claude 创建。

执行后反思

技能完成后应检查:命令是否成功(若失败,修正导致失败的指令或错误表);参数或输出是否变化(若底层工具接口偏移,更新用法示例和参数表);是否需要变通方法(若不得不临时处理,更新 SKILL.md 使下次调用无需重复变通)。仅在问题真实且可复现时更新,不做推测性修改。