---
title: skeleton
description: A loading placeholder in the shape of text, an avatar, a card or an image — content that is coming, not content that is missing.
status: shipped
url: https://getairframe.com/framewerk/reference/nodes/skeleton
---

> Part of the Framewerk docs. Index of every page: /framewerk/llms.txt

# `skeleton`

A loading placeholder in the shape of text, an avatar, a card or an image — content that is coming, not content that is missing.

## Example

**skeleton**

```json
{
  "id": "home",
  "layout": {
    "_id": "root",
    "type": "column",
    "gap": 12,
    "padding": 16,
    "children": [
      {
        "_id": "a",
        "type": "skeleton",
        "variant": "avatar"
      },
      {
        "_id": "t",
        "type": "skeleton",
        "variant": "text",
        "lines": 3
      }
    ]
  }
}
```

## States

Variant (`text` | `avatar` | `card` | `image`), `lines`. Common to every node: `hover` / `press` / `focus` CSS bags, `showWhen` / `hideWhen`, `animate`.

## Stability

This node type is part of the format contract: adding an optional prop is additive; removing the node or narrowing an existing prop is breaking. Prop tables are generated from the schema; this page carries the prose.
