UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

100 lines (99 loc) 3.33 kB
/** * MCP Handlers — Skills 加载与发现 * * 为 MCP 外部 Agent 提供 Skills 访问能力,使其能按需获取领域操作指南。 * Skills 是 Agent 的知识增强文档,指导如何正确使用 AutoSnippet 工具。 * * 设计原则: * - Skills 是只读文档,不涉及 AI 调用,不需要 Gateway gating * - 外部 Agent 应根据当前任务类型选择加载合适的 Skill * - list_skills 返回摘要帮助 Agent 判断该加载哪个 Skill */ import type { McpContext } from './types.js'; /** * 列出所有可用 Skills 及其摘要描述 * * @returns JSON envelope */ export declare function listSkills(ctx?: McpContext | null): string; /** * 加载指定 Skill 的完整文档内容 * * @param _ctx MCP context(未使用,保持签名一致) * @param args { skillName: string, section?: string } * @returns JSON envelope */ export declare function loadSkill(ctx: McpContext | null, args: { skillName?: string; section?: string; }): string; /** * 创建项目级 Skill — 写入 {projectRoot}/AutoSnippet/skills/<name>/SKILL.md * 创建后自动 regenerate 编辑器索引(.cursor/rules/autosnippet-skills.mdc) * * @param _ctx MCP context * @param args { name, description, content, overwrite? } * @returns JSON envelope */ interface CreateSkillArgs { name?: string; description?: string; content?: string; overwrite?: boolean; createdBy?: string; title?: string; } export declare function createSkill(ctx: McpContext | null, args: CreateSkillArgs): string; /** * 删除项目级 Skill — 移除 {projectRoot}/AutoSnippet/skills/<name>/ 整个目录 * 内置 Skill 不可删除。删除后自动 regenerate 编辑器索引。 * * @param _ctx MCP context * @param args { name: string } * @returns JSON envelope */ export declare function deleteSkill(ctx: McpContext | null, args: { name?: string; }): string; /** * 更新项目级 Skill — 修改 description 和/或 content * 内置 Skill 不可更新。更新后自动 regenerate 编辑器索引。 * * @param _ctx MCP context * @param args { name, description?, content? } * @returns JSON envelope */ interface UpdateSkillArgs { name?: string; description?: string; content?: string; } export declare function updateSkill(ctx: McpContext | null, args: UpdateSkillArgs): string; /** * 基于项目使用模式分析,推荐创建 Skill * * 分析维度:Guard 违规模式、Memory 偏好积累、Recipe 分布缺口、候选积压 * Agent 可根据推荐结果自行决定是否调用 createSkill 创建 * * @param ctx MCP context(含 container) * @returns JSON envelope */ export declare function suggestSkills(ctx: McpContext): Promise<string>; /** * 记录推荐反馈 * * operation: 'feedback' * @param args.recommendationId 推荐 ID * @param args.action 'adopted' | 'dismissed' | 'expired' | 'viewed' | 'modified' * @param args.reason 可选 — 忽略原因 * @param args.source 可选 — 推荐来源 * @param args.category 可选 — 推荐类别 */ export declare function recordFeedback(ctx: McpContext, args: { recommendationId?: string; action?: string; reason?: string; source?: string; category?: string; }): Promise<string>; export {};