用途
show-me 用于在解释代码结构、数据流或拟议变更时,选择一种紧凑的可视化形式来传达要点。它的核心原则是:挑选能说明问题的最小视图,把它放在一两行文字旁边,然后停止。每个问题只用一个视图;只有当第二个视图确实能增加一个维度时才使用两个,绝不全部堆上。
主要能力
该技能根据问题类型选择对应的视图:
- 算法、分支、不变量:伪代码
- 运行时顺序、谁调用谁:调用树
- UI 结构、状态归属:组件树——JSX 加上重要的 hooks 和模块路径
- 代码位置、重构范围:浅层文件树,每个条目一行职责说明
- 跨进程或跨时间的交互:Mermaid sequenceDiagram / stateDiagram
- 编写前的 API 形状:仅类型签名,不含函数体
- 对上述任一内容的变更:同一视图的 diff
- 布局,或上述形式过于密集的对比:一个自包含的 HTML 文件
使用方式
渲染目标决定格式。在纯终端中使用树、伪代码或 diff;当实际目标能渲染 Mermaid 时使用 Mermaid;当交互或空间布局能增加价值时,使用交互式可视化或自包含 HTML。遵循宿主的输出目录约定并返回链接。仅在请求时打开文件,使用可用的平台机制;不要假设 macOS 或图形会话。
资料中给出的示例包括:
调用树——运行时顺序:
submitForm
createSession
persistPrompt
launchAgent
navigateToSession
组件树——结构、状态以及组件来自哪个模块:
<SessionPage> (apps/example/src/routes/session.tsx)
useSessionEvents()
<SessionToolbar>
<RunSkillButton> (packages/ui)
文件树——职责,每行一个:
src/
├── commands/ # parses user actions
├── sessions/ # owns session state
└── transport/ # sends API requests
Diff——当周围形状已经存在时。对适合主题的任一视图做 diff;上述任一形式都可带 diff 标记。此处以伪代码为例:
on(save)
- write content
+ if content is unchanged
+ return cached result
+ write new content
+ invalidate cache
适用场景
当用户需要理解代码结构、数据流、调用关系、组件层次、文件职责、API 形状或拟议变更时,show-me 能提供比纯文字更清晰的可视化解释。它适合在终端、支持 Mermaid 的渲染环境,或需要交互式/空间布局的场景中使用。
限制
规则要求只包含当前问题所需的调用、文件、属性、状态和边界,其余用省略号(…)略去,不要为了完整性而填充视图。必须使用真实路径、真实名称、真实数据;用虚构标签做出的整洁图表比散文更糟。当大部分内容是新的时候,当省略的上下文隐藏了归属或顺序时,或者当用户需要可复制的内容时,应展示完整块而不是 diff。跳过前言,可视化就是答案,文字只是说明。
关于该技能的安装方式、收费情况、支持平台等具体信息,资料中暂未提供。