返回全部 Skills

tesseron-explorer

开发工具

将现有的 Tesseron TypeScript 代码库进行映射——生成应用、动作、资源、上下文方法使用、传输层、React hooks 以及会话生命周期连接的目录;追踪代理调用如何通过处理器流入应用状态;返回包含文件:行引用的紧凑架构摘要。当用户在导入 `@tesseron/core`、`@tesseron/web`、`@tesseron/server`、`@tesseron/react` 或 `@tesseron/mcp` 的项目中请求“探索”、“映射”、“理解”、“分析”、“追踪”或“解释这是如何工作的”,或在扩展非平凡的 Tesseron 代码库之前,主动使用此功能。调用者应在调用提示中传递作用范围(项目根目录、包或特定功能)。

3

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add BrainBlend-AI/tesseron --skill tesseron-explorer

skill.md

name: tesseron-explorer
description: 将现有的 Tesseron TypeScript 代码库进行映射——生成应用、动作、资源、上下文方法使用、传输层、React hooks 以及会话生命周期连接的目录;追踪代理调用如何通过处理器流入应用状态;返回包含文件:行引用的紧凑架构摘要。当用户在导入 `@tesseron/core`、`@tesseron/web`、`@tesseron/server`、`@tesseron/react` 或 `@tesseron/mcp` 的项目中请求“探索”、“映射”、“理解”、“分析”、“追踪”或“解释这是如何工作的”,或在扩展非平凡的 Tesseron 代码库之前,主动使用此功能。调用者应在调用提示中传递作用范围(项目根目录、包或特定功能)。

Tesseron 探索器

映射现有的 Tesseron TypeScript 应用程序——其应用清单、操作、资源、上下文方法使用、传输、React 钩子和会话生命周期——并返回一份紧凑摘要,以便调用者无需重新阅读文件即可操作。

范围

调用者在调用提示中指定要探索的内容:

  • 项目 —— 从项目根目录开始遍历。
  • —— 限定到某个包或目录(例如 packages/coreexamples/react-todo)。
  • 功能 —— 端到端追踪特定能力(例如“会话恢复在客户端中的流程”)。

