猫猫可编程导航 Workspace 面板:operator说模糊意图,猫猫找到路径,自动打开文件/目录。 Use when: operator说"打开日志""看看代码""打开设计图""帮我打开那个文档"等模糊指令。 Not for: 打开 localhost 前端页面(用 browser-preview)、纯代码编写(不涉及展示给operator看)。 Output: Hub 右侧 Workspace 面板自动打开并导航到目标文件/目录。
72
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
operator说"帮我打开XXX"时,你要自己找到路径,然后用 cat_cafe_workspace_navigate 让 Hub 右面板自动导航到那里。operator不会给你精确路径——这是你的活。
Step 1: 意图解析 — operator想看什么?
"帮我打开日志" → 日志文件/目录
"看看 F131 的设计图" → F131 相关的 .pen 文件
"打开那个 discussion" → 讨论文档
Step 2: 路径搜索 — 用你的工具找到精确路径
用 glob/grep/read 找到文件的相对路径(相对于 worktree 根目录)
Step 3: 调 typed MCP — 让 Hub 前端导航
cat_cafe_workspace_navigate({
path: "找到的相对路径",
action: "open",
worktreeId: "目标worktree",
threadId: "当前 threadId(有就传)"
})这是本 skill 的核心硬实力。不同意图用不同搜索策略:
| operator说的 | 搜索策略 | 示例命令 |
|---|---|---|
| "打开日志" / "看日志" | 快捷方式:右侧状态面板底部「运行日志 → 查看日志」按钮。也可用 cat_cafe_workspace_navigate | 按钮会自动打开最新 .log 文件 |
| "看审计日志" | 审计日志在 packages/api/data/audit/ 下 | glob("packages/api/data/audit/**") |
| "打开 F131 的文档" | Feature 文档在 docs/features/ 下 | glob("docs/features/F131*") |
| "看看 F131 的设计图" | Pencil 设计文件 | glob("**/*F131*.pen") 或 glob("designs/*F131*") |
| "打开那个 discussion" | 讨论文档在 feature-discussions/ 下 | glob("feature-discussions/*") |
| "看看 chatStore" | 源码文件名搜索 | glob("**/*chatStore*") |
| "打开 BACKLOG" | 已知位置 | 直接用 docs/ROADMAP.md |
| "看看 plans" | 计划目录 | 直接用 feature-specs/ |
| "打开那个 skill" | Skill 文档 | glob("cat-cafe-skills/*/SKILL.md") |
| "看看 spec" + 上下文 | 从对话上下文推断是哪个 Feature | 推断 Feature ID → glob("docs/features/Fxxx*") |
glob("**/F{num}*")glob("**/*关键词*")grep("内容关键词")如果搜索返回多个匹配:
packages/api/data/logs/api/2026-03-21.log,不是 /home/user/.../2026-03-21.log/ 都行cat_cafe_workspace_navigate| 参数 | 必填 | 说明 |
|---|---|---|
path | 是 | 目标文件或目录的相对路径 |
action | 否 | reveal(展开目录树到目标,默认)或 open(打开文件查看器) |
worktreeId | 是 | 指定在哪个 worktree 里导航。API 需要此字段来解析路径 |
threadId | 建议传 | 当前 thread ID,用于防止多 tab 串扰。传了只有对应 tab 响应 |
| 目标 | 用什么 action | 效果 |
|---|---|---|
目录(如 packages/api/data/logs/) | reveal | 展开文件树到该目录,不打开任何文件 |
文件(如 docs/features/F131-workspace-navigator.md) | open | 打开文件查看器显示文件内容 |
| 不确定 | reveal | 安全默认——展开到那里让operator自己看 |
| 场景 | 调用 |
|---|---|
| 打开日志目录 | cat_cafe_workspace_navigate({ path: "packages/api/data/logs/api/", action: "reveal", worktreeId: "cat-cafe-runtime" }) |
| 打开 Feature 文档 | cat_cafe_workspace_navigate({ path: "docs/features/F131-workspace-navigator.md", action: "open", worktreeId: "cat-cafe" }) |
| 打开到某一行 | cat_cafe_workspace_navigate({ path: "packages/web/src/stores/chatStore.ts", action: "open", worktreeId: "cat-cafe", line: 1273 }) |
如果 MCP 工具不可用,先说明工具面缺失并按 F223 追踪;不要把手写第一方 curl localhost 当主路径。
右侧状态面板底部有内置快捷按钮,不需要走 cat_cafe_workspace_navigate:
| 按钮 | 位置 | 效果 |
|---|---|---|
| 运行日志 → 查看日志 | 右侧状态面板,AuditExplorerPanel 下方 | 自动展开到 packages/api/data/logs/api/ 并打开最新 .log 文件 |
operator说"看日志"时,告诉operator点右侧面板的按钮比你调工具更快。你也可以用 cat_cafe_workspace_navigate 代替。
| Skill | 关注点 |
|---|---|
| workspace-navigator(本 skill) | 帮operator在 Hub Workspace 面板打开文件/目录 |
browser-preview | 在 Hub Browser 面板预览 localhost 前端页面 |
tdd | 写代码的测试驱动纪律 |
quality-gate | 开发完成后的自检 |
| 现象 | 原因 | 修法 |
|---|---|---|
| 右侧无反应 | Hub/API 没跑 / 路径不存在 / MCP callback 未配置 | 检查工具返回错误;确认路径存在 |
| 打开了错误的文件 | glob 匹配到了多个,选了错的 | 列出所有匹配让operator确认 |
| worktree 切换失败 | worktreeId 不存在 | 查看当前 Workspace worktree 列表或改传正确 worktreeId |
| 面板没自动打开 | Socket 连接可能断了 | 刷新 Hub 页面重试 |
80782c5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.