跳到主要内容

.getSkill()

按名称从 Agent 配置的 Skill(包括 Agent 级 Skill 和 Workspace Skill)中获取指定 Skill。

用法示例
用法示例的直接链接

src/routes/skills.ts
import { agent } from '../mastra/agents'

const skill = await agent.getSkill('code-review')

if (skill) {
console.log(skill.name) // "code-review"
console.log(skill.description) // "Use when reviewing code changes."
console.log(skill.instructions) // Full markdown instructions
}

参数
参数的直接链接

skillName:

string
要获取的 Skill 名称。

options?:

object
Skill 解析选项。
object

requestContext?:

RequestContext
传递给动态 Skill 解析器的请求上下文。

返回值
返回值的直接链接

返回 Promise<Skill | null>

如果找到,则返回 Skill 对象;如果不存在具有该名称的 Skill,则返回 null

interface Skill {
name: string
description: string
instructions: string
path: string
source: { type: string; projectPath: string }
references: string[]
scripts: string[]
assets: string[]
license?: string
compatibility?: string[]
'user-invocable'?: boolean
metadata?: Record<string, unknown>
}

合并行为
合并行为的直接链接

同时配置 Agent 级 Skill 和 Workspace Skill 时,.getSkill() 会搜索合并后的集合。出现名称冲突时,Agent 级 Skill 优先。