Skip to content
FLORA DocsGo to app

Prompting tips

How to ask any MCP-compatible agent to use FLORA effectively.

These prompting patterns work across any MCP-compatible agent — Claude, Cursor, VS Code, Hermes Agent, OpenClaw, and others. The agent and the model behind it may differ, but the FLORA MCP surface is the same.

Vague: “Make me some thumbnails.”
Better: “Use the Thumbnail v3 Technique to make 3 thumbnails for this brief.”

Skipping discovery saves a tool call and removes ambiguity. If you don’t remember the name, ask: “What thumbnail Techniques do I have?”

Briefs work best when they’re skimmable. Agents map fields onto Technique inputs more reliably when the structure is explicit.

Run the Thumbnail v3 Technique with:
- Audience: 25-40, design-conscious
- Hook: "Smart living, simple"
- Do: warm minimalism, soft shadows
- Don't: clip-art, gradients
Give me a 3×3 grid.

After a grid renders, refer to outputs by their position: “Use #4 and #7 as references”, “Make 5 more like #2”. The agent resolves these to the underlying URLs and passes them as inputs to the next call.

Ask for inspection before kicking off big runs

Section titled “Ask for inspection before kicking off big runs”

For batches, run cost adds up. Ask the agent to confirm cost first:

Before running this for 50 SKUs, tell me the cost per run and the total in USD.

The agent will call client.techniques.retrieve(techniqueId) and report the run_cost, multiplied by your batch size.

Most agents pick the right surface automatically (inline chat for fast iteration, background mode for long jobs, a code editor for batches). You can override:

  • “Do this in the background — I want to keep working.”
  • “Stay inline — I want to watch each one render.”
  • “Open this in a code editor — I want to see the script.”

The exact terminology varies by client (Claude’s “Cowork”, Cursor’s “agent run”, VS Code’s “agent mode”) — say what you want in plain English and the agent translates.

Vague: “Make some variations.”
Better: “Make 5 variations, 1:1 aspect ratio, lock the color palette of #4.”

Techniques expose count, aspect ratio, and reference-locking as inputs. Naming them in your prompt sets them directly.

For exploratory work, set a stop condition so you don’t accidentally chew through your balance:

  • “Run the Technique 3 times, then stop and ask me what to do next.”
  • “For each market, generate one thumbnail. Stop after the first three and show me before continuing.”

The agent can re-run with adjustments. The fastest way to course-correct:

  • “#3 has the wrong headline — re-run that one with ‘Smart living, simpler.’”
  • “All of these are too saturated. Re-run with brand-do updated: ‘muted, low-saturation palette.’”
  • “The Technique isn’t picking up the brand color. Show me the Technique’s inputs so we can debug.”

Show me everything FLORA MCP can do.

The agent can call search_docs to explore what the SDK supports, or describe the available capabilities from its context.

What’s in my Q3 Campaign project right now?

The agent calls client.projects.retrieve(projectId) and client.projects.listNodes(projectId) and shows the contents inline.

What did this run cost?

The agent calls client.techniques.runs.retrieve(runId, { techniqueId }) on the most recent run and reports charged_cost (USD).

Both Technique runs and one-off generations keep a history you can query — newest first, filterable by workspace, project, and status. Because that history survives across sessions, you can close the chat on a long job and pick it back up later.

  • “Show me my last 5 Technique runs.” → the agent calls client.techniques.runs.list({ limit: 5 }).
  • “Did the generation I started earlier finish?” → the agent calls client.generations.list({ status: "completed" }) and matches your run_id.
  • “Poll the run I kicked off an hour ago and show me the result.” → the agent lists recent runs, finds yours, and renders the outputs once status is completed — no need to keep the original chat open.
  • “Re-attach this morning’s output to the Q3 project.” → the agent lists history to find the run, then calls client.projects.assets.attachAsset(...).

This is also how the agent polls a generation: generations are listed and matched by run_id, rather than polled individually.

  • No streaming inside a single run. Outputs render when each run completes, not progressively. Multi-output runs (grids) appear tile-by-tile.
  • No webhooks. All result-checking happens by polling.
  • No editing assets in place. To modify an asset, run it through a Technique that produces a new asset.

These limitations match the API — anything you hit in MCP, you’d also hit calling the REST endpoints directly.