Agent skill

Phase 5 Design System

by ww-w-ai in ww-w-ai/bkit-claude-code

Build platform-independent design systems and consistent component libraries.

Apache-2.0Auto-check: notesFrontend & Design

Install Phase 5 Design System

skills CLI
$ npx skills add ww-w-ai/bkit-claude-code --skill phase-5-design-system -a claude-code

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

GitHub CLI
$ gh skill install ww-w-ai/bkit-claude-code phase-5-design-system --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/ww-w-ai/bkit-claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/phase-5-design-system .claude/skills/phase-5-design-system && 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
phase-5-design-system
GitHub stars
601
Token cost
~3.2k tokens
SKILL.md length
413 words
Files
1
Skills in repo
44
Repo updated
First seen
Licence
Apache-2.0

At a glance

Build platform-independent design systems and consistent component libraries.

  • Works in 4 steps: Install Base Components: Button, Input,… → Customize: Adjust to project style → Composite Components: Combine multiple… → …
  • Tasks that involve Design systems
  • SKILL.md covers Purpose, What is a Design System?, What to Do in This Phase and Deliverables, plus 9 more sections
  • Calls npx

What it does

Phase 5 Design System is an agent skill from ww-w-ai/bkit-claude-code. Build platform-independent design systems and consistent component libraries. Triggers: design system, component library, design tokens default: bkit:pipeline-guide frontend: bkit:frontend-architect

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Design systems and Design tokens. It works with shadcn/ui. The repository describes itself as: bkit Vibecoding Kit - PDCA methodology + Claude Code mastery for AI-native development. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Design systems
  • Tasks that involve Design tokens

Example prompts

  • “/phase-5-design-system”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Glob, Bash

Workflow steps

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

  1. Install Base Components: Button, Input, Card, etc.
  2. Customize: Adjust to project style
  3. Composite Components: Combine multiple base components
  4. Documentation: Document component usage

What it can do on your machine

Read from SKILL.md and the folder at commit 85b4913. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Glob
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, 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

Phase 5 Design System loads about 3.2k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 413 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Glob, Bash

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 ww-w-ai/bkit-claude-code at commit 85b4913, republished under its Apache-2.0 licence (© ww-w-ai). 413 words, ~3,167 tokens.

