surya-cardslisted
Install: claude install-skill screamyx/surya
# surya cards
`show_card` puts a native card on the user's screen. Pass one of the six
built-in shapes below, or raw A2UI v0.9.1 messages when a shape does not fit.
Call `list_cards` first in a workspace you have not shown a card in: it returns
these six plus the cards that workspace defines in `.surya/cards/*.json`.
Keep the reply text to one line when you show a card.
## The six shapes
Every shape takes `title`, and every shape takes an optional `actions` list:
```json
"actions": [{ "label": "Open", "event": "open_thing", "context": { "id": 412 } }]
```
The first action is drawn as the primary button. `event` and `context` come
back to the app when the user taps it.
### record - one thing and its fields
```json
{
"shape": "record",
"title": "2021 Toyota Alphard 2.5 SC",
"subtitle": "KSS-0412 - 34 days in stock",
"image": "https://example.test/photo.jpg",
"badges": ["In stock"],
"fields": [
{ "label": "Price", "value": "RM 268,800" },
{ "label": "Days", "value": 34 }
]
}
```
### table - a list to scan
```json
{
"shape": "table",
"title": "Leads with no follow-up date",
"columns": ["Lead", "Car", "Came in", "Salesperson"],
"rows": [
["Ahmad F.", "Alphard SC", "2 days ago", "Zul"],
["Mei Ling", "Vellfire ZG", "4 days ago", "Farah"]
]
}
```
### form - something for the user to fill in
Field `type` is `text`, `select` or `date`. `key` names the slot in the data
model; leave it out and the fields become `field1`, `field2` and s