search_skills

This commit is contained in:
John Lancaster
2026-08-08 00:14:31 -05:00
parent 9be7c27410
commit 6ec12a100a
7 changed files with 196 additions and 16 deletions
+2
View File
@@ -60,6 +60,8 @@ For skills:
4. read `_manifest` when supporting material may be needed
5. fetch only the supporting paths relevant to the task
Tool-only agents may call `search_skills` instead of retrieving the complete resource list. Search results contain only provider-derived names, descriptions, and canonical main-resource URIs; skill content remains available exclusively through the native resource contract.
For prompts, use the native MCP prompt APIs or their generic tool projection.
## Stability Policy
+6 -6
View File
@@ -16,7 +16,7 @@ Copilot interacts with MCP servers through independently exposed lanes:
2. resources attached as read-only context
3. server-provided prompts
This server publishes skills as native `skill://` resources and prompts as native MCP prompt objects. It also exposes generic `list_resources` and `read_resource` tools for agents whose tool catalog does not include direct MCP resource operations.
This server publishes skills as native `skill://` resources and prompts as native MCP prompt objects. It also exposes `search_skills`, `list_resources`, and `read_resource` tools for agents whose tool catalog does not include direct MCP resource operations.
## VS Code Feature Coverage
@@ -51,7 +51,7 @@ For every skill, Copilot can discover:
2. `skill://<name>/_manifest`
3. `skill://<name>/{path*}` supporting-file template
The main resource description comes from `SKILL.md`. The manifest discloses supporting paths, sizes, and SHA256 hashes. Native resources remain the only skill content and discovery contract; the generic tools delegate to that same resource surface rather than maintaining a parallel catalog.
The main resource description comes from `SKILL.md`. The manifest discloses supporting paths, sizes, and SHA256 hashes. Native resources remain the only skill content and discovery contract; the tools search or delegate to that same resource surface rather than maintaining a parallel catalog.
## Resource Picker Availability
@@ -66,8 +66,8 @@ A successful `resources/list` response does not guarantee the picker appears in
For autonomous agents:
1. call `list_resources`
2. compare main skill names and descriptions
1. call `search_skills` with the task, capability, or technology
2. compare the bounded main-skill matches
3. call `read_resource` for one relevant `skill://<name>/SKILL.md`
4. read `_manifest` only if supporting detail may be needed
5. read only selected supporting files
@@ -102,7 +102,7 @@ A repo-level instruction should name the native retrieval order and context budg
When a task matches a personal-mcp skill:
1. Prefer an already attached native skill resource.
2. Otherwise call `list_resources` and select one `skill://<name>/SKILL.md` resource by description.
2. Otherwise call `search_skills` and select one `skill://<name>/SKILL.md` result by description.
3. Call `read_resource` for the selected skill and read `_manifest` only when supporting material is needed.
4. Load at most two candidate main files and only the relevant supporting paths.
5. Reconcile guidance with the current repository before editing.
@@ -118,7 +118,7 @@ Prompts remain separate from skills. When the client supports MCP prompt APIs, u
1. Use `MCP: List Servers` to confirm the server is enabled.
2. Use `MCP: Browse Resources` to confirm native skill resources exist.
3. Confirm `list_resources` and `read_resource` appear in the chat tool picker when autonomous retrieval is required.
3. Confirm `search_skills` and `read_resource` appear in the chat tool picker when autonomous retrieval is required.
4. Restart the MCP server after changing skill files because production uses `reload=False`.
5. Reload the VS Code window if the server is healthy but the resource or tool picker remains stale.
+3 -3
View File
@@ -53,15 +53,15 @@ These utilities operate directly on the native `skill://` contract and require n
In VS Code, skills can arrive through:
1. explicit attachment from `Add Context > MCP Resources` or `MCP: Browse Resources`
2. the generic `list_resources` and `read_resource` tools for autonomous agents
2. the `search_skills` and `read_resource` tools for autonomous agents
3. a slash-command prompt that names a specific native skill URI
Instructions can steer retrieval, but they do not guarantee automatic resource attachment in every chat surface. When the deferred-tool catalog omits direct MCP resource operations, use the generic tools; they delegate to the native providers and do not duplicate skill metadata or content.
Instructions can steer retrieval, but they do not guarantee automatic resource attachment in every chat surface. When the deferred-tool catalog omits direct MCP resource operations, use the tools; search derives matches from native provider metadata and `read_resource` delegates to the provider without duplicating skill content.
A reliable prompt is:
```text
Call list_resources and select the best matching skill://.../SKILL.md resource. Use read_resource for one selected skill, inspect its _manifest only if supporting detail is needed, and reconcile the guidance with this workspace.
Call search_skills with the task or capability and select the best matching skill://.../SKILL.md result. Use read_resource for one selected skill, inspect its _manifest only if supporting detail is needed, and reconcile the guidance with this workspace.
```
## Thin Shim Pattern