mcpField
B
bookmarker

bookmarker

github.com/primeapple开发050 次安装6 周前更新
代码仓库

关于 bookmarker

bookmarker 是一项技能,可帮助 Agent 在继续任务前从书签中选择合适的工作目录。它按相关性排序匹配结果,并在候选项不明确时请求用户选择。

主要功能

  1. 01检查当前目录是否合适
  2. 02查找指定书签
  3. 03按相关性排列备用匹配项
  4. 04检查可能的候选目录
  5. 05从选定路径继续任务

适用场景

  1. 01通过书签选择项目目录
  2. 02确定多个可能的仓库位置

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/primeapple/bookmarker --skill bookmarker

安装后在 Claude Code 中输入/bookmarker确认已加载。

详细介绍

Bookmarker

仅当目标位置并非精确指定时,才使用此技能。首先判断当前工作目录是否已符合用户的要求;如果符合,就留在当前目录。

需要切换到其他位置时:

  1. 将用户指定的位置设为 LOCATION。运行 bm get LOCATION。

  2. 如果 bm get LOCATION 恰好返回一个路径,就使用该路径。

  3. 否则运行 bm list --porcelain。每条记录的格式为 bookmark<TAB>path;分隔符是一个实际的制表符。将书签和 路径解析为独立字段,以保留包含空格的路径。

  4. 按以下顺序为备用匹配项排序:

    • 书签名称完全匹配;
    • 路径的末级目录名称完全匹配;
    • LOCATION 是路径的组成部分;
    • 与上下文相关的书签名称。

    路径末级目录名称匹配的优先级高于路径组成部分匹配。例如,foo 应选择 /Users/toni/foo,而不是 /Users/toni/src/foo/design-system。 对于名称相关的情况,根据任务含义判断:与后端工作相关时,backend-repo 比 frontend-for-backend 更相关。不要只根据子字符串匹配来选择。

  5. 如果有一个路径明显最合适,就选择它。如果仍有多个路径看起来都合适,请检查它们与任务的相关性。检查其目录、仓库状态和远程仓库(如适用),并在存在 README.md 或 AGENTS.md 时阅读。若某个候选项明显相关,就继续;否则,列出候选项并询问用户选择。

  6. 如果没有匹配项,告诉用户尝试过哪些操作,并请其提供书签名称或路径。不要搜索整个磁盘。

  7. 后续所有操作都从选定路径开始执行。支持时设置工具的 cwd;否则使用 cd -- "$path" && ...。

  8. 在该路径中继续执行用户的任务。不要只报告路径,也不要让用户自行切换目录。

完成条件:用户的任务从选定的相关路径开始执行。如果仍无法明确选择,就列出候选项并询问用户,然后停止。

评论

支持 Markdown