# Confluence Storage Macros
Confluence Cloud storage format accepts a fixed set of macros. Anything not in
this catalog either renders as plain text or fails silently. Before adding a
new macro to a draft, check the name here.
## Inline
| Macro | When |
|-------|------|
| `{code}` | Fenced code with optional language |
| `{plantuml}` | Diagrams — see `diagram-plantuml` skill |
| `{info}` | Info panel |
| `{note}` | Note panel |
| `{warning}` | Warning panel |
| `{tip}` | Tip panel |
| `{excerpt}` | Reusable fragment; also `excerpt-include` |
| `{anchor}` | Inline anchor for `{pageref}` |
| `{pageref}` | Cross-page reference by anchor |
| `{children}` | Lists child pages |
| `{include}` | Includes another page (full or excerpt) |
| `{table-of-content}` | Outline from heading hierarchy |
| `{expand}` | Collapsible section |
| `{status}` | Coloured status pill |
| `{cheese}` | Image gallery — prefer `image` element instead |
| `{noformat}` | Plain monospace, no language hint |
## Panels
Panels take rich-text bodies. PlantUML inside a panel does not render — put
diagrams at body root.
```xml
Body goes here.
```
Available panel macros: `info`, `note`, `warning`, `tip`, `success`,
`error`, `panel` (generic).
## Code block
```xml
python
example.py
true
```
`language` accepts the short names from Confluence's language list (`python`,
`java`, `javascript`, `typescript`, `go`, `bash`, `sql`, `json`, `yaml`,
`xml`, `markdown`). Anything outside the list falls back to plain monospace.
## Tables
Standard XHTML tables. Confluence does not need the `` wrapper for plain tables.
```xml
| Column A |
Column B |
| cell |
cell |
```
For sortable or filterable tables, use the `table-plus` macro — but only
when the table is genuinely worth the overhead.
## Links
- External: `label`
- Page by title: ``
- Page by id: ``
- Attachment: ``
- User mention: ``
## Attachments
Attachments go through `mcp__atlassian.confluence_upload_attachment` /
`confluence_create_page_from_file` (with the file path) — never as base64 in
the body. See `attachments.md`.
## What is NOT a macro
| Construct | Status |
|-----------|--------|
| Wiki markup (`{code}…{code}`) | Renders only on pages whose renderer is set to wiki; do not assume |
| Markdown fences | Not interpreted; render as text |
| HTML5 `` | Rendered as plain HTML; works but no styling |
| Inline SVG | Works but is not editable through the page editor; prefer PlantUML |
| `