1. Install the skill
clarify: false, keep the
task_id, continue instead of restarting, and read rows before reporting results. Other
install paths are on the Skill page.
2. Let the agent write the spec, not just the prompt
An agent relaying a user’s words loses their specifics. Instead, have it fetchGET /task/metaprompt, which returns the task spec schema plus a metaprompt for
caller-side planning, and generate a clean task.json-style spec:
brief, the output schema, and target_count from the user’s
request, then starts with POST /task/start. A spec survives the relay; a paraphrase
does not. Writing task prompts is the rubric to hold it to.
Decision: for a one-off question the user typed, plain POST /task with their words
passed through verbatim is fine. Reach for the metaprompt when the agent is constructing
the task on the user’s behalf.
3. Wait without hallucinating
The two rules that keep an agent honest while a task runs:- A start response only means the task was accepted. Poll
GET /task/{task_id}with the full terminal check from Task lifecycle before claiming anything. - Report from the rows, never from status text.
GET /task/{task_id}/outputis the only source of results.
4. Route refinements back to the same task
When the user says “add a column” or “find more”, the agent should continue the existing task, restating the goal as one clear instruction:409 here means a turn is still in flight; the agent should wait and retry rather than
starting a duplicate task. See Errors.
Guardrails worth writing into the agent’s instructions
- Default to
clarify: false; the agent is rarely there to answer a blocking question. - Never print the API key, in output or in generated code.
- One task per goal. Refinements continue it; only an unrelated goal starts a new one.
Related
Skill
Install paths and the ready-made prompt to pair with it.
Vibecoding
The one-link version for coding agents building against Autumn.