Skip to content
Back to skills

Tdesign Miniprogram

ASecurity

TDesign WeChat Mini Program UI component library by Tencent. Use when building WeChat mini apps with TDesign components (Button, Dialog, Input, Tabs, Chat, etc.), implementing TDesign design system, customizing themes/dark mode, or building AI chat interfaces in mini programs.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
ai-agentsjavascripttypescriptgojavabashgitapidocumentation

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add YYC-Cube/YYC3-AI-Agent-Archive --skill tdesign-miniprogram --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tdesign Miniprogram?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tdesign Miniprogram
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yyc-cube-tdesign-miniprogram/badge)](https://www.skillsdirectory.com/skills/yyc-cube-tdesign-miniprogram)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tdesign-miniprogram
description: "TDesign WeChat Mini Program UI component library by Tencent. Use when building WeChat mini apps with TDesign components (Button, Dialog, Input, Tabs, Chat, etc.), implementing TDesign design system, customizing themes/dark mode, or building AI chat interfaces in mini programs."
category: development-code
description_zh: "TDesign 微信小程序组件库(60+ 组件、主题定制、AI 聊天)"
description_en: "TDesign WeChat Mini Program UI components, themes & AI chat"
version: 1.0.0
homepage: https://tdesign.tencent.com/miniprogram/overview
allowed-tools: Read,Write,Bash
---

# TDesign Mini Program Skill

TDesign WeChat Mini Program component library, an enterprise-level design system by Tencent. Provides 60+ high-quality components with dark mode support, theme customization, and more.

## When to Use This Skill

This skill should be triggered when:

- Developing WeChat Mini Programs with TDesign component library
- Using TDesign UI components (Button, Input, Dialog, etc.)
- Implementing interfaces following TDesign design specifications
- Configuring TDesign themes and style customization
- Building AI chat interfaces (using TDesign Chat components)
- Implementing dark mode adaptation

## Quick Start

### Installation

```bash
npm i tdesign-miniprogram -S --production
```

### Modify app.json

Remove `"style": "v2"` from `app.json` to avoid style conflicts.

### Modify project.config.json

Add the following to the `setting` section of `project.config.json`:

```json
{
  "setting": {
    "packNpmManually": true,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./"
      }
    ]
  }
}
```

### Modify tsconfig.json (TypeScript projects)

```json
{
  "paths": {
    "tdesign-miniprogram/*": [
      "./miniprogram/miniprogram_npm/tdesign-miniprogram/*"
    ]
  }
}
```

> After modifying project.config.json, build npm in WeChat DevTools: `Tools - Build npm`

> After successful build, check `Compile JS to ES5`

### Using Components

Import in page or component JSON file:

```json
{
  "usingComponents": {
    "t-button": "tdesign-miniprogram/button/button"
  }
}
```

Use in WXML:

```html
<t-button theme="primary">Button</t-button>
```

## Component Categories

### Basic Components (6)

| Component | Description            | Import Path                           |
| --------- | ---------------------- | ------------------------------------- |
| Button    | Button                 | `tdesign-miniprogram/button/button`   |
| Divider   | Divider                | `tdesign-miniprogram/divider/divider` |
| Fab       | Floating Action Button | `tdesign-miniprogram/fab/fab`         |
| Icon      | Icon                   | `tdesign-miniprogram/icon/icon`       |
| Layout    | Layout                 | `tdesign-miniprogram/row/row`         |
| Link      | Link                   | `tdesign-miniprogram/link/link`       |

### Navigation Components (8)

| Component | Description     | Import Path                             |
| --------- | --------------- | --------------------------------------- |
| BackTop   | Back to Top     | `tdesign-miniprogram/back-top/back-top` |
| Drawer    | Drawer          | `tdesign-miniprogram/drawer/drawer`     |
| Indexes   | Index List      | `tdesign-miniprogram/indexes/indexes`   |
| Navbar    | Navigation Bar  | `tdesign-miniprogram/navbar/navbar`     |
| SideBar   | Side Navigation | `tdesign-miniprogram/side-bar/side-bar` |
| Steps     | Steps           | `tdesign-miniprogram/steps/steps`       |
| TabBar    | Bottom Tab Bar  | `tdesign-miniprogram/tab-bar/tab-bar`   |
| Tabs      | Tabs            | `tdesign-miniprogram/tabs/tabs`         |

### Input Components (16)

| Component      | Description      | Import Path                                             |
| -------------- | ---------------- | ------------------------------------------------------- |
| Calendar       | Calendar         | `tdesign-miniprogram/calendar/calendar`                 |
| Cascader       | Cascader         | `tdesign-miniprogram/cascader/cascader`                 |
| CheckBox       | Checkbox         | `tdesign-miniprogram/checkbox/checkbox`                 |
| DateTimePicker | Date Time Picker | `tdesign-miniprogram/date-time-picker/date-time-picker` |
| Input          | Input            | `tdesign-miniprogram/input/input`                       |
| Picker         | Picker           | `tdesign-miniprogram/picker/picker`                     |
| Radio          | Radio            | `tdesign-miniprogram/radio/radio`                       |
| Rate           | Rate             | `tdesign-miniprogram/rate/rate`                         |
| Search         | Search           | `tdesign-miniprogram/search/search`                     |
| Slider         | Slider           | `tdesign-miniprogram/slider/slider`                     |
| Stepper        | Stepper          | `tdesign-miniprogram/stepper/stepper`                   |
| Switch         | Switch           | `tdesign-miniprogram/switch/switch`                     |
| Textarea       | Textarea         | `tdesign-miniprogram/textarea/textarea`                 |
| TreeSelect     | Tree Select      | `tdesign-miniprogram/tree-select/tree-select`           |
| Upload         | Upload           | `tdesign-miniprogram/upload/upload`                     |
| Form           | Form             | `tdesign-miniprogram/form/form`                         |

### Data Display Components (18)

| Component   | Description  | Import Path                                     |
| ----------- | ------------ | ----------------------------------------------- |
| Avatar      | Avatar       | `tdesign-miniprogram/avatar/avatar`             |
| Badge       | Badge        | `tdesign-miniprogram/badge/badge`               |
| Cell        | Cell         | `tdesign-miniprogram/cell/cell`                 |
| Collapse    | Collapse     | `tdesign-miniprogram/collapse/collapse`         |
| CountDown   | Countdown    | `tdesign-miniprogram/count-down/count-down`     |
| Empty       | Empty State  | `tdesign-miniprogram/empty/empty`               |
| Footer      | Footer       | `tdesign-miniprogram/footer/footer`             |
| Grid        | Grid         | `tdesign-miniprogram/grid/grid`                 |
| Image       | Image        | `tdesign-miniprogram/image/image`               |
| ImageViewer | Image Viewer | `tdesign-miniprogram/image-viewer/image-viewer` |
| Progress    | Progress     | `tdesign-miniprogram/progress/progress`         |
| Result      | Result       | `tdesign-miniprogram/result/result`             |
| Skeleton    | Skeleton     | `tdesign-miniprogram/skeleton/skeleton`         |
| Sticky      | Sticky       | `tdesign-miniprogram/sticky/sticky`             |
| Swiper      | Swiper       | `tdesign-miniprogram/swiper/swiper`             |
| Table       | Table        | `tdesign-miniprogram/table/table`               |
| Tag         | Tag          | `tdesign-miniprogram/tag/tag`                   |
| List        | List         | `tdesign-miniprogram/list/list`                 |

### Feedback Components (12)

| Component       | Description       | Import Path                                               |
| --------------- | ----------------- | --------------------------------------------------------- |
| ActionSheet     | Action Sheet      | `tdesign-miniprogram/action-sheet/action-sheet`           |
| Dialog          | Dialog            | `tdesign-miniprogram/dialog/dialog`                       |
| DropdownMenu    | Dropdown Menu     | `tdesign-miniprogram/dropdown-menu/dropdown-menu`         |
| Guide           | Guide             | `tdesign-miniprogram/guide/guide`                         |
| Loading         | Loading           | `tdesign-miniprogram/loading/loading`                     |
| Message         | Message           | `tdesign-miniprogram/message/message`                     |
| NoticeBar       | Notice Bar        | `tdesign-miniprogram/notice-bar/notice-bar`               |
| Overlay         | Overlay           | `tdesign-miniprogram/overlay/overlay`                     |
| Popup           | Popup             | `tdesign-miniprogram/popup/popup`                         |
| PullDownRefresh | Pull Down Refresh | `tdesign-miniprogram/pull-down-refresh/pull-down-refresh` |
| SwipeCell       | Swipe Cell        | `tdesign-miniprogram/swipe-cell/swipe-cell`               |
| Toast           | Toast             | `tdesign-miniprogram/toast/toast`                         |

### AI Chat Components (9)

| Component     | Description     | Import Path                                         |
| ------------- | --------------- | --------------------------------------------------- |
| ChatList      | Chat List       | `tdesign-miniprogram/chat-list/chat-list`           |
| ChatMessage   | Chat Message    | `tdesign-miniprogram/chat-message/chat-message`     |
| ChatSender    | Chat Sender     | `tdesign-miniprogram/chat-sender/chat-sender`       |
| ChatContent   | Chat Content    | `tdesign-miniprogram/chat-content/chat-content`     |
| ChatActionbar | Chat Action Bar | `tdesign-miniprogram/chat-actionbar/chat-actionbar` |
| ChatLoading   | Chat Loading    | `tdesign-miniprogram/chat-loading/chat-loading`     |
| ChatMarkdown  | Chat Markdown   | `tdesign-miniprogram/chat-markdown/chat-markdown`   |
| ChatThinking  | Chat Thinking   | `tdesign-miniprogram/chat-thinking/chat-thinking`   |
| Attachments   | Attachments     | `tdesign-miniprogram/attachments/attachments`       |

## Common Patterns

### Button

```html
<!-- Basic Buttons -->
<t-button theme="primary" size="large">Primary Button</t-button>
<t-button theme="light" size="large">Light Button</t-button>
<t-button size="large">Default Button</t-button>

<!-- Outline and Text Buttons -->
<t-button theme="primary" size="large" variant="outline"
  >Outline Button</t-button
>
<t-button theme="primary" size="large" variant="text">Text Button</t-button>

<!-- Icon Button -->
<t-button
  theme="primary"
  icon="app"
  content="Icon Button"
  size="large"
></t-button>

<!-- Loading State -->
<t-button theme="primary" size="large" loading>Loading</t-button>

<!-- Disabled State -->
<t-button theme="primary" size="large" disabled>Disabled</t-button>

<!-- Block Button -->
<t-button theme="primary" size="large" block>Block Button</t-button>

<!-- Ghost Button (transparent background) -->
<t-button theme="primary" ghost size="large">Ghost Button</t-button>
```

### Input

```json
{
  "usingComponents": {
    "t-input": "tdesign-miniprogram/input/input"
  }
}
```

```html
<t-input
  label="Label"
  placeholder="Please enter"
  value="{{value}}"
  bind:change="onChange"
/>
```

### Dialog

```json
{
  "usingComponents": {
    "t-dialog": "tdesign-miniprogram/dialog/dialog"
  }
}
```

```html
<t-dialog
  visible="{{visible}}"
  title="Dialog Title"
  content="Dialog content"
  confirm-btn="Confirm"
  cancel-btn="Cancel"
  bind:confirm="onConfirm"
  bind:cancel="onCancel"
/>
```

### Toast

```javascript
import Toast from 'tdesign-miniprogram/toast/index';

Toast({
  context: this,
  selector: '#t-toast',
  message: 'Toast message',
});
```

### AI Chat Interface

```json
{
  "usingComponents": {
    "t-chat-list": "tdesign-miniprogram/chat-list/chat-list",
    "t-chat-message": "tdesign-miniprogram/chat-message/chat-message",
    "t-chat-sender": "tdesign-miniprogram/chat-sender/chat-sender"
  }
}
```

```html
<t-chat-list layout="single">
  <t-chat-message
    avatar="{{item.avatar}}"
    name="{{item.name}}"
    content="{{item.content}}"
    role="{{item.role}}"
  />
  <view slot="footer">
    <t-chat-sender bind:send="onSend" />
  </view>
</t-chat-list>
```

```javascript
Component({
  data: {
    messages: [
      {
        role: 'user',
        content: [{ type: 'text', data: 'Hello' }],
      },
      {
        role: 'assistant',
        content: [{ type: 'text', data: 'Hello! How can I help you?' }],
      },
    ],
  },
  methods: {
    onSend(e) {
      const { value } = e.detail;
      // Handle send message
    },
  },
});
```

## Style Customization

### Method 1: Using Style Attribute

```html
<t-button style="color: red">Custom Style</t-button>
<t-button custom-style="color: red">Custom Style</t-button>
```

### Method 2: Disable Style Isolation

Override styles directly in page:

```css
.t-button--primary {
  background-color: navy;
}
```

In custom components, enable `styleIsolation`:

```javascript
Component({
  options: {
    styleIsolation: 'shared',
  },
});
```

### Method 3: External Style Classes

```html
<t-button t-class="my-button-class">Button</t-button>
```

```css
.my-button-class {
  background-color: navy !important;
}
```

### Method 4: CSS Variables

TDesign provides rich CSS variables for theme customization:

```css
page {
  --td-button-primary-bg-color: #0052d9;
  --td-button-border-radius: 8rpx;
}
```

## Dark Mode

### 1. Modify app.json

```json
{
  "darkmode": true
}
```

### 2. Import Design Token

In `app.wxss`:

```css
@import 'miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss';
```

### 3. Use CSS Variables

```css
.text {
  color: var(--td-text-color-secondary);
}
```

### 4. Special Component Adaptation

For components wrapped in `custom-tab-bar` or `root-portal`, add `.page` class:

```html
<view class="page">
  <t-tab-bar />
</view>
```

## Reference Files

This skill includes comprehensive documentation in `references/`:

### Basic Documentation

- **miniprogram/getting-started.md** - Quick start guide
- **miniprogram/overview.md** - Component overview
- **miniprogram/custom-style.md** - Style customization
- **miniprogram/custom-theme.md** - Theme customization
- **miniprogram/dark-mode.md** - Dark mode

### Component Documentation (miniprogram/components/)

- **button.md** - Button
- **input.md** - Input
- **dialog.md** - Dialog
- **form.md** - Form
- ... more component docs

### AI Chat Component Documentation (miniprogram-chat/)

- **getting-started.md** - Chat component quick start
- **sse.md** - SSE streaming
- **components/chat-message.md** - Chat message
- **components/chat-sender.md** - Chat sender
- **components/chat-list.md** - Chat list
- ... more chat component docs

Use `Read` tool to access specific reference files when detailed API information is needed.

## Key Requirements

- Minimum base library version: `^2.12.0`
- Build npm in WeChat DevTools required
- Remove `"style": "v2"` from `app.json`

## Resources

- [TDesign Official Documentation](https://tdesign.tencent.com/miniprogram/overview)
- [GitHub Repository](https://github.com/Tencent/tdesign-miniprogram)
- [Component Demo Mini Program](https://developers.weixin.qq.com/s/NSVqRNmh8l5a)

## Notes

- This skill was automatically generated from TDesign official documentation
- Reference files preserve the structure and examples from source docs
- Some reference content remains in Chinese as per official documentation

Files in this skill

  • SKILL.md14.7 KB
  • references/miniprogram-chat/components/attachments.md8.5 KB
  • references/miniprogram-chat/components/chat-actionbar.md4.7 KB
  • references/miniprogram-chat/components/chat-content.md3.7 KB
  • references/miniprogram-chat/components/chat-list.md51.4 KB
  • references/miniprogram-chat/components/chat-loading.md3.3 KB
  • references/miniprogram-chat/components/chat-markdown.md7.3 KB
  • references/miniprogram-chat/components/chat-message.md13.8 KB
  • references/miniprogram-chat/components/chat-sender.md30.7 KB
  • references/miniprogram-chat/components/chat-thinking.md7.5 KB
  • references/miniprogram-chat/getting-started.md2.4 KB
  • references/miniprogram-chat/sse.md5 KB
  • references/miniprogram/components/action-sheet.md9.9 KB
  • references/miniprogram/components/avatar.md11.1 KB
  • references/miniprogram/components/back-top.md2.7 KB
  • references/miniprogram/components/badge.md7.6 KB
  • references/miniprogram/components/button.md21 KB
  • references/miniprogram/components/calendar.md14.4 KB
  • references/miniprogram/components/cascader.md17.7 KB
  • references/miniprogram/components/cell.md7.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.