workbuddy logo

Expert

Expert Marketplace

Placement

Experts are shown in the WorkBuddy client. Users click Experts · Skills · Connectors in the left menu to open the secondary menu, choose Experts to enter the Expert Marketplace, then click the horizontal secondary tab Expert Teams to switch to the Expert Team Marketplace.

Users click an expert or expert team to open the details panel and learn more.

Users click Summon Expert to jump to a conversation and invoke the expert.

Expert creation tools

Click My Experts in the upper-right corner of the marketplace, then Create Expert / Create Expert Team.

You are taken into a conversation. Complete the prompt for creating an expert, then start creation.

Why parsing fails on the Open Platform

If zip parsing fails while you are creating a skill on the Open Platform, use Basic structure and Configuration file below to locate the issue. If you still cannot resolve it, email operations at openworkbuddy@tencent.com, or scan the QR code at the bottom of the Open Platform home page to join the developer group.

Basic structure

my-expert/
├── .codebuddy-plugin/
│   └── plugin.json
├── avatars/
│   └── expert.png
├── agents/
│   └── my-expert.md
└── README.md

Configuration file

plugin.json is the expert’s core configuration file. It includes runtime configuration and marketplace display information.

Example

{
  "name": "design-experts",
  "version": "1.0.0",
  "description": "Creates structured DESIGN.md design system documents for projects",
  "author": {
    "name": "Your Name",
    "email": "you@example.com"
  },
  "agents": ["./agents/design-md-architect.md"],
 
  "expertType": "agent",
  "agentName": "design-md-architect",
 
  "displayName": {
    "en": "Diana",
    "zh": "Diana"
  },
  "profession": {
    "en": "Design System Document Architect",
    "zh": "设计系统文档架构师"
  },
  "displayDescription": {
    "en": "Based on the awesome-design-md DESIGN.md standard, creates structured design system documents for projects. Specializes in translating visual design intent into AI-readable Markdown specifications covering 9 standard sections: visual theme, color palette, typography, component styles, layout, depth & elevation, cautions, responsive behavior, and agent prompt guide",
    "zh": "基于 awesome-design-md 的 DESIGN.md 规范,为项目生成结构化的设计系统文档。擅长将视觉设计意图转化为 AI 可读的 Markdown 设计规范,涵盖视觉主题、调色板、排版、组件样式、布局、深度与层级、注意事项、响应式行为和代理提示指南 9 大标准章节"
  },
  "avatar": "avatars/expert.png",
  "categoryId": "01-ProductDesign",
  "defaultInitPrompt": {
    "zh": "帮我生成一份 DESIGN.md 设计系统文档",
    "en": "Generate a DESIGN.md design system document for me"
  },
  "plugin": "design-experts",
  "tags": [
    { "en": "Design System", "zh": "设计系统" },
    { "en": "Doc Architect", "zh": "文档架构" },
    { "en": "Token", "zh": "设计令牌" }
  ],
  "quickPrompts": [
    { "en": "Build a design system document", "zh": "搭建设计系统文档" },
    { "en": "Design a token-based system", "zh": "设计令牌化设计体系" },
    { "en": "Create a component spec document", "zh": "创建组件规范文档" }
  ]
}

Field descriptions

Basic fields

FieldRequiredTypeDescription
namestringUnique expert ID (lowercase letters and hyphens, e.g. "design-experts")
expertTypestringSet to "agent" 
versionstringVersion number (semantic version, e.g. "1.0.0")
descriptionstringShort description in English
authorobject{name, email} author information
agentsstring[]List of Agent definition file paths (e.g. ["./agents/my-expert.md"])
agentNamestringAgent name (matches the MD file name under agents/, without .md)
skillsNostring[]List of skill directory paths (e.g. ["./skills/my-skill"])
homepageNostringProject homepage URL
licenseNostringLicense
keywordsNostring[]Search tags

Type fields

