ascn-operator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ASCN Operator

ASCN Operator

Use this guide as the source of truth for how the operator should work.
本指南是Operator工作方式的权威参考。

Mission

使命

Use workspace MCP
control.*
tools to safely discover, validate, change, activate, and export workflows, plus submit plugin bundles with clear, auditable outcomes.
使用工作区MCP的
control.*
工具安全地发现、验证、修改、激活和导出工作流,并提交具有清晰可审计结果的插件包。

Required Inputs

必填输入项

The operator MUST obtain:
  1. workspace_id
    (UUID)
  2. intent
    (
    create|repair|patch|export|publish_plugin|delete|explain
    )
Optional but strongly recommended:
  1. workflow_id
    for patch/repair/export/delete intents
  2. required integration list and secrets map
  3. success criteria (expected workflow status/tool name)
  4. for
    publish_plugin
    :
    plugin_name
    , canonical handler list, and plugin definition metadata
  5. blueprint_preference
    (
    linear|fanout|conditional|retryable_http|tool_export
    )
  6. latency target (for example
    latency_slo_ms
    )
  7. throughput target (for example
    throughput_rps
    )
  8. idempotency requirement (
    strict|best_effort
    )
If
workspace_id
is missing, the operator MUST stop before any mutation.
Operator必须获取以下信息:
  1. workspace_id
    (UUID格式)
  2. intent
    (取值范围:
    create|repair|patch|export|publish_plugin|delete|explain
可选但强烈建议提供的信息:
  1. 针对patch/repair/export/delete意图的
    workflow_id
  2. 所需集成列表和密钥映射
  3. 成功标准(预期工作流状态/工具名称)
  4. 针对
    publish_plugin
    意图的
    plugin_name
    、标准处理器列表和插件定义元数据
  5. blueprint_preference
    (取值范围:
    linear|fanout|conditional|retryable_http|tool_export
  6. 延迟目标(例如
    latency_slo_ms
  7. 吞吐量目标(例如
    throughput_rps
  8. 幂等性要求(取值范围:
    strict|best_effort
如果缺少
workspace_id
,Operator必须在执行任何变更操作前停止。

Required Tool Surface

必填工具集

The target gateway MUST expose these tools:
  1. control.docs.get
  2. control.registry.list
  3. control.registry.details
  4. control.workflows.list
  5. control.workflows.describe
  6. control.workflows.validate
  7. control.workflows.create
  8. control.workflows.patch
  9. control.workflows.activate
  10. control.workflows.delete
  11. control.tools.list_exports
  12. control.tools.ensure_export
  13. control.runs.list
  14. control.runs.details
  15. control.plugins.create_plugin
  16. control.plugins.update_plugin
  17. control.plugins.list
If required tools are unavailable, the operator MUST fail fast with a dependency error summary.
目标网关必须暴露以下工具:
  1. control.docs.get
  2. control.registry.list
  3. control.registry.details
  4. control.workflows.list
  5. control.workflows.describe
  6. control.workflows.validate
  7. control.workflows.create
  8. control.workflows.patch
  9. control.workflows.activate
  10. control.workflows.delete
  11. control.tools.list_exports
  12. control.tools.ensure_export
  13. control.runs.list
  14. control.runs.details
  15. control.plugins.create_plugin
  16. control.plugins.update_plugin
  17. control.plugins.list
如果必填工具不可用,Operator必须立即失败并返回依赖项错误摘要。

Companion Skill Delegation

配套Skill委托

If capability is insufficient, the operator MUST delegate integration design/implementation to:
  1. skills/ascn-integrations/SKILL.md
The operator MUST resume lifecycle mutations only after missing capability becomes available.
如果能力不足,Operator必须将集成设计/实现委托给:
  1. skills/ascn-integrations/SKILL.md
只有当缺失的能力可用后,Operator才能恢复生命周期变更操作。

Connectivity Prerequisites

连通性前提

Before lifecycle operations, the operator MUST verify MCP connectivity for the workspace gateway.
Required gateway configuration:
  1. transport:
    streamable_http
  2. URL:
    https://nocode.ascn.ai/mcp
  3. tool dependency id:
    workspace-mcp-gateway
  4. workspace secret name:
    mcp_gateway_token
  5. auth header:
    Authorization: Bearer <token>
    (must match secret value)
  6. MCP auth/token source:
    https://ascn.ai/no-code/mcp-list
The operator MUST NOT attempt workflow mutations until this dependency is reachable.
在执行生命周期操作之前,Operator必须验证工作区网关的MCP连通性。
必填网关配置:
  1. 传输方式:
    streamable_http
  2. URL:
    https://nocode.ascn.ai/mcp
  3. 工具依赖ID:
    workspace-mcp-gateway
  4. 工作区密钥名称:
    mcp_gateway_token
  5. 认证头:
    Authorization: Bearer <token>
    (必须与密钥值匹配)
  6. MCP认证/令牌来源:
    https://ascn.ai/no-code/mcp-list
在该依赖项可达之前,Operator不得尝试执行工作流变更操作。

Dependency Handshake

依赖项握手

At task start, the operator MUST perform a dependency readiness check:
  1. confirm
    workspace_id
    is present
  2. confirm MCP gateway dependency exists in agent runtime
  3. confirm control tool surface is discoverable
If any check fails, classify as dependency failure and return user-facing connection instructions.
任务启动时,Operator必须执行依赖项就绪检查:
  1. 确认
    workspace_id
    已提供
  2. 确认MCP网关依赖项存在于Agent运行时中
  3. 确认控制工具集可被发现
如果任何检查失败,将其归类为依赖项失败,并返回面向用户的连接说明。

Capability Gap Policy

能力缺口策略

After dependency checks, the operator MUST determine whether current capability is sufficient.
Required detection order:
  1. inspect workflow/tool inventory (
    control.workflows.list
    ,
    control.workflows.describe
    ,
    control.tools.list_exports
    )
  2. inspect handler/trigger inventory (
    control.registry.list
    ,
    control.registry.details
    )
  3. classify capability status:
    • sufficient
    • missing_handler
    • missing_trigger
    • missing_auth_capability
    • schema_or_contract_gap
If status is not
sufficient
, the operator MUST NOT invent handler/trigger names.
完成依赖项检查后,Operator必须确定当前能力是否足够。
必填检测顺序:
  1. 检查工作流/工具清单(
    control.workflows.list
    control.workflows.describe
    control.tools.list_exports
  2. 检查处理器/触发器清单(
    control.registry.list
    control.registry.details
  3. 对能力状态进行分类:
    • sufficient(足够)
    • missing_handler(缺失处理器)
    • missing_trigger(缺失触发器)
    • missing_auth_capability(缺失认证能力)
    • schema_or_contract_gap( schema或契约缺口)
如果状态不是
sufficient
,Operator不得自行杜撰处理器/触发器名称。

Blueprint Selector Policy

蓝图选择策略

For
create|patch|repair|export
, the operator MUST select one workflow blueprint before drafting config.
Supported blueprint types:
  1. linear
    : single ordered chain
  2. fanout
    : one producer, multiple parallel consumers
  3. conditional
    : explicit branch routing with conditions
  4. retryable_http
    : network call with explicit retry/error path
  5. tool_export
    :
    Trigger.Tool
    surfaced via MCP
The operator MUST:
  1. declare selected blueprint in output (
    selected_blueprint
    )
  2. keep graph topology consistent with selected blueprint
  3. use
    control.registry.details
    examples/minimal params as activity-level examples
针对
create|patch|repair|export
意图,Operator必须在起草配置前选择一个工作流蓝图。
支持的蓝图类型:
  1. linear
    :单一有序链
  2. fanout
    :一个生产者,多个并行消费者
  3. conditional
    :带条件的显式分支路由
  4. retryable_http
    :带显式重试/错误路径的网络调用
  5. tool_export
    :通过MCP暴露的
    Trigger.Tool
Operator必须:
  1. 在输出中声明所选蓝图(
    selected_blueprint
  2. 保持图拓扑与所选蓝图一致
  3. 使用
    control.registry.details
    中的示例/最小参数作为活动级示例

Execution Policy

执行策略

Global Rules

全局规则

  1. The operator MUST call
    control.docs.get
    before intent-specific mutations.
  2. The operator MUST validate before every create/patch mutation.
  3. The operator MUST mutate by
    workflow_id
    , never inferred names.
  4. The operator MUST not perform delete without explicit
    confirm=true
    .
  5. The operator MUST run
    control.workflows.activate
    after successful create/patch/export.
  6. For exported MCP tools, the operator MUST run smoke-test trace checks using
    control.runs.list
    .
  7. The operator MUST use a minimal-valid first draft, then expand.
  8. The operator MUST complete schema-lock and reference-safety checks before mutation.
  9. The operator MUST use a consistent node naming convention.
  10. The operator MUST prepare patch strategy from error class before retrying failed validation.
  1. 在执行特定意图的变更操作前,Operator必须调用
    control.docs.get
  2. 在每次创建/修补变更前,Operator必须执行验证
  3. Operator必须通过
    workflow_id
    执行变更,不得使用推断名称
  4. 没有显式的
    confirm=true
    参数时,Operator不得执行删除操作
  5. 在成功完成create/patch/export操作后,Operator必须调用
    control.workflows.activate
  6. 对于导出的MCP工具,Operator必须使用
    control.runs.list
    执行冒烟测试跟踪检查
  7. Operator必须先构建最小可用的初始版本,再进行扩展
  8. 在执行变更操作前,Operator必须完成schema锁定和引用安全检查
  9. Operator必须使用一致的节点命名规范
  10. 在重试失败的验证操作前,Operator必须根据错误类别制定修补策略

Authoring Pipeline (Required)

创作流水线(必填)

For
create|patch|repair|export
, operator MUST apply this order:
  1. select blueprint type
  2. schema-lock from
    control.registry.details
    :
    • required params
    • defaults
    • secret-backed fields
  3. build minimal valid draft:
    • smallest runnable set of nodes
    • explicit trigger entry edge(s)
  4. run reference safety gate:
    • each
      $node[...]
      has reachable directed path
    • no raw
      $...
      dynamic directives without
      ={{ ... }}
    • no secret literals
  5. validate (
    control.workflows.validate
    )
  6. mutate (
    create
    or
    patch
    )
  7. activate
  8. expand/iterate only if required by scope
针对
create|patch|repair|export
意图,Operator必须按照以下顺序执行:
  1. 选择蓝图类型
  2. 通过
    control.registry.details
    进行schema锁定:
    • 必填参数
    • 默认值
    • 密钥支持字段
  3. 构建最小可用的初始版本:
    • 最小可运行节点集
    • 显式触发器入口边
  4. 执行引用安全检查:
    • 每个
      $node[...]
      都有可达的有向路径
    • 没有未使用
      ={{ ... }}
      包裹的原始
      $...
      动态指令
    • 没有明文密钥
  5. 执行验证(
    control.workflows.validate
  6. 执行变更(
    create
    patch
  7. 激活工作流
  8. 仅在范围要求时进行扩展/迭代

Intent Flows

意图流程

create
  1. control.docs.get
  2. control.workflows.list
  3. control.registry.list
  4. control.registry.details
  5. select blueprint + schema-lock + minimal valid draft
  6. control.workflows.validate
  7. control.workflows.create
  8. control.workflows.activate
patch|repair
  1. control.docs.get
  2. control.workflows.list
  3. control.workflows.describe
  4. control.registry.details
  5. select blueprint + schema-lock + minimal patch draft
  6. control.workflows.validate
  7. control.workflows.patch
  8. control.workflows.activate
export
  1. control.docs.get
  2. control.workflows.describe
  3. control.tools.list_exports
    with
    expose_mcp_only=false
    to inspect all exports
  4. control.tools.ensure_export
    with canonical
    output_path
  5. control.workflows.validate
  6. control.workflows.activate
  7. invoke exported tool with minimal valid payload
  8. control.runs.list
    for latest run verification
  9. control.runs.details
    for node outputs and timeline diagnostics
delete
  1. control.workflows.describe
  2. summarize destructive impact
  3. control.workflows.delete
    with
    confirm=true
publish_plugin
  1. control.docs.get
  2. control.registry.details
    for each selected handler
  3. control.plugins.create_plugin
  4. control.plugins.update_plugin
    (only when edits are required)
  5. verify the published plugin appears under
    user
    category in plugin UI (
    control.plugins.list
    )
  6. enforce UX behavior:
    • unwrapped exports stay visible as flat
      User.<Handler>
      entries
    • published bundles render as first-class plugin cards/forms
  7. instruct user to test via plugin card/form flow (not raw handler list)
create
意图
  1. control.docs.get
  2. control.workflows.list
  3. control.registry.list
  4. control.registry.details
  5. 选择蓝图 + schema锁定 + 构建最小可用初始版本
  6. control.workflows.validate
  7. control.workflows.create
  8. control.workflows.activate
patch|repair
意图
  1. control.docs.get
  2. control.workflows.list
  3. control.workflows.describe
  4. control.registry.details
  5. 选择蓝图 + schema锁定 + 构建最小可用修补版本
  6. control.workflows.validate
  7. control.workflows.patch
  8. control.workflows.activate
export
意图
  1. control.docs.get
  2. control.workflows.describe
  3. 使用
    expose_mcp_only=false
    参数调用
    control.tools.list_exports
    以检查所有导出项
  4. 使用标准
    output_path
    调用
    control.tools.ensure_export
  5. control.workflows.validate
  6. control.workflows.activate
  7. 使用最小可用负载调用导出的工具
  8. 通过
    control.runs.list
    验证最新运行情况
  9. 通过
    control.runs.details
    查看节点输出和时间线诊断信息
delete
意图
  1. control.workflows.describe
  2. 总结破坏性影响
  3. 携带
    confirm=true
    参数调用
    control.workflows.delete
publish_plugin
意图
  1. control.docs.get
  2. 针对每个所选处理器调用
    control.registry.details
  3. control.plugins.create_plugin
  4. control.plugins.update_plugin
    (仅在需要编辑时执行)
  5. 验证已发布的插件在插件UI的
    user
    分类下可见(
    control.plugins.list
  6. 强制执行UX行为:
    • 未封装的导出项保持为扁平的
      User.<Handler>
      条目可见
    • 已发布的包以一等插件卡片/表单形式展示
  7. 指导用户通过插件卡片/表单流程进行测试(而非原始处理器列表)

Capability-Gap Flow

能力缺口流程

When capability is insufficient, operator MUST run this branch:
  1. produce
    gap_summary
    with classification and impact
  2. propose reuse-first options in priority order:
    • compose with existing handlers/triggers/tools
    • reuse/patch existing exported tool
    • connect external MCP tool
    • implement new reusable integration (handler/trigger)
  3. produce at least one Integration Proposal Card
  4. ask user to choose path before continuing mutations
  5. run the
    ascn-integrations
    skill flow for the selected option
The operator MUST pause lifecycle mutations until user selects a path.
当能力不足时,Operator必须执行以下分支流程:
  1. 生成包含分类和影响的
    gap_summary
  2. 按优先级提出优先复用的选项:
    • 组合现有处理器/触发器/工具
    • 复用/修补现有导出工具
    • 连接外部MCP工具
    • 实现新的可复用集成(处理器/触发器)
  3. 生成至少一个集成提议卡片
  4. 在继续变更操作前,请求用户选择路径
  5. 针对所选选项执行
    ascn-integrations
    Skill流程
在用户选择路径之前,Operator必须暂停生命周期变更操作。

Post-Export Testability and Traceability

导出后的可测试性与可追溯性

After export and activation, operator MUST validate runtime behavior:
  1. invoke exported MCP tool with minimal valid payload
  2. query latest runs via
    control.runs.list
  3. confirm latest run status is expected (
    COMPLETED
    for happy-path smoke)
  4. inspect full run payload via
    control.runs.details
    when run is failed or unexpected
  5. if run fails, include
    run_id
    and
    trace_id
    in failure summary
导出并激活后,Operator必须验证运行时行为:
  1. 使用最小可用负载调用导出的MCP工具
  2. 通过
    control.runs.list
    查询最新运行记录
  3. 确认最新运行状态符合预期(冒烟测试的正常路径应为
    COMPLETED
  4. 当运行失败或状态异常时,通过
    control.runs.details
    检查完整运行负载
  5. 如果运行失败,在失败摘要中包含
    run_id
    trace_id

Export Robustness Rules

导出健壮性规则

When handling export intent, operator MUST:
  1. list exports with
    expose_mcp_only=false
    before reconciliation
  2. ensure export output uses canonical
    output_path
  3. verify
    output_path
    resolves to output-producing node
  4. check canonical tool name conflicts before activation
  5. smoke-test after activation and inspect runs on any failure
处理导出意图时,Operator必须:
  1. 在协调前使用
    expose_mcp_only=false
    参数列出所有导出项
  2. 确保导出输出使用标准
    output_path
  3. 验证
    output_path
    指向生成输出的节点
  4. 激活前检查标准工具名称是否存在冲突
  5. 激活后执行冒烟测试,若失败则检查运行记录

Idempotency and Retry

幂等性与重试

  1. Mutation operations MUST use a deterministic operation key:
    {workspace_id}:{intent}:{workflow_id|workflow_name}:{payload_hash}
    .
  2. Transient failures (
    timeout
    ,
    5xx
    , gateway unavailable) MAY retry up to 3 attempts with exponential backoff.
  3. Validation/context/export-conflict failures MUST NOT auto-retry; patch context/payload first.
  4. Retry behavior MUST be recorded in the final output.
  1. 变更操作必须使用确定性操作键:
    {workspace_id}:{intent}:{workflow_id|workflow_name}:{payload_hash}
  2. 临时失败(
    timeout
    5xx
    、网关不可用)最多可重试3次,并使用指数退避策略
  3. 验证/上下文/导出冲突失败不得自动重试;需先修补上下文/负载
  4. 重试行为必须记录在最终输出中

Authoring Standards

创作标准

  1. Activity IDs MUST be unique.
  2. Every
    edges[].to
    MUST reference an existing activity.
  3. Trigger entry edges SHOULD be explicit for deterministic starts.
  4. $json
    MUST be used only for current node input.
  5. Upstream reads MUST use
    $node['id'].json.field
    with graph reachability.
  6. Dynamic expressions and secrets MUST use
    ={{ ... }}
    .
  7. Credentials MUST NOT be hardcoded.
  8. If required capability is missing, operator MUST propose reusable integration path instead of ad-hoc one-off node logic.
  1. 活动ID必须唯一
  2. 每个
    edges[].to
    必须引用现有活动
  3. 触发器入口边应显式声明以确保启动的确定性
  4. $json
    只能用于当前节点输入
  5. 读取上游节点必须使用
    $node['id'].json.field
    ,且需保证图可达性
  6. 动态表达式和密钥必须使用
    ={{ ... }}
    包裹
  7. 凭证不得硬编码
  8. 如果缺少所需能力,Operator必须提议可复用集成路径,而非临时的一次性节点逻辑

Naming Convention

命名规范

For generated/updated workflow nodes, operator MUST use:
  1. activity id pattern:
    <verb>_<domain>_<seq>
    (example:
    fetch_orders_01
    )
  2. trigger id pattern:
    <kind>_<seq>
    (example:
    tool_01
    ,
    cron_01
    )
  3. workflow name pattern:
    <domain>_<intent>_<variant>
    (example:
    orders_sync_tool
    )
  4. lowercase snake_case ids for stable
    $node[...]
    references
对于生成/更新的工作流节点,Operator必须使用以下命名规则:
  1. 活动ID格式:
    <verb>_<domain>_<seq>
    (示例:
    fetch_orders_01
  2. 触发器ID格式:
    <kind>_<seq>
    (示例:
    tool_01
    cron_01
  3. 工作流名称格式:
    <domain>_<intent>_<variant>
    (示例:
    orders_sync_tool
  4. 使用小写蛇形命名法(snake_case)作为ID,以保证
    $node[...]
    引用的稳定性

Node Reference Syntax (Required)

节点引用语法(必填)

The operator MUST explicitly use and communicate these patterns when authoring workflow params:
  1. Current node input:
    • ={{ $json }}
    • ={{ $json.field }}
  2. Upstream node output:
    • ={{ $node['build'].json }}
    • ={{ $node['build'].json.message }}
  3. Upstream array/object access:
    • ={{ $node['fetch'].json.items[0].id }}
  4. Secrets:
    • ={{ $secrets.telegram_bot_token }}
The operator MUST NOT use raw
$node[...]
or raw
$json...
strings without
={{ ... }}
in dynamic fields. If a node reference is used, graph reachability MUST be validated (
A -> ... -> B
).
Operator在创作工作流参数时,必须显式使用并遵循以下模式:
  1. 当前节点输入:
    • ={{ $json }}
    • ={{ $json.field }}
  2. 上游节点输出:
    • ={{ $node['build'].json }}
    • ={{ $node['build'].json.message }}
  3. 上游数组/对象访问:
    • ={{ $node['fetch'].json.items[0].id }}
  4. 密钥:
    • ={{ $secrets.telegram_bot_token }}
在动态字段中,Operator不得使用未被
={{ ... }}
包裹的原始
$node[...]
$json...
字符串。 如果使用了节点引用,必须验证图可达性(
A -> ... -> B
)。

Error Handling Standard

错误处理标准

The operator MUST map errors to
contracts/error-taxonomy.yaml
.
Mandatory handling classes:
  1. validation
    : patch payload and re-validate.
  2. context
    : correct workspace/workflow mismatch before proceeding.
  3. export_conflict
    : list exports and reconcile canonical name/output path.
  4. transient
    : bounded retries with backoff.
  5. dependency
    : stop execution and provide MCP connection runbook to user.
  6. capability_gap
    : propose reusable integration options and request user decision.
Operator必须将错误映射到
contracts/error-taxonomy.yaml
中的分类。
必填处理类别:
  1. validation
    :修补负载并重新验证
  2. context
    :先修正工作区/工作流不匹配问题,再继续执行
  3. export_conflict
    :列出导出项并协调标准名称/输出路径
  4. transient
    :带退避策略的有限重试
  5. dependency
    :停止执行并向用户提供MCP连接手册
  6. capability_gap
    :提议可复用集成选项并请求用户决策

Failure Patch Strategy Templates

失败修补策略模板

On failed validation or mutation, operator MUST choose patch strategy by class:
  1. validation
    : patch params/edges/references, then re-validate
  2. context
    : rebind workspace/workflow id, then retry once
  3. export_conflict
    : list exports, reconcile tool+handler+output_path
  4. dependency
    : stop and return connection runbook
  5. transient
    : bounded retry with backoff (max 3)
  6. capability_gap
    : return proposals and wait for user decision
当验证或变更操作失败时,Operator必须根据类别选择修补策略:
  1. validation
    :修补参数/边/引用,然后重新验证
  2. context
    :重新绑定工作区/工作流ID,然后重试一次
  3. export_conflict
    :列出导出项,协调工具+处理器+输出路径
  4. dependency
    :停止并返回连接手册
  5. transient
    :带退避策略的有限重试(最多3次)
  6. capability_gap
    :返回提议并等待用户决策

Output Contract

输出契约

Every completion MUST include this shape:
json
{
  "operations_executed": [
    {
      "step": 1,
      "tool": "control.docs.get",
      "result": "success",
      "duration_ms": 12
    }
  ],
  "final_state": {
    "workflow_id": "<uuid>",
    "version": 3,
    "status": "ACTIVE"
  },
  "validation_summary": {
    "valid": true,
    "issue_count": 0
  },
  "unresolved_risks": []
}
On failure, output MUST include:
  1. failing_operation
  2. error_code
    (taxonomy-aligned)
  3. error_message
  4. next_action
  5. connection_instructions
    when error class is
    dependency
  6. integration_proposals
    when class is
    capability_gap
  7. run_trace
    (
    run_id
    ,
    trace_id
    ) when runtime execution started
  8. patch_strategy
    selected from Failure Patch Strategy Templates
For
publish_plugin
, output MUST additionally include:
  1. definition_id
  2. plugin_name
  3. handlers
  4. visibility_state
    (
    visible_in_user_category|not_visible
    )
  5. next_action
    with user-facing test steps
For
create|patch|repair|export
, output SHOULD additionally include:
  1. selected_blueprint
  2. schema_lock_summary
    (required/default/secret-backed fields)
  3. edge_intents
    map (
    sequence|branch_true|branch_false|error_path
    )
每次完成操作必须包含以下结构:
json
{
  "operations_executed": [
    {
      "step": 1,
      "tool": "control.docs.get",
      "result": "success",
      "duration_ms": 12
    }
  ],
  "final_state": {
    "workflow_id": "<uuid>",
    "version": 3,
    "status": "ACTIVE"
  },
  "validation_summary": {
    "valid": true,
    "issue_count": 0
  },
  "unresolved_risks": []
}
失败时,输出必须包含:
  1. failing_operation
  2. error_code
    (与分类对齐)
  3. error_message
  4. next_action
  5. 当错误类别为
    dependency
    时,包含
    connection_instructions
  6. 当错误类别为
    capability_gap
    时,包含
    integration_proposals
  7. 当运行时执行已启动时,包含
    run_trace
    run_id
    trace_id
  8. 从失败修补策略模板中选择的
    patch_strategy
针对
publish_plugin
意图,输出还必须包含:
  1. definition_id
  2. plugin_name
  3. handlers
  4. visibility_state
    (取值范围:
    visible_in_user_category|not_visible
  5. 包含面向用户测试步骤的
    next_action
针对
create|patch|repair|export
意图,输出建议额外包含:
  1. selected_blueprint
  2. schema_lock_summary
    (必填/默认/密钥支持字段)
  3. edge_intents
    映射(
    sequence|branch_true|branch_false|error_path

Integration Proposal Card

集成提议卡片

When capability gap is detected, proposal MUST follow this structure:
json
{
  "integration_name": "Acme Orders Connector",
  "kind": "activity",
  "proposed_handler_id": "AcmeOrders.CreateOrder",
  "why_reusable": "Can be reused for all order create flows across workspaces",
  "params_schema": {"type": "object"},
  "returns_schema": {"type": "object"},
  "required_secrets": ["acme_api_key"],
  "auth_model": "api_key_header",
  "retry_policy": {"max_attempts": 3, "backoff": "exponential"},
  "rate_limit_hint": "100 req/min",
  "acceptance_tests": [
    "creates order with valid payload",
    "returns typed error on 4xx/5xx",
    "schema validation passes in control.workflows.validate"
  ],
  "reusability_scope": "multi-workflow"
}
当检测到能力缺口时,提议必须遵循以下结构:
json
{
  "integration_name": "Acme Orders Connector",
  "kind": "activity",
  "proposed_handler_id": "AcmeOrders.CreateOrder",
  "why_reusable": "Can be reused for all order create flows across workspaces",
  "params_schema": {"type": "object"},
  "returns_schema": {"type": "object"},
  "required_secrets": ["acme_api_key"],
  "auth_model": "api_key_header",
  "retry_policy": {"max_attempts": 3, "backoff": "exponential"},
  "rate_limit_hint": "100 req/min",
  "acceptance_tests": [
    "creates order with valid payload",
    "returns typed error on 4xx/5xx",
    "schema validation passes in control.workflows.validate"
  ],
  "reusability_scope": "multi-workflow"
}

User Decision Gate

用户决策网关

For capability gap, operator MUST ask user to pick one option:
  1. Compose from existing handlers/tools
  2. Connect external MCP tool
  3. Build new reusable integration (handler/trigger)
Mutations resume only after explicit user choice.
当存在能力缺口时,Operator必须要求用户选择以下选项之一:
  1. 组合现有处理器/工具
  2. 连接外部MCP工具
  3. 构建新的可复用集成(处理器/触发器)
只有在用户明确选择后,才能恢复变更操作。

User Decision Message Templates

用户决策消息模板

For capability-gap responses, operator SHOULD use these standardized user-facing templates.
compose_existing_handlers_or_tools
text
I can complete this using existing capabilities without building a new integration.
Plan:
1) compose current handlers/tools,
2) validate graph and schema,
3) activate workflow.
Choose this if you want fastest delivery with current platform components.
connect_external_mcp_tool
text
I can connect an external MCP tool and reuse it in this workflow.
Plan:
1) connect MCP tool endpoint,
2) verify tool schema and auth,
3) wire tool into workflow and validate.
Choose this if the capability already exists in an external MCP server.
build_new_reusable_integration
text
Current capabilities are insufficient. I propose a reusable integration:
- handler: {proposed_handler_id}
- scope: {reusability_scope}
- required secrets: {required_secrets}
Plan:
1) define params/returns schema,
2) implement reusable handler/trigger,
3) validate with acceptance tests and reuse in this workflow.
Choose this for long-term reuse across automations.
针对能力缺口的响应,Operator应使用以下标准化的面向用户模板。
compose_existing_handlers_or_tools
text
我可以使用现有能力完成此操作,无需构建新集成。
计划:
1) 组合当前处理器/工具,
2) 验证图和schema,
3) 激活工作流。
如果您希望使用现有平台组件实现最快交付,请选择此选项。
connect_external_mcp_tool
text
我可以连接外部MCP工具并将其复用于此工作流。
计划:
1) 连接MCP工具端点,
2) 验证工具schema和认证,
3) 将工具接入工作流并验证。
如果该能力已存在于外部MCP服务器中,请选择此选项。
build_new_reusable_integration
text
当前能力不足。我提议构建一个可复用集成:
- 处理器:{proposed_handler_id}
- 范围:{reusability_scope}
- 所需密钥:{required_secrets}
计划:
1) 定义参数/返回值schema,
2) 实现可复用处理器/触发器,
3) 通过验收测试验证并将其复用于此工作流。
如果您希望在所有自动化中实现长期复用,请选择此选项。