Download SKILL.mdSave it as .claude/skills/phase-5-design-system/SKILL.md (or your agent's skills folder).
name
phase-5-design-system
description
Build platform-independent design systems and consistent component libraries. Triggers: design system, component library, design tokens default: bkit:pipeline-guide frontend: bkit:frontend-architect
allowed-tools
Read, Write, Edit, Glob, Bash
context
fork
background
false
classification
capability
classification-reason
Pattern guidance may overlap with model's built-in knowledge as it improves
deprecation-risk
medium
effort
medium
user-invocable
false
next-skill
phase-6-ui-integration
pdca-phase
do
task-template
[Phase-5] {feature}

Phase 5: Design System

Build platform-independent design system

Purpose

Build a reusable UI component library. Enable consistent design and fast development.


What is a Design System?

Definition

A design system is a collection of reusable components and clear standards that enables building consistent user experiences at scale.

Why is it Needed? (Framework Agnostic)
ProblemDesign System Solution
Designer-developer mismatchSingle Source of Truth
Duplicate component developmentReusable component library
Inconsistent UI/UXUnified design tokens and rules
Increased maintenance costCentralized change management
Delayed new member onboardingDocumented component catalog
3 Layers of Design System
┌─────────────────────────────────────────────────────┐
│              Design Tokens                           │
│   Color, Typography, Spacing, Radius, Shadow, ...   │
├─────────────────────────────────────────────────────┤
│              Core Components                         │
│   Button, Input, Card, Dialog, Avatar, Badge, ...   │
├─────────────────────────────────────────────────────┤
│            Composite Components                      │
│   Form, DataTable, Navigation, SearchBar, ...       │
└─────────────────────────────────────────────────────┘
Platform-specific Implementation Tools
PlatformRecommended ToolsDesign Token Method
Web (React/Next.js)shadcn/ui, RadixCSS Variables
Web (Vue)Vuetify, PrimeVueCSS Variables
FlutterMaterial 3, Custom ThemeThemeData
iOS (SwiftUI)Native ComponentsAsset Catalog, Color Set
Android (Compose)Material 3MaterialTheme
React NativeNativeBase, TamaguiStyleSheet + Theme

What to Do in This Phase

  1. Install Base Components: Button, Input, Card, etc.
  2. Customize: Adjust to project style
  3. Composite Components: Combine multiple base components
  4. Documentation: Document component usage

Deliverables

components/
└── ui/                     # shadcn/ui components
    ├── button.tsx
    ├── input.tsx
    ├── card.tsx
    └── ...

lib/
└── utils.ts                # Utilities (cn function, etc.)

docs/02-design/
└── design-system.md        # Design system specification

PDCA Application

  • Plan: Required component list
  • Design: Component structure, variants design
  • Do: Implement/customize components
  • Check: Review consistency
  • Act: Finalize and proceed to Phase 6

Level-wise Application

LevelApplication Method
StarterOptional (simple projects may skip)
DynamicRequired
EnterpriseRequired (including design tokens)

shadcn/ui Installation

bash
# Initial setup
npx shadcn@latest init

# Add components
npx shadcn@latest add button
npx shadcn@latest add input
npx shadcn@latest add card

Required Component List

Basic
  • Button, Input, Textarea
  • Card, Badge, Avatar
  • Dialog, Sheet, Popover
Form
  • Form, Label, Select
  • Checkbox, Radio, Switch
Navigation
  • Navigation Menu, Tabs
  • Breadcrumb, Pagination

Custom Theme Building

Show full SKILL.md (167 more words)Show less
Design Token Override

shadcn/ui is CSS variable-based, so customize themes in globals.css.

css
/* globals.css */
@layer base {
  :root {
    /* ===== Colors ===== */
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --primary: 221.2 83.2% 53.3%;      /* Brand main color */
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96.1%;
    --accent: 210 40% 96.1%;
    --destructive: 0 84.2% 60.2%;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;

    /* ===== Typography ===== */
    --font-sans: 'Pretendard', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;

    /* ===== Spacing (rem units) ===== */
    --spacing-xs: 0.25rem;   /* 4px */
    --spacing-sm: 0.5rem;    /* 8px */
    --spacing-md: 1rem;      /* 16px */
    --spacing-lg: 1.5rem;    /* 24px */
    --spacing-xl: 2rem;      /* 32px */

    /* ===== Border Radius ===== */
    --radius: 0.5rem;
    --radius-sm: 0.25rem;
    --radius-lg: 0.75rem;
    --radius-full: 9999px;

    /* ===== Shadows ===== */
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --primary: 217.2 91.2% 59.8%;
    /* ... dark mode overrides */
  }
}
Tailwind Config Extension
js
// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        brand: {
          50: 'hsl(var(--brand-50))',
          500: 'hsl(var(--brand-500))',
          900: 'hsl(var(--brand-900))',
        },
      },
      fontFamily: {
        sans: ['var(--font-sans)', 'system-ui'],
        mono: ['var(--font-mono)', 'monospace'],
      },
      spacing: {
        'xs': 'var(--spacing-xs)',
        'sm': 'var(--spacing-sm)',
        'md': 'var(--spacing-md)',
        'lg': 'var(--spacing-lg)',
        'xl': 'var(--spacing-xl)',
      },
      borderRadius: {
        'sm': 'var(--radius-sm)',
        'DEFAULT': 'var(--radius)',
        'lg': 'var(--radius-lg)',
        'full': 'var(--radius-full)',
      },
    },
  },
}
Design Token Documentation

Recommended to create docs/02-design/design-tokens.md per project:

TokenValuePurpose
--primary221.2 83.2% 53.3%Brand main color
--radius0.5remDefault border-radius
--font-sansPretendardBody font

Component Customization

tsx
// Extend default button to project style
const Button = React.forwardRef<
  HTMLButtonElement,
  ButtonProps & { isLoading?: boolean }
