
bklit-ship
bklit-ui monorepo contributors only — ship a chart or component from Studio prototype to production in packages/ui with docs and registry.
- Installs
- 660
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/bklit/bklit-ui --skill bklit-ship- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads bklit-ship automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Bklit Ship Skill
This skill is for bklit-ui monorepo contributors taking a chart or component validated in Studio into production: published in the UI package, documented, and ready for users.
When to use this skill
- You cloned
bklit/bklit-uiand have a working prototype validated in Studio (/studio) and want to ship it. - You are ready to move from "scaffolding" to "permanent": the API and key props/variants are decided from the prototyping phase.
Plan: Prototype → Production
Follow these steps in order. Treat this as a checklist; each step has concrete locations in the repo.
1. Move into the UI package and export
- Move or finalize chart/component source in
packages/ui/(e.g.packages/ui/src/charts/for charts). Prototypes should already live here if you followed bklit-studio; remove any leftover copies underapps/web/components/playground/if present. - Export the new chart/component from the package’s public API:
- For charts: add exports in
packages/ui/src/charts/index.ts. - If the package uses
exportsinpackage.jsonfor specific entry points, add or update the relevant entry so the new component is importable as@bklitui/ui/charts(or the appropriate path).
- For charts: add exports in
- Do not add app-only chart copies under
apps/web/components/playground/(deprecated). Studio previews belong inpackages/studio.
2. Documentation and examples (apps/web)
Documentation lives under apps/web/. Do all of the following.
-
Update existing component docs when shipping extends an existing chart (new props, subcomponents, or behavior):
- Add new props to the relevant tables in the parent doc (e.g.
line-chart.mdxforGrid highlightRowValues,ChartTooltip indicatorColor). - Update related utility docs if needed (e.g.
content/docs/utility/grid.mdx,tooltip.mdx). - Keep the primary docs preview unchanged — do not swap the standard preview on an existing page for the new variant.
- Add a short section linking to a dedicated doc page when the feature warrants one (e.g. Profit/Loss →
profit-loss-line.mdx).
- Add new props to the relevant tables in the parent doc (e.g.
-
Chart examples (live demos on
/charts/[slug])- Add examples to the corresponding gallery route (e.g. profit/loss variants under
/charts/line-chart, not only a new docs preview). - If the feature is a new chart kind, add its slug to
apps/web/components/charts/chart-slugs.tsand register examples inapps/web/components/charts/chart-examples.tsx(CHART_NAV_ITEMS/ factory registry as appropriate). - Reuse or mirror the prop variants you validated in the scaffolding phase.
- Add examples to the corresponding gallery route (e.g. profit/loss variants under
-
Dedicated doc page (when shipping a new composable or chart kind)
- Add
apps/web/content/docs/components/<name>.mdxwith frontmatter,<ComponentPreview>, installation, usage, and props — consistent with existing component docs. - Add the slug to
apps/web/content/docs/components/meta.json. This drives the desktop sidebar and the mobile menu —apps/web/components/docs/site-header.tsxrenders the mobile nav from the docs page tree (docsTree), so there is no hand-maintained list to edit there. - Optional "New" badge: add the docs and gallery URLs to
apps/web/lib/nav-badges.ts(sidebar, mobile menu and site nav all read it). - Top-level site links (Docs, Components, Recipes, …) live in
apps/web/lib/site-nav-links.ts; chart pages do not go there.
- Add
3. Studio
- Update the existing studio chart when the feature is a variant of an existing type, or add a new studio chart when it is a distinct kind.
- Wire all tunable props into studio (if not already done while prototyping):
packages/studio/src/lib/studio-parsers.ts— URL state keys and defaultspackages/studio/src/lib/registry-control-groups.ts— control groupspackages/studio/src/lib/registry.tsx— render preview +generateCodepackages/studio/src/lib/studio-components.ts— layer tree- Chart-type defaults in
packages/studio/src/components/studio-state-provider.tsxwhen switching chart type
- A new studio slug also needs (TypeScript catches the
Record<ChartSlug, …>ones, not the rest):packages/studio/src/chart-slugs.ts— add the slugpackages/studio/src/lib/types.ts—chartLabelsentry (display name;satisfies Record<ChartSlug, string>)packages/studio/src/components/chart-type-icons.tsx—CHART_TYPE_ICONSentry (Record<ChartSlug, IconName>)packages/studio/src/components/catalog/catalog-chart-preview-grid.tsx—CATALOG_CHART_LAYOUTentry when the catalog tile needs a custom size or state overrides (andSTUDIO_Y_AXIS_CHART_PREFIXif it has a y-axis)packages/studio/src/lib/studio-url-key-orders.ts— append every new URL state key to the end ofSTUDIO_STATE_KEY_ORDER(frozen, append-only; never insert or reorder — it would corrupt shared URLs;studio-url-codec.test.tsguards it)packages/studio/src/lib/studio-visibility-sync.ts— add cases tolegendComponentIdForChart/brushComponentIdForChartwhen the chart has a legend or brush layer (defaultnullotherwise)
4. Rebuild the shadcn registry
- From the repo root: run
pnpm registry:build. - This updates
apps/web/public/r/frompackages/ui. Ensure new components are listed inpackages/ui/registry.jsonwhen they should be installable via shadcn.
5. Lint, format, test, and build
Run from repo root until clean:
pnpm lint
pnpm format
pnpm --filter @bklitui/ui test # when package logic changed
pnpm build
pnpm registry:build # if not already run in step 4
Fix all errors; repeat until hooks pass on commit.
6. Commit, push, and open a PR
- Commit with a short, clear message (e.g.
feat(charts): add ProfitLossLine component). - Push the branch.
- Open a PR with the ship checklist filled in (see below).
PR checklist
- Chart/component moved to
packages/uiand exported - Existing docs updated with new props/features (standard preview unchanged)
- Gallery examples on the correct
/charts/**route - Dedicated doc page + sidebar + mobile nav (if new composable/chart kind)
- Studio chart updated or added with all props in control groups (new slug: labels, icon, catalog layout, URL key order appended)
- Registry rebuilt (
pnpm registry:build) -
pnpm lint, tests (if applicable), andpnpm buildpass
File reference (quick lookup)
| Step | Location |
|---|---|
| Chart exports | packages/ui/src/charts/index.ts |
| Chart slugs | apps/web/components/charts/chart-slugs.ts |
| Chart examples (nav + registry) | apps/web/components/charts/chart-examples.tsx |
| Component docs | apps/web/content/docs/components/<name>.mdx |
| Utility docs (Grid, Tooltip, …) | apps/web/content/docs/utility/*.mdx |
| Sidebar + mobile nav | apps/web/content/docs/components/meta.json → pages (mobile menu in site-header.tsx is generated from the docs page tree) |
| "New" badges | apps/web/lib/nav-badges.ts |
| Studio registry | packages/studio/src/lib/registry.tsx |
| Studio components tree | packages/studio/src/lib/studio-components.ts |
| Studio controls | packages/studio/src/lib/registry-control-groups.ts |
| Studio URL state | packages/studio/src/lib/studio-parsers.ts + append keys in packages/studio/src/lib/studio-url-key-orders.ts |
| Studio slug list / labels / icons | packages/studio/src/chart-slugs.ts, packages/studio/src/lib/types.ts (chartLabels), packages/studio/src/components/chart-type-icons.tsx |
| Studio catalog tile | packages/studio/src/components/catalog/catalog-chart-preview-grid.tsx |
| Studio layer visibility sync | packages/studio/src/lib/studio-visibility-sync.ts |
| Registry (source) | packages/ui/registry.json; build output: apps/web/public/r/ |
| Registry build | From root: pnpm registry:build |
FAQ
What does the bklit-ship skill do?
bklit-ui monorepo contributors only — ship a chart or component from Studio prototype to production in packages/ui with docs and registry.
How do I install bklit-ship?
Run npx skills add https://github.com/bklit/bklit-ui --skill bklit-ship in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/bklit-ship/ (personal) or .claude/skills/bklit-ship/ (project).
Which AI agents can use bklit-ship?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is bklit-ship safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains bklit-ship?
It is published by bklit in bklit/bklit-ui. It has 660 recorded installs.
More from bklit/bklit-ui
bklit-ui
bklit/bklit-ui
Install, compose, theme, and animate Bklit UI charts (the @bklit shadcn registry) in a React / Next.js app. Use when the user wants a chart, graph, or data visualization: line, area, bar, live/streaming line, composed, scatter, candlestick/OHLC, pie, ring/donut, radar, gauge, heatmap, funnel, sankey, sunburst, or choropleth/world map; a sparkline or tiny inline chart (LineSparkline, AreaSparkline, BarSparkline, useSparklineHover) for tables, KPI cards, or dense dashboards; a dashboard, analytics page, KPI or stat card; chart tooltips, crosshairs, legends, markers, reference bands, projections, trend lines, axes, or grids; or when code imports from components/charts/ or mentions @bklit/ or bklit.com. For styling vocabulary (patterns, squircle/rounded/3D bars, fades, loading looks, matching the app theme) also use bklit-ui-design. For moving from Recharts, shadcn ChartContainer, or TanStack Charts to Bklit, use bklit-ui-migrate.
unit-tests
bklit/bklit-ui
Guardrails for adding unit tests in bklit-ui without over-testing. Use when the user mentions unit test, unit tests, tests, test coverage, add tests, write tests, vitest, jest, or asks whether something should be tested.
bklit-studio-chart-performance
bklit/bklit-ui
Reusable Studio chart performance audit and fix workflow. Use when a chart feels sluggish in /studio (pan, slider ticks, legend hover) but siblings like pie-chart feel fine.
turborepo
bklit/bklit-ui
Turborepo monorepo build system guidance. Triggers on: turbo.json, task pipelines, dependsOn, caching, remote cache, the "turbo" CLI, --filter, --affected, CI optimization, environment variables, internal packages, monorepo structure/best practices, and boundaries. Use when user: configures tasks/workflows/pipelines, creates packages, sets up monorepo, shares code between apps, runs changed/affected packages, debugs cache, or has apps/packages directories.
bklit-playground
bklit/bklit-ui
DEPRECATED — use bklit-studio instead. Local /playground is no longer the chart development workflow for bklit-ui contributors.
pr-open
bklit/bklit-ui
Open a pull request the bklit-ui way: stage and commit with pre-commit hooks, run ultracite from the repo root, rebuild the shadcn registry, run a production test build, fix failures, push, and create a PR with a structured summary. Use when the user asks to commit, push, open a PR, "ship it", or run the full pre-PR checklist.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.