Communitygithub.com

bbulman/navigation

用于设计、审核或精简任何类型的导航,包括主导航、侧边栏、应用切换器、页脚、标签栏等。

navigation 是什么?

该技能专注于界面导航系统的审计、精简与再设计。它提供了一套结构化的方法论,用于分析每个导航表面(如全局主导航、页脚、上下文侧边栏),为每个表面定义“准入规则”,并确保只有真正重要的项目能占据宝贵的屏幕空间。该技能强调基于用户任务、使用数据和内容树(站点地图)做决策,而非仅凭直觉。它支持多种平台(如 Claude Code、Cursor 等编码和设计代理)并生成一个详细的 `navigation-spec.md` 文件,包含推荐方案、当前状态分析、多种布局选项、关键任务的主页映射以及迁移计划。该技能特别适用于处理“菜单项太多”、“侧边栏需要重新思考”等问题,并能与信息架构、站点地图、标签设计等其他技能有效衔接。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bbulman/information-architecture-skill/tree/HEAD/skills/navigation

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

导航

导航决定了结构的哪些部分会永久保留在屏幕界面上,哪些部分通过其他方式访问。屏幕上的位置是稀缺的,每个导航表面都有自己的一套规则来决定谁能占据一席之地。

首先需要什么

输入来源如果缺失怎么办
当前每个导航表面的状态在代码库中,首先读取路由和导航组件(页眉、页脚、应用切换器、侧边栏、标签栏)。永远不要只从首页开始重新设计。请求提供截图或每个表面项目的类型化列表。
背后的结构树站点地图或路由自行绘制当前的树结构,并明确说明。如果结构本身有问题,停止操作并使用 sitemaps。
核心任务、用户失败的任务以及使用情况用户、分析数据、搜索日志、重复出现的支持问题提出询问,或在开头说明你的假设。切勿估算使用情况;说明如果有使用数据,哪些决策会改变。

如果以上信息都无法获取,说明你需要什么,并基于 references/spec-template.md 生成一个空的规范文件,并填入准入规则。

方法

  1. 映射每个表面。 表面、项目、目标地址、数量。标记同一目标地址的两个不同名称、指向空白的项目,以及偶然存在于单一表面的内容。

  2. 区分全局导航与局部导航。

    全局局部
    职责展示整个产品的功能展示当前页面周边的功能
    显示在每个页面上相同仅在其所属的板块内显示
    表面主导航、实用工具栏、页脚侧边栏、页面内目录、面包屑导航、相关链接
    问题表现列出了某个板块的子级重复了全局项目

    一个需要超过两级导航的板块,通常需要自己的侧边栏或独立的主页。

  3. 为每个表面定义准入规则,并对每个项目应用该规则。

    表面什么属于这里什么不属于这里准入规则
    主导航对用户和业务最重要的 3 到 6 个目标任何未赢得此位置的项目服务于核心任务或明确的业务目标,对新用户有意义,并且比现有最弱的项目更重要
    实用工具栏登录、账户、搜索、语言、设置市场营销相关的项目与用户的会话或当前工具相关,而非内容相关
    页脚更完整的站点地图、法律信息、联系信息、辅助号召性用语杂物抽屉(用户和爬虫仍然会读它)有人需要从任何页面访问它,或者法律要求如此;它适合一个指定的分组
    上下文导航侧边栏、页面内目录、面包屑导航、相关链接任何全局项目仅在此处有意义,并且根据书面规则放置
    应用标签栏最多 5 个标签;第 6 个标签变成“更多”或被删除很少使用的目标产品中一个重复出现的高级任务
  4. 分配安置。 如果主导航项目超过七个,则表明有些项目没有发挥其作用:合并它们或将其移至页脚。将相近的项目合并为一个。为每个用户失败的任务指定一个规范的主页,并说明其他入口点都应导向此处。

  5. 提供两到三种布局方案(按任务、按对象、按目标受众),每种方案说明其成本和潜在问题。推荐一种并说明原因。

  6. 选择布局模式。

    情况使用备注
    一个项目下有三个或更多有子级的子组巨型菜单将其键盘焦点和移动端版本的设计作为单独的工作
    一个简短扁平的子级列表普通下拉菜单,或链接到中心页面通常中心页面更好
    三层或更深的结构面包屑导航每一级都是真实页面。每个页面只有一个面包屑路径,遵循规范主页,而不是用户访问的路径。
    内容很长的参考页面页面内目录仅限局部
    不同角色需要不同的起始点个性化快捷方式个性化的是快捷方式,而不是地图。如果每个人看到的菜单都不同,人们将无法指路,支持团队无法描述位置,分析数据也会失去意义。
  7. 现在设计移动端和键盘操作。 在移动端,说明主导航如何折叠、哪些内容保持可见以及每个巨型菜单如何处理。在键盘操作上,每个项目都应能按视觉顺序到达,焦点可见,Escape 键关闭 Enter 键打开的菜单,且没有任何操作仅依赖悬停。详情见 references/mobile-and-keyboard.md;对于任何可打开的菜单,请阅读该文件。

  8. 将线索放在决策点。 一个好的线索能在用户做出选择的关键时刻、在他们已经注视的地方,安静且低成本地回答他们已有的问题。汽车燃油表旁指示油箱盖方向的箭头就是典范。使用激活状态显示当前位置。

  9. 规划项目如何移除。 移除一个链接不等于移除一个页面。

    步骤做什么
    决定其命运合并、移至页脚或实用工具栏、仅可通过搜索访问、或删除
    如果页面被删除将其添加到重定向映射
    如果页面保留确认有其他路径仍可到达
    告知用户在登录产品中,在原来的位置保留一到两个版本的提示,并修复提及旧路径的帮助文章、教程和邮件
    保留关键词保留旧的标签作为搜索同义词,然后监测搜索和支持数据
  10. 将验证交给 tree-tests。 它负责编写测试计划和任务。向其提供触发本次工作的每个问题、你感到不确定的每个安置以及提议的答案。目标:总体成功率至少 70%,核心任务至少 80%,路径比(path ratio)最多 1.5。