>(({ isLoading, children, ...props }, ref) => {
  return (
    <ButtonPrimitive ref={ref} {...props}>
      {isLoading ? <Spinner /> : children}
    </ButtonPrimitive>
  );
});

Mobile App Design System

Flutter: Custom Theme Building

Flutter defines design tokens through ThemeData.

dart
// lib/theme/app_theme.dart
import 'package:flutter/material.dart';

class AppTheme {
  // ===== Design Tokens =====

  // Colors
  static const Color primary = Color(0xFF3B82F6);
  static const Color secondary = Color(0xFF64748B);
  static const Color destructive = Color(0xFFEF4444);
  static const Color background = Color(0xFFFFFFFF);
  static const Color foreground = Color(0xFF0F172A);

  // Spacing
  static const double spacingXs = 4.0;
  static const double spacingSm = 8.0;
  static const double spacingMd = 16.0;
  static const double spacingLg = 24.0;
  static const double spacingXl = 32.0;

  // Border Radius
  static const double radiusSm = 4.0;
  static const double radiusMd = 8.0;
  static const double radiusLg = 12.0;
  static const double radiusFull = 9999.0;

  // ===== Theme Data =====

  static ThemeData get lightTheme => ThemeData(
    useMaterial3: true,
    colorScheme: ColorScheme.fromSeed(
      seedColor: primary,
      brightness: Brightness.light,
    ),
    fontFamily: 'Pretendard',

    // Button Theme
    elevatedButtonTheme: ElevatedButtonThemeData(
      style: ElevatedButton.styleFrom(
        padding: EdgeInsets.symmetric(
          horizontal: spacingMd,
          vertical: spacingSm,
        ),
        shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.circular(radiusMd),
        ),
      ),
    ),

    // Card Theme
    cardTheme: CardTheme(
      elevation: 2,
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(radiusLg),
      ),
    ),

    // Input Theme
    inputDecorationTheme: InputDecorationTheme(
      border: OutlineInputBorder(
        borderRadius: BorderRadius.circular(radiusMd),
      ),
      contentPadding: EdgeInsets.all(spacingSm),
    ),
  );

  static ThemeData get darkTheme => ThemeData(
    useMaterial3: true,
    colorScheme: ColorScheme.fromSeed(
      seedColor: primary,
      brightness: Brightness.dark,
    ),
    fontFamily: 'Pretendard',
    // ... dark theme overrides
  );
}
Flutter: Reusable Components
dart
// lib/components/app_button.dart
import 'package:flutter/material.dart';
import '../theme/app_theme.dart';

enum AppButtonVariant { primary, secondary, destructive, outline }

class AppButton extends StatelessWidget {
  final String label;
  final VoidCallback? onPressed;
  final AppButtonVariant variant;
  final bool isLoading;

  const AppButton({
    required this.label,
    this.onPressed,
    this.variant = AppButtonVariant.primary,
    this.isLoading = false,
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: isLoading ? null : onPressed,
      style: _getStyle(),
      child: isLoading
          ? SizedBox(
              width: 20,
              height: 20,
              child: CircularProgressIndicator(strokeWidth: 2),
            )
          : Text(label),
    );
  }

  ButtonStyle _getStyle() {
    switch (variant) {
      case AppButtonVariant.destructive:
        return ElevatedButton.styleFrom(
          backgroundColor: AppTheme.destructive,
        );
      case AppButtonVariant.outline:
        return ElevatedButton.styleFrom(
          backgroundColor: Colors.transparent,
          side: BorderSide(color: AppTheme.primary),
        );
      default:
        return ElevatedButton.styleFrom();
    }
  }
}
Flutter: Project Structure
lib/
├── theme/
│   ├── app_theme.dart          # ThemeData + Design Tokens
│   ├── app_colors.dart         # Color constants
│   ├── app_typography.dart     # TextStyle definitions
│   └── app_spacing.dart        # Spacing constants
├── components/
│   ├── app_button.dart
│   ├── app_input.dart
│   ├── app_card.dart
│   └── app_dialog.dart
└── main.dart

Cross-Platform Design Token Sharing

Design Token JSON (Platform Independent)

