Format Recognition
Match user intent to format type:
| User says | Format | Slice |
|---|---|---|
| "status report", "project update", "weekly summary" | Markdown | |
| "email", "send to", "write a message to [name]" | ||
| "slack", "post to channel", "DM", "message the team" | Slack | |
| "spreadsheet", "data table", "export to csv" | CSV | |
| "webpage", "landing page", "html" | HTML |
When ambiguous, ask: "Should this be a [most likely format] or something else?"
Output Behavior
When composing an artifact:
- Load the relevant format slice for detailed formatting rules
- Transform the user's content into that format's structure
- Output the formatted artifact directly (not wrapped in explanation)
- For file-based formats (CSV, HTML), save to
session/with descriptive filename
Format Selection Heuristics
- Internal team update → Slack (quick) or Markdown (detailed)
- External communication → Email
- Data/numbers → CSV
- Visual presentation → HTML
- Documentation → Markdown