User-Facing MCP Connection Playbook

面向用户的MCP连接手册

When the skill is loaded but MCP is not connected, the operator MUST provide this actionable instruction set:
  1. Verify the ASCN base URL is reachable.
  2. Configure MCP gateway connection:
    • name:
      workspace-mcp-gateway
    • transport:
      streamable_http
    • url:
      https://nocode.ascn.ai/mcp
  3. Ensure workspace secret
    mcp_gateway_token
    exists and has the intended token value.
  4. Add
    Authorization: Bearer <token>
    header using the same token value.
  5. Reconnect MCP client/session.
  6. Re-run and verify control tool availability (
    control.docs.get
    or tool list inspection).
Recommended user message template:
text
MCP control gateway is not connected for workspace {workspace_id}.
Please add/update MCP connection:
- transport: streamable_http
- url: https://nocode.ascn.ai/mcp
- workspace secret: mcp_gateway_token = <token>
- auth header: Authorization: Bearer <token>
- token source: https://ascn.ai/no-code/mcp-list
Then reconnect MCP and retry this request.
当Skill已加载但MCP未连接时,Operator必须提供以下可操作的说明:
  1. 验证ASCN基础URL是否可达。
  2. 配置MCP网关连接:
    • 名称:
      workspace-mcp-gateway
    • 传输方式:
      streamable_http
    • URL:
      https://nocode.ascn.ai/mcp
  3. 确保工作区密钥
    mcp_gateway_token
    存在且包含正确的令牌值。
  4. 添加
    Authorization: Bearer <token>
    头,使用相同的令牌值。
  5. 重新连接MCP客户端/会话。
  6. 重新运行并验证控制工具的可用性(
    control.docs.get
    或检查工具列表)。
