Skip to content
Agentmart
Submit a tool

nuxt-ui-tools-playground

Use this skill when adding, restructuring, or validating the nuxt-ui-tools playground examples, shell, navigation, or route-level composition demos.

Skill by ChronicStone

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/chronicstone-nuxt-ui-tools-playground

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use this skill when adding, restructuring, or validating the nuxt-ui-tools playground examples, shell, navigation, or route-level composition demos.

Use cases: design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/nuxt-ui-tools-playground

What's inside

Skill name
nuxt-ui-tools-playground
Description
Use this skill when adding, restructuring, or validating the nuxt-ui-tools playground examples, shell, navigation, or route-level composition demos.
License
MIT
Instructions
155 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# nuxt-ui-tools Playground

The playground is a maintainer-facing inspection surface. It should make one
runtime abstraction or one composition variant easy to find, run, compare, and
extend without making the shell part of the behavior under test.

## Architecture

The app has three intentionally separate layers:

- `playground/app/layouts/default.vue` and `empty.vue` both mount the shared
  `PlaygroundShell`; page layouts no longer invent their own navigation chrome.
- `playground/app/components/playground/` owns reusable shell primitives:
  `PlaygroundShell.vue`, `PlaygroundPageHeader.vue`, `PlaygroundSidebar.vue`,
  the recursive tree node, and `PlaygroundContent.vue`.
- `playground/app/pages/` owns example code, runtime fixtures, runtime controls,
  and route-level composition decisions. A page must not reimplement playground
  navigation or testing chrome.

`playground/app/app.config.ts` contains only the canonical Nuxt UI color
baseline. Keep it neutral and monochrome (`primary: 'neutral'` and
`neutral: 'zinc'`). `main.css` owns the small canonical token adjustment that
makes primary fills true black in light mode and near-white in dark mode;
neutral gray remains the secondary surface. Component `ui` props belong in an
example only when the example is explicitly demonstrating a package
composition or slot contract; never use app config as a global visual patch.

## Navigation registry

The playground is organized as abstraction families with a persistent,
collapsible tree navigator:

- `/form/*` owns field labs plus form workflows.
- `/table/*` owns data-source examples and the nested composition family.
- `/spreadsheet/*` owns core flow, reference, and stress/validation groups.

`usePlaygroundNavigation.ts` is the single hierarchy registry. Each abstraction
owns a `navigation` tree made of group nodes and route nodes. Route nodes declare
a stable `id`, exact `path`, concise `label`, useful `description`, and content
`mode`; group nodes declare `children`. The shared sidebar renders that tree and
expands only the branch relevant to the current route, so large families remain
scannable without flattening every example into one dropdown.

Keep variants as separate routes when behavior, schema, or content mode differs.
For example, table offset remote, cursor remote, filter rail, staged finance,
selection operations, and people directory are independent modules rather than
one schema behind a variant toggle. Legacy aliases may redirect to a canonical
route when the redirect is explicit and cheap.

Table size is playground testing chrome, not example UI. Every rendered table
example binds its root size to `usePlaygroundShell().tableSize`; the shared page
header owns the desktop XS/SM/MD/LG/XL selector and the mobile navigation drawer
owns the mobile copy. All table examples default to `md`. Do not add local size
selectors or make an example's concept be "small table" versus "large table".
Granular size overrides are appropriate only when the example is explicitly
testing that override.

Keep the table canvas edge-aligned inside one `NutDataListContent` boundary;
do not add decorative nested table shells. Selection actions belong in the
schema and render through `NutDataListSelectionActions`, while filter-rail
examples use their explicit rail controls.

## Page shell and content modes

Wrap normal pages in `PlaygroundContent` and choose the mode that owns their
scroll contract:

```vue
<PlaygroundContent mode="document">
  <!-- normal page: this shell content region scrolls -->
</PlaygroundContent>

<PlaygroundContent mode="fixed">
  <!-- full-height composition: the child runtime owns its viewport -->
</PlaygroundContent>

<PlaygroundContent mode="scroll">
  <!-- full-height route with one internal vertical scroll boundary -->
</PlaygroundContent>

<PlaygroundContent mode="canvas">
  <!-- free-form canvas or custom viewport ownership -->
</PlaygroundContent>
```

`document` is for forms, indexes, and narrative examples and owns the shell's
vertical content scroll. `fixed` is for table compositions whose runtime owns
the available viewport. `scroll` is for bounded examples such as assembled
DataList recipes that intentionally scroll as one page region. `canvas` is for
an example that deliberately manages its own free layout. The browser body must
remain fixed to the shell; do not combine a mode with negative margins, a second
viewport-sized wrapper, or an implicit `100vh` height.

Spreadsheet fullscreen scenarios may keep `definePageMeta({ layout: 'empty' })`
for route intent, but both playground layouts mount the same `PlaygroundShell`.
The spreadsheet canvas owns the remaining shell viewport (`h-full`), never the
entire browser viewport, so navigation stays consistent across abstractions.

## Recipe for a new sample

1. Choose the owning runtime abstraction and decide whether the sample is a
   document, fixed, scroll-contained, or canvas route.
2. Add a focused page module under `playground/app/pages/`; split variants into
   separate files when comparing behavior would otherwise require a toggle.
3. Keep the demonstrated schema, fixture, and runtime calls in the page or an
   adjacent feature folder under `playground/app/components/`. Extract shared
   data only when it makes the example easier to compare, not when it hides the
   API being assessed.
4. Add navigation metadata to the relevant abstraction in
   `usePlaygroundNavigation.ts`, a concise row to that abstraction's `index.vue`,
   and only a high-level abstraction row to `pages/index.vue`.
5. Add loading, empty, error, disabled, focus, keyboard, responsive, overflow,
   and reduced-motion handling when the example exercises those states.
6. Validate the route in the configured browser at desktop and mobile widths,
   then run the focused playground typecheck and formatter.

## Validation matrix

Before handoff, verify the following for each changed route:

From ChronicStone/nuxt-ui-tools, MIT.

More from ChronicStone/nuxt-ui-tools

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Aug 20, 2026 (2 months ago)
Last release
Oct 23, 2026 (5 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ChronicStone

Cite this page

nuxt-ui-tools-playground skill. Agent Mart. https://agentmart.dev/skills/chronicstone-nuxt-ui-tools-playground (last updated 2026-10-24)