Agent skill

Tabler Page Layouts

by tabler in tabler/tabler

Picks and configures the right layout for a Tabler preview page and covers changing or adding layouts in shared/layouts, including DefaultLayout props and the page-header slot.

MITAuto-check passedFrontend & Design

Install Tabler Page Layouts

skills CLI
$ npx skills add tabler/tabler --skill page-layouts -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tabler/tabler page-layouts --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tabler/tabler.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/page-layouts .claude/skills/page-layouts && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
page-layouts
GitHub stars
42k
Token cost
~1.5k tokens
SKILL.md length
670 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

Picks and configures the right layout for a Tabler preview page and covers changing or adding layouts in shared/layouts, including DefaultLayout props and the page-header slot.

  • Works in 7 steps: Which layout → DefaultLayout — content props → DefaultLayout — chrome flags → …
  • Choosing a layout for a new Tabler preview page
  • SKILL.md covers 1. Which layout, 2. DefaultLayout — content props, 3. DefaultLayout — chrome flags and 4. The page-header slot, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Layouts own the page chrome: head, assets, body classes, navbar or sidebar, page header and footer. A page supplies content and a few props and never its own header block, wrapper divs or html scaffolding. A layout map covers DefaultLayout for normal app pages, SingleLayout for centered sign-in or error cards, SettingsLayout, ProseLayout, ErrorLayout, MarketingLayout, PayLayout, RedirectLayout and BaseLayout for pages with no chrome. Docs pages never choose a layout, because a collection renderer applies DocsLayout.

DefaultLayout takes content props such as title, pageHeader, pretitle, description, pageMenu, pageLibs and pageHeaderFile. pageMenu must match a key in shared/data/menu.json, and pageHeader should be left off when it repeats the title. Chrome flags like navbarPosition map to data-bs attributes on the html element, since each page renders both the sidebar and the navbar and a visitor's stored choice wins. The skill also states rules for new layouts; the excerpt is truncated before them.

When your agent uses it

  • Choosing a layout for a new Tabler preview page
  • Replacing hand-written page header or wrapper markup with layout props
  • Adding a sign-in, error, settings or marketing page with the right chrome
  • Before creating a new layout file in shared/layouts

Example prompts

  • “Add a sign-up preview page to Tabler using the centered card layout.”
  • “This page hand-rolls its own header markup; switch it to DefaultLayout props.”
  • “Pick the layout and props for a new billing settings page.”
  • “Highlight the badges entry in the menu for this page and load the apexcharts library.”

Requirements

  • A checkout of the Tabler repository with its shared/layouts folder

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Which layout
  2. DefaultLayout — content props
  3. DefaultLayout — chrome flags
  4. The page-header slot
  5. Never hand-roll chrome
  6. Adding or changing a layout
  7. Checklist

What it can do on your machine

Read from SKILL.md and the folder at commit b168be1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are astro).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Tabler Page Layouts loads about 1.5k tokens when it runs. Until then it costs about 115 tokens; SKILL.md has 670 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~115
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tabler/tabler at commit b168be1, republished under its MIT licence (© tabler). 670 words, ~1,499 tokens.

