Skip to main content

Autumn

Autumn is a research agent that runs in the cloud. You give it a brief, it searches, verifies and saves rows with sources, and you read the rows. A task takes minutes, not seconds, and a task is a conversation: you can answer its questions and refine it on the same task_id. Don’t use Autumn for a quick fact you can answer yourself.

Fastest path: the CLI

Install the Skill and sign in:
Start a task and save its rows:
If the task needs an answer, ask the user and reply on the same task. If it is still working, resume waiting:
Exit codes: 0 completed, 1 failed or request error, 2 input required, 3 still working or approval pending, and 4 authentication required.

Install

This reads Autumn’s skill manifest and installs the skill wherever your agent keeps them.

Direct file

Point any agent that loads a skill from a URL at the file itself:

Claude Code project skill

Claude Code personal skill

Setup (once)

  • Base URL https://api.autumn.ai. Send X-API-Key: $AUTUMN_API_KEY (keys start with ak_).
  • No key yet? Follow https://www.autumn.ai/agent-quickstart.md: autumn login or two curl calls get a key once the user approves in their browser. Never ask the user to paste a key into chat, and never print, log or commit it.
  • Check it works: curl -sS https://api.autumn.ai/credits -H "X-API-Key: $AUTUMN_API_KEY".

The loop

Every status response has: state, done, message (progress line, the agent’s question, or its final reply), progress (rows / target), credits_used, next.hint and app_url. Call the wait in a loop rather than sleeping. Each call is one update for the user.

How to research well with Autumn

Autumn plans from your brief. A vague brief doesn’t fail; it quietly answers a slightly different question. Write the brief like a contract:
  1. Keep every specific the user gave you, verbatim. Names, URLs, geography, time window, exclusions, examples. Paraphrasing is where detail gets lost.
  2. Say how many. "count": 25 (or a number in the prompt). Without one, “find companies” has no natural end.
  3. Name the columns. If you know the shape, send a schema instead of describing it:
  4. State the per-row bar as rules. Rules are checks each row must pass, not goals: {"rules": {"series_a_2025": "Raised a Series A in 2025, with a source", "us": "Headquartered in the US"}}. Without a bar the agent decides what counts.
  5. Pick the output kind. research for lists and tables. person or company for a deep profile per known entity. Pass the known entities as input_rows (e.g. [{"name": "Ada Lovelace", "company": "Analytical Engines"}]) or upload a file.
  6. Pick the tier when it matters. "version": "ranger" for open-ended research where the agent must decide where to look or cross-check facts. "version": "scout" for bounded, well-specified work where speed matters. The tier is fixed for the life of the task.
  7. Questions. clarify is false by default: the agent picks sensible defaults and runs. Set "clarify": true only when the user is present and an answer would change the work.
For complex or relayed requests, fetch GET /task/metaprompt. It returns the task spec schema and a metaprompt for turning a request into a spec for POST /task/start.

Iterate on the same task

  • More rows, a new column, a narrower list, fixing gaps: /continue the same task. Never start a new task for a follow-up; that loses the rows and the context.
  • Restate the goal as one clear instruction, not the user’s raw words. “also linkedin” -> “Add each founder’s LinkedIn URL to every existing row.”
  • After outcome: partial, look at what’s missing and ask for exactly that: “Find 8 more that meet the same rules” or “Fill lead_investor where it’s empty”.

Judge the result before reporting it

  • Report from /output rows, never from status text.
  • A shorter verified list beats a padded one. Autumn leaves a cell empty or unclear rather than guess. Say so, don’t fill it in yourself.
  • Spot-check a few rows against their source links for anything the user will act on.
  • Show the most useful rows, the count vs target, and the app_url for the full table.

Style

  • Terse and status-first. One line per update, e.g. working - 14/25 rows - verifying funding rounds.
  • Keep the task_id and reuse it.
  • Don’t show raw traces, internal errors or the API key.
  • Tasks spend credits. For a large or broad task, check GET /credits first and confirm with the user if the cost looks high.

Reference