changed to skill provider
This commit is contained in:
+22
-23
@@ -80,20 +80,22 @@ The runtime process serves two surfaces:
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[Docs Registry Loader] --> B[Validated In-Memory Registry]
|
||||
B --> C[FastMCP Resource Registration]
|
||||
C --> D[MCP Transport]
|
||||
C --> E[FastAPI Application]
|
||||
E --> F[Static Mount /docs]
|
||||
F --> G[Zensical site output directory]
|
||||
A[Packaged Skill Directory] --> B[SkillsDirectoryProvider]
|
||||
C[Packaged Prompts and Docs] --> D[Validated Registry]
|
||||
B --> E[FastMCP Server]
|
||||
D --> E
|
||||
E --> F[MCP Transport]
|
||||
E --> G[FastAPI Application]
|
||||
G --> H[Static Mount /docs]
|
||||
H --> I[Zensical Site Output]
|
||||
```
|
||||
|
||||
Runtime guarantees:
|
||||
|
||||
1. Docs registry load and validation happen before resource exposure.
|
||||
1. The skills provider and prompt/docs registry initialize before resource exposure.
|
||||
2. Duplicate resource and template registration fails startup (`on_duplicate="error"`).
|
||||
3. Resource registration is metadata-driven from SKILL frontmatter and reference manifests.
|
||||
4. Legacy per-skill Python servers and `metadata.yaml` sidecars are not part of the runtime.
|
||||
3. Skill resources come directly from `SkillsDirectoryProvider` directory discovery.
|
||||
4. Legacy per-skill Python servers, custom skill catalogs, and metadata sidecars are not part of the runtime.
|
||||
|
||||
## Build and Publish Flow
|
||||
|
||||
@@ -120,27 +122,24 @@ MCP resources map directly to canonical Markdown documents.
|
||||
|
||||
Example mapping model:
|
||||
|
||||
1. docs/skills/<skill-id>/SKILL.md -> resource://skills/<skill_id>/document
|
||||
2. docs/skills/<skill-id>/references/<file>.md -> resource://skills/<skill_id>/references/<ref_id> (via frontmatter references manifest)
|
||||
1. docs/skills/<skill-id>/SKILL.md -> skill://<skill-id>/SKILL.md
|
||||
2. docs/skills/<skill-id>/<path> -> skill://<skill-id>/<path>
|
||||
3. docs/<path>.md -> resource://docs/{path*}
|
||||
|
||||
Catalog discovery resources are:
|
||||
|
||||
1. resource://catalog/skills_index
|
||||
2. resource://catalog/skills_index{?q,tag,capability,cursor,limit}
|
||||
3. resource://catalog/skills/{skill_id}
|
||||
4. resource://catalog/prompts_index
|
||||
5. resource://catalog/prompts_index{?q,tag,cursor,limit}
|
||||
6. resource://catalog/prompts/{prompt_id}
|
||||
1. resource://catalog/prompts_index
|
||||
2. resource://catalog/prompts_index{?q,tag,cursor,limit}
|
||||
3. resource://catalog/prompts/{prompt_id}
|
||||
|
||||
Registry-backed registration details:
|
||||
Resource registration details:
|
||||
|
||||
1. `resource://skills/{skill_id}/document` resolves to each skill's SKILL.md.
|
||||
2. `resource://skills/{skill_id}/references/{ref_id}` resolves through frontmatter reference manifests.
|
||||
3. `resource://docs/{path*}` resolves normalized markdown paths under `docs/`.
|
||||
4. Resource metadata includes explicit mime type and read-only/idempotent annotations.
|
||||
1. `skill://<skill-id>/SKILL.md` resolves to each skill's main instructions.
|
||||
2. `skill://<skill-id>/_manifest` lists every skill file with size and SHA256 hash.
|
||||
3. Per-skill wildcard templates resolve validated supporting-file paths.
|
||||
4. `resource://docs/{path*}` resolves normalized Markdown paths under `docs/`.
|
||||
|
||||
When clients cannot attach MCP resources directly, thin catalog tools may retrieve the same underlying skill documents indirectly. This does not create a second content source.
|
||||
When clients cannot attach MCP resources directly, `ResourcesAsTools` exposes generic `list_resources` and `read_resource` tools over the same provider resources.
|
||||
|
||||
## URI Compatibility Policy
|
||||
|
||||
|
||||
Reference in New Issue
Block a user