交付物

navigation-spec.md,按以下顺序:

  1. 推荐方案: 两到三句话和主要原因。
  2. 当前状态: 每个表面、其项目数量及其问题。
  3. 可选方案: 每种布局一行,附带其成本。
  4. 规范: 每个表面的标签和目标地址,以及每个主导航项目赢得其位置的原因。然后是面包屑模式、移动端、键盘操作和激活状态。
  5. 规范主页: 每个问题任务、其唯一主页以及指向该主页的入口点。
  6. 前后对比: 每个当前项目及其新位置,包括哪些被弃用及如何处理。
  7. 准入规则: 新的顶级项目必须通过的测试。
  8. 假设与待解决的问题。
  9. 移交给 tree-tests: 问题任务、不确定的安置和提议的答案。

缩减规模。一个菜单重新思考的工作,需要的是诊断、新的结构树、每个问题任务的一个主页以及移交给 tree-tests;它不需要内容模型或 URL 策略。更长的文档并不意味更周全。如果要求为每个项目指定位置,那么每个项目都必须有归处。

检查清单

没有脚本。这些检查简短且需要阅读规范,因此请手动完成并修复失败项:

  • 统计主导航项目(最多 7 个,最好 3 到 6 个)和标签栏(最多 5 个)。
  • 每个当前项目都出现在“前后对比”表中,并带有新位置或明确说明已弃用。
  • 每个目标地址都存在于结构树或路由中,每个面包屑父级都是真实页面,且侧边栏、面包屑和 URL 讲述同一个故事。
  • 每个问题任务只有一个规范主页,并出现在 tree-tests 的移交信息中,附带提议的答案。
  • 没有未被授予的使用声明。频率词被标记为假设。

Claude 在此无法做到的事

  • 除非告知,否则无法了解组织的战略或内部政治。哪个项目赢得某个位置部分属于商业决策,因此需提供草稿并说明由谁决定。
  • 编造流量、使用情况或研究数据,或使用真实用户运行树测试。
  • 说明框架的菜单组件是什么。说明你的期望并让用户确认,因为平台支持的功能各不相同。

与其他技能的交界

  • information-architecture:当工作跨度涉及多个领域时,作为入口。
  • sitemaps:当底层结构树需要更改时。
  • labeling:为项目措辞。 taxonomies:当过滤器或分面筛选是真正需求时。
  • url-structure 和 redirect-maps:当目标地址变更时。 content-models:当上下文规则需要后台字段时。
  • tree-tests:运行研究。 findability:当问题是搜索或信息线索时。 content-inventory 和 card-sort:当没人知道有什么内容或人们如何分组时。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

bbulman/findability

Use when people can't find something, when site search returns nothing or the wrong thing, when someone wants a search log analysed, best bets or synonyms set up, a no-results page designed or findability measured, or when a chatbot is proposed because "nobody can find anything". Not for redrawing the whole page tree, renaming a menu on its own, or running a tree test.

bbulman/information-architecture

Use when someone wants to organize, restructure or review how a site, app, docs set, knowledge base or content library is grouped and found, and the job spans several pieces or it isn't yet clear which piece is needed, even if they never say "information architecture" or "IA". Not for a job that is clearly one piece, such as only a tree test or only a redirect map, and not for visual design.

bbulman/labeling

Use when someone needs to name or rename a section, menu item, tab, category, feature or link, when labels feel vague or read like internal jargon, or when they ask "what should we call this", "is this label clear", "nobody knows what Resources means" or "people don't understand this menu". Not for deciding the structure behind the labels, building a tag vocabulary, or writing body copy and microcopy.

bbulman/sitemaps

Use when someone needs the structure of a website, app or docs set decided, asking for a sitemap, site tree, page hierarchy or list of sections, or saying "what pages do we need", "how should we organise the site", "where should this page live" or "the site is too deep". This is where the structure gets decided. Not for writing the linked sitemap file that later design stages read once the structure is settled (design-os:create-sitemap), for generating sitemap.xml, or for designing the menus.

相关技能