关于 bookmarker
bookmarker 是一项技能,可帮助 Agent 在继续任务前从书签中选择合适的工作目录。它按相关性排序匹配结果,并在候选项不明确时请求用户选择。
主要功能
- 01检查当前目录是否合适
- 02查找指定书签
- 03按相关性排列备用匹配项
- 04检查可能的候选目录
- 05从选定路径继续任务
适用场景
- 01通过书签选择项目目录
- 02确定多个可能的仓库位置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ primeapple/ bookmarker --skill bookmarker安装后在 Claude Code 中输入/bookmarker确认已加载。
详细介绍
Bookmarker
仅当目标位置并非精确指定时,才使用此技能。首先判断当前工作目录是否已符合用户的要求;如果符合,就留在当前目录。
需要切换到其他位置时:
-
将用户指定的位置设为
LOCATION。运行bm get LOCATION。 -
如果
bm get LOCATION恰好返回一个路径,就使用该路径。 -
否则运行
bm list --porcelain。每条记录的格式为bookmark<TAB>path;分隔符是一个实际的制表符。将书签和 路径解析为独立字段,以保留包含空格的路径。 -
按以下顺序为备用匹配项排序:
- 书签名称完全匹配;
- 路径的末级目录名称完全匹配;
LOCATION是路径的组成部分;- 与上下文相关的书签名称。
路径末级目录名称匹配的优先级高于路径组成部分匹配。例如,
foo应选择/Users/toni/foo,而不是/Users/toni/src/foo/design-system。 对于名称相关的情况,根据任务含义判断:与后端工作相关时,backend-repo比frontend-for-backend更相关。不要只根据子字符串匹配来选择。 -
如果有一个路径明显最合适,就选择它。如果仍有多个路径看起来都合适,请检查它们与任务的相关性。检查其目录、仓库状态和远程仓库(如适用),并在存在
README.md或AGENTS.md时阅读。若某个候选项明显相关,就继续;否则,列出候选项并询问用户选择。 -
如果没有匹配项,告诉用户尝试过哪些操作,并请其提供书签名称或路径。不要搜索整个磁盘。
-
后续所有操作都从选定路径开始执行。支持时设置工具的
cwd;否则使用cd -- "$path" && ...。 -
在该路径中继续执行用户的任务。不要只报告路径,也不要让用户自行切换目录。
完成条件:用户的任务从选定的相关路径开始执行。如果仍无法明确选择,就列出候选项并询问用户,然后停止。