FieldRequiredTypeDescription
expertTypestring"agent" or "team"
agentNamestringName of the primary Agent (matches the MD file name under agents/, without .md)
teamInfoWhen teamobjectSee below

teamInfo structure:

{
  "leadAgent": "主理人 Agent 名称",
  "memberAgents": ["成员A名称", "成员B名称", "..."]
}

Display fields

FieldRequiredTypeDescription
displayName{en, zh}Marketplace display name
profession{en, zh}Professional title
displayDescription{en, zh}Marketplace description. Chinese length must be 40–50 characters and highlight the core capabilities of the expert or expert team
avatarstringAvatar path (relative path, e.g. "avatars/expert.png")
categoryIdstringIndustry category (see Industry categories)
defaultInitPrompt{en, zh}Default prompt for the user’s first conversation. Must match the first item in quickPrompts
pluginstringAssociated Plugin name (same value as the name field)
tags{en, zh}[]Domain tags the expert is good at (exactly 3), used for search and marketplace display
quickPrompts{en, zh}[]Suggested prompts (exactly 3), shown on the expert card to help users ask quickly

Agent definition file

Agent definition files live under the agents/ directory in Markdown. YAML frontmatter at the top of the file declares configuration; the body is the Agent’s system prompt.

Example

agents/design-md-architect.md:

---
name: design-md-architect
description: Design system document architect based on awesome-design-md standard
displayName:
  en: "Diana"
  zh: "黛安娜"
profession:
  en: "Design System Architect"
  zh: "设计系统文档架构师"
maxTurns: 100
---
 
# 设计系统文档架构师 - Diana
 
你是一位设计系统文档架构师,基于 awesome-design-md 的 DESIGN.md 规范工作。
 
## 核心能力
1. **生成 DESIGN.md**:将视觉设计意图转化为结构化的 Markdown 设计规范
2. **9 大标准章节**:视觉主题、调色板、排版、组件样式、布局、深度与层级、注意事项、响应式行为、代理提示指南
3. **AI 可读**:生成的文档格式化为 AI 可直接消费的格式
 
## 工作流程
1. 了解项目的设计风格和品牌需求
2. 收集现有设计资产(截图、Figma 链接、色值等)
3. 按照 9 大章节结构生成 DESIGN.md
4. 确保文档中的代码示例可直接使用
 
## 输出规范
- 使用标准 Markdown 格式
- 色值使用 HEX 和 CSS 变量双格式
- 组件样式提供 CSS/Tailwind 示例
- 响应式断点明确标注

Frontmatter field descriptions

FieldRequiredDescription
nameAgent ID (same as the file name, without .md)
descriptionAgent capability description (English; used by the AI to decide when to activate)
displayNameDisplay name, with en and zh subfields (e.g. {en: "Diana", zh: "黛安娜"})
professionProfessional title, with en and zh subfields (e.g. {en: "Design System Architect", zh: "设计系统文档架构师"})
maxTurnsNoMaximum conversation turns (default 50)
skillsNoList of preloaded skill names

About tools

Developers must not add tools themselves: all tool permissions are assigned by the system.

Built-in tools (for reference only; assigned automatically by the system):

ToolDescription
ReadRead files
WriteWrite files
GrepSearch file contents
GlobFind files by pattern
BashRun command-line commands
WebSearchSearch the internet
WebFetchFetch web page content
AgentToolCall other Agents (available to the lead)
SendMessageSend messages (available to the lead)

Built-in MCP and connector dependencies (optional)

An expert can declare the MCP services or existing WorkBuddy connectors it depends on at runtime. After declaration, WorkBuddy shows inline guidance cards before the user summons the expert (or expert team), walking the user through each connection; the conversation starts only after connections are complete. Built-in MCP for the expert is managed under Connectors → Custom Connectors after connection.

Simple experts do not need dependency declarations. Declare dependencies only when the expert must call external MCP tools or enterprise connectors to work.

How to declare

Declare dependencies in the dependencies field of plugin.json, or in a .mcp.json file at the plugin root.

