mcpField
S
show-me

show-me

github.com/dmmulroyAgent 工作流97856 次安装1 天前更新
代码仓库

关于 show-me

一种 Agent 技能,用尽可能精简的图示帮助说明当前话题。它根据内容选择伪代码、树形图、Mermaid、差异或专注的 HTML 可视化,并配以简短文字。

主要功能

  1. 01用伪代码呈现逻辑
  2. 02用树形图展示流程与结构
  3. 03用 Mermaid 表示交互和数据流
  4. 04用差异展示改动
  5. 05制作精简 HTML 可视化

适用场景

  1. 01解释算法或控制流程
  2. 02展示组件和文件边界
  3. 03对比拟议的改动
  4. 04可视化复杂界面或概念

安装

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

$npx skills add https://github.com/dmmulroy/.dotfiles --skill show-me

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

附带文件agents/openai.yaml

详细介绍

以可视化方式帮助用户理解当前对话主题。跳过开场白,文字保持简洁。选择能清楚说明要点的最小视图。

  • 用伪代码展示逻辑或算法:
on(save)
  if content is unchanged
    return cached result
  write new content
  return fresh result
  • 用调用树展示运行时控制流:
submitForm
  createSession
    persistPrompt
    launchAgent
  navigateToSession
  • 用组件树展示 UI 结构,包括重要的状态和模块边界:
<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
  • 用 Mermaid 展示组件交互、控制流或数据流:
sequenceDiagram
    participant User
    participant UI
    participant Daemon
    User->>UI: choose command
    UI->>Daemon: send expanded prompt
    Daemon-->>UI: stream result
  • 如果重点是发生了哪些变化,且周边结构已存在,请使用 diff。让 diff 的结构与主题相匹配。

对于组件变更:

 <SessionPage>
   useSessionEvents()
   <SessionToolbar>
+    <RunSkillButton />
   <SessionTimeline>
+    <SkillResultCard />

对于文件布局变更:

 src/
 ├── commands/
+│   └── show-me.ts       # expands the slash command
 ├── sessions/
-└── transport.ts
+└── transport/
+    ├── client.ts
+    └── stream.ts

对于调用树或调用栈变更:

 submitForm
   createSession
     persistPrompt
+    expandSkillMention
     launchAgent
-  navigateToSession
+  navigateToSession
+    subscribeToEvents

对于状态或控制流变更:

 on(save)
-  write content
+  if content is unchanged
+    return cached result
+  write new content
+  invalidate cache
  • 如果大部分内容都是新增的、缺少上下文会掩盖归属关系或顺序,或者用户需要可复制的目标结构,请展示完整代码块:
function expandSkill(command: string): string {
  const skillName = command.slice(1)
  return `use the ${skillName} skill`
}
  • 对于可视化 UI、布局、状态对比,或 Mermaid 难以表达的复杂概念,请编写一个聚焦的 HTML 文件——根据主题选择图表、信息图或简短幻灯片。匹配产品的配色、字体、间距和组件;使用真实标签和数据;兼容桌面端和移动端。然后为用户打开该文件:
Bash(open path/to/show-me-{description}.html)
指南

将每个可视化内容放在它所辅助的简短文字旁边。只保留回答用户当前问题或解决当前讨论点所需的调用、文件、属性、状态和边界。

可以使用其中一种,也可以使用多种,但几乎不可能全部用上。请自行判断,避免让用户应接不暇。

评论

支持 Markdown