feat(skills): enhance agent skills with additional tags and commands
Some checks failed
CI / build-and-test (push) Failing after -29m56s
Some checks failed
CI / build-and-test (push) Failing after -29m56s
- Added language_tags, library_tags, framework_tags, and domain_tags to agent skills. - Introduced new commands: get_skill and get_guardrail for fetching specific skills and guardrails. - Updated database schema and migration scripts to accommodate new fields. - Enhanced skill listing functionality to support filtering by new tags. - Improved error handling and response structures for skill-related operations.
This commit is contained in:
@@ -464,10 +464,16 @@ func registerSkillTools(server *mcp.Server, logger *slog.Logger, toolSet ToolSet
|
||||
}
|
||||
if err := addTool(server, logger, &mcp.Tool{
|
||||
Name: "list_skills",
|
||||
Description: "List all agent skills, optionally filtered by tag.",
|
||||
Description: "List agent skills (metadata only by default). Set include_content=true to get full content, or use get_skill for a single skill.",
|
||||
}, toolSet.Skills.ListSkills); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := addTool(server, logger, &mcp.Tool{
|
||||
Name: "get_skill",
|
||||
Description: "Fetch a single agent skill with full content by id or name.",
|
||||
}, toolSet.Skills.GetSkill); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := addTool(server, logger, &mcp.Tool{
|
||||
Name: "add_guardrail",
|
||||
Description: "Store an agent guardrail (constraint or safety rule).",
|
||||
@@ -486,6 +492,12 @@ func registerSkillTools(server *mcp.Server, logger *slog.Logger, toolSet ToolSet
|
||||
}, toolSet.Skills.ListGuardrails); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := addTool(server, logger, &mcp.Tool{
|
||||
Name: "get_guardrail",
|
||||
Description: "Fetch a single agent guardrail with full content by id or name.",
|
||||
}, toolSet.Skills.GetGuardrail); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := addTool(server, logger, &mcp.Tool{
|
||||
Name: "add_project_skill",
|
||||
Description: "Link a skill to a project. Pass project if client is stateless.",
|
||||
@@ -637,12 +649,14 @@ func BuildToolCatalog() []tools.ToolEntry {
|
||||
{Name: "search_maintenance_history", Description: "Search the maintenance log by task name, category, or date range.", Category: "maintenance"},
|
||||
|
||||
// skills
|
||||
{Name: "add_skill", Description: "Store a reusable agent skill (behavioural instruction or capability prompt).", Category: "skills"},
|
||||
{Name: "add_skill", Description: "Store a reusable agent skill. Supports language_tags, library_tags, framework_tags, and domain_tags for precise retrieval.", Category: "skills"},
|
||||
{Name: "remove_skill", Description: "Delete an agent skill by id.", Category: "skills"},
|
||||
{Name: "list_skills", Description: "List all agent skills, optionally filtered by tag.", Category: "skills"},
|
||||
{Name: "list_skills", Description: "List agent skills (metadata only by default). Filter by tag (searches all tag fields). Set include_content=true for full bodies, or use get_skill to load one.", Category: "skills"},
|
||||
{Name: "get_skill", Description: "Fetch a single agent skill with full content by id or name. Prefer this over list_skills when you know which skill you need.", Category: "skills"},
|
||||
{Name: "add_guardrail", Description: "Store a reusable agent guardrail (constraint or safety rule).", Category: "skills"},
|
||||
{Name: "remove_guardrail", Description: "Delete an agent guardrail by id.", Category: "skills"},
|
||||
{Name: "list_guardrails", Description: "List all agent guardrails, optionally filtered by tag or severity.", Category: "skills"},
|
||||
{Name: "get_guardrail", Description: "Fetch a single agent guardrail with full content by id or name.", Category: "skills"},
|
||||
{Name: "add_project_skill", Description: "Link an agent skill to a project. Pass project explicitly when your client does not preserve MCP sessions.", Category: "skills"},
|
||||
{Name: "remove_project_skill", Description: "Unlink an agent skill from a project. Pass project explicitly when your client does not preserve MCP sessions.", Category: "skills"},
|
||||
{Name: "list_project_skills", Description: "List all skills linked to a project. Call this at the start of every project session to load agent behaviour instructions before generating new ones. Only create new skills if none are returned. Pass project explicitly when your client does not preserve MCP sessions.", Category: "skills"},
|
||||
|
||||
Reference in New Issue
Block a user