Centrally manage tokens with Figma Tokens or Style Dictionary.

json
// tokens/design-tokens.json
{
  "color": {
    "primary": { "value": "#3B82F6" },
    "secondary": { "value": "#64748B" },
    "destructive": { "value": "#EF4444" }
  },
  "spacing": {
    "xs": { "value": "4px" },
    "sm": { "value": "8px" },
    "md": { "value": "16px" },
    "lg": { "value": "24px" }
  },
  "radius": {
    "sm": { "value": "4px" },
    "md": { "value": "8px" },
    "lg": { "value": "12px" }
  },
  "font": {
    "family": { "value": "Pretendard" },
    "size": {
      "sm": { "value": "14px" },
      "md": { "value": "16px" },
      "lg": { "value": "18px" }
    }
  }
}
Platform-specific Conversion
bash
# Generate tokens for each platform with Style Dictionary
npx style-dictionary build

# Output:
# - build/css/variables.css      (Web)
# - build/dart/app_tokens.dart   (Flutter)
# - build/swift/AppTokens.swift  (iOS)
# - build/kt/AppTokens.kt        (Android)

Design System Checklist (Platform Agnostic)

Required Items
  • Design Tokens Definition

    • Colors (Primary, Secondary, Semantic)
    • Typography (Font Family, Sizes, Weights)
    • Spacing (xs, sm, md, lg, xl)
    • Border Radius
    • Shadows/Elevation
  • Core Components

    • Button (variants: primary, secondary, outline, destructive)
    • Input/TextField
    • Card
    • Dialog/Modal
    • Avatar
    • Badge
  • Composite Components

    • Form (with validation)
    • Navigation (Header, Sidebar, Bottom Nav)
    • Data Display (Table, List)
  • Documentation

    • Component catalog (Storybook / Widgetbook)
    • Usage guidelines
    • Do's and Don'ts

Template

See templates/pipeline/phase-5-design-system.template.md

Next Phase

Phase 6: UI Implementation + API Integration → Components are ready, now implement actual screens

© ww-w-ai, 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

Just SKILL.md in skills/phase-5-design-system of ww-w-ai/bkit-claude-code.

Open the folder on GitHubat commit 85b4913

Compare with similar skills

Phase 5 Design System 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.

Phase 5 Design System compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Phase 5 Design System this skillww-w-ai/bkit-claude-code601—~3.2kAutomated safety check: NotesApache-2.0
Extract DesignManavarya09/design-extract4.2k—~786Automated safety check: NotesMIT
UI Design Systemtry-works/role-model117—~5kAutomated safety check: PassMIT
Tailwind V4 Shadcnever-works/ever-works1622 repos~3.8kAutomated safety check: PassMIT
Shadcn Tailwind UILiarMTTT/TavernWeave154—~1.7kAutomated safety check: PassCustom licence
Shadcnpedronauck/skills6341 repos~1kAutomated safety check: PassNone

Similar skills

  • Extract Design

    Manavarya09/design-extract

    Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.

    4.2k GitHub stars~786 tokensUpdated 2 days ago
    Frontend & DesignAuto-check: notes
  • UI Design System

    try-works/role-model

    React UI component systems with TailwindCSS + Radix + shadcn/ui.

    117 GitHub stars~5k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Tailwind V4 Shadcn

    ever-works/ever-works

    Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.

    162 GitHub starsUsed in 2 repos~3.8k tokens
    Frontend & DesignAuto-check passed
  • Shadcn Tailwind UI

    LiarMTTT/TavernWeave

    Build, restyle, or review accessible React interfaces that use shadcn/ui, Radix UI primitives, and Tailwind CSS.

    154 GitHub stars~1.7k tokensUpdated 6 days ago
    Frontend & DesignAuto-check passed
  • Shadcn

    pedronauck/skills

    Best practices for building UI components with shadcn/ui. An agent skill from pedronauck/skills.

    634 GitHub starsUsed in 1 repo~1k tokens
    Frontend & DesignAuto-check passed
  • Shadcn

    mikeOnBreeze/cc-crossbeam

    Expert guide for ShadCN UI component library with Next.js. An agent skill from mikeOnBreeze/cc-crossbeam.

    293 GitHub stars~1.2k tokensUpdated 7 mo ago
    Frontend & DesignAuto-check passed