Method 1: declare in plugin.json (recommended)

{
  "dependencies": {
    "mcpServers": "./.mcp.json",
    "connectors": ["tencent-docs", "feishu"]
  }
}
FieldTypeDescription
dependencies.mcpServersstring | string[] | objectBuilt-in MCP declaration. Can be: a relative path string (pointing to an MCP config file), an array of paths, or an inline { "服务名": {...} } object
dependencies.connectorsstring[]List of existing WorkBuddy connector IDs this expert depends on (e.g. "tencent-docs")

Method 2: .mcp.json at the plugin root

When plugin.json does not declare dependencies.mcpServers, the system automatically reads .mcp.json at the plugin root as a fallback. The file format matches standard MCP configuration. Each server can include x-workbuddy metadata (see 6.3):

{
  "mcpServers": {
    "huijin-workflow": {
      "url": "https://huijin-workflow.mcp.example.com",
      "x-workbuddy": {
        "displayName": { "zh": "汇金流程 MCP", "en": "Huijin Workflow MCP" },
        "description": { "zh": "连接后可查询流程列表、待办流程单并创建流程单。", "en": "..." },
        "icon": "./avatars/huijin.svg",
        "auth": { "type": "oauth" }
      }
    }
  }
}

MCP server configuration

Basic fields under each server in mcpServers follow the standard MCP protocol:

FieldDescription
urlRemote MCP (SSE / Streamable HTTP) service URL
typeTransport type, e.g. "http"; can be omitted for remote SSE
headersRequest headers. For Token auth, use ${VAR} placeholders here (see 6.4), e.g. { "Authorization": "Bearer ${SIYUAN_TOKEN}" }
x-workbuddyWorkBuddy-private display and auth metadata (see 6.3); not written into the user’s final connector configuration

x-workbuddy metadata

x-workbuddy describes how this MCP is shown on the guidance card and how it authenticates. All copy fields support Chinese and English.

