Brief format

The Markdown brief that the Plan Assistant splits into units automatically — front-matter config, the PROMPT section, UNITS sections, and placeholders.

A brief is a Markdown file the Assistant splits into a campaign automatically. It’s the easiest way to define a bulk job.

You don’t have to write it from scratch: download the starter template (localized to the IDE language), reuse a brief saved in My templates, or let an agent write it for you from a plain-words description — all from step 1 of the Assistant. Note the structural keywords (# PROMPT, # UNITS, front-matter keys) are never translated: the parser expects them as-is.

Structure

---
label: 50 Astro sites
provider: claude
agent:                 # optional sub-agent (→ {agent})
skill:                 # optional skill (→ {skill})
output_dir: sites
output_name: {unit}
done: dir              # file | dir
max_sessions: 4
---
# PROMPT
Build the site described below in sites/{unit}/. Stop when it compiles.

{brief}

# UNITS
## Restaurant landing
One-pager, menu + reservation, warm palette…

## SaaS B2B landing
Hero + pricing + FAQ…

The three parts

  1. Front-matter (between ---): the campaign config. Keys: label, provider, agent, skill, output_dir, output_name, done (file | dir), max_sessions. All optional except where noted; sensible defaults apply.
  2. # PROMPT — the prompt template applied to every unit. Use the placeholders below.
  3. # UNITS — each ## Title underneath is one unit (one loop, one agent). Its body becomes {brief} for that unit.

Placeholders

Available in # PROMPT:

PlaceholderReplaced with
{unit}the unit id — the ## Title turned into a slug
{brief}the body of the unit’s ## section
{output}the resolved output path for the unit
{agent}the front-matter agent: value
{skill}the front-matter skill: value
{unit_path}source file path (for glob sources)

How the slug works

The ## Title becomes the unit id via slugification (lowercase, alphanumerics, dashes), which is used in {unit} and therefore in the output name:

  • ## Restaurant landingrestaurant-landing
  • ## ACME Corp (FR)acme-corp-fr

Reliability detail

Plan writes each unit’s full prompt to a cache file and launches the agent with a short instruction — “read this file and execute it” — in the language of the IDE. This sidesteps command-line length limits and submission quirks for large prompts. You don’t have to think about it; it’s why long, multi-line prompts simply work.

Editing later

Editing the brief file and clicking Retry failed re-reads it, so the campaign picks up your changes. Adding new ## sections later extends the campaign — units are re-enumerated from the brief on demand.