Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计异常

app-navigator应用程序导航器

Agent Skill

app-navigator 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

196

周安装

8

GitHub Stars

17

下载量

63
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:app-navigator(应用程序导航器)
来源仓库:https://github.com/buildbetter-app/bb-skills
仓库路径:skills/app-navigator
安装命令:
npx skills add https://github.com/buildbetter-app/bb-skills --skill app-navigator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/buildbetter-app/bb-skills --skill app-navigator

简介

app-navigator 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词或任务场景快速定位候选结果。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 当前功能聚焦于构建应用 UI 地图和 Playwright 测试脚本,支持浏览器端验证。

SKILL.md

App Navigator

Map your application's UI and build reusable Playwright playbooks for browser-based testing and verification.

Core principle: Know your app before you test it. This skill creates a living knowledge base of routes, pages, components, and interactions that other skills (like trust-but-verify) build on.

When to Use

  • Setting up browser-based testing for the first time in a project
  • After significant UI changes that may have shifted routes or layouts
  • Before running trust-but-verify, if no app-map.md exists yet
  • When you need to understand the app's page structure

Not for: API-only projects, backend-only changes, or projects without a web UI.

Invocation

  • /app-navigator setup -- map the app and write playbooks
  • /app-navigator audit -- UI/UX audit (v2, not yet implemented)
  • If no argument given and no app-map.md exists, runs setup mode automatically

Setup Mode Process

digraph setup {
    "Check credentials" [shape=box];
    "Creds in memory?" [shape=diamond];
    "Ask user + save" [shape=box];
    "Check dev server" [shape=box];
    "Server reachable?" [shape=diamond];
    "Tell user what to start" [shape=box];
    "User authorizes start?" [shape=diamond];
    "Start server" [shape=box];
    "Login via browser" [shape=box];
    "Walk top-level routes" [shape=box];
    "For each page" [shape=box];
    "Screenshot + document" [shape=box];
    "Map to source component" [shape=box];
    "Write playbooks" [shape=box];
    "Save app-map.md + component-map.md" [shape=box];
    "Done" [shape=doublecircle];

    "Check credentials" -> "Creds in memory?";
    "Creds in memory?" -> "Check dev server" [label="yes"];
    "Creds in memory?" -> "Ask user + save" [label="no"];
    "Ask user + save" -> "Check dev server";
    "Check dev server" -> "Server reachable?";
    "Server reachable?" -> "Login via browser" [label="yes"];
    "Server reachable?" -> "Tell user what to start" [label="no"];
    "Tell user what to start" -> "User authorizes start?";
    "User authorizes start?" -> "Start server" [label="yes"];
    "User authorizes start?" -> "Login via browser" [label="no, user starts manually"];
    "Start server" -> "Login via browser";
    "Login via browser" -> "Walk top-level routes";
    "Walk top-level routes" -> "For each page";
    "For each page" -> "Screenshot + document";
    "Screenshot + document" -> "Map to source component";
    "Map to source component" -> "For each page" [label="next page"];
    "Map to source component" -> "Write playbooks" [label="all pages done"];
    "Write playbooks" -> "Save app-map.md + component-map.md";
    "Save app-map.md + component-map.md" -> "Done";
}

Step 1: Credential Check

Read the memory file at ~/.claude/projects/<project>/memory/reference_local_auth.md.

If it exists, extract: Email, Password, App URL, Login path.

If it does NOT exist, ask the user:

"I need login credentials for the local dev environment. Please provide: 1. Email address 2. Password 3. App URL (default: http://localhost:5173) 4. Login path (default: /login) These will be saved to your project memory for future use."

Save their response to ~/.claude/projects/<project>/memory/reference_local_auth.md:

---
name: local-auth-credentials
description: Local dev login credentials and app URL for Playwright verification
type: reference
---

- Email: <user-provided>
- Password: <user-provided>
- App URL: <user-provided, default http://localhost:5173>
- Login path: <user-provided, default /login>

Update MEMORY.md with a pointer to this file.

Step 2: Preflight -- Dev Server Check

Run:

curl -s -o /dev/null -w "%{http_code}" <App URL> 2>/dev/null || echo "unreachable"

If unreachable, tell the user:

"The dev server at isn't reachable. You'll need to start it. Start your development server (e.g., npm run dev, pnpm run dev). Start your API server if needed. Want me to start it for you, or will you handle it?"

