AIUnlimited
๐ŸŒณ

AI Foundations

๐ŸŒฑ
AI Seeds

Start from zero

๐ŸŒฟ
AI Sprouts

Build foundations

๐ŸŒณ
AI Branches

Apply in practice

๐Ÿ•๏ธ
AI Canopy

Go deep

๐ŸŒฒ
AI Forest

Master AI

๐Ÿ”จ

AI Mastery

โœ๏ธ
AI Sketch

Start from zero

๐Ÿชจ
AI Chisel

Build foundations

โš’๏ธ
AI Craft

Apply in practice

๐Ÿ’Ž
AI Polish

Go deep

๐Ÿ†
AI Masterpiece

Master AI

๐Ÿ“˜

AI Practice

๐Ÿ“–
Understanding Open-Source Models

Fundamentals and resources for open-source models

๐ŸŽฏ
From Problem to Model Task

Converting business problems to model tasks

โšก
Running Your First Model

See your first results in 30 minutes

๐Ÿ”ง
Fine-Tuning and Evaluation

Fine-tune models and evaluate performance

๐Ÿš€
Application Systems

Build real-world AI applications

๐ŸŽจ
Generative AI

Explore open-source AIGC models

๐Ÿค–
Agents

Learn Agent frameworks and MCP tools

๐Ÿ“
Supplementary Fundamentals

LLM basics and evaluation

๐ŸŽ“

Claude Academy

๐Ÿค–
Claude 101

Learn AI basics with Claude

๐Ÿ’ป
Claude Code 101

Code with Claude as your pair programmer

๐Ÿค
Introduction to Claude Cowork

Collaborate with Claude on complex projects

โš™๏ธ
Claude Platform 101

Build apps with the Claude API

Lab

7 experiments loaded
๐ŸงฌNeural Network Sandbox๐Ÿค–AI or Human?๐Ÿฅ‹Prompt Engineering Dojo๐ŸAlgorithm Race๐Ÿง AI Trivia Challenge๐Ÿ—๏ธSystem Design Canvas
๐ŸŽฏMock InterviewEnter the Labโ†’
๐Ÿš€

Career Development

๐Ÿš€
Interview Launchpad

Start your journey

๐ŸŒŸ
Behavioral Mastery

Master soft skills

๐Ÿ’ป
Technical Interviews

Ace the coding round

๐Ÿค–
AI & ML Interviews

ML interview mastery

๐Ÿ†
Offer & Beyond

Land the best offer

Get Started
AIUnlimited

MIT Licence.

ๆฒชICPๅค‡18025655ๅท-11

Learn

  • AI Basics
  • AI Practice
  • Claude Academy
  • Lab
  • Career Development

Community

  • About
  • FAQ

Support

  • Terms of Service
  • Privacy Policy
  • Contact
AI & Engineering Academicsโ€บ๐Ÿค– Agentsโ€บLessonsโ€บSkills: Reusable Task Methods
๐Ÿ› ๏ธ
Agents โ€ข Beginnerโฑ๏ธ 25 min read

Skills: Reusable Task Methods

Meeting Minutes Organization

Execution Steps

Check if the input contains identifiable meeting content. Distinguish discussion opinions, final conclusions, and pending issues. Extract action items, responsible persons, and deadlines. Mark unverifiable information as "pending confirmation." Output according to the specified template and cross-check with the original record.


Where, `name` and `description` are required fields in the specification. `name` gives the current Skill a name, and `description` provides a task description for the current Skill. So how does a Skill enter and complete a task?

After installing a Skill, the system doesn't hand all files to the large model at once. The common execution process involves three steps:

1. The system first provides the names and descriptions of installed Skills. The large model determines which capabilities may be relevant based on the user's task.
2. After a Skill is selected, the system loads its `SKILL.md`, and the large model checks the input and executes core steps accordingly.
3. Only when executing specific steps does it read reference materials, apply templates, or run scripts according to the instructions.

For example, when a user requests organizing a meeting transcript into minutes, the large model or Agent tool will match the meeting minutes capability among multiple Skills and then read its complete rules. If the task also requires generating an Excel action item table, it may also select the table processing Skill. The large model is responsible for making judgments based on the current task, the Skill provides stable methods, and the platform or Agent framework handles file loading and tool invocation.

