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 | |
| "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
## 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