Empowering Agents with Skills: Let Specialized Agents Handle Expert Tasks
This tutorial shows how to extend the MiniManus agent framework with Skill support, explains why Skills are needed compared to plain MCP, details the Claude Skill specification, provides concrete command‑line operations, code implementations, and demonstrates Skill‑MCP collaboration through practical examples.
Review of MCP
Previous lesson implemented MCP, allowing an Agent to declare a JSON configuration, automatically discover tools, and call services such as Context7 for documentation queries or GitHub for code operations.
Why a Skill is needed
Agent without Skill
Can answer any question but lacks depth.
Requires step‑by‑step guidance for each task, leading to low efficiency.
Repeats the same instructions for repeated tasks, wasting tokens.
Agent with Skill
Acts as a command‑center that can summon specialized agents (e.g., a programmer Agent for coding, a researcher Agent for information lookup, a designer Agent for graphics).
Each Skill encapsulates expertise in a particular domain.
Claude Skill Specification
YAML frontmatter – metadata such as name, description, version.
Markdown body – the system prompt that drives the Skill.
Optional auxiliary files – scripts, templates, etc.
---
name: code-review
description: Automated code review with security analysis
version: 1.0.0
author: "Your Name"
---
# Skill 主体
You are an expert code reviewer. When asked to review code:
1. First clone the repository
2. Run security scans
3. Provide detailed feedback on:
- Security vulnerabilities
- Code quality issues
- Performance concernsSkill vs MCP
Nature : MCP is a tool/capability; Skill is an agent/expert.
Granularity : MCP performs atomic operations; Skill defines complex workflows.
Usage : MCP is called directly; Skill must be loaded first to grant the Agent new ability.
Example : MCP – document query, search; Skill – code review, article writing.
Lesson Goal
Implement a Skill‑enabled Agent that can install, list, load, and create Skills, and interact with MCP tools.
Code Implementation
Core Skill Tool
The skill command supports four operations (full source in exercise/04_skills/tools/skill.py). install – clone a Skill from GitHub ( skill install <repo_url>). list – show installed Skills ( skill list). load – load a Skill into the Agent context ( skill load python-expert). create – create a custom Skill ( skill create my-skill).
Skill Loading Mechanism
def load_skill_from_file(skill_path: Path) -> dict:
content = (skill_path / "SKILL.md").read_text()
if content.startswith("---"):
parts = content.split("---", 2)
metadata = yaml.safe_load(parts[1])
body = parts[2].strip()
return {"name": metadata["name"], "description": metadata["description"], "body": body}Skill Storage Structure (Claude Code Standard)
.claude/skills/
├── doc-writer/
│ └── SKILL.md
├── python-expert/
│ └── SKILL.md
└── github-info/
└── SKILL.mdRunning Examples
List Installed Skills
cd exercise
uv run python 04_skills/main.py --task "列出已安装的 skills"Output:
Installed skills:
- doc-writer: A custom skill
- python-expert: A custom skillList All Available MCP Tools
uv run python 04_skills/main.py --task "列出所有可用的MCP工具"Current MCP tools include Context7 (resolve-library-id, query-docs) and GitHub (get_file_contents, list_branches, list_commits, search_repositories, create_pull_request, issue_read, issue_write, etc.).
Create a Skill that Calls MCP
uv run python 04_skills/main.py --task "创建一个名为 github-info 的 skill,功能是查看 GitHub 仓库信息"The Agent generates a Skill containing calls to get_file_contents, list_branches, list_commits, and search_repositories.
Load and Use the Skill
uv run python 04_skills/main.py --task "加载 github-info skill,然后查看 facebook/react 仓库的基本信息"Agent loads the github-info Skill.
The Skill guides the use of GitHub MCP.
Agent invokes get_file_contents to fetch the repository root.
Agent returns the file structure.
Skill + MCP Collaboration
A user request such as "Help me write a FastAPI project" triggers the Agent to load the code-reviewer Skill, which then uses GitHub MCP to locate examples, generates code, and returns the result.
MCP vs Skill Summary
Position : MCP – tool protocol; Skill – agent capability wrapper.
Purpose : MCP connects external services; Skill invokes specialized agents.
Granularity : MCP performs atomic operations; Skill handles complex tasks.
Usage : MCP is called directly; Skill must be loaded to grant ability.
Extension direction : MCP extends infrastructure; Skill extends vertical domains.
AI Tech Publishing
In the fast-evolving AI era, we thoroughly explain stable technical foundations.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
