Agent skill

Working With Pm Design Kit

by PackmindHub in PackmindHub/packmind

This skill provides guidance for using the Packmind UI component library (@packmind/ui).

Apache-2.0Auto-check passedFrontend & Design

Install Working With Pm Design Kit

skills CLI
$ npx skills add PackmindHub/packmind --skill working-with-pm-design-kit -a claude-code

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

GitHub CLI
$ gh skill install PackmindHub/packmind working-with-pm-design-kit --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/PackmindHub/packmind.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/working-with-pm-design-kit .claude/skills/working-with-pm-design-kit && 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
working-with-pm-design-kit
GitHub stars
318
Token cost
~2.8k tokens
SKILL.md length
789 words
Files
2 (incl. references)
Skills in repo
35
Repo updated
First seen
Licence
Apache-2.0

At a glance

This skill provides guidance for using the Packmind UI component library (@packmind/ui).

  • Works in 10 steps: Need a layout container? Use PMBox,… → Need text? Use PMHeading (with level… → Need a button? Use PMButton with the… → …
  • Mentions of PM components
  • SKILL.md covers Overview, Component Selection Guide, Compound Component Patterns and Layout Patterns, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Working With Pm Design Kit is an agent skill from PackmindHub/packmind. This skill provides guidance for using the Packmind UI component library (@packmind/ui). It should be used when building or modifying frontend UI with PM-prefixed components, working with Chakra UI in the Packmind codebase, or when questions arise about available components, theming, or layout patterns. Triggers on mentions of PM components, @packmind/ui, Chakra UI usage, design kit, or frontend component implementation.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/component-catalog.md`).

It sits in Frontend & Design, covering Design systems, Theming and dark mode and Frontend development. The repository describes itself as: Packmind seamlessly captures your engineering playbook and turns it into AI context, guardrails, and governance. The licence is Apache-2.0.

When your agent uses it

  • Mentions of PM components
  • Chakra UI usage
  • Frontend component implementation

Example prompts

  • “/working-with-pm-design-kit”

Workflow steps

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

  1. Need a layout container? Use PMBox, PMVStack, PMHStack, PMFlex, or PMGrid.
  2. Need text? Use PMHeading (with level prop for semantic h1–h6) or PMText (with variant and color).
  3. Need a button? Use PMButton with the appropriate variant: primary for main actions, secondary/ghost for secondary, danger for destructive.
  4. Need user input? Use PMInput, PMTextArea, PMSelect, PMCheckbox, PMSwitch, or PMRadioGroup.
  5. Need feedback? Use pmToaster for transient messages, PMAlert for inline messages, PMConfirmationModal for destructive confirmations.
  6. Need an overlay? Use PMDialog for modals, PMPopover for contextual info, PMDrawer for side panels.
  7. Need to show nothing? Use PMEmptyState with title, description, icon, and an action button.
  8. Need loading placeholders? Use PMSkeleton for content areas, PMSpinner for inline indicators.
  9. Need a color indicator? Use PMColorSwatch to display a color sample.
  10. No PM wrapper exists? Check Chakra UI v3 docs, then ask the user before using a raw Chakra component.

What it can do on your machine

Read from SKILL.md and the folder at commit 67de8a2. 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 typescript).

    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

Working With Pm Design Kit loads about 2.8k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 789 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~113
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.1k

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 PackmindHub/packmind at commit 67de8a2, republished under its Apache-2.0 licence (© PackmindHub). 789 words, ~2,827 tokens.

Download SKILL.mdSave it as .claude/skills/working-with-pm-design-kit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
working-with-pm-design-kit
description
This skill provides guidance for using the Packmind UI component library (@packmind/ui). It should be used when building or modifying frontend UI with PM-prefixed components, working with Chakra UI in the Packmind codebase, or when questions arise about available components, theming, or layout patterns. Triggers on mentions of PM components, @packmind/ui, Chakra UI usage, design kit, or frontend component implementation.

Working With the PM Design Kit

Overview

The Packmind design kit (@packmind/ui) is a component library built on top of Chakra UI v3. All components are prefixed with PM and provide a consistent, themed API across the application. The source lives in packages/ui/.

Import pattern: Always import from @packmind/ui, never from Chakra UI directly.

tsx
import { PMButton, PMBox, PMHeading, PMText } from '@packmind/ui';

Component Selection Guide

Before reaching for a raw <div> or Chakra primitive, check if a PM component exists. Consult references/component-catalog.md for the full inventory organized by category.

Decision Flow
  1. Need a layout container? Use PMBox, PMVStack, PMHStack, PMFlex, or PMGrid.
  2. Need text? Use PMHeading (with level prop for semantic h1–h6) or PMText (with variant and color).
  3. Need a button? Use PMButton with the appropriate variant: primary for main actions, secondary/ghost for secondary, danger for destructive.
  4. Need user input? Use PMInput, PMTextArea, PMSelect, PMCheckbox, PMSwitch, or PMRadioGroup.
  5. Need feedback? Use pmToaster for transient messages, PMAlert for inline messages, PMConfirmationModal for destructive confirmations.
  6. Need an overlay? Use PMDialog for modals, PMPopover for contextual info, PMDrawer for side panels.
  7. Need to show nothing? Use PMEmptyState with title, description, icon, and an action button.
  8. Need loading placeholders? Use PMSkeleton for content areas, PMSpinner for inline indicators.
  9. Need a color indicator? Use PMColorSwatch to display a color sample.
  10. No PM wrapper exists? Check Chakra UI v3 docs, then ask the user before using a raw Chakra component.

Compound Component Patterns

Several PM components use Chakra's compound pattern with dot notation. Always use the compound API — do not try to reconstruct these with standalone elements.

tsx
// Dialog
<PMDialog.Root open={isOpen} onOpenChange={setIsOpen}>
  <PMDialog.Backdrop />
  <PMDialog.Positioner>
    <PMDialog.Content>
      <PMDialog.Header>
        <PMDialog.Title>Title</PMDialog.Title>
        <PMDialog.CloseTrigger />
      </PMDialog.Header>
      {/* body */}
    </PMDialog.Content>
  </PMDialog.Positioner>
</PMDialog.Root>

// Accordion
<PMAccordion.Root>
  <PMAccordion.Item value="section-1">
    <PMAccordion.ItemTrigger>Section 1</PMAccordion.ItemTrigger>
    <PMAccordion.ItemContent>Content here</PMAccordion.ItemContent>
  </PMAccordion.Item>
</PMAccordion.Root>

// Timeline
<PMTimeline.Root>
  <PMTimeline.Item>
    <PMTimeline.Separator>
      <PMTimeline.Indicator />
      <PMTimeline.Connector />
    </PMTimeline.Separator>
    <PMTimeline.Content>
      <PMTimeline.Title>Event</PMTimeline.Title>
      <PMTimeline.Description>Details</PMTimeline.Description>
    </PMTimeline.Content>
  </PMTimeline.Item>
</PMTimeline.Root>

// Tabs (compound pattern — preferred for flexible tab layouts)
<PMTabsCompound.Root defaultValue="tab1">
  <PMTabsCompound.List>
    <PMTabsCompound.Trigger value="tab1">First Tab</PMTabsCompound.Trigger>
    <PMTabsCompound.Trigger value="tab2">Second Tab</PMTabsCompound.Trigger>
  </PMTabsCompound.List>
  <PMTabsCompound.Content value="tab1">First content</PMTabsCompound.Content>
  <PMTabsCompound.Content value="tab2">Second content</PMTabsCompound.Content>
</PMTabsCompound.Root>

Key compound components: PMDialog, PMAccordion, PMTimeline, PMCarousel, PMCopiable, PMSelect, PMMenu, PMTreeView, PMTabs, PMTabsCompound.

Always wrap overlays (dialogs, popovers, drawers) inside PMPortal to escape stacking context issues.

Layout Patterns

Spacing

Use gap on stacks/grids for consistent spacing between children — never use margin on individual children to create gaps.

tsx
<PMVStack gap="4">
  <PMHeading level="h2">Title</PMHeading>
  <PMText>Description</PMText>
</PMVStack>
Full-Height Layouts

For layouts that fill the viewport, use height="100vh" on the root, flex="1" on the expanding section, and minHeight={0} on flex children that need to scroll.

Grid Layouts

Use PMGrid with gridTemplateColumns for multi-panel layouts:

tsx
<PMGrid gridTemplateColumns="minmax(240px, 270px) 1fr minmax(280px, 320px)">
  <PMBox>Sidebar</PMBox>
  <PMBox>Main</PMBox>
  <PMBox>Detail</PMBox>
</PMGrid>
Page Structure

Use PMPage for full-page layouts with title, breadcrumbs, actions, and optional sidebar. Use PMPageSection for collapsible content sections within a page.

Typography

Headings

Use PMHeading with the level prop for semantic HTML (h1–h6) and color for emphasis:

tsx
<PMHeading level="h1" color="primary">Page Title</PMHeading>
<PMHeading level="h3" color="secondary">Section Title</PMHeading>

Available colors: primary, secondary, tertiary, faded, primaryLight, secondaryLight, tertiaryLight.

Body Text

Use PMText with variant for size and color for emphasis:

tsx
<PMText variant="body" color="primary">Main content</PMText>
<PMText variant="small" color="secondary">Supporting text</PMText>

Variants: body, body-important, small, small-important. Colors: primary, secondary, tertiary, error, faded, warning, success, primaryLight, secondaryLight, tertiaryLight.

Theming

Use semantic tokens — never hardcode hex colors or raw Chakra palette values.

Semantic Token Categories
CategoryTokensUsage
Backgroundbackground.primary, .secondary, .tertiary, .fadedSurface colors (dark to light)
Texttext.primary, .secondary, .tertiary, .faded, .error, .warning, .successText contrast levels
Borderborder.primary, .secondary, .tertiaryBorder contrast levels
Show full SKILL.md (320 more words)Show less
Status Colors

Use the semantic color names for status indicators:

  • Success: green palette or text.success
  • Error/Danger: red palette or text.error
  • Warning: orange palette or text.warning
  • Info/Primary: blue palette
tsx
<PMButton variant="danger">Delete</PMButton>
<PMText color="error">Validation failed</PMText>
<PMBadge colorPalette="green">Active</PMBadge>

Form Patterns

Input Fields

PMInput provides label, error state, and helper text out of the box:

tsx
<PMInput
  label="Project name"
  value={name}
  onChange={(e) => setName(e.target.value)}
  error={errors.name}
  helperText="Must be unique within the organization"
  maxLength={255}
/>
Form Layout

Group related fields with PMFormContainer:

tsx
<PMFormContainer maxWidth="400px" centered>
  <PMInput label="Name" />
  <PMInput label="Email" />
  <PMButton variant="primary" type="submit">Save</PMButton>
</PMFormContainer>
Validation

Show errors directly on inputs via the error prop — this adds a red border and displays the message below the field. Disable submit buttons during async operations with isLoading.

Feedback Patterns

Toasts (Transient Notifications)
tsx
import { pmToaster } from '@packmind/ui';

pmToaster.create({
  type: 'success',        // 'success' | 'error' | 'warning' | 'info' | 'loading'
  title: 'Saved',
  description: 'Your changes have been saved.',
  closable: true,
  action: { label: 'Undo', onClick: handleUndo },  // optional
});
Confirmation Modals (Destructive Actions)
tsx
<PMConfirmationModal
  trigger={<PMButton variant="danger">Delete</PMButton>}
  title="Delete project?"
  message="This action cannot be undone."
  confirmText="Delete"
  confirmColorScheme="red"
  onConfirm={handleDelete}
  isLoading={isDeleting}
/>
Inline Alerts
tsx
<PMAlert.Root status="warning">
  <PMAlert.Indicator />
  <PMAlert.Title>Attention</PMAlert.Title>
  <PMAlert.Description>This feature is in beta.</PMAlert.Description>
</PMAlert.Root>
Empty States
tsx
<PMEmptyState
  title="No standards yet"
  description="Create your first coding standard to get started."
  icon={<LuInbox />}
>
  <PMButton variant="primary">Create Standard</PMButton>
</PMEmptyState>

Icons

Icons come from react-icons/lu (Lucide icon set). Import with the Lu prefix:

tsx
import { LuTrash2, LuPlus, LuChevronDown } from 'react-icons/lu';

<PMButton><LuPlus /> Add Item</PMButton>
<PMIconButton variant="ghost"><LuTrash2 /></PMIconButton>

Control size via fontSize or size props on the icon element.

Responsive Design

Use Chakra's responsive object syntax with breakpoints base, sm, md, lg, xl:

tsx
<PMBox
  display={{ base: 'none', md: 'flex' }}
  width={{ base: '100%', lg: '60%' }}
  padding={{ base: '4', md: '6' }}
/>

Mobile-first approach: base styles apply to all sizes, then override at larger breakpoints.

Button Variant Guide

VariantUsage
primaryMain action on the page (one per view)
secondaryImportant but not primary actions
tertiaryLow-emphasis actions
outlineAlternative to secondary with border emphasis
ghostMinimal actions (toolbar buttons, inline actions)
successPositive confirmations
warningCaution-required actions
dangerDestructive actions (delete, remove)

Hooks

@packmind/ui exports several hooks for common UI patterns:

useTableSort

Manages sorting state for PMTable. Returns sortKey, sortDirection, handleSort, and getSortDirection:

tsx
import { useTableSort } from '@packmind/ui';

const { sortKey, sortDirection, handleSort, getSortDirection } = useTableSort({
  defaultSortKey: 'name',
  defaultSortDirection: 'asc',
});

<PMTable columns={columns} data={data} onSort={handleSort} />
Chakra Re-exports
  • pmUseFilter — Chakra's useFilter for filtering collections
  • pmUseListCollection — Chakra's useListCollection for managing list data (useful with PMSelect, PMCombobox)
  • pmUseToken — Chakra's useToken for accessing design tokens programmatically
tsx
import { pmUseToken, pmUseListCollection } from '@packmind/ui';

Anti-Patterns

  • Do not import from @chakra-ui/react directly — always use @packmind/ui wrappers.
  • Do not use inline styles or hardcoded colors — use semantic tokens and component props.
  • Do not create custom modal/overlay implementations — use PMDialog, PMDrawer, or PMPopover with PMPortal.
  • Do not build custom loading indicators — use PMSkeleton or PMSpinner.
  • Do not use as="h1" on headings — use the level prop on PMHeading for semantic HTML.

Resources

references/
  • component-catalog.md — Full inventory of all PM components and hooks with props, organized by category.

© PackmindHub, Apache-2.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 1 other file (references) in .agents/skills/working-with-pm-design-kit of PackmindHub/packmind.

  • SKILL.md
  • references/component-catalog.md

Open the folder on GitHubat commit 67de8a2

Compare with similar skills

Working With Pm Design Kit 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.

Working With Pm Design Kit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Working With Pm Design Kit this skillPackmindHub/packmind318—~2.8kAutomated safety check: PassApache-2.0
Bryl Minimal Designbryllim/bryl-minimal-design115—~2.9kAutomated safety check: PassMIT
UItrycompai/comp2k—~832Automated safety check: PassAGPL-3.0
Applying UI Design Systemtelagod/code-abyss244—~538Automated safety check: PassMIT
Impeccablebestofjs/bestofjs3.1k26 repos~2.6kAutomated safety check: PassMIT
Figma Design System Builderwarpdotdev/warp65k2 repos~4.4kAutomated safety check: PassAGPL-3.0

Similar skills

  • Bryl Minimal Design

    bryllim/bryl-minimal-design

    Apply the bryl-minimal design language — a monochrome, typography-driven minimal aesthetic with halftone dot textures, pixel-font display headings, tiny uppercase monospace labels, soft large-radius…

    115 GitHub stars~2.9k tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • UI

    trycompai/comp

    A skill your agent uses when building or editing frontend UI components, layouts, styling, design system usage, colors, dark mode, or icons.

    2k GitHub stars~832 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Applying UI Design System

    telagod/code-abyss

    Frontend UI design system selector and implementation guide covering Glassmorphism, Liquid Glass (Apple-style), Neubrutalism, and Claymorphism.

    244 GitHub stars~538 tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Impeccable

    bestofjs/bestofjs

    A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…

    3.1k GitHub starsUsed in 26 repos~2.6k tokens
    Frontend & DesignAuto-check passed
  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • UI Styling

    Ohh-889/skyroc

    Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.

    795 GitHub starsUsed in 13 repos~2.5k tokens
    Frontend & DesignAuto-check passed

More from PackmindHub/packmind

All 35 skills in this repo
  • Michel CLI Demo Recorder

    PackmindHub/packmind

    Produce proof-of-execution demos of the Packmind CLI (packmind-cli) as terminal-styled images (colors and formatting preserved exactly), for embedding in a GitHub PR.

    318 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Michel UI Demo Recorder

    PackmindHub/packmind

    Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.

    318 GitHub stars~6.4k tokensUpdated yesterday
    Auto-check passed
  • Packmind Create Skill

    PackmindHub/packmind

    Guide for creating effective skills. An agent skill from PackmindHub/packmind.

    318 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check: notes
  • Doc Audit

    PackmindHub/packmind

    Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage.

    318 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Feature Sprint

    PackmindHub/packmind

    Execute the implementation plan produced by /feature-spec. An agent skill from PackmindHub/packmind.

    318 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Review an implemented GitHub issue the way a senior Packmind engineer would — the human-judgment checks that ESLint, the TypeScript compiler, and e2e tests cannot catch (authorization scoping…

    318 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed

Questions about Working With Pm Design Kit

What does Working With Pm Design Kit do?

This skill provides guidance for using the Packmind UI component library (@packmind/ui). Working With Pm Design Kit is an agent skill from PackmindHub/packmind. This skill provides guidance for using the Packmind UI component library (@packmind/ui).

When should I use Working With Pm Design Kit?

Working With Pm Design Kit fits situations like: mentions of PM components; chakra UI usage; frontend component implementation.

How do I install Working With Pm Design Kit in Claude Code?

Run `npx skills add PackmindHub/packmind --skill working-with-pm-design-kit -a claude-code`. Or copy the skill folder (.agents/skills/working-with-pm-design-kit in PackmindHub/packmind) into .claude/skills/working-with-pm-design-kit in your project. Claude Code loads it when a task matches its description.

How do I install Working With Pm Design Kit in Codex?

Run `npx skills add PackmindHub/packmind --skill working-with-pm-design-kit -a codex`. Or copy the skill folder (.agents/skills/working-with-pm-design-kit in PackmindHub/packmind) into .agents/skills/working-with-pm-design-kit in your project. Codex loads it when a task matches its description.

Can I use Working With Pm Design Kit 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 PackmindHub/packmind --skill working-with-pm-design-kit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/working-with-pm-design-kit, .gemini/skills/working-with-pm-design-kit, .github/skills/working-with-pm-design-kit and .opencode/skills/working-with-pm-design-kit in your project.

What does Working With Pm Design Kit need to run?

SKILL.md names no scripts, command-line tools or credentials: Working With Pm Design Kit is instructions for the agent only.

Does Working With Pm Design Kit 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 Working With Pm Design Kit 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 Working With Pm Design Kit use?

Working With Pm Design Kit is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Working With Pm Design Kit use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.

What are the alternatives to Working With Pm Design Kit?

Skills that share tags, products or a category with Working With Pm Design Kit: Bryl Minimal Design (bryllim/bryl-minimal-design, 115 stars), UI (trycompai/comp, 2k stars), Applying UI Design System (telagod/code-abyss, 244 stars) and Impeccable (bestofjs/bestofjs, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Working With Pm Design Kit?

PackmindHub (a GitHub organization) maintains it in PackmindHub/packmind, which has 318 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 9, 2026.

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