Agent skill

Tamery UI

by wannabespace in wannabespace/conar

Tamery's UI design system and hard rules — native macOS look, three-level color system, typography tokens, motion recipes, and the kit's known gotchas.

AGPL-3.0Auto-check passedFrontend & Design

Install Tamery UI

skills CLI
$ npx skills add wannabespace/conar --skill tamery-ui -a claude-code

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

GitHub CLI
$ gh skill install wannabespace/conar tamery-ui --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/wannabespace/conar.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/tamery-ui .claude/skills/tamery-ui && 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
tamery-ui
GitHub stars
1.5k
Token cost
~1.7k tokens
SKILL.md length
902 words
Files
6
Skills in repo
2
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Tamery's UI design system and hard rules — native macOS look, three-level color system, typography tokens, motion recipes, and the kit's known gotchas.

  • Works in 12 steps: Search the registry before writing… → No dark: selectors. Theme tokens resolve… → No pixel font sizes. Tokens only… → …
  • Reviewing any UI in this repo (components
  • Calls pnpm
  • Before writing the first className

What it does

Tamery UI is an agent skill from wannabespace/conar. Tamery's UI design system and hard rules — native macOS look, three-level color system, typography tokens, motion recipes, and the kit's known gotchas. Use whenever building, restyling, or reviewing any UI in this repo (components, pages, popovers, menus, animations), before writing the first className.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `colors.md`, `gotchas.md` and `motion.md`).

It sits in Frontend & Design, covering Typography, UI design and Data warehousing. It works with macOS, ClickHouse, Microsoft SQL Server and MySQL. The repository describes itself as: AI-powered tool for working with Postgres, MySQL, MSSQL and Clickhouse. The licence is AGPL-3.0.

