Build UI components using the compound component pattern. Use when creating new React components, building UI elements, refactoring components, or when the user mentions compound components, composable components, component patterns, or UI building blocks.
Use small composable primitives when callers need to arrange content or share styling. This convention applies to reusable UI building blocks; a page or domain composition can assemble several elements without turning every element into a new API.
@zoonk/ui primitives. Put generic patterns in packages/ui and domain compositions in the owning app or feature.children and className, and exposes the relevant native props. Keep domain data fetching and orchestration in the composition that uses it.MediaCard, MediaCardTitle, and MediaCardDescription; do not introduce namespaced exports such as MediaCard.Title.className for styling overrides. Avoid bundles of title/description/action props or boolean variants when composition expresses the structure directly.data-slot and Tailwind group/has variants for CSS coordination when needed. These attributes are not E2E selectors; preserve semantic elements, labels, and accessible relationships.<MediaCard>
<MediaCardContent>
<MediaCardTitle>{title}</MediaCardTitle>
<MediaCardDescription>{description}</MediaCardDescription>
</MediaCardContent>
</MediaCard>
Pure visual composition does not need a provider. Use context when siblings must share state/actions or controls outside the main frame need access to them. For those cases, consult Vercel composition patterns, retaining Zoonk's flat naming. Do not add a provider solely to pass static content.
Use E2E coverage for user interactions according to the repository testing guidance; do not add isolated React component tests for these primitives.
npx skills add zoonk/zoonk-compound-components下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer