Custom Skills

Overview

MeDo official skills already cover a wide range of scenarios, including AI tools, payment services, video technologies, voice and image processing, text processing, map services, information search, login verification, and more, helping you efficiently complete tasks and build feature-rich applications.

However, official skills may not fully satisfy more vertical or highly customized business requirements. To address this, MeDo provides Custom Skills — simply upload a .zip skill package to quickly create a custom skill, which can then be flexibly invoked during task execution or application generation.

With custom skills, you can equip MeDo with richer, more professional capabilities and domain knowledge, enabling it to complete specialized tasks more effectively or build applications that better fit your business needs.

External API Integration

Currently, MeDo has temporarily removed the method of creating custom plugins directly through API documentation links or API descriptions. If you need to integrate external APIs, you can currently use the following approaches.

In the future, MeDo will support directly converting APIs into custom plugins through conversation, allowing you to quickly use them in task execution or application generation after creation. Stay tuned.

Method

Description

Illustration

Integrate directly in conversation

You can directly provide API descriptions or API documentation links in the conversation, and Miaoda will help you integrate the API.

Generate a skill package through conversation or using the “Skill Creation & Editing” skill, then import it as a custom skill

  • Mention the "@Skill Creation & Editing" skill in the conversation and paste the API description or API documentation link. Miaoda will then help convert the API into a skill package, which you can download and import into Custom Skills. Please note that the API description you provide should be as complete as possible. Refer to the example below for the recommended structure and required information.

  • Example:

    Please use @Skill Creation & Editing to create a .zip weather query skill package using the following API documentation.

    Plugin Name:Weather Query

    Plugin Description:Retrieve real-time weather information based on city names, including temperature, humidity, and weather conditions.

    Request Method:GET

    Full Request URL:

    https://api.example.com/v1/weather?city=Beijing&unit=C

    Request Header:Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.FAKE_PAYLOAD.SIGNATURE_FAKE

    Request Parameters:

    city:Required, city name, e.g. Beijing

    unit:Optional, temperature unit, C or F, default C

    Request Example (curl):

curl -X GET "https://api.example.com/v1/weather?city=Beijing&unit=C" -H "Authorization: Bearer YOUR_API_KEY"

Successful Response Example:

{
  "city": "Beijing",

  "temperature": 18,

  "unit": "C",

  "condition": "Cloudy",

  "humidity": 62
}

Error Response Example:

{
  "error": "invalid_city",

  "message": "City not found"
}

Error Codes:

invalid_city: City does not exist (HTTP 404)

missing_city: Missing city parameter (HTTP 400)

invalid_unit: Invalid temperature unit (HTTP 400)

unauthorized: Authentication failed (HTTP 401)

rate_limited: Too many requests (HTTP 429)

server_error: Server error (HTTP 500) 04.png 05.png 06.png 07.png

Import and create directly

If you already have a prepared skill package containing APIs, you can directly import it into Custom Skills. See the following sections for detailed instructions.

Create Custom Skills

Please navigate to:【My Skills > Create Skill】 08.png

Upload Skills

Skill Upload Format Requirements

After entering the Skill Creation & Editing page, you can upload a .zip Skill Package or SKILL.md file by clicking or dragging the file into the upload area.Both the Skill Package and SKILL.md file must follow the standard SKILL format described below:

Upload Content

Description

File / Content Structure Example

.zip Skill Package

When uploading a skill package, it is recommended to include the following files. SKILL.md is required.

  • SKILL.md (Required, skill definition file)

  • Additional Resources (Optional)

  • scripts/ (Scripts) - Executable code such as Python or Shell automation scripts

  • references/ (Reference Materials) - Product documentation, business rules, knowledge base content, etc.

  • assets/ (Assets) - Templates, icons, fonts, images, and other resource files

    financial-analysis.zip

└── financial-analysis/

├── SKILL.md # Required, skill definition file

├── scripts/ # Optional, scripts

│ └── analyze.py

├── references/ # Optional, reference materials

│ └── knowledge.md

└── assets/ # Optional, assets

└── icon.png

SKILL.md

The structure of the SKILL.md file is shown below. For more formatting requirements, please refer to the Notes section below:


name: skill-name

description: |

Briefly describe the capability and applicable scenarios of this Skill. Use when: (1) Scenario One, (2) Scenario Two


Purpose

Describe the core objective of this Skill.

Instructions

Define the execution workflow and behavior rules of this Skill.

Examples

Input: xxx

Output: xxx

Guardrails

Define usage boundaries and limitations.


name: financial-analysis

description: |

Analyze enterprise financial data and generate insights.

Use when: (1) Financial report analysis, (2) Company comparison, (3) Risk identification


Purpose

Help users analyze financial data, identify business trends, and detect potential risks.

Instructions

  1. Understand the user's input data or questions
  2. Analyze key financial indicators
  3. Generate structured conclusions

Examples

Input: Financial reports from the past three years of a company

Output: Revenue trends, profit changes, and risk alerts

Guardrails

  • Do not fabricate data
  • Ask follow-up questions when data is insufficient

Precautions

The following formatting requirements apply when uploading .zip Skill Packages and SKILL.md files to Miaoda.

Notes

Description