Download SKILL.mdSave it as .claude/skills/page-layouts/SKILL.md (or your agent's skills folder).
name
page-layouts
description
Pick and configure the right layout for a Tabler preview page, and change or add a layout in `shared/layouts/`. Use whenever a page needs different page chrome — sidebar, navbar variant, boxed/fluid body, centered card, error or marketing page — whenever a page hand-rolls a page header or wrapper markup, and before adding a new layout file. Covers the layout map, the `DefaultLayout` props, the page-header slot, and the rules for a new layout.

Page layouts

Layouts own the page chrome: <head>, assets, body classes, navbar/sidebar, page header, footer. A page supplies content and a handful of props — never its own header block, wrapper divs, or <html> scaffolding.

1. Which layout

LayoutUse for
DefaultLayoutthe normal app page — navbar/sidebar, page header, footer (98 of the preview pages)
SingleLayoutcentered card on an empty page: sign-in, sign-up, error-ish flows (containerSize, hideLogo)
SettingsLayoutsettings pages — wraps the body in a card with the settings nav (active)
ProseLayoutlong-form text in a card-lg + .prose body (terms, changelog)
ErrorLayouterror pages, content driven by pageError keyed into errors.json
MarketingLayoutmarketing/landing pages with the marketing navbar and footer
PayLayoutminimal checkout chrome: small logo + close button
RedirectLayoutbare meta-refresh document (url, base)
BaseLayoutonly when a page needs no chrome at all (screenshot/playground pages). Everything above wraps it.

Docs pages do not choose a layout — docs/pages/[...slug].astro renders the collection through DocsLayout, and MDX front matter has no layout: key.

2. DefaultLayout — content props

PropEffect
title<title> and, by default, the page header title
pageHeaderheader title when it differs from title; pageHeader={false} removes the header
pretitlesmall line above the title (page-pretitle)
descriptionline under the title and <meta name="description">
pageMenumenu entry to highlight, e.g. base.badges — must match a key in shared/data/menu.json
pageLibsthird-party libs to load, keyed into core/libs.json (['apexcharts'])
pageHeaderFileswaps the title block for a prebuilt header ("profile", "uptime")

Do not pass pageHeader when it repeats title — the fallback already covers it.

3. DefaultLayout — chrome flags

Every page renders both navigations — the vertical sidebar and the horizontal navbar — and the layout is chosen by data-bs-* attributes on <html>, which the theme settings panel can change at runtime. Props that map to an attribute state the page's own layout; a visitor's stored choice still wins.

PropResult
navbarPositiondata-bs-navbar-position — horizontal (default) or vertical
layoutdata-bs-layout — fluid or boxed
navbarStickydata-bs-navbar="sticky"
navbarDarkdata-bs-navbar-theme="dark" — the dark palette on whichever navigation shows
sidebarModedata-bs-sidebar — folded or folded-hover
sidebarEnd, sidebarFoldTogglesidebar markup: end side, pin button
navbarTransparent, navbarCondensed, navbarOverlapnavbar markup variants
wrapperFullpage-wrapper-full, drops the .container-xl around the body
containerCentered, containerClassmy-auto / extra classes on the .container-xl
bodyClassfree-form body classes; use layout for the container width
rtldir="rtl" plus the RTL stylesheets

There is no sidebar, hideTopbar or sidebarUser prop any more: which navigation shows is navbarPosition, not which one is rendered, and the sidebar always carries the user block, like the navbar always carries the user menu.

Show full SKILL.md (260 more words)Show less

4. The page-header slot

Anything to the right of the title goes in the page-header-actions slot, as a direct child of the layout:

astro
<DocsLink slot="page-header-actions" path="/ui/components/badge" />
<HeaderActionsButtons slot="page-header-actions" />

Prebuilt groups live in shared/components/layout/ (HeaderActionsButtons, HeaderActionsPrint, HeaderActionsPhotos, HeaderActionsBreadcrumb, …). The header renders the actions column only when the slot has content.

5. Never hand-roll chrome

If a page contains <div class="page-header">, <h2 class="page-title">, page-wrapper, page-body, or its own <head> markup, that is a layout prop that was missed. Add or extend the prop instead of duplicating the markup — the same header exists on 100+ pages and drifts the moment one copy is edited.

6. Adding or changing a layout

  • A new layout wraps BaseLayout (or DefaultLayout when it only reshapes the body, like SettingsLayout and ProseLayout). It never re-emits <html>, assets, or theme settings.
  • Every prop gets a doc comment naming the class or front-matter key it maps to — follow the existing style in DefaultLayout.
  • Booleans default to off; content props are optional with a sensible fallback.
  • Keep <!-- BEGIN … --> / <!-- END … --> markers around structural blocks: users copy the rendered HTML.
  • Pass pageLibs through to BaseLayout so pages using the new layout can still load plugins.
  • Changing a shared layout touches every page that uses it — prove it with the html-diff skill.

7. Checklist

  • Layout chosen from the table, not BaseLayout plus hand-written chrome
  • title, description, pageMenu set; no pageHeader repeating title
  • Chrome via named flags, bodyClass only for layout-boxed / layout-fluid
  • Header extras in the page-header-actions slot
  • pageLibs listed for every plugin the page initialises
  • Page opened in the browser (astro-dev skill); html-diff run if a shared layout changed

© tabler, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/page-layouts of tabler/tabler.

Open the folder on GitHubat commit b168be1

Compare with similar skills

Tabler Page Layouts next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Tabler Page Layouts compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tabler Page Layouts this skilltabler/tabler42k—~1.5kAutomated safety check: PassMIT
Senior FrontendOhh-889/skyroc7952 repos~1.1kAutomated safety check: NotesMIT
Userinterface Wikiraphaelsalaja/userinterface-wiki906—~3.5kAutomated safety check: PassMIT
UI Design Braincarmahhawwari/ui-design-brain893—~2.1kAutomated safety check: PassMIT
Dashboard Builder for holaOSholaboss-ai/holaOS11k—~6.3kAutomated safety check: PassCustom licence
Variate Design VariationsNutlope/variate211—~3.5kAutomated safety check: PassMIT

Similar skills

  • Senior Frontend

    Ohh-889/skyroc

    Comprehensive frontend development skill for building modern, performant web applications using ReactJS, NextJS, TypeScript, Tailwind CSS.

    795 GitHub starsUsed in 2 repos~1.1k tokens
    Frontend & DesignAuto-check: notes
  • Userinterface Wiki

    raphaelsalaja/userinterface-wiki

    UI/UX best practices for web interfaces. An agent skill from raphaelsalaja/userinterface-wiki.

    906 GitHub stars~3.5k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • UI Design Brain

    carmahhawwari/ui-design-brain

    Generate production-grade UI using real component patterns and best practices from 60+ documented interface components.

    893 GitHub stars~2.1k tokensUpdated 7 mo ago
    Frontend & DesignAuto-check passed
  • Builds the visual layer of a holaOS dashboard app with TanStack Start and @holaboss/ui, starting from a bundled reference instead of a blank page.

    11k GitHub stars~6.3k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Puts four real design variations of one project file on your localhost behind a small card you flip with the arrow keys, then acts on your verdict.

    211 GitHub stars~3.5k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Design-Led Website Builder

    liucongg/liucong-skills

    Turns a short brief into a researched, distinctive website: lock the intent with at most one question, research live reference sites, source materials, then build and verify.

    248 GitHub stars~1.3k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed

More from tabler/tabler

All 21 skills in this repo
  • Starts the right Tabler dev server, keeps it from clashing with builds and verifies changes in the browser before a page or component is handed back.

    42k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Rules for adding or fixing client-side scripts in Tabler's Astro components so the copied preview HTML stays readable, self-contained and runs in the right order.

    42k GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Sets the file structure, typing and Data API pattern for writing a new Bootstrap-style JavaScript component class in Tabler's vendored port of Bootstrap's JS.

    42k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Writes or updates the classnames front matter that renders the class table at the end of a Tabler component docs page.

    42k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Guidance for changing the Tabler framework's own JavaScript in core/js: the tabler.js and tabler-theme.js bundles, the Bootstrap port and their tests.

    42k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Tabler Core SCSS

    tabler/tabler

    Rules for adding or changing styles in Tabler's core/scss framework: file placement, custom properties, dark mode, RTL, tests and build gates.

    42k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed

Questions about Tabler Page Layouts

What does Tabler Page Layouts do?

Picks and configures the right layout for a Tabler preview page and covers changing or adding layouts in shared/layouts, including DefaultLayout props and the page-header slot. Layouts own the page chrome: head, assets, body classes, navbar or sidebar, page header and footer. A page supplies content and a few props and never its own header block, wrapper divs or html scaffolding.

When should I use Tabler Page Layouts?

Tabler Page Layouts fits situations like: choosing a layout for a new Tabler preview page; replacing hand-written page header or wrapper markup with layout props; adding a sign-in, error, settings or marketing page with the right chrome; before creating a new layout file in shared/layouts.

How do I install Tabler Page Layouts in Claude Code?

Run `npx skills add tabler/tabler --skill page-layouts -a claude-code`. Or copy the skill folder (.agents/skills/page-layouts in tabler/tabler) into .claude/skills/page-layouts in your project. Claude Code loads it when a task matches its description.

How do I install Tabler Page Layouts in Codex?

Run `npx skills add tabler/tabler --skill page-layouts -a codex`. Or copy the skill folder (.agents/skills/page-layouts in tabler/tabler) into .agents/skills/page-layouts in your project. Codex loads it when a task matches its description.

Can I use Tabler Page Layouts in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tabler/tabler --skill page-layouts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/page-layouts, .gemini/skills/page-layouts, .github/skills/page-layouts and .opencode/skills/page-layouts in your project.

What does Tabler Page Layouts need to run?

SKILL.md names no scripts, command-line tools or credentials: Tabler Page Layouts is instructions for the agent only. Our summary lists: A checkout of the Tabler repository with its shared/layouts folder.

Does Tabler Page Layouts access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Tabler Page Layouts safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Tabler Page Layouts use?

Tabler Page Layouts is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tabler Page Layouts use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Tabler Page Layouts?

Skills that share tags, products or a category with Tabler Page Layouts: Senior Frontend (Ohh-889/skyroc, 795 stars), Userinterface Wiki (raphaelsalaja/userinterface-wiki, 906 stars), UI Design Brain (carmahhawwari/ui-design-brain, 893 stars) and Dashboard Builder for holaOS (holaboss-ai/holaOS, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tabler Page Layouts?

tabler (a GitHub organization) maintains it in tabler/tabler, which has 41,830 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 7, 2026.

Source: tabler/tabler on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.