If user authorizes, start the server. Otherwise, wait for user confirmation that it's running, then re-check.

Step 3: Login via Browser

Use Playwright MCP tools:

  1. mcp__playwright__browser_navigate to <App URL><Login path>
  2. mcp__playwright__browser_snapshot to see the login form
  3. mcp__playwright__browser_fill_form with email and password fields
  4. mcp__playwright__browser_click on the submit/login button
  5. mcp__playwright__browser_wait_for with text set to a known post-login element (e.g., a dashboard heading or username)
  6. mcp__playwright__browser_snapshot to confirm logged-in state

If the page redirects through an SSO/OAuth provider or shows an organization selector, follow the redirects and select the first organization.

If login fails, ask the user to verify credentials and update the memory file.

Step 4: Navigate & Map

For each top-level navigation route (sidebar items, nav bar links):

  1. mcp__playwright__browser_click on the nav item
  2. mcp__playwright__browser_wait_for with text set to a key element on the target page
  3. mcp__playwright__browser_snapshot to capture the page structure
  4. mcp__playwright__browser_take_screenshot with filename set to an absolute path (resolve ~ via echo $HOME first), e.g., /Users/<user>/.claude/skills/app-navigator/screenshots/<page-slug>.png
  5. Record: URL, page title, key elements visible, available interactions

To map to source components, dispatch a subagent with the setup-prompt.md template, providing the list of discovered routes. The subagent uses Grep and Glob to search src/ for route definitions and component files.

Step 5: Write Playbooks

Write three markdown playbooks based on what was discovered:

playbooks/auth.md -- Document the exact MCP tool call sequence to log in:

  • Which URL to navigate to
  • Which form fields exist (their ref values from snapshots)
  • What to fill in each field
  • Which button to click
  • What to wait for after submission (specific text)
  • How to handle SSO/OAuth redirects or org selector if present

playbooks/navigation.md -- For each mapped page:

  • The nav element to click (with ref or text description)
  • The URL it navigates to
  • What text to wait for to confirm the page loaded
  • Key landmark elements on the page

playbooks/interactions.md -- Common interaction patterns discovered:

  • How to open modals (which buttons trigger them)
  • How to fill forms (common form patterns)
  • How to create/delete items
  • How to use dropdowns, date pickers, etc.

Step 6: Save Documentation

Write app-map.md with this structure:

# App Map

**Generated:** YYYY-MM-DD
**App URL:** <url>

## Routes

### [Page Name]
- **URL:** /path
- **Purpose:** What this page does
- **Key Elements:** List of important UI elements
- **Interactions:** What you can do on this page
- **Screenshot:** ./screenshots/<page-slug>.png
- **Source Component:** src/path/to/Component.tsx

Write component-map.md:

# Component Map

| Route | URL | Component | File |
|-------|-----|-----------|------|
| Page Name | /path | ComponentName | src/path.tsx |

Cleanup

After all mapping is complete, close the browser with mcp__playwright__browser_close.

Red Flags

  • Never hardcode credentials in SKILL.md or playbooks. Always read from memory.
  • Never run services without asking. Check first, ask permission, then start.
  • Don't map parametric sub-pages (like /users/:id). Stick to top-level nav routes.
  • Don't screenshot behind auth walls you can't pass. If a page requires special permissions, note it and skip.

After Setup: What's Next

When setup completes, print a summary of what was created, then offer:

Ready to verify a feature branch? Run /trust-but-verify to check that your UI implementation matches the plan. It uses the app map and playbooks you just created to: 1. Read your ExecPlan + git diff + PR description 2. Build a verification checklist of what to test 3. Login and navigate the app with Playwright 4. Test happy paths, edge cases, error states, and responsive layouts 5. Produce a report at docs/verification/ with findings and screenshots You can run it anytime on any feature branch. Type /trust-but-verify to start.

If the user says yes, invoke the trust-but-verify skill.

Integration

  • Used by: trust-but-verify (reads app-map.md and playbooks)
  • Credentials shared with: Any skill that reads reference_local_auth.md from memory

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.9%
按下载量换算21

Claude

31.23%
按下载量换算20

Cursor

21.08%
按下载量换算13

Gemini CLI

10.17%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

未通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills