seeflow-lookup

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

seeflow-lookup

seeflow-lookup

Look up registered SeeFlow flows and consult them as architectural ground truth. Read-only counterpart to
/seeflow
— that skill creates and edits flows; this one queries them when an agent is writing code or making decisions.
查询已注册的SeeFlow流程,并将其作为架构依据。它是
/seeflow
的只读对应工具——
/seeflow
技能负责创建和编辑流程,而本技能则在Agent编写代码或做决策时查询这些流程。

Routing gate — run before deciding

路由网关——决策前先执行

Inspection phrasing always lands here first, even when no flow is yet registered — the auto-handoff below covers the empty case. The trigger words are:
show me
,
show the
,
how does
,
how do
,
what does
,
what handles
,
where does
,
where is
,
diagram
,
explain
,
walk me through
, plus any reference to a flow by slug or title without an explicit creation verb (
create
,
scaffold
,
generate
,
add a flow
). When in doubt, route here — a no-match handoff to
/seeflow
is cheap; a duplicate creation run from skipping the gate is not.
只要是检查类表述,都必须先进入本工具,即便尚未注册任何流程——下方的自动切换机制会处理无匹配的情况。触发词包括:
show me
show the
how does
how do
what does
what handles
where does
where is
diagram
explain
walk me through
,以及所有通过slug或标题引用流程但未使用明确创建动词(
create
scaffold
generate
add a flow
)的情况。若拿不定主意,就路由到这里——无匹配时切换至
/seeflow
的成本很低;但跳过此网关导致重复创建流程的代价却很高。

When NOT to invoke