如果调用者未指定,则从父线程正在操作的目录开始,定位所有从 @tesseron/* 导入的文件。

探索顺序

  1. 项目结构。 读取 package.json(根和工作区包)以获取工作区布局、依赖版本和 scripts。在所有 package.json 文件中搜索 "@tesseron/,以识别哪些包是消费者(@tesseron/web/server/react)以及哪些是 SDK 本身。识别入口点(src/main.tssrc/main.tsxsrc/app.tsxsrc/index.tsvite.config.tstsconfig.json)。
  1. SDK 表面。 搜索框架锚点:
  • from '@tesseron/web' / from '@tesseron/server' / from '@tesseron/react' / from '@tesseron/core' —— 消费者导入。
  • tesseron.app( —— 应用清单注册。
  • tesseron.action( / .action( —— 操作构建器链。
  • tesseron.resource( / .resource( —— 资源构建器链。
  • tesseron.connect( —— 会话握手位置。
  • useTesseronAction( / useTesseronResource( / useTesseronConnection( —— React 钩子位置。
  • ctx.sample( / ctx.confirm( / ctx.elicit( / ctx.progress( / ctx.log( / ctx.signal —— 上下文方法使用。
  • ResumeCredentials / resumeToken / sessionId —— 恢复流程持久化。
  • BrowserWebSocketTransport / NodeWebSocketServerTransport / @tesseron/vite 插件 / implements Transport —— 传输接线。
  • TesseronError / SamplingNotAvailableError / ElicitationNotAvailableError / TimeoutError / ResumeFailedError —— 错误处理。
  1. 组件映射。 对于每个匹配项,仅打开文件足够捕获组件形状的部分。如果目标片段足够,不要读取整个文件。
  1. 数据流。 追踪调用如何传播:
  • 网关 → SDK:actions/invoke → 处理器 → 状态变更 → 订阅者 → resources/updated 通知。
  • SDK → 网关:tesseron/hellotesseron/resume → 欢迎 → 正在进行的调用。
  • 处理器 → 代理:ctx.sample / ctx.confirm / ctx.elicit 往返。
  • React 生命周期:通过钩子注册 → ref 更新 → 在最新状态上的处理器闭包 → 卸载时清理。
  • 多通道状态(例如 Express + Tesseron 共享存储):通道之间的发布/订阅连接。

每个组件应捕获的内容

应用

  • idname —— tesseron.app(...) 调用的文件:行。
  • descriptionoriginversion
  • 会话是否在同一文件中建立(tesseron.connect(...))或在其他地方(例如应用根部的 React useTesseronConnection)。
  • 恢复凭据是否已持久化(localStorage、sessionStorage、IndexedDB、服务器端存储)。

操作

  • 名称和一句话用途。
  • 构建器链的文件:行。
  • 输入模式(验证器 + 结构)、输出模式(如果有)、是否设置了 .strictOutput()
  • 注解(readOnly / destructive / requiresConfirmation)。
  • 超时重写。
  • 处理器同步 vs 异步、副作用(状态变更、HTTP 调用、数据库写入、订阅者通知)。
  • 上下文方法使用:sample / confirm / elicit / progress / log / signal 转发。

资源

  • 名称和一句话用途。
  • 构建器链的文件:行。
  • 输出模式。
  • read() 读取器(纯 vs 不纯的)、subscribe() 接线(初始触发、回调注册、清理函数)。
  • 订阅者:应用发出更新的位置(状态设置器、发布/订阅回调、$effect / watch)。

传输

  • 使用的传输实现:BrowserWebSocketTransport(客户端,拨号到 /@tesseron/ws 桥接)、NodeWebSocketServerTransport(服务器,托管环回端点并写入标签文件)、自定义 postMessage、用于测试的内存中。
  • 对于浏览器应用:是否配置了 @tesseron/vite(v2.0 必需——它通过 /@tesseron/ws 桥接浏览器标签与网关)。
  • 恢复使用——是否连接了 ConnectOptions.resume

React 钩子位置

  • 组件路径 + 钩子调用。
  • 对于 useTesseronAction:操作名称、闭包捕获、处理器是否通过 ref 使用最新状态。
  • 对于 useTesseronResource:简写(函数)vs 完整选项、订阅模式。
  • 对于 useTesseronConnection:挂载位置(根 vs 嵌套)、连接状态消费者(声明码 UI、错误横幅等)。

会话生命周期

  • 声明码如何呈现给用户(内联文本、通知、模态框)。
  • 欢迎信息如何存储和读取。
  • 恢复凭据如何持久化和刷新(请记住:resumeToken 在每次成功恢复后轮换)。

输出格式

## 代码库映射:<项目或功能名称>

### 概述

<两到三句话描述应用向 Claude 暴露了什么、使用了哪个栈、以及涉及哪种传输/网关模式>

### 入口点

- <路径>:<行> — <角色>

### 应用

- **<应用ID>**(`<路径>:<行>`)。<一句话用途>。描述=<...>。通过 <传输 + URL> 连接。恢复:<是否持久化?在哪里?>。

### 操作

- **<操作名称>** — `<路径>:<行>`。<一句话用途>。输入=<结构>,输出=<结构或"无">,严格=<是/否>,注解=<readOnly/destructive/confirm>,超时=<默认或重写>。上下文使用:<sample/confirm/elicit/progress/log/signal>。副作用:<...>。

### 资源

- **<资源名称>** — `<路径>:<行>`。<一句话用途>。读取=<纯/不纯>,订阅=<是/否>。触发接线:<应用触发更新的位置>。

### 传输

- `<路径>:<行>` — <实现>。目标:<URL>。选项:<恢复?允许列表?超时?>。

### React 钩子(如果适用)

- `<路径>:<行>` — `useTesseronAction('<名称>', ...)` / `useTesseronResource(...)` / `useTesseronConnection(...)`。闭包模式:<通过 ref 获取最新状态/稳定闭包/其他>。

### 会话生命周期

<hello/resume 如何发生、声明码出现在何处、凭据如何持久化、断开连接如何处理>

### 数据流

<ASCII 图/简短散文:网关→处理器→状态→订阅者,加上任何 sample/elicit 往返>

### 必读列表

调用者应打开以进一步理解系统的优先文件,每个文件附一行理由。

### 观察(可选)

标记值得注意的模式、风险或异常。不要评审——仅指出结构上有趣的点。将详细评审交给 `tesseron-reviewer` 技能。

保持整个映射聚焦。令牌上限:目标为一到两屏幕的 Markdown 加上必读列表。对于较大的代码库,生成两级映射:顶层结构 + 每个组件一层细节,仅在用户要求时深入。

探索原则

  1. 窄读。 使用带 -n 和较小 Read 偏移量的目标 grep。当 30 行片段足够时读取整个文件会浪费上下文并延迟摘要。
  2. 处处引用文件:行。 每项声明都需要用户可验证的引用。
  3. 描述存在的内容,不要设计。 设计问题(“我们应该如何扩展它?”)是独立的任务。你的输出是一个事实性映射。
  4. 注意异常,不要修复。 发现可能的错误、不寻常的模式或遗留导入是可以的;在 *观察* 中标记它,并将判决推迟给 tesseron-reviewer 技能。
  5. 映射完成时停止。 当必读列表已整理且每个组件已捕获时,返回。过度阅读超出该点会浪费上下文。