技能隐藏管理 (Skill Hide Manager)
⚠️ 强制规则(AI 必须遵守)
规则 1:歧义词必须询问
当用户输入包含以下歧义词时,禁止直接执行任何操作,必须先询问确认:
| 歧义词 | 必须询问 |
|---|---|
| "显示" | ✅ 必须询问 |
| "展示" | ✅ 必须询问 |
正确流程:
用户: "显示所有技能"
AI: "'显示'有两种含义:
[1] 恢复(取消隐藏)技能
[2] 查看/列出技能列表
请回复 1 或 2:"
错误行为(禁止):
- ❌ 直接列出技能
- ❌ 直接恢复技能
- ❌ 假设用户意图
规则 2:非歧义词直接执行
| 用户输入 | 意图 | 直接执行 |
|---|---|---|
| "隐藏 xxx" | 隐藏技能 | hide_skill.py xxx |
| "查看/列出 xxx" | 预览技能 | --show-all |
| "恢复 xxx" / "取消隐藏 xxx" | 恢复技能 | unhide_skill.py xxx |
| "哪些被隐藏了" | 查看已隐藏列表 | list_hidden.py |
术语说明
| 术语 | 含义 | 对应操作 |
|---|---|---|
| 隐藏 | 将技能标记为隐藏状态 | hide_skill.py |
| 恢复 | 取消隐藏,让技能重新显示 | unhide_skill.py |
| 预览/查看/列出 | 仅查看技能列表,不修改 | --show-all |
前置准备
- 依赖: Python 标准库,无需额外依赖
配置管理
首次使用需配置技能父文件夹路径。
配置方法
路径格式说明:使用正斜杠
/兼容 Windows CMD、PowerShell 和类 Unix shell(Git Bash、MSYS2、WSL)
# 添加单个路径
python skill-hide/scripts/config_manager.py --add "C:/path/to/skills"
# 添加多个路径
python skill-hide/scripts/config_manager.py --add "C:/path1" --add "D:/path2"
# 覆盖设置所有路径(逗号分隔)
python skill-hide/scripts/config_manager.py --set "C:/path1,D:/path2,E:/path3"
# 列出当前配置
python skill-hide/scripts/config_manager.py --list
# 清空所有配置
python skill-hide/scripts/config_manager.py --clear
# 不带参数运行,显示当前配置和参考路径
python skill-hide/scripts/config_manager.py
操作步骤
隐藏技能
# 隐藏单个
python skill-hide/scripts/hide_skill.py <skill-name>
# 隐藏多个
python skill-hide/scripts/hide_skill.py <skill1> <skill2>
# 隐藏所有(所有配置文件夹)
python skill-hide/scripts/hide_skill.py --all
# 隐藏指定文件夹下的所有技能
python skill-hide/scripts/hide_skill.py --all --folder <path>
# 指定文件夹
python skill-hide/scripts/hide_skill.py <skill-name> --folder <path>
恢复技能
# 恢复单个
python skill-hide/scripts/unhide_skill.py <skill-name>
# 恢复多个
python skill-hide/scripts/unhide_skill.py <skill1> <skill2>
# 恢复所有(所有配置文件夹)
python skill-hide/scripts/unhide_skill.py --all
# 恢复指定文件夹下的所有技能
python skill-hide/scripts/unhide_skill.py --all --folder <path>
# 指定文件夹
python skill-hide/scripts/unhide_skill.py <skill-name> --folder <path>
预览技能(仅查看,不修改)
# 查看所有配置文件夹的技能状态(多文件夹场景)
python skill-hide/scripts/hide_skill.py --show-all
# 查看指定文件夹的技能状态
python skill-hide/scripts/hide_skill.py --show-all --folder <path>
# 查看所有已隐藏的技能(跨所有配置文件夹)
python skill-hide/scripts/list_hidden.py
# 查看操作历史记录
python skill-hide/scripts/list_history.py
# 查看操作过的文件夹列表
python skill-hide/scripts/list_history.py --folders
资源索引
scripts/config_manager.py- 读取/写入配置scripts/hide_skill.py- 隐藏技能 / 查看所有技能状态(支持多文件夹)scripts/unhide_skill.py- 恢复技能scripts/list_hidden.py- 列出所有已隐藏技能(跨文件夹)scripts/list_history.py- 查看操作历史记录
注意事项
- 禁止隐藏自己: skill-hide 不能隐藏自身
- 路径规范化: 自动统一使用正斜杠
/ - 多目录支持:
- 配置文件中可保存多个技能父文件夹路径
- 隐藏/恢复技能时会搜索所有配置的文件夹
--show-all不指定--folder时会显示所有配置文件夹的状态
- 同名技能: 不同文件夹中可以有同名技能,隐藏/恢复时会操作所有匹配的技能
- 配置文件:
skill-hide/.skill-config.json
⚠️ 重要:AI 使用指南
如何判断技能是否隐藏
不要仅依赖工具输出,必须通过文件系统验证:
# 正确:直接检查文件存在性
ls -la skill-folder/
# 显示状态: SKILL.md 存在
# 隐藏状态: SKILL.md.hide 存在, SKILL.md 不存在
判断逻辑:
| 文件存在情况 | 状态 |
|---|---|
SKILL.md 存在 | ✅ 显示 |
SKILL.md.hide 存在,且 SKILL.md 不存在 | ❌ 隐藏 |
已知问题
- Windows 控制台编码问题: 脚本输出中文可能出现乱码(不影响实际功能)
- 验证机制: 所有隐藏/恢复操作后应验证文件状态,确保操作成功
快速参考表
| 用户输入 | 歧义? | AI 行动 |
|---|---|---|
| "隐藏 xxx" | ❌ | 直接执行隐藏 |
| "查看/列出 xxx" | ❌ | 直接执行预览 |
| "恢复/取消隐藏 xxx" | ❌ | 直接执行恢复 |
| "显示 xxx" | ✅ | 必须询问 |
| "展示 xxx" | ✅ | 必须询问 |
| "哪些被隐藏了" | ❌ | 直接执行 list_hidden.py |