> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autogrowth.farm/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> AutoGrowth runs social accounts on real phones. Everything a page describes happens on a physical device in the customer's own fleet, never through a social platform's API.
> The Companion is a macOS desktop app that runs on the customer's own Mac and manages the phones over USB — iPhones through WebDriverAgent, GrapheneOS phones through ADB and scrcpy. Nothing runs while the Companion is closed.
> The Companion builds, signs and installs WebDriverAgent on each iPhone itself. Never tell a customer to sign WebDriverAgent by hand in Xcode; Xcode is a prerequisite the Companion drives, not a step the customer performs.
> Autogrowth MAX is a one-time, invite-only lifetime license bought from the organization's credit balance, not a subscription tier. It is required to run any automation, workflow or Incubator program. Without a price set for that organization, the purchase is refused.
> An automation is one of AutoGrowth's built-in definitions; a script is a graph the customer builds in the Script Builder. The Script Builder is locked platform-wide, so never present building a script as something a customer can do today.
> An API key is a bare 64-character hex string with no prefix. It is shown once, at creation, is sent as `Authorization: Bearer <key>`, and can never be read back.
> An API key sees only the key owner's own accounts, content, collections, prompts, scripts and executions. Devices and tags are organization-scoped, and a non-owner sees only the devices assigned to them or carrying one of their tags. The automation catalog is global.
> There is no pagination. List endpoints return the whole set; the only limiting parameter anywhere is `limit` on `GET /v1/executions`, which defaults to 50 and has no offset to page with.
> Remote control and the live screen are dashboard-only, over WebSocket and MJPEG. Neither is part of the public API.
> The MCP server is hosted at https://mcp.autogrowth.farm and authenticates with OAuth. It is not an npm package and there is nothing to install locally. Its tools inherit exactly the scope of the API key behind them.
> Android support is partial and GrapheneOS-only: those phones appear in the fleet and can be watched and remote-controlled, but they cannot run scripts or automations.
> Never document Hi Katie or any persona feature. When a page and the code disagree, the code wins — check a claim against the source before repeating it.

# Prompts

> Reusable AI prompt templates with {{variable}} placeholders, and an honest account of where they are used today.

A prompt is a saved block of text with placeholders in it, kept so you do not rewrite the
same instruction every time. They live under **Content → Prompts**.

<Warning>
  **Prompts do not write your captions today.** They feed the AI-Generate block of the
  Script Builder, and the Script Builder is locked platform-wide. A posting
  [automation](/guides/automations) takes its caption from its own **Caption** field, or
  from the caption set on a [workflow](/guides/workflows) step — never from this page.
  Write prompts if you want them ready; nothing on a phone reads them yet.
</Warning>

## Write one

Press **New Prompt**.

| Field               | What it does                                                                               |
| ------------------- | ------------------------------------------------------------------------------------------ |
| **Prompt Name**     | Your label — "Instagram Caption Generator", for instance. Up to 100 characters.            |
| **Prompt Template** | The text itself, with `{{variables}}` wherever something changes. Up to 10,000 characters. |

The editor lists **Detected Variables** under the box as you type, so you can see what
the template is asking for.

The card menu on each prompt offers **Edit**, **Duplicate** — which appends `(Copy)` to
the name — and **Delete**. The list is sorted by whatever you touched most recently, and
there are no folders.

## How variables work

A variable is exactly two braces around a name: `{{topic}}`, `{{keyword}}`,
`{{brand_name}}`.

* Names take **letters, digits and underscores only**. No spaces, no dots, no dashes.
* `{{ topic }}` with spaces inside the braces is not a variable.
* **There are no built-in variables.** No date, no account handle, no follower count. The
  names are whatever you invent, and their values are supplied when the prompt is run.
* **A variable nobody fills in is left in the text as-is**, braces and all. It is not
  blanked out.
* There is no spintax. `{a|b|c}` is just text.

A worked example:

```text theme={"dark"}
Write a friendly comment about {{topic}} that mentions {{keyword}}.
Keep it under 12 words and do not use hashtags.
```

## Access

Reading this page needs the *View AI prompts* permission and editing needs *Manage AI
prompts*; see [Team](/guides/team). Generation runs against your organization's own
Claude API key, set in **Settings** — without one you get "Claude API key not
configured".

## What to read next

<CardGroup cols={2}>
  <Card title="Automations" icon="robot" href="/guides/automations">
    What the phones actually run, and where captions really come from.
  </Card>

  <Card title="Content library" icon="photo-film" href="/guides/content-library">
    The media half of the same menu.
  </Card>
</CardGroup>