When your agent uses it

  • Reviewing any UI in this repo (components
  • Before writing the first className

Example prompts

  • “/tamery-ui”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Search the registry before writing markup. pnpm dlx shadcn@latest search @shadcn -q . A div stack re-implementing a registry component…
  2. No dark: selectors. Theme tokens resolve in both themes; no new theme-pair vars. A token pair lacking contrast → cross-theme constructions…
  3. No pixel font sizes. Tokens only (text-2xs…text-base+); a missing size gets a rem token in @theme.
  4. No cursor-pointer. cursor-default on link-based controls; I-beam and col-resize are the only exceptions.
  5. Kit-level fixes in packages/ui for systemic sizing or color problems; page overrides only for page-specific design. Sizes via size props…
  6. No bare interactive icons. Hover bg + color shift + tooltip, always (patterns.md).
  7. No sidebar-* color tokens. Regular tokens everywhere.
  8. Global anchor rule: a { text-primary } in globals — row-styled Links must set text-foreground or render blue.
  9. data-mask on all user data. Any element rendering user values (connection names, hosts, connection strings, schema/table/column names…
  10. Verify heights in a row. After touching any control sharing a line with others, measure every element's getBoundingClientRect().height in…
  11. Refresh belongs to the tab bar, never to the page. TabRefresh owns refreshing the active tab: a refreshable tab type gets a branch there…
  12. A className on a kit component is a missing prop. Call sites pass size/variant and own only layout — position, flex sizing, min-h-0, a…

What it can do on your machine

Read from SKILL.md and the folder at commit c0e050e. 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

    Shell commands in SKILL.md call:

    • pnpm

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

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    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

Tamery UI loads about 1.7k tokens when it runs. Until then it costs about 79 tokens; SKILL.md has 902 words of instructions outside code blocks.

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

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 wannabespace/conar at commit c0e050e, republished under its AGPL-3.0 licence (© wannabespace). 902 words, ~1,694 tokens.

Download SKILL.mdSave it as .claude/skills/tamery-ui/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
tamery-ui
description
Tamery's UI design system and hard rules — native macOS look, three-level color system, typography tokens, motion recipes, and the kit's known gotchas. Use whenever building, restyling, or reviewing any UI in this repo (components, pages, popovers, menus, animations), before writing the first className.

Tamery UI

Native-feeling macOS database client (Electron + React + Tailwind v4 + base-ui kit in packages/ui). Every screen reads like an Apple app, not a web page. Owner-established rules; hard rules are review blockers.

Topic files — read what the task touches; record new decisions in the matching file:

FileWhen
colors.mdColors, surfaces, glass, shadows, cell highlights
typography.mdFonts, type scale, row heights, radius
patterns.mdChrome: menus, tabs, panes, tooltips, toasts, icons, filter field, forms, shortcuts
motion.mdAny animation
gotchas.mdBefore debugging kit components

Hard rules

  1. Search the registry before writing markup. pnpm dlx shadcn@latest search @shadcn -q <term>. A div stack re-implementing a registry component (Item, Empty, InputGroup, Field, ButtonGroup, Attachment…) is a review blocker, including "just this once". Missing from packages/ui → vendor it (shadcn view @shadcn/<name>), rewrite imports to kit conventions, then use. Registry components carry the density, focus rings, hover states and data-slots the app relies on. Long-form text is never hand-parsed: prose via kit Response, fenced code via CodeBlock or ResponseCodeBlock.
  2. No dark: selectors. Theme tokens resolve in both themes; no new theme-pair vars. A token pair lacking contrast → cross-theme constructions in colors.md. Test: several call sites each dialing their own alpha on one token = the token is wrong.
  3. No pixel font sizes. Tokens only (text-2xs…text-base+); a missing size gets a rem token in @theme.
  4. No cursor-pointer. cursor-default on link-based controls; I-beam and col-resize are the only exceptions.
  5. Kit-level fixes in packages/ui for systemic sizing or color problems; page overrides only for page-specific design. Sizes via size props, never per-page h-*.
  6. No bare interactive icons. Hover bg + color shift + tooltip, always (patterns.md).
  7. No sidebar-* color tokens. Regular tokens everywhere.
  8. Global anchor rule: a { text-primary } in globals — row-styled Links must set text-foreground or render blue.
  9. data-mask on all user data. Any element rendering user values (connection names, hosts, connection strings, schema/table/column names, cell values, SQL, filter values) gets it so screen-recording tools can blur it. App chrome never. Put it on the closest element wrapping only the user value.
  10. Verify heights in a row. After touching any control sharing a line with others, measure every element's getBoundingClientRect().height in the browser — equal to the pixel. Classic traps: py-* plus fixed-height children exceeding min-h, borders without bg-clip-padding, hand-set h-* instead of size props.
  11. Refresh belongs to the tab bar, never to the page. TabRefresh owns refreshing the active tab: a refreshable tab type gets a branch there (invalidate its query keys, useRefreshHotkey, render the button) and its page ships no refresh control. A tab type that cannot refresh keeps the button mounted and disabled. Two buttons for one dataset read as two refreshes and both fire on ⌘R.
  12. A className on a kit component is a missing prop. Call sites pass size/variant and own only layout — position, flex sizing, min-h-0, a width, an animation, a behaviour utility. The moment a page re-dials a kit component's surface (padding, radius, background, border, font size, height) the kit is wrong for that context and gets a variant. One override is a smell; a stack of them on one element, or the same override at two call sites, is a review blocker. Rule 4 says where a fix lives; this says what a call site may write. shadcn/no-restyle enforces it (code-style.md).
  13. Every feature is operable from the keyboard, and Escape always walks back to the Navigator. A new surface ships its keyboard flow in the same task: arrows move within a surface, Enter (or Right, into a detail pane) descends, Escape ascends. Escape is a ladder, never a jump — it undoes the innermost state first (clear a search, then leave the field, then close the panel), one step per press, so enough presses from anywhere land on the Navigator. A handler that swallows Escape must have consumed a step (stopPropagation only after handling it), or the ladder breaks above it. An opening surface puts focus somewhere useful (initialFocus) and closing returns it to the trigger; nothing traps focus in a leaf with no way out. Keys are registered with useHotkey/useHotkeys from @tanstack/react-hotkeys — never a hand-rolled addEventListener and never a container's onKeyDown (which also drags a11y roles onto plain wrappers). target scopes a binding to one element's ref, so in-surface navigation and app-wide shortcuts use the same hook and show up together in its devtools.
  14. Holding ⌘ reveals the shortcuts. Every shortcut a surface answers to becomes visible when the user holds ⌘ for a beat and disappears on release — hints sit on the controls they fire, drawn with the kit shortcuts.tsx glyphs, never gathered into a cheatsheet the user has to find. A shortcut with nowhere to appear is undiscoverable. Show only what fires in the current context (gate Electron-only ones on window.electron, hide what is disabled), and reserve or overlay the space — revealing a hint must not reflow its row.
  15. A popup driven by nullable data closes with its fade. A dialog, drawer or popover whose open derives from a nullable value (open={!!item}) never renders its content from that live value: item && <DialogContent> unmounts the popup the moment it closes, so it vanishes with no exit animation, and item?.x in the body fades out an empty box. Copy the last non-null value into state during render and clear it in the root's onOpenChangeComplete(false), once the exit animation has finished:
Show full SKILL.md (14 more words)Show less
tsx
const [shown, setShown] = useState(item)
if (item && item !== shown) {
  setShown(item)
}
<Dialog open={!!item} onOpenChangeComplete={(open) => !open && setShown(null)}>
  {shown && <DialogContent>…</DialogContent>}

open, closing and actions read the live item; everything the user sees reads shown.

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

Files

SKILL.md and 5 other files in .agents/skills/tamery-ui of wannabespace/conar.

  • SKILL.md
  • colors.md
  • gotchas.md
  • motion.md
  • patterns.md
  • typography.md

Open the folder on GitHubat commit c0e050e

Compare with similar skills

Tamery UI 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.

Tamery UI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Tamery UI this skillwannabespace/conar1.5k—~1.7kAutomated safety check: PassAGPL-3.0
UI UX Pro Maxsaoudi-h/solar-icons19018 repos~11kAutomated safety check: NotesCustom licence
Chdb SQLvemetric/vemetric3951 repos~1.2kAutomated safety check: PassApache-2.0
UI UX Pro MaxOhh-889/skyroc79526 repos~3.6kAutomated safety check: NotesMIT
UI UX Pro Maxfutureboard/futureboard-studio110—~5.6kAutomated safety check: PassMIT
Whodbxiaoyuge886/aigc198—~894Automated safety check: PassMIT

Similar skills

  • UI UX Pro Max

    saoudi-h/solar-icons

    UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.

    190 GitHub starsUsed in 18 repos~11k tokens
    Frontend & DesignAuto-check: notes
  • Chdb SQL

    vemetric/vemetric

    A skill your agent uses when the user wants to run SQL — especially analytical SQL — on local files (parquet/csv/json), URLs, S3 paths, or remote databases (Postgres, MySQL, MongoDB, ClickHouse…

    395 GitHub starsUsed in 1 repo~1.2k tokens
    DatabasesAuto-check passed
  • UI UX Pro Max

    Ohh-889/skyroc

    UI/UX design intelligence. An agent skill from Ohh-889/skyroc.

    795 GitHub starsUsed in 26 repos~3.6k tokens
    Frontend & DesignAuto-check: notes
  • UI UX Pro Max

    futureboard/futureboard-studio

    Comprehensive design guide for web, mobile, and desktop applications.

    110 GitHub stars~5.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Whodb

    xiaoyuge886/aigc

    Database operations including querying, schema exploration, and data analysis.

    198 GitHub stars~894 tokensUpdated 2 mo ago
    DatabasesAuto-check passed
  • Connecting To Data Source

    aws/agent-toolkit-for-aws

    Official

    Create and troubleshoot AWS Glue connections to JDBC databases (Oracle, SQL Server, PostgreSQL, MySQL, RDS), Redshift, Snowflake, and BigQuery.

    2.8k GitHub starsUsed in 1 repo~2.2k tokens
    DatabasesAuto-check passed

More from wannabespace/conar

  • PR Triage

    wannabespace/conar

    Speed up a GitHub PR review — sort every changed file into trivial / skim / review, mark the trivial ones as viewed on GitHub, and hand back a reading order for the rest.

    1.5k GitHub stars~811 tokensUpdated yesterday
    Auto-check passed

Questions about Tamery UI

What does Tamery UI do?

Tamery's UI design system and hard rules — native macOS look, three-level color system, typography tokens, motion recipes, and the kit's known gotchas. Tamery UI is an agent skill from wannabespace/conar. Tamery's UI design system and hard rules — native macOS look, three-level color system, typography tokens, motion recipes, and the kit's known gotchas.

When should I use Tamery UI?

Tamery UI fits situations like: reviewing any UI in this repo (components; before writing the first className.

How do I install Tamery UI in Claude Code?

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

How do I install Tamery UI in Codex?

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

Can I use Tamery UI 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 wannabespace/conar --skill tamery-ui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tamery-ui, .gemini/skills/tamery-ui, .github/skills/tamery-ui and .opencode/skills/tamery-ui in your project.

What does Tamery UI need to run?

Going by SKILL.md and its folder, Tamery UI needs the command-line tools its instructions call (pnpm).

Does Tamery UI 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 Tamery UI 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 Tamery UI use?

Tamery UI is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Tamery UI use?

About 1.7k tokens (SKILL.md is roughly 6.8k 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 Tamery UI?

Skills that share tags, products or a category with Tamery UI: UI UX Pro Max (saoudi-h/solar-icons, 190 stars), Chdb SQL (vemetric/vemetric, 395 stars), UI UX Pro Max (Ohh-889/skyroc, 795 stars) and UI UX Pro Max (futureboard/futureboard-studio, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Tamery UI?

wannabespace (a GitHub organization) maintains it in wannabespace/conar, which has 1,452 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.

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