请勿调用本工具的场景

  • Editing flows → use
    /seeflow
    or the canvas.
  • Creating flows from scratch when the user explicitly said "create / scaffold / generate / add a flow" → call
    /seeflow
    directly. (This skill auto-hands off to
    /seeflow
    if it discovers no match for an inspection prompt; skip the hop only when the user's verb is unambiguously creation.)
  • Reading
    LEARN.md
    → use
    Read
    directly (that file is
    /seeflow
    's territory).
  • Mutating anything — this skill is read-only. The auto-handoff above invokes
    /seeflow
    ; it does not mutate state itself.
  • 编辑流程 → 使用
    /seeflow
    或可视化画布。
  • 当用户明确要求“create / scaffold / generate / add a flow”从零创建流程 → 直接调用
    /seeflow
    。(如果本工具发现检查请求无匹配流程,会自动切换至
    /seeflow
    ;仅当用户的动词明确为创建时,可跳过此跳转。)
  • 读取
    LEARN.md
    → 直接使用
    Read
    工具(该文件属于
    /seeflow
    的管辖范围)。
  • 修改任何内容 —— 本工具为只读工具。上述自动切换机制会调用
    /seeflow
    ;本工具自身不会修改任何状态。

Consent — silent check, top of every invocation

权限验证——每次调用前静默检查

Before anything else, read
~/.seeflow/consent.json
silently. If missing, run the first-run prompt and write the file before continuing. If present +
enabled: false
, no feedback logging this session; otherwise log qualifying failures (
cli-error
,
subagent-fail
,
repeated-ask
,
user-complaint
) to
~/.seeflow/feedback.md
. The skill only writes locally — a
SessionEnd
hook handles transfer. Format, prompt wording, kinds, and redaction rules live in
../seeflow/feedback.md
— same cross-skill pattern this skill already uses for
../seeflow/references/schema.md
.
在执行任何操作之前,静默读取
~/.seeflow/consent.json
。若文件缺失,先运行首次启动提示并写入文件后再继续。若文件存在且
enabled: false
,则本次会话不记录反馈;否则将符合条件的失败情况(
cli-error
subagent-fail
repeated-ask
user-complaint
)记录到
~/.seeflow/feedback.md
。本工具仅在本地写入——
SessionEnd
钩子负责传输数据。格式、提示语、故障类型和编辑规则均位于
../seeflow/feedback.md
——本技能已采用这种跨技能模式来引用
../seeflow/references/schema.md

Discover the CLI

发现CLI命令

Run
seeflow help
to list the available subcommands and their flags. If
seeflow
is not on
PATH
, fall back to
npx -y @tuongaz/seeflow@latest help
. The CLI's help output is the source of truth for what you can call — do not assume command names or flags from memory.
Cache the resolved binary (
seeflow
vs
npx -y @tuongaz/seeflow@latest
) for the rest of the conversation and reuse it for every subsequent call.
运行
seeflow help
列出可用的子命令及其参数。若
seeflow
不在
PATH
中,则回退使用
npx -y @tuongaz/seeflow@latest help
CLI的帮助输出是可调用命令的唯一依据——请勿凭记忆假设命令名称或参数。
缓存解析后的二进制文件(
seeflow
npx -y @tuongaz/seeflow@latest
),并在本次对话的后续调用中重复使用。

First step — does a matching flow exist?

第一步:是否存在匹配的流程?

Before any deeper lookup, list the registered flows (use the catalog subcommand surfaced by
seeflow help
) and match the user's topic against it. Match generously: exact slug, fuzzy name, or topic keyword (e.g. "the cart" matches a flow named
shopping-cart
).
  • Match foundsurface the canvas URL first (
    $STUDIO_URL/d/<slug>
    ) so the user can open it, then continue with the cost ladder below for whatever deeper question they asked. Never re-scaffold an existing flow —
    /seeflow
    is the wrong tool here even if the existing flow looks stale; editing belongs on the canvas or
    nodes:patch
    .
  • No matchauto-switch to the
    seeflow
    skill to scaffold one.
    Print a one-line handoff (
    No flow registered for "<topic>" — invoking /seeflow to scaffold it.
    ), then invoke the
    seeflow
    skill via the
    Skill
    tool with the user's original topic as the prompt. Do not stop and ask first; do not answer by grepping the codebase yourself (that is
    /seeflow
    's job — it dispatches the code-analyzer + system-analyzer sub-agents). Hand off and let
    /seeflow
    take over the rest of the turn.
  • Ambiguous match (multiple plausible flows) → list them with their canvas URLs and ask the user which one.
在进行深度查询之前,先列出已注册的流程(使用
seeflow help
显示的catalog子命令),并将用户的主题与列表进行匹配。匹配规则可适当宽松:完全匹配slug、模糊匹配名称或主题关键词(例如“the cart”可匹配名为
shopping-cart
的流程)。
  • 找到匹配项优先显示画布URL
    $STUDIO_URL/d/<slug>
    ),方便用户打开,然后根据用户的深度问题按照下方的成本阶梯继续操作。绝不要重新搭建已存在的流程——即便现有流程看起来过时,
    /seeflow
    也不是正确的工具;编辑操作应在画布或通过
    nodes:patch
    命令进行。
  • 无匹配项自动切换至
    seeflow
    技能来搭建流程
    。打印一行切换提示(
    No flow registered for "<topic>" — invoking /seeflow to scaffold it.
    ),然后通过
    Skill
    工具调用
    seeflow
    技能,并将用户的原始主题作为提示词。请勿停下来询问用户;请勿自行通过搜索代码库来回答(这是
    /seeflow
    的工作——它会调度代码分析器和系统分析器子Agent)。完成切换后,由
    /seeflow
    接管后续操作。
  • 匹配项不明确(存在多个合理匹配的流程)→ 列出这些流程及其画布URL,并询问用户选择哪一个。

Output contract

输出约定

  • Every response is JSON on stdout, passed through unchanged from the CLI. No markdown wrappers, no synthetic fields.
  • Errors are the CLI's structured errors (e.g.
    flowNotFound
    ,
    unknownNode
    ,
    fileNotFound
    ,
    badSchema
    ). Surface them as-is.
  • 所有响应均为标准输出中的JSON,直接传递CLI的输出内容,不做任何修改。不要添加markdown包装,不要生成额外字段。
  • 错误信息采用CLI的结构化错误(例如
    flowNotFound
    unknownNode
    fileNotFound
    badSchema
    ),直接原样显示。

Vocabulary (read the JSON intelligently)

词汇表(智能读取JSON)

For node / connector / action field shapes, run
seeflow schema
(then
seeflow schema node
,
seeflow schema connector
,
seeflow schema action
as needed). Don't infer field names, enum values, or required-lists from memory — re-fetch them. The schema covers what each variant looks like on disk and which values are legal.
What the schema can't tell you — runtime behavior the CLI assumes you know:
  • Decorative node types
    sticky
    ,
    text
    ,
    icon
    ,
    image
    ,
    html
    with empty content, and geometric shapes (
    ellipse
    ,
    database
    ,
    queue
    ,
    cloud
    ,
    server
    ,
    user
    ) carrying no capabilities — are visual only. Skip them for architectural reasoning. Treat any node as architectural when its
    data.playAction
    or
    data.statusAction
    is set, regardless of
    type
    .
  • Semantics live on the nodes, not the connectors. Read the source / target node's
    data.name
    (and
    codePointers
    from the brief) to understand what an edge means.
  • file://
    content fields
    (e.g.
    detail
    ,
    html
    ) are auto-externalised on write. Whether they come back inlined depends on the subcommand — check
    seeflow help
    for the variant that returns full content.
  • Action
    scriptPath
    values
    are relative under
    nodes/<nodeId>/
    . Read those files directly with
    Read
    if you need the script source.
Deeper reference:
../seeflow/references/schema.md
in this plugin (conventions only — no field shapes).
如需了解节点/连接器/动作字段的结构,运行
seeflow schema
(必要时可运行
seeflow schema node
seeflow schema connector
seeflow schema action
)。请勿凭记忆推断字段名称、枚举值或必填列表——重新获取这些信息。该Schema涵盖了每个变体在磁盘上的存储形式以及合法值范围。
Schema无法告知的内容——CLI默认你知晓的运行时行为:
  • 装饰性节点类型 ——
    sticky
    text
    icon
    image
    、内容为空的
    html
    ,以及不具备功能的几何形状(
    ellipse
    database
    queue
    cloud
    server
    user
    )——仅用于展示。在进行架构分析时可忽略这些节点。只要节点的
    data.playAction
    data.statusAction
    已设置,无论其
    type
    是什么,都将其视为架构节点。
  • 语义信息存储在节点上,而非连接器上。通过源/目标节点的
    data.name
    (以及简介中的
    codePointers
    )来理解边的含义。
  • file://
    内容字段
    (例如
    detail
    html
    )在写入时会自动外部化。返回时是否内联取决于子命令——查看
    seeflow help
    获取返回完整内容的变体。
  • 动作的
    scriptPath
    相对路径为
    nodes/<nodeId>/
    。如果需要脚本源代码,直接使用
    Read
    工具读取这些文件。
深度参考:本插件中的
../seeflow/references/schema.md
(仅包含约定,无字段结构)。

Usage pattern (cost ladder)

使用模式(成本阶梯)

Start with the cheapest lookup the CLI offers (a summary across flows), pick a flow, then ask for that flow's structure, and only fetch individual nodes when you need their content. Reserve any "full inline" variant for small flows or when you genuinely need every detail. Reading
play.ts
/
status.ts
directly is reserved for cases where the script source itself drives the decision.
从CLI提供的成本最低的查询方式开始(跨流程的摘要),选择一个流程,然后查询该流程的结构,仅当需要节点内容时才获取单个节点的信息。仅在处理小型流程或确实需要所有细节时,才使用“完整内联”变体。仅当脚本源代码本身会影响决策时,才直接读取
play.ts
/
status.ts

Common mistakes

常见错误

  • Assuming subcommand names from memory — always confirm with
    seeflow help
    first.
  • Reaching for the "full" variant first on a large flow — burns context. Climb the ladder.
  • Treating decorative nodes as architecture — geometric shapes without capabilities, plus
    sticky
    /
    text
    /
    icon
    /
    image
    / empty
    html
    , are visual only.
  • Re-emitting JSON as prose — pass the CLI output through unchanged. Don't rewrite it as markdown.
  • Reading
    file://
    refs as filesystem paths
    — let the CLI inline them; only fall back to direct
    Read
    for
    scriptPath
    .
  • 凭记忆假设子命令名称 —— 务必先通过
    seeflow help
    确认。
  • 在处理大型流程时优先使用“完整”变体 —— 会消耗过多上下文。应逐步升级查询方式。
  • 将装饰性节点视为架构节点 —— 不具备功能的几何形状,以及
    sticky
    /
    text
    /
    icon
    /
    image
    /空内容
    html
    仅用于展示。
  • 将JSON转换为散文形式输出 —— 直接传递CLI的输出内容,不要重写为markdown。
  • file://
    引用视为文件系统路径
    —— 让CLI自动内联这些内容;仅在处理
    scriptPath
    时才回退到直接使用
    Read
    工具。",