Example

SKILL.md File Name

The Skill description file must be named SKILL.md (case-sensitive).

SKILL.md

Frontmatter

The SKILL.md file must begin with Frontmatter enclosed by ---


name: financial-analysis

description: |

Analyze enterprise financial data and generate business insights.

Use when: (1) Financial report analysis, (2) Company comparison


Instructions

  1. Analyze user input
  2. Extract key indicators

......

name Field

Required. Used as the unique Skill name. Only lowercase letters, numbers, and hyphens - are supported.

description Field

Required. Describes the Skill capabilities and applicable scenarios. Both Chinese and English are supported.

File Content

The content after Frontmatter must not be empty.

Root Directory Name

The ZIP root directory name must exactly match the name field in SKILL.md. Only lowercase letters, numbers, and hyphens - are supported.

Root directory name (Skill Package name): financial-analysis

After the upload is completed, MeDo will parse and configure the skill based on the content you provided. The process usually takes about one minute. Please do not leave the page during parsing. 09.png

If parsing succeeds, the interface will display the skill configuration. See section 2 for details. If parsing fails, MeDo will stop parsing and explain the reason. 10.png

Edit Configuration

After successful parsing, the interface will display the skill configuration. 11.png

Basic Information

MeDo will automatically configure the skill icon, skill name, and skill description based on the uploaded skill package.

DimensionDescription
NameThe name of the skill. After configuration, this name will appear in Skills > My Skills, the skill selection list, and the application's used skills list
DescriptionThe description of the skill. After configuration, this description will appear in Skills > My Skills, the skill selection list, and the application's used skills list
IconThe icon of the skill. After configuration, this icon will appear in Skills > My Skills, the skill selection list, and the application's used skills list

Illustration: 12.png

Environment Variables

If the skill contains environment variables, the Environment Variables module will appear. Environment variables are configuration values required for the skill to run, such as API Keys. After configuration, the skill will securely read these values during execution without exposing them externally.

Item

Description

Illustration

Name

The environment variable name used when invoking the skill. This value is automatically generated by MeDo and cannot be modified 13、.png

Value

The value corresponding to the Name. Once filled in, the skill will automatically use this configuration during invocation. If left empty, you will need to manually configure it when using the skill in a project 14.png

Skill Definition

Skill Definition is the core basis for MeDo to integrate this skill into applications. It is automatically generated based on the uploaded skill package and cannot be manually modified.

After generation, you can verify whether the content meets expectations, including whether all required files are included and whether the file contents are accurate. For API-based skills, you should also verify whether all required endpoints, endpoint descriptions, and examples are complete.

If the generated result does not meet expectations, you can modify the corresponding skill files and re-upload them for parsing. 15.png

Complete Creation

After all information has been configured, click Create to complete the custom skill creation process. 16.png 17.png

Use Custom Skills

Test Skills

After creation is complete, you can invoke the skill within an application for testing. You can use "@" to locate your custom skills and invoke them directly. 18.png 19.png

Test Whether the Custom Skill Can Be Invoked Correctly

After invoking the skill to generate applications or features, you can check whether the skill has been used in the Used Skills list from the left sidebar.

Situation

Description

Illustration

Used

If the skill appears in the Used Skills list, you can proceed to functionality testing 20.png

Not Used

If the skill was not used, try invoking it again to regenerate the feature or application. If the skill still cannot be invoked, return to the skill configuration page and check whether the endpoint names and descriptions in the Skill Definition properly match the intended usage scenarios. If not, improve the descriptions in the top input field and regenerate the Skill Definition 21.png

Test the Availability of Custom Skills

If the custom skill can be successfully invoked, the next step is to test whether the generated functionality works properly.

For example, if you created a custom fuel price query skill, you should test whether it can actually retrieve fuel prices correctly.

Situation

Description

Illustration

Function works properly

This means you have successfully created a usable custom skill, which can now be used across your applications

/

Function does not work properly

This may be caused by incorrect credentials or generation quality issues. First confirm whether the provided credentials are correct. If the problem persists, try fixing it through conversation. If the issue can be fixed through conversation, the custom skill itself is likely usable.

If multiple rounds of conversation still cannot resolve the issue, the problem may lie in the custom skill definition itself. Please return to the skill configuration page and verify whether the API documentation is complete, including endpoint definitions, endpoint paths and methods, request parameters, request examples, response examples, error codes, and descriptions. If any information is missing, update the description and regenerate the skill definition. 22.png

Official Usage

After the skill passes testing, it can be officially used across applications.

However, actual usage may still be affected by factors such as unclear requirement descriptions, which may prevent the generated functionality from reaching a highly usable state in a single attempt. Therefore, even after successful testing, some skill-related functionality may occasionally fail to work as expected. In such cases, you can simply fix the issue through conversation.

Manage Custom Skills

You can manage your created skills through:

【Skills > My Skills > Target Skill】 23.png

You can configure or delete custom skills here.

After deleting a skill from Skill > My Skills, the skill can no longer be used to generate new applications or features. However, applications that are already using the skill will not be affected.

If you also want existing applications to stop using the skill, please remove the skill from the corresponding application. Once removed, the application will no longer use that skill. 24.png 25.png