FieldTypeDescription
displayNameLocalizedStringCard title. Falls back to the server name if omitted
descriptionLocalizedStringCard description. Falls back to url if omitted
iconstringCard icon. Supports a network URL (https://), a data: URL, or a local path relative to the plugin root (e.g. "./avatars/xxx.svg"; recommended under avatars/). When icon is set, the avatar background is transparent; if omitted, a placeholder is generated from the first character of the display name plus a hashed background color
auth.typestringAuth method: "oauth" / "token" / "none"
auth.tokenSchemaobjectWhen auth.type is "token", describes the credential form the user must fill in (see 6.4)

LocalizedString convention: all copy fields can be a plain string or a { zh, en } bilingual object. With a bilingual object, WorkBuddy displays the user’s current UI language and falls back zh → en if a language is missing; a plain string is shown the same in both Chinese and English. This convention matches expert displayName / profession.

Token authentication

When the MCP needs the user to provide an API Token / Key to connect, declare a form with auth.type: "token" plus tokenSchema. When the user clicks Connect, a unified Token authorization dialog appears. After the user fills it in, the system substitutes the values into ${VAR} placeholders in headers and completes the connection.

{
  "mcpServers": {
    "siyuan": {
      "type": "http",
      "url": "http://127.0.0.1:36796/mcp",
      "headers": {
        "Authorization": "Bearer ${SIYUAN_TOKEN}"
      },
      "x-workbuddy": {
        "displayName": { "zh": "思源笔记 MCP", "en": "SiYuan Note MCP" },
        "description": { "zh": "连接后可读取和操作本地思源笔记内容。", "en": "..." },
        "auth": {
          "type": "token",
          "tokenSchema": {
            "title": { "zh": "配置思源访问 Token", "en": "Configure SiYuan Token" },
            "description": { "zh": "请输入思源笔记 API Token。", "en": "..." },
            "docUrl": "https://example.com/guide",
            "docLabel": { "zh": "如何获取 Token?", "en": "How to get a token?" },
            "fields": [
              {
                "key": "SIYUAN_TOKEN",
                "label": { "zh": "思源 Token", "en": "SiYuan Token" },
                "placeholder": { "zh": "请输入 API Token", "en": "Enter API token" },
                "type": "password",
                "required": true,
                "description": { "zh": "将写入 Authorization Header", "en": "..." }
              }
            ]
          }
        }
      }
    }
  }
}

tokenSchema fields:

FieldTypeDescription
titleLocalizedStringDialog title
descriptionLocalizedStringDialog description copy
docUrlstring“How to obtain” help-doc URL (not copy; not localized)
docLabelLocalizedStringDisplay copy for the help link
fieldsarrayForm field list; see below

Each item in fields:

FieldTypeDescription
keystringField ID, corresponding to the ${key} placeholder in headers (not copy)
labelLocalizedStringField label
placeholderLocalizedStringInput placeholder
typestring"text" or "password" (use password for sensitive credentials)
requiredbooleanWhether the field is required
descriptionLocalizedStringExtra description below the field

Connector dependencies

If the expert depends on a connector already listed in WorkBuddy (rather than a bundled MCP), list the connector IDs in dependencies.connectors. The guidance card’s name, description, and icon come from the connector itself; you do not need to declare them again in the expert package.

{
  "dependencies": {
    "connectors": ["tencent-docs"]
  }
}

Notes

  • x-workbuddy is a WorkBuddy-private field. It is stripped when the configuration is written to the user’s Custom Connectors after connection, so it does not pollute the user’s local mcp.json
  • Already-connected dependencies are not prompted again when the user summons an expert with the same name
  • Tokens are stored locally by the user after they are entered. Never hard-code any real Token / secret in the expert package
  • Relative icon paths are resolved from the directory of the MCP declaration file; in a plugin-root .mcp.json, ./avatars/xxx.svg points to avatars/ at the plugin root

Avatar guidelines

ItemRequirement
FormatPNG (recommended) or JPG
Size512×512 px (square)
File sizeNo more than 500KB per image
StyleConsistent comic/illustration style, professional and natural
ContentMatches the role; no prohibited content

Storage location

Store all avatars under the avatars/ directory and reference them with relative paths in plugin.json:

avatars/
└── expert.png              # 专家头像

Industry categories

Choose the best-matching categoryId and put it in plugin.json:

categoryIdCategory nameDescription
01-ProductDesignProduct designProduct management, UI/UX, brand design, requirements analysis
02-EngineeringEngineeringFrontend/backend development, architecture, DevOps, security
03-GameSpatialGames & spatialGame design and development, VR/AR/MR, spatial computing
04-DataAIData & AIData analysis, machine learning, knowledge management, AI applications
05-MarketingGrowthMarketing & growthAd placement, SEO/SEM, growth hacking, content marketing
06-ContentCreativeContent & creativeCopywriting, video production, design creativity, multimedia
07-SalesCommerceSales & commerceLead generation, sales strategy, e-commerce operations, BD
08-FinanceInvestmentFinance & investmentInvestment analysis, risk management, quantitative trading, finance
09-OperationsHROperations & HROperations strategy, human resources, administration, training
10-ProjectQualityProject & qualityProject management, quality assurance, testing, process optimization
11-SecurityComplianceLegal & securityInformation security, compliance audit, legal consulting, risk control
12-IndustryConsultantIndustry consultingIndustry consulting, strategic planning, professional services, supply chain
13-TencentZoneTencent expertsExperts provided by Tencent internal teams, covering Tencent Cloud, WeChat Mini Programs, WeCom, and other Tencent tech stacks
14-WorldWiseGlobal developmentInternational business, cross-border trade, global market insights, overseas expansion
15-EducationEducation & learningEducation and training, online learning, course design, academic research, knowledge sharing

Template files

Download file: design-experts.zip

Download link: https://codebuddy-platform-1258344699.cos.ap-beijing.myqcloud.com/open/static/files/design-experts.zip