workbench-flue-agent-harness

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Workbench Flue Agent Harness

Workbench Flue Agent Harness

Use this skill when an issue asks to create, review, or package a deployable Flue agent, or when it declares
FLUE_AGENT_CONTRACT
.
当任务要求创建、评审或打包可部署的Flue Agent,或者任务中声明了
FLUE_AGENT_CONTRACT
时,使用本技能。

Required Source Reads

必要的源文件读取

Read only as much as the task requires:
  1. docs/flue-agent-harness-lane.md
  2. https://flueframework.com/start.md
  3. https://raw.githubusercontent.com/withastro/flue/refs/heads/main/README.md
  4. https://flueframework.com/models.json
    if the requested model is not one of the recommended IDs
If network access is unavailable, use the checked-in workbench doc and report
FLAG
unless the issue requires fresh upstream docs.
仅读取任务所需的内容:
  1. docs/flue-agent-harness-lane.md
  2. https://flueframework.com/start.md
  3. https://raw.githubusercontent.com/withastro/flue/refs/heads/main/README.md
  4. 如果请求的模型不在推荐ID列表中,读取
    https://flueframework.com/models.json
如果无法访问网络,使用已签入的工作台文档,并返回
FLAG
,除非任务需要最新的上游文档。

Required Contract

必要的合约信息

Do not scaffold until the issue provides or you can safely infer:
yaml
FLUE_AGENT_CONTRACT:
  purpose:
  project_directory:
  workspace_layout:
  agent_file:
  deploy_target:
  model_id:
  sandbox_mode:
  trigger:
  secrets_policy:
  validation_command:
  public_artifact_policy:
Inference rules:
  • missing
    project_directory
    : use the issue's repo checkout only if it is the declared target;
  • new or empty directory:
    workspace_layout: root
    ;
  • existing non-empty directory:
    workspace_layout: .flue
    ;
  • missing deploy target: prefer
    node
    ;
  • missing model: prefer
    anthropic/claude-sonnet-4-6
    for starter agents;
  • missing secrets policy: use
    none
    for pure virtual agents, otherwise
    env-only
    .
If a field cannot be inferred safely, return
BLOCK
with the smallest missing field list.
在任务提供或你可以安全推断出以下合约信息之前,不要进行脚手架搭建:
yaml
FLUE_AGENT_CONTRACT:
  purpose:
  project_directory:
  workspace_layout:
  agent_file:
  deploy_target:
  model_id:
  sandbox_mode:
  trigger:
  secrets_policy:
  validation_command:
  public_artifact_policy:
推断规则:
  • 若缺少
    project_directory
    :仅当任务的仓库检出目录是指定目标时,才使用该目录;
  • 新目录或空目录:
    workspace_layout: root
  • 已存在的非空目录:
    workspace_layout: .flue
  • 缺少部署目标:优先选择
    node
  • 缺少模型:对于入门级Agent,优先选择
    anthropic/claude-sonnet-4-6
  • 缺少密钥策略:纯虚拟Agent使用
    none
    ,否则使用
    env-only
如果某个字段无法安全推断,返回
BLOCK
并列出缺失的最小字段列表。

Safety Rules

安全规则

  • Do not invent API keys, OAuth material, cookies, or tokens.
  • Do not paste secrets into prompts, durable docs, example payloads, or issue comments.
  • Do not copy raw MCP request payloads or raw run transcripts into Git.
  • Do not mutate Multica daemon, Desktop UI, runtime config, or live agent bindings from a Flue scaffold issue.
  • Do not place a real Flue app inside this workbench repo unless the issue explicitly asks for it; this repo usually records the lane, not the app.
  • 不要编造API密钥、OAuth材料、Cookie或令牌。
  • 不要将密钥粘贴到提示词、持久文档、示例负载或任务评论中。
  • 不要将原始MCP请求负载或原始运行记录复制到Git中。
  • 不要从Flue脚手架任务中修改Multica守护进程、桌面UI、运行时配置或已上线的Agent绑定。
  • 除非任务明确要求,否则不要将真实的Flue应用放入本工作台仓库;本仓库通常记录流程,而非应用本身。

Implementation Rules

实现规则

  • For a new or empty project, create
    agents/
    and
    roles/
    .
  • For an existing non-empty project, create
    .flue/agents/
    and
    .flue/roles/
    .
  • Pass the selected model ID explicitly to
    init({ model: "<model_id>" })
    .
  • Prefer
    flue dev --target node
    or
    flue dev --target cloudflare
    for local development.
  • Do not use
    flue run --target cloudflare
    ; use
    flue dev --target cloudflare
    or build and call a deployed endpoint.
  • Grant host commands per prompt or skill, not globally, for CI/local sandbox agents.
  • Keep starter agents close to one narrow workflow. Wider autonomy belongs in a later reviewed iteration.
  • 对于新项目或空项目,创建
    agents/
    roles/
    目录。
  • 对于已存在的非空项目,创建
    .flue/agents/
    .flue/roles/
    目录。
  • 将选定的模型ID显式传递给
    init({ model: "<model_id>" })
  • 本地开发优先使用
    flue dev --target node
    flue dev --target cloudflare
  • 不要使用
    flue run --target cloudflare
    ;使用
    flue dev --target cloudflare
    或构建并调用已部署的端点。
  • 对于CI/本地沙箱Agent,按提示词或技能授予主机命令权限,而非全局授予。
  • 入门级Agent应专注于单一狭窄工作流。更广泛的自主性应放在后续评审迭代中。

Report Contract

合约报告

Always close with:
text
FLUE_AGENT_REPORT
purpose:
project_directory:
workspace_layout:
agent_file:
deploy_target:
model_id:
sandbox_mode:
trigger:
secrets_policy:
files_changed:
validation:
residual_risk:
next_action:
VERDICT: PASS | FLAG | BLOCK
PASS
requires a verified starter and clean public boundary.
FLAG
is correct when only external secrets, deploy credentials, or remote host setup remain.
BLOCK
is correct when the contract is incomplete, the model ID is unsupported, or the target path cannot be safely determined.
始终以以下内容结束:
text
FLUE_AGENT_REPORT
purpose:
project_directory:
workspace_layout:
agent_file:
deploy_target:
model_id:
sandbox_mode:
trigger:
secrets_policy:
files_changed:
validation:
residual_risk:
next_action:
VERDICT: PASS | FLAG | BLOCK
PASS
要求已验证入门级Agent且公共边界清晰。当仅剩下外部密钥、部署凭据或远程主机设置时,
FLAG
是正确的判定。当合约不完整、模型ID不被支持或无法安全确定目标路径时,
BLOCK
是正确的判定。