Skip to content

Align skills spec types and examples with the 2026-07-28 base schema - #157

Merged
olaservo merged 1 commit into
mainfrom
fix/156-request-params-types
Oct 15, 2026
Merged

olaservo merged 1 commit into
mainfrom
fix/156-request-params-types

Conversation

@sambhav

@sambhav sambhav commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Fixes #156.

Aligns specification/stable/skills.mdx with the 2026-07-28 base schema and records the decision.

  • skills/get, resources/directory/read: named params interfaces, so _meta is required
  • ReadResourceDirectoryResult extends CacheableResult (breaking: ttlMs, cacheScope required)
  • *ResultResponse types for each method; optional _meta on Skill
  • Request examples carry the full required _meta

Why this lands in stable

These are corrections to the published page rather than new design:

  • The page doesn't compile against its own stated baseline. It says its types are those of the 2026-07-28 schema, and ReadResourceDirectoryRequest fails to type-check against it (skills.mdx: ReadResourceDirectoryRequest does not type-check against the 2026-07-28 base schema #156).
  • _meta was already required. The page's text says every request MUST include it. Only the types and examples disagreed.
  • Directory-read caching was missed in the 2026-09-08 pass. That decision made skills/list and skills/get cacheable so that every result type in the extension stays uniform with the base protocol; resources/directory/read was the one it didn't catch. This is the only change that adds a requirement on servers, and it affects an optional method behind directoryRead: true.

Corrections like these have landed on stable in place before (#139, and #147 after SEP-2640 went Final), so I've followed that route rather than opening a draft/ revision. index.md excerpt ranges are re-anchored to the new line numbers.

Verification

All interfaces and all 16 examples type-check under --strict against the base schema; docs:build passes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01M8b7Vuu2jRefMhoZB3BrrX


Generated by Claude Code

Copilot AI balanced review requested due to automatic review settings October 11, 2026 12:26
@sambhav
sambhav requested a review from a team as a code owner October 11, 2026 12:26
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Deploying ext-skills with  Cloudflare Pages  Cloudflare Pages

Latest commit: 87cd708
Status: ✅  Deploy successful!
Preview URL: https://d7f1f8d1.ext-skills.pages.dev
Branch Preview URL: https://fix-156-request-params-types.ext-skills.pages.dev

View logs

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The proposal correctly follows repository governance and resolves the reported type inconsistencies.

0 open findings

What changed in this PR

Proposes a type-safe correction to the next Skills specification revision.

Changes:

  • Adds named request-parameter interfaces requiring _meta.
  • Aligns request inheritance with the base schema.
  • Updates the referenced base-type list.
File Description
docs/​decisions.md Records the proposed schema-rendering correction and rationale.

🧠 Review effort: Balanced


💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Copilot AI balanced review requested due to automatic review settings October 11, 2026 12:33
@sambhav sambhav changed the title decisions: named params interfaces for resources/directory/read and skills/get Align skills spec types and examples with the 2026-07-28 base schema Oct 11, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The draft page’s edit link incorrectly targets the stable specification.

1 open finding

🧠 Review effort: Balanced

Comment thread .vitepress/config.mts Outdated
Copilot AI balanced review requested due to automatic review settings October 11, 2026 12:40
@sambhav
sambhav force-pushed the fix/156-request-params-types branch from daca994 to 163c540 Compare October 11, 2026 12:40
@sambhav
sambhav force-pushed the fix/156-request-params-types branch from 163c540 to 7457ff9 Compare October 11, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The draft page’s edit link incorrectly targets the released stable specification.

1 open finding

🧠 Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 11, 2026 12:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

It applies a breaking Proposed decision directly to the stable specification, contrary to the repository’s release process.

3 open findings

🧠 Review effort: Balanced

Comment thread docs/decisions.md Outdated
Comment thread specification/stable/skills.mdx Outdated
Named params for skills/get and resources/directory/read, cacheable
directory results, *ResultResponse types, optional _meta on Skill, full
_meta in request examples. Records the decision and re-anchors index.md.

Fixes #156

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M8b7Vuu2jRefMhoZB3BrrX
Copilot AI balanced review requested due to automatic review settings October 11, 2026 12:49
@sambhav
sambhav force-pushed the fix/156-request-params-types branch from 7457ff9 to 87cd708 Compare October 11, 2026 12:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Making directory-read caching fields mandatory is a breaking normative change requiring final human confirmation.

0 open findings

3 resolved since last review

🧠 Review effort: Balanced

@olaservo
olaservo merged commit 4ad2d3a into main Oct 15, 2026
5 checks passed
@olaservo
olaservo deleted the fix/156-request-params-types branch October 15, 2026 13:03
olaservo added a commit to olaservo/fast-agent that referenced this pull request Oct 20, 2026
Follows modelcontextprotocol/ext-skills#157, which aligned the stable Skills page with the 2026-07-28 base schema.

- SkillEntry accepts the optional `_meta` object.
- resources/directory/read returns ReadResourceDirectoryResult, which extends CacheableResult, instead of ListResourcesResult.
- Directory-read request types use the spec's names.
- The connection test asserts the SDK stamps `params._meta` on skills/list, skills/get, and resources/directory/read.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
jancurn pushed a commit to apify/mcpc that referenced this pull request Oct 20, 2026
[ext-skills#157](modelcontextprotocol/ext-skills#157)
aligned the Skills spec with the 2026-07-28 base schema. For a client
this means `ReadResourceDirectoryResult` extends `CacheableResult`
(`ttlMs`, `cacheScope`), `Skill` has an optional `_meta`, and every
request carries `_meta`.

- `src/lib/types.ts`: type the caching hints on the directory read
result and `_meta` on `Skill`.
- `src/core/skills-schema.ts`: reject a skill entry whose `_meta` is not
an object.
- `test/e2e/server/index-v2.ts`: the test server returns the hints from
`resources/directory/read`.
- `test/unit/core/skills-schema.test.ts`: cover `_meta` pass-through and
rejection, and the hints on directory reads.

Request `_meta` needed no change: SDK 2.3.1 stamps it on every
2026-07-28 request.

No changelog entry. `resources-directory-read` prints only the children,
so the hints never reach a user, and entry `_meta` already passed
through to `--json`.

Verified with `tsc`, `eslint`, the skills unit tests, and
`test/e2e/suites/basic/skills.test.sh` against the modern test server.

Also tested with the live Cloudflare MCP server which serves skills.

AI Disclosure: I used a coding agent to make these changes but have read
and understand them.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
evalstate added a commit to evalstate/fast-agent that referenced this pull request Oct 21, 2026
* Align MCP skills wire models with the 2026-10-15 spec revision

Follows modelcontextprotocol/ext-skills#157, which aligned the stable Skills page with the 2026-07-28 base schema.

- SkillEntry accepts the optional `_meta` object.
- resources/directory/read returns ReadResourceDirectoryResult, which extends CacheableResult, instead of ListResourcesResult.
- Directory-read request types use the spec's names.
- The connection test asserts the SDK stamps `params._meta` on skills/list, skills/get, and resources/directory/read.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* test: use LATEST_PROTOCOL_VERSION for negotiated protocol version in skills test

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Shaun Smith <1936278+evalstate@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skills.mdx: ReadResourceDirectoryRequest does not type-check against the 2026-07-28 base schema

3 participants