Skip to main content
Glama

flow-start-recording

Start a new flow recording by resetting the target .yaml to an empty state, ready to capture a reusable sequence of device interactions for later replay.

Instructions

Start recording a new flow, resetting .argent/flows/.yaml to an empty flow and replacing any existing one. Use when you want to capture a reusable sequence of device interactions for later replay. Returns { message, flowFile, savedTo } and optionally { restarted, discardedSteps } if a live recording of the same flow was discarded. Whether this server writes that file depends on where your project is: co-located, it creates it and fails if the .argent/flows/ directory cannot be created or the file cannot be written; against a remote tool-server it writes nothing and savedTo is a directive your client applies (a null savedTo back means it did not).

Several flows can be recorded at once — each keyed by the name + project_root that every subsequent recording tool repeats — and one recording's steps never land in another's file. Steps still run LIVE, so give each concurrent recording its own device and pick a name unique to your task.

After starting, use flow-add-step to append tool calls — each step is executed LIVE so you can verify it works before it gets recorded. For a self-contained e2e flow, record a restart-app of the app under test as the FIRST step (captured as the flow's launch step); for a reusable fragment, skip that and pass executionPrerequisite instead. Use flow-add-echo to add labels. Call flow-finish-recording when done.

If a recorded step turns out to be wrong, you can edit the .yaml file directly to remove or reorder steps. Against a remote client, only after flow-finish-recording: the in-memory copy is authoritative there, and every write serializes it over your edit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName for this flow (e.g. "settings-explore") — letters, digits, underscore and hyphen only.
project_rootYesAbsolute path to the project root directory (the directory that contains or should contain `.argent/flows/`). The flow file is created at `<project_root>/.argent/flows/<name>.yaml`.
executionPrerequisiteNoFragments only: the app/device state assumed on entry (e.g. "Settings app open on General page"). For a self-contained e2e flow, omit this and record a `restart-app` as the first step instead — it is captured as the flow's `launch` step. restart-app has no chromium support, so a chromium flow records as a fragment; add the `launch: { chromium: <app path> }` line to the YAML afterward, deleting the executionPrerequisite line if you passed one — a flow that starts with a launch must not declare it.
Behavior5/5

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

With no annotations provided, the description carries the full burden and excels. It discloses file-reset behavior, return values, when the server writes vs. returns a directive, concurrency semantics, and the live-execution nature of recorded steps. This goes far beyond minimal requirements.

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

Conciseness4/5

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

The description is lengthy but front-loaded with the core purpose and each subsequent sentence adds essential operational detail. No redundancy is apparent, though it could be tightened without losing information. It earns a 4 rather than 5 due to its length.

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

Completeness5/5

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

For a complex recording tool with no output schema, the description is remarkably complete. It covers return values, file-write behavior in co-located vs. remote servers, concurrency rules, first-step guidance, editing options, and client-specific caveats. Nothing critical appears missing for an agent to use the tool correctly.

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

Parameters4/5

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

Schema descriptions already cover all parameters (100% coverage), so the baseline is 3. The description adds meaningful context, especially for executionPrerequisite, explaining the fragment vs. e2e distinction and its relationship with restart-app. This extra context elevates it above baseline.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Start recording a new flow, resetting .argent/flows/<name>.yaml to an empty flow and replacing any existing one.' It clearly distinguishes this from siblings like flow-add-step and flow-finish-recording by specifying what starting a recording entails.

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Use when you want to capture a reusable sequence of device interactions for later replay.' It also outlines the full workflow, referencing flow-add-step, flow-finish-recording, and clarifies when to use executionPrerequisite vs. restart-app, giving strong contextual direction.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/software-mansion/argent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server