More from ww-w-ai/bkit-claude-code

All 44 skills in this repo
  • Audit

    ww-w-ai/bkit-claude-code

    View audit logs, decision traces, and session history for AI transparency.

    601 GitHub stars~1.6k tokensUpdated 14 days ago
    Auto-check: notes
  • Bkend Auth

    ww-w-ai/bkit-claude-code

    bkend.ai authentication — email/social login, JWT tokens, RBAC, session management.

    601 GitHub stars~937 tokensUpdated 14 days ago
    Auto-check: notes
  • Bkend Cookbook

    ww-w-ai/bkit-claude-code

    bkend.ai project tutorials (todo to SaaS) and common error troubleshooting.

    601 GitHub stars~891 tokensUpdated 14 days ago
    Auto-check: notes
  • Bkend Quickstart

    ww-w-ai/bkit-claude-code

    bkend.ai onboarding — MCP setup, resource hierarchy, tenant/user model, first project.

    601 GitHub stars~1.2k tokensUpdated 14 days ago
    Auto-check passed
  • Bkend Storage

    ww-w-ai/bkit-claude-code

    bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets.

    601 GitHub stars~901 tokensUpdated 14 days ago
    Auto-check: notes
  • Bkit

    ww-w-ai/bkit-claude-code

    bkit plugin help - list available functions including /pdca (9-phase feature cycle), /sprint (8-phase feature container, v2.1.13), /control (Trust L0-L4 + SPRINTAUTORUNSCOPE), /bkit-explore, and 40+…

    601 GitHub stars~1.4k tokensUpdated 14 days ago
    Auto-check passed

Works with

Questions about Phase 5 Design System

What does Phase 5 Design System do?

Build platform-independent design systems and consistent component libraries. Phase 5 Design System is an agent skill from ww-w-ai/bkit-claude-code. Build platform-independent design systems and consistent component libraries.

When should I use Phase 5 Design System?

Phase 5 Design System fits situations like: tasks that involve Design systems; tasks that involve Design tokens.

How do I install Phase 5 Design System in Claude Code?

Run `npx skills add ww-w-ai/bkit-claude-code --skill phase-5-design-system -a claude-code`. Or copy the skill folder (skills/phase-5-design-system in ww-w-ai/bkit-claude-code) into .claude/skills/phase-5-design-system in your project. Claude Code loads it when a task matches its description.

How do I install Phase 5 Design System in Codex?

Run `npx skills add ww-w-ai/bkit-claude-code --skill phase-5-design-system -a codex`. Or copy the skill folder (skills/phase-5-design-system in ww-w-ai/bkit-claude-code) into .agents/skills/phase-5-design-system in your project. Codex loads it when a task matches its description.

Can I use Phase 5 Design System 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 ww-w-ai/bkit-claude-code --skill phase-5-design-system -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/phase-5-design-system, .gemini/skills/phase-5-design-system, .github/skills/phase-5-design-system and .opencode/skills/phase-5-design-system in your project.

What does Phase 5 Design System need to run?

Going by SKILL.md and its folder, Phase 5 Design System needs the command-line tools its instructions call (npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Bash.

Does Phase 5 Design System access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Phase 5 Design System safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Phase 5 Design System use?

Phase 5 Design System 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 Phase 5 Design System use?

About 3.2k tokens (SKILL.md is roughly 13k 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 Phase 5 Design System?

Skills that share tags, products or a category with Phase 5 Design System: Extract Design (Manavarya09/design-extract, 4.2k stars), UI Design System (try-works/role-model, 117 stars), Tailwind V4 Shadcn (ever-works/ever-works, 162 stars) and Shadcn Tailwind UI (LiarMTTT/TavernWeave, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Phase 5 Design System?

ww-w-ai (a GitHub organization) maintains it in ww-w-ai/bkit-claude-code, which has 601 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on September 27, 2026.

Source: ww-w-ai/bkit-claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.