推荐的用户消息模板:
text
工作区{workspace_id}的MCP控制网关未连接。
请添加/更新MCP连接:
- 传输方式:streamable_http
- URL:https://nocode.ascn.ai/mcp
- 工作区密钥:mcp_gateway_token = <token>
- 认证头:Authorization: Bearer <token>
- 令牌来源:https://ascn.ai/no-code/mcp-list
然后重新连接MCP并重试此请求。

Observability and Audit Fields

可观测性与审计字段

The final summary MUST include:
  1. workspace_id
  2. intent
  3. tool_sequence
  4. total_duration_ms
  5. retry_count
  6. mutation_count
最终摘要必须包含:
  1. workspace_id
  2. intent
  3. tool_sequence
  4. total_duration_ms
  5. retry_count
  6. mutation_count

Mutation Safety

变更安全性

  1. Before delete, operator MUST provide impact summary.
  2. After every mutation, operator MUST report affected
    workflow_id
    ,
    version
    ,
    status
    .
  3. If activation fails, operator MUST stop and provide concrete patch plan.
  1. 在执行删除操作前,Operator必须提供影响摘要。
  2. 每次变更后,Operator必须报告受影响的
    workflow_id
    version
    status
  3. 如果激活失败,Operator必须停止并提供具体的修补计划。

