Skip to main content
Glama

fow_external_work

Destructive

Route revision-bound packets to external coding agents, export executable Markdown plans, derive dependency-ordered TODOs, and reconcile declared outcomes against issued authority.

Instructions

Hand a complete revision-bound packet to an external coding agent, export its executable Markdown plan, derive dependency-ordered TODOs and reconcile declared outcomes. Optional provider execution is a separate explicitly selected route. Route with operation: set_mode, select_executor, negotiate_provider, upgrade_validation, criteria, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome. Prerequisites: Use an existing packet/plan and issued authority. Select exactly one executor before execution. Effects: Reads derive criteria/readiness/TODO without executing code. Mutations record selection, criterion authority, artifacts and host outcomes; negotiate_provider alone explicitly probes optional provider support. Reporting completion does not verify or accept it. Exact help (replace operation_name with the selected route): fow_capabilities({"view":"operation","operation_tool":"fow_external_work","operation_name":"set_mode"}).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project_id": "<project_id>",
      "change_id": "<change_id>",
      "packet_id": "<packet_id>",
      "operation": "<operation>"
    },
    "name": "fow_external_work"
  }
}

Input Schema

NameRequiredDescriptionDefault
actorNoIdentity of the human or agent recording this action; retain the original identity when replaying its request.
payloadNoStandalone execution/PVP operation input. Copy issued spec/plan revisions and authority fingerprint where required; TODO/outcome identities and declared verification obligations must match the issued plan, including offline work. Applies to: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome. Required by: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, export_plan, report_outcome, reconcile_outcome. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_external_work, operation_name=<selected route>).
change_idYesCanonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously.
operationYesOperation selector for this multiplexer; use a canonical route listed below. Canonical values: set_mode, select_executor, negotiate_provider, upgrade_validation, criteria, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome.
packet_idYesCanonical packet identity returned by authoring; it identifies the bounded implementation work.
project_idYesCanonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects.
request_idNoCaller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv0.5.1
    • addedInput schema / properties / actor / description
      Added value: +"Identity of the human or agent recording this action; retain the original identity when replaying its request."
    • addedInput schema / properties / change_id / description
      Added value: +"Canonical owning change ID; when address resolution permits omission, the packet/campaign must resolve unambiguously."
    • addedInput schema / properties / operation / description
      Added value: +"Operation selector for this multiplexer; use a canonical route listed below. Canonical values: set_mode, select_executor, negotiate_provider, upgrade_validation, criteria, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome."
    • addedInput schema / properties / operation / examples
      Added value: +[
      +  "set_mode"
      +]
    • addedInput schema / properties / packet_id / description
      Added value: +"Canonical packet identity returned by authoring; it identifies the bounded implementation work."
    • addedInput schema / properties / payload / description
      Added value: +"Standalone execution/PVP operation input. Copy issued spec/plan revisions and authority fingerprint where required; TODO/outcome identities and declared verification obligations must match the issued plan, including offline work. Applies to: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, validation, provider_validation, export_plan, todo, report_outcome, reconcile_outcome. Required by: set_mode, select_executor, negotiate_provider, upgrade_validation, reconcile_criteria, add_criterion, edit_criterion, remove_criterion, export_plan, report_outcome, reconcile_outcome. Exact required/optional dotted fields and guidance: fow_capabilities(view=operation, operation_tool=fow_external_work, operation_name=<selected route>)."
    • addedInput schema / properties / payload / examples
      Added value: +[
      +  {
      +    "expected_plan_revision": 1,
      +    "expected_spec_revision": 1,
      +    "mode": "external_agent"
      +  }
      +]
    • addedInput schema / properties / project_id / description
      Added value: +"Canonical lifecycle project ID. Select the existing project explicitly; development Markdown authorities are separate from runtime projects."
    • addedInput schema / properties / request_id / description
      Added value: +"Caller-owned retry identity. For receipted mutations replay the same actor and contents; changed contents can conflict. Inspect exact operation help for its receipt policy."
  2. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true and non-idempotent, so the description's job is to add context. It does: reads derive criteria/readiness/TODO without executing code; mutations record authority and outputs; negotiate_provider is the only route that probes optional provider support; reporting completion does not verify or accept it. That last point is important behavioral context not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded and organized with Route/Prerequisites/Effects paragraphs, which gives structure. However, the opening sentence is dense, the operation list duplicates the enum in the schema, and the help pointer is lengthy; the text is adequate but not tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. For a 7-parameter, 15-operation multiplexer the description covers routing, prerequisites and the key behavioral distinction between read and mutation routes, and points to fow_capabilities for per-operation field details. It is complete enough to call correctly, though per-operation semantics remain behind the capabilities tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself already describes actor, payload, change_id, packet_id, project_id, request_id and the operation enum. The description names the operations but adds little about individual parameter semantics beyond pointing to fow_capabilities for exact dotted fields. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a broad summary of handing a packet to an external coding agent, exporting plans, deriving TODOs and reconciling outcomes, then lists 15 operations. That is a consistent descriptor for a multiplexer, so the purpose is not misleading, but it does not establish what fow_external_work owns relative to siblings like fow_packet_advance or fow_run. Its identity is only distinguishable by the operation list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states prerequisites (existing packet/plan and issued authority; exactly one executor selected before execution) and separates read operations from mutations. It does not tell the agent when to choose a sibling tool instead, but within this tool the read/mutation split and executor rule are clear routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.