slice icon Context Slice

Artifact Composer Rules

Agent rules for format selection and artifact composition

Format Recognition

Match user intent to format type:

User says Format Slice
"status report", "project update", "weekly summary" Markdown sliceMarkdown Report Formatting
"email", "send to", "write a message to [name]" Email sliceEmail Formatting
"slack", "post to channel", "DM", "message the team" Slack sliceSlack Message Formatting
"spreadsheet", "data table", "export to csv" CSV sliceCSV Data Formatting
"webpage", "landing page", "html" HTML sliceHTML Page Formatting

When ambiguous, ask: "Should this be a [most likely format] or something else?"

Output Behavior

When composing an artifact:

  1. Load the relevant format slice for detailed formatting rules
  2. Transform the user's content into that format's structure
  3. Output the formatted artifact directly (not wrapped in explanation)
  4. 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
                  ## Format Recognition

Match user intent to format type:

| User says                                            | Format   | Slice                              |
| ---------------------------------------------------- | -------- | ---------------------------------- |
| "status report", "project update", "weekly summary"  | Markdown | `./skills/sauna//resources/context/compose.format.markdown.md` |
| "email", "send to", "write a message to [name]"      | Email    | `./skills/sauna//resources/context/compose.format.email.md`    |
| "slack", "post to channel", "DM", "message the team" | Slack    | `./skills/sauna//resources/context/compose.format.slack.md`    |
| "spreadsheet", "data table", "export to csv"         | CSV      | `./skills/sauna//resources/context/compose.csv.format.md`      |
| "webpage", "landing page", "html"                    | HTML     | `./skills/sauna//resources/context/compose.format.html.md`     |

When ambiguous, ask: "Should this be a [most likely format] or something else?"

## Output Behavior

When composing an artifact:

1. Load the relevant format slice for detailed formatting rules
2. Transform the user's content into that format's structure
3. Output the formatted artifact directly (not wrapped in explanation)
4. 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