Compared to maintained Skills, how do they differ from Prompts, workflows, and MCP? Let's organize this.

<a id="c28-s2"></a>

## <strong>Difference Between Skills and Prompts</strong>

A Prompt is the input you give to the large model or Agent in the current task, typically including objectives, materials, constraints, and output requirements. It answers what to do this time. For example:

```bash
Please organize this meeting transcript into minutes, listing conclusions and action items.

This Prompt explains the objective for this time, but doesn't fully specify what constitutes a final conclusion, what to do when a responsible person is missing, whether to supplement information not in the original text, or what structure to use for output. Skills save these relatively stable rules in advance. The next time you process a meeting transcript, you only need to provide the current materials and specific requirements without re-copying the entire set of methods. Comparing Prompts and Skills from the perspectives of function, carrier, loading method, and version management:

Dimension

Prompt

Skill

Main Function

Lesson 3 of 70% complete
โ†MCP: Connecting Models to Tools

Discussion

Sign in to join the discussion

Describe the current task

Define how a type of task is typically completed

Usage Cycle

Mostly used only for the current request

Can be called multiple times and maintained continuously

Carrier

Text, files, and context in the conversation

Directory containing SKILL.md and optional resources

Content

Objectives, materials, constraints, and output requirements

Trigger conditions, steps, tools, templates, exceptions, and acceptance criteria

Loading Method

Usually enters the current context directly

Can be loaded layer by layer based on task needs

Version Management

Easily scattered in chat history

Can be included in Git with change records

Of course, Prompts and Skills are not mutually exclusive. Prompts tell the large model or Agent which material to process this time and what temporary requirements exist, while Skills provide the established methods for this type of task. The same Skill facing different inputs still needs Prompts to explain the current objective. Not every Prompt is worth turning into a Skill. For a one-time task where the objective is still changing, it's more appropriate to run it with a Prompt first. Only when similar tasks repeatedly appear and the processing method gradually stabilizes should it be consolidated into a Skill.

Difference Between Skills and Workflows

A Workflow is a set of operational arrangements for organizing multiple task nodes, typically specifying sequential order, conditional branches, data passing, and failure handling. It answers how multiple stages connect.

For example, a weekly report workflow could be:

Read raw data โ†’ Clean fields โ†’ Generate charts โ†’ Write analysis โ†’ Export weekly report

A Skill focuses on how a capability unit should be completed. Each of the above steps can be provided by a Skill, or completed by scripts, manual operations, or other tools. The difference between the two isn't about which is fixed and which is flexible, but about different focus objects:

  • Workflows mainly organize task nodes, order, branches, and data passing;
  • Skills mainly encapsulate the knowledge, rules, resources, and tool usage methods needed to complete a type of task.

A Skill can contain fixed steps as well as conditional judgments. A Workflow can also call an Agent at a certain node, letting the Agent decide the next step based on the actual situation. For example, a meeting minutes Skill can handle different processing based on input:

  • When there's no meeting transcript in the input, stop generation and request supplementary materials;
  • When the original text explicitly states a responsible person, directly write them into the action item;
  • When the original text has no responsible person, mark it as pending confirmation;
  • When multiple materials contradict each other, list the conflicts without deciding which is correct;
  • When the user only requests action items, omit the complete meeting summary.

In real systems, Skills and Workflows are often used in combination: Workflows handle connecting multiple stages, while Skills ensure that a specific stage is completed following stable methods.

Difference Between Skills and MCP

MCP is the Model Context Protocol, used to provide external tools, resources, and prompt templates to Agents in a unified manner. It answers how Agents connect and call external capabilities. Through MCP, Agents can connect to databases, knowledge bases, project management systems, map services, or other business systems. But a successful connection only means the Agent can use a capability, not that it already knows how to complete a business task. Suppose an Agent can already read a project management system; it still needs to know:

  • Which project to query;
  • What time range to calculate;
  • Which statuses count as completed;
  • Which fields contain sensitive information;
  • What format to use for the project report;
  • Whether confirmation is needed before creating, modifying, or deleting records.

These task rules are better written into Skills. The relationship between the two can be summarized as: MCP provides a standard way to connect external tools and data, while Skills describe how to use these capabilities to complete a type of task.

A Skill can guide an Agent to call MCP tools, or not use MCP at all. An MCP service can also be used by multiple Skills. When sending messages, modifying records, deleting data, incurring costs, or publishing publicly, Skills should clearly specify confirmation points and cannot assume execution is allowed just because a tool is connected.

Concept

Main Question Answered

Typical Content

Prompt

What to do this time

Current objective, materials, and temporary requirements

Skill

How this type of task is typically done

Methods, rules, resources, tools, and acceptance criteria

Workflow

How multiple stages connect

Nodes, order, branches, and result passing

MCP

How an Agent connects to external capabilities

Tools, resources, parameters, and invocation interfaces

Basic Composition of a Skill

A complete Skill needs both content that describes the task method and files that carry this content. For the task itself, trigger conditions, input, execution steps, tools and resources, output, and exception handling should be clearly written. For file organization, at minimum an entry file SKILL.md is needed, and more complex Skills may include reference materials, templates, scripts, and test cases. Using a meeting minutes Skill as an example, a complete directory can be organized as follows:

meeting-notes/
โ”œโ”€โ”€ SKILL.md                         # Entry: name, description, input, steps, and acceptance criteria
โ”œโ”€โ”€ references/
โ”‚   โ”œโ”€โ”€ terms.md                     # Glossary and content classification rules
โ”‚   โ””โ”€โ”€ privacy-rules.md             # Sensitive information and masking requirements
โ”œโ”€โ”€ assets/
โ”‚   โ””โ”€โ”€ meeting-template.md          # Minutes output template
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ clean-transcript.py          # Clean timestamps and repeated verbal tics
โ””โ”€โ”€ tests/
    โ”œโ”€โ”€ normal-case.md                # Test case with complete information
    โ”œโ”€โ”€ boundary-case.md              # Cases with missing information or conflicts
    โ””โ”€โ”€ failure-case.md               # Cases that cannot continue processing

Among these, SKILL.md is the entry point for the entire directory. The Agent first learns from here what tasks the Skill is suitable for, what input is needed, and what steps to follow. Further, based on other constraints, additional tools or code can be supplemented. As in the directory organization above, when encountering professional terms or privacy requirements, you can read the references/ directory for related information; during result generation, you can apply templates from assets/; for mechanical operations like text cleaning that need to be completed stably, you can run programs from scripts/. tests/ is mainly for verification after development and revision, not content that needs to be loaded every time a task is executed.

When multiple Skills exist simultaneously, the large model typically first compares each Skill's name and description, then selects the smallest set most relevant to the current intent. For example, organizing a meeting transcript into minutes and exporting an action item table may require both the meeting minutes Skill and the table processing Skill; if only text organization is requested, there's no need to load the table capability.

Below we introduce from the perspectives of trigger conditions, input checking, execution steps, tools and resources, and output control:

1. Trigger Conditions

Trigger conditions are what allow the Skill to help the large model find the current needed capability among many Skills, mainly reflected in the name and description at the beginning of SKILL.md. Using the meeting minutes Skill as an example, name is the Skill's identifier name, typically using lowercase letters, numbers, and hyphens, and should match the directory name. It should be brief and clear so that both humans and systems can distinguish this capability. For example:

name: meeting-notes

description explains what this Skill can do and when it should be used. After the large model reads the user's task, it will compare the task intent with the names and descriptions of installed Skills; only when a match is found will it continue loading the complete SKILL.md. The meeting minutes Skill's description can be written as:

description: Organize meeting transcripts, chat records, or scattered notes into structured meeting minutes. Use when the user requests generating meeting summaries, extracting conclusions, action items, or pending questions.

Don't stuff irrelevant keywords to increase trigger probability. If the description is too broad, the Agent will misuse it in unrelated tasks; if too narrow, it may not be found when actually needed.

2. Input Checking

Input checking refers to what the Agent or large model needs to know when starting to execute a Skill: what's needed, which materials are required, which are optional, and how to handle missing key information. After selecting a Skill, the next step isn't immediately generating results but checking whether materials are sufficient. Using the meeting minutes Skill as an example, the input section can be specified as follows:

  • Required input: At least one of meeting transcripts, chat records, or meeting notes;
  • Optional input: Meeting name, time, participant list, and minutes template;
  • Input boundaries: File names and user summaries cannot substitute for the original meeting text;
  • Missing handling: When there's no meeting transcript, stop generation and request the user to provide materials.
3. Execution Steps

Only after the input check passes does the Agent formally begin processing the task. Execution steps should clearly describe the complete sequence from reading materials to delivering results: what each step processes, what intermediate results are obtained, and where to go when encountering different situations.

4. Tools and Resources

Execution steps explain what to do, while tools and resources explain what specifically is used to accomplish it. Tools are responsible for executing actions, such as reading files and running scripts; resources provide rules and templates, such as glossaries, privacy requirements, and minutes formats. Both need to specify concrete names and usage timing.

5. Output Control

After completing processing, the Agent needs to know how to deliver. The output control stage requires not just generating meeting minutes but also explaining the structure, format, and completion standards.

6. Exception Handling

Exception handling runs through input, execution, tool invocation, and output checkingโ€”it's not something added at the end. It determines whether the Agent continues, degrades, stops, or requests user confirmation when encountering problems.

How to Design a Skill

The previous sections have explained how Skills are discovered, how they execute, and what parts a complete capability needs to include. Now let's apply these concepts to the meeting minutes case.

The core of designing a Skill isn't first creating directories or writing a long Prompt, but organizing human work experience into methods that the Agent can execute and check. This process can be divided into six steps: selecting tasks suitable for encapsulation, defining objectives and boundaries, reviewing human methods, rewriting experience into rules, writing the first executable version, and then running through the shortest closed loop.

Using Skills in ModelScope

The previous sections completed the design of the meeting minutes Skill. Below we implement this capability in a ModelScope Notebook, using travel expense reimbursement and client reception office meetings as examples to organize meeting records into confirmed items, action items, and pending items.

Experiment Task and Environment Preparation

This experiment uses Qwen3-4B for reasoning. First, run the following code to check the current Python and dependency package versions.

Creating and Installing the Meeting Minutes Skill

The previous sections explained the composition of a Skill. Here we directly write the meeting minutes rules into files. This experiment only requires an entry file and an output specification.

Loading Skills and Reading Reference Files

After files are prepared, use ms-agent's SkillLoader to load the local directory, reading the name, description, version, and resource paths.

Deploying the Model and Configuring the Inference Interface

This experiment uses the ModelScope community's Qwen/Qwen3-4B, deployed as an OpenAI-compatible interface through ms-swift.

Calling Skills Through Office Conversations

Below we use an administrative meeting record for calling. The materials include two confirmed arrangements, specific tasks for two responsible persons, and one item still requiring confirmation.

Checking and Debugging the Calling Process

After calling is complete, check whether the entry and output specification were read, and whether failure reasons can be reported when reading fails.

Skill Testing and Versioning

After one call is completed, you also need to check the Skill's reliability with different materials. Below we prepare fixed cases to verify information extraction and exception handling, and save results alongside the Skill version.

Preparing Test Cases

Cases need to record both input and expected behavior simultaneously. Normal cases check information extraction, boundary cases check handling of uncertain information, failure cases check whether they can stop and explain reasons, and unrelated tasks check for false triggering.

Defining Check Conditions

After cases are prepared, write "correct completion" requirements into executable checks. Use check_output() to verify model return results.

Running Tests and Analyzing Results

run_suite() runs cases sequentially, creating a new conversation each time, saving results and tool records, then calling check_output() to generate a problem list.

Modifying Skills and Comparing Versions

Keep version 1.0.0, create candidate version 1.0.1 in a new directory, and add responsible person judgment rules. Load and test both versions separately for comparison.

Saving Versions and Rollback

Each version needs to save complete files and test records. This experiment records the file manifest and hashes in release-manifest.json, while also saving change descriptions, configurations, and reports.

All experimental data and code for this chapter can be found at:

https://modelscope.cn/gallery/liucong/0e182f07-3330-40cc-ba59-173b7cc609b7