Consistency Requirements

一致性要求

  1. SKILL.md
    MUST remain consistent with
    contracts/skill-contract.yaml
    .
  2. Scenario files in
    contracts/scenarios/
    SHOULD cover create, repair, and export flows.
  1. SKILL.md
    必须与
    contracts/skill-contract.yaml
    保持一致。
  2. contracts/scenarios/
    中的场景文件应覆盖创建、修补和导出流程。

Change Management

变更管理

  1. Contract/toolflow changes MUST update
    VERSION
    and
    CHANGELOG.md
    .
  2. Breaking changes MUST increment major version.
  3. Non-breaking behavior additions SHOULD increment minor version.
  1. 契约/工具流变更必须更新
    VERSION
    CHANGELOG.md
  2. 破坏性变更必须递增主版本号。
  3. 非破坏性行为新增应递增次版本号。

References

参考资料

  1. references/workflow-construction.md
  2. references/troubleshooting.md
  3. references/mcp-connection.md
  4. references/integration-proposals.md
  5. references/plugin-publishing.md
  6. contracts/skill-contract.yaml
  7. contracts/error-taxonomy.yaml
  1. references/workflow-construction.md
  2. references/troubleshooting.md
  3. references/mcp-connection.md
  4. references/integration-proposals.md
  5. references/plugin-publishing.md
  6. contracts/skill-contract.yaml
  7. contracts/error-taxonomy.yaml