@noodleseed/agent-kit 0.58.0 → 0.58.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/manifest.json +241 -241
  2. package/package.json +1 -1
  3. package/skills/claude-code/SKILL.md +1 -1
  4. package/skills/claude-code/authoring-mcp-servers/SKILL.md +1 -1
  5. package/skills/claude-code/building-mcp-apps/SKILL.md +1 -1
  6. package/skills/claude-code/connecting-apis-to-mcp/SKILL.md +1 -1
  7. package/skills/claude-code/debugging-mcp-delivery/SKILL.md +1 -1
  8. package/skills/claude-code/deploying-mcp-services/SKILL.md +1 -1
  9. package/skills/claude-code/designing-mcp-products/SKILL.md +1 -1
  10. package/skills/claude-code/embedding-mcp-assistants/SKILL.md +1 -1
  11. package/skills/claude-code/examples/customer-auth/README.md +17 -0
  12. package/skills/claude-code/executing-noodle-plans/SKILL.md +1 -1
  13. package/skills/claude-code/publishing-mcp-integrations/SKILL.md +1 -1
  14. package/skills/claude-code/references/authoring-workflow.md +13 -0
  15. package/skills/claude-code/reporting-noodle-feedback/SKILL.md +1 -1
  16. package/skills/claude-code/verifying-mcp-delivery/SKILL.md +1 -1
  17. package/skills/codex/SKILL.md +1 -1
  18. package/skills/codex/authoring-mcp-servers/SKILL.md +1 -1
  19. package/skills/codex/building-mcp-apps/SKILL.md +1 -1
  20. package/skills/codex/connecting-apis-to-mcp/SKILL.md +1 -1
  21. package/skills/codex/debugging-mcp-delivery/SKILL.md +1 -1
  22. package/skills/codex/deploying-mcp-services/SKILL.md +1 -1
  23. package/skills/codex/designing-mcp-products/SKILL.md +1 -1
  24. package/skills/codex/embedding-mcp-assistants/SKILL.md +1 -1
  25. package/skills/codex/examples/customer-auth/README.md +17 -0
  26. package/skills/codex/executing-noodle-plans/SKILL.md +1 -1
  27. package/skills/codex/publishing-mcp-integrations/SKILL.md +1 -1
  28. package/skills/codex/references/authoring-workflow.md +13 -0
  29. package/skills/codex/reporting-noodle-feedback/SKILL.md +1 -1
  30. package/skills/codex/verifying-mcp-delivery/SKILL.md +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodleseed/agent-kit",
3
- "version": "0.58.0",
3
+ "version": "0.58.1",
4
4
  "private": false,
5
5
  "description": "Self-checking, self-updating agent skills for the Noodle Seed CLI. Authored in this repo by @noodle-borg/agent-kit; this is the published, independently-versioned canonical skills artifact the CLI fetches and verifies.",
6
6
  "license": "Apache-2.0",
@@ -3,7 +3,7 @@ name: noodle-seed
3
3
  description: "Use when building, validating, testing, deploying, or operating a local or hosted Noodle Seed MCP server or app authored in TypeScript with the noodle CLI."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:ec5bfcd0d8165205 -->
6
+ <!-- noodle-skill version:0.58.1 hash:ec5bfcd0d8165205 -->
7
7
 
8
8
  # Noodle Seed
9
9
 
@@ -3,7 +3,7 @@ name: authoring-mcp-servers
3
3
  description: "Use when creating or extending a headless Noodle Seed MCP server, tool, resource, prompt, or typed model-facing capability."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:0b2fd8c7e43fc69f -->
6
+ <!-- noodle-skill version:0.58.1 hash:0b2fd8c7e43fc69f -->
7
7
 
8
8
  # authoring-mcp-servers
9
9
 
@@ -3,7 +3,7 @@ name: building-mcp-apps
3
3
  description: "Use when a Noodle Seed MCP App, widget, interactive card, visual interaction, or host-visible UI is the primary requested outcome."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:f7fa54992c8d7692 -->
6
+ <!-- noodle-skill version:0.58.1 hash:f7fa54992c8d7692 -->
7
7
 
8
8
  # building-mcp-apps
9
9
 
@@ -3,7 +3,7 @@ name: connecting-apis-to-mcp
3
3
  description: "Use when credentials, an API URL, an OpenAPI document, or an observed response must become real Noodle Seed MCP behavior."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:1e86b8704f407bd3 -->
6
+ <!-- noodle-skill version:0.58.1 hash:1e86b8704f407bd3 -->
7
7
 
8
8
  # connecting-apis-to-mcp
9
9
 
@@ -3,7 +3,7 @@ name: debugging-mcp-delivery
3
3
  description: "Use when an existing Noodle Seed MCP project has a concrete validation, runtime, connector, App, host, deployment, or production failure."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:aa715bae12041d7c -->
6
+ <!-- noodle-skill version:0.58.1 hash:aa715bae12041d7c -->
7
7
 
8
8
  # debugging-mcp-delivery
9
9
 
@@ -3,7 +3,7 @@ name: deploying-mcp-services
3
3
  description: "Use when the user explicitly requests a Noodle Seed hosted link, configuration write, deployment, access change, rollback, or connection write."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:93e735b7ffb45df1 -->
6
+ <!-- noodle-skill version:0.58.1 hash:93e735b7ffb45df1 -->
7
7
 
8
8
  # deploying-mcp-services
9
9
 
@@ -3,7 +3,7 @@ name: designing-mcp-products
3
3
  description: "Use when a Noodle Seed MCP product idea needs conversational fit, user benefit, scope, interaction, or evidence design before implementation."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:76cce86729cffbee -->
6
+ <!-- noodle-skill version:0.58.1 hash:76cce86729cffbee -->
7
7
 
8
8
  # designing-mcp-products
9
9
 
@@ -3,7 +3,7 @@ name: embedding-mcp-assistants
3
3
  description: "Use when embedding a Noodle assistant into an existing SaaS or web application with browser, identity, session, and credential boundaries."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:cc54a67f21c0ecdb -->
6
+ <!-- noodle-skill version:0.58.1 hash:cc54a67f21c0ecdb -->
7
7
 
8
8
  # embedding-mcp-assistants
9
9
 
@@ -302,6 +302,23 @@ Complete sign-in in Devtools and load the tool list. That authenticated request
302
302
  PKCE, token issuance, issuer/signature verification, the stable audience, and exact-resource binding work
303
303
  together. Invoke a representative safe read when the configured customer API is available.
304
304
 
305
+ ### Test delegated exchange locally
306
+
307
+ Local customer OIDC sign-in and delegated-exchange assertion trust are two distinct boundaries. OIDC proves
308
+ the caller to the local MCP server; Devtools uses a separate local issuer only for the RFC 8693 assertion
309
+ sent to the downstream token endpoint. This is the canonical local path and requires no `server.ts` change,
310
+ flag, environment variable, or config surface.
311
+
312
+ 1. Configure the OIDC authorization server for the exact loopback callback and RFC 8707 resource. Do not add
313
+ the Devtools assertion key to OIDC issuer metadata or change its signing keys.
314
+ 2. Start Devtools, complete customer sign-in, and copy the displayed `{ issuer, jwks }` from **Local delegated exchange**.
315
+ 3. Pin both values only in the customer-owned development RFC 8693 token endpoint.
316
+ 4. Restrict that trust to development client credentials, audience, API, and data.
317
+ 5. Invoke the delegated `list_org_apps` tool until its binding reads **Exchange verified**.
318
+ 6. Use hosted preview or `noodle auth doctor --live` to prove the production platform issuer.
319
+
320
+ **Never trust the Devtools issuer in production: anyone holding the local private key could impersonate a customer.**
321
+
305
322
  ## Configuration
306
323
 
307
324
  The embedded assistant uses a customer-supplied OpenAI Chat Completions-compatible endpoint. Configure its
@@ -3,7 +3,7 @@ name: executing-noodle-plans
3
3
  description: "Use when the user asks to execute an approved, decision-complete implementation plan for a Noodle Seed project task by task with test-first changes, review, recovery, and final verification."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:6a9f132ddb79352e -->
6
+ <!-- noodle-skill version:0.58.1 hash:6a9f132ddb79352e -->
7
7
 
8
8
  # Execute a Noodle Seed implementation plan
9
9
 
@@ -3,7 +3,7 @@ name: publishing-mcp-integrations
3
3
  description: "Use when preparing, reviewing, or submitting a Noodle Seed MCP integration to a host or app directory."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:efffbf82007f935d -->
6
+ <!-- noodle-skill version:0.58.1 hash:efffbf82007f935d -->
7
7
 
8
8
  # publishing-mcp-integrations
9
9
 
@@ -289,6 +289,19 @@ export async function tokenEndpoint(req: Request): Promise<Response> {
289
289
  }
290
290
  ```
291
291
 
292
+ ### Test delegated exchange locally
293
+
294
+ Local customer OIDC sign-in and delegated-exchange assertion trust are two distinct boundaries. OIDC proves the caller to the local MCP server; Devtools uses a separate local issuer only for the RFC 8693 assertion sent to your downstream token endpoint. This requires no `server.ts` change or additional flag, environment variable, or config surface.
295
+
296
+ 1. Configure the OIDC authorization server for the exact loopback callback and RFC 8707 resource. Do not add the Devtools assertion key to OIDC issuer metadata or change its signing keys.
297
+ 2. Start Devtools, complete customer sign-in, and copy the displayed `{ issuer, jwks }` from **Local delegated exchange**.
298
+ 3. Pin both values only in the customer-owned development RFC 8693 token endpoint.
299
+ 4. Restrict that trust to development client credentials, audience, API, and data.
300
+ 5. Run the delegated tool until its binding reads **Exchange verified**.
301
+ 6. Use hosted preview or `noodle auth doctor --live` to prove the production platform issuer.
302
+
303
+ **Never trust the Devtools issuer in production: anyone holding the local private key could impersonate a customer.**
304
+
292
305
  Diagnose statically with `noodle auth doctor`; set a short-lived real customer token only in `NOODLE_CUSTOMER_TOKEN` and add `--live --org <org> --app <app> --env <env>` to perform one exchange per delegated binding without invoking a business tool. Add `--version <version>` to test that exact pinned MCP resource. Common failures include structured `credential_unavailable` reasons such as `caller_identity_not_customer`. Direct/federated OIDC verification assigns the customer identity at the trusted verifier boundary; never ask an IdP to mint a Noodle-specific classification claim.
293
306
 
294
307
  ## Design tools for the model
@@ -3,7 +3,7 @@ name: reporting-noodle-feedback
3
3
  description: "Use when a Noodle Seed bug, misleading instruction, missing capability, or concrete product improvement should be proposed to the user."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:0f404109f4845683 -->
6
+ <!-- noodle-skill version:0.58.1 hash:0f404109f4845683 -->
7
7
 
8
8
  # reporting-noodle-feedback
9
9
 
@@ -3,7 +3,7 @@ name: verifying-mcp-delivery
3
3
  description: "Use when proving a Noodle Seed MCP project works at a named compile, local, connector, App, host, deployment, or production evidence level."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:6ef6ef551e26b78e -->
6
+ <!-- noodle-skill version:0.58.1 hash:6ef6ef551e26b78e -->
7
7
 
8
8
  # verifying-mcp-delivery
9
9
 
@@ -3,7 +3,7 @@ name: noodle-seed
3
3
  description: "Use when building, validating, testing, deploying, or operating a local or hosted Noodle Seed MCP server or app authored in TypeScript with the noodle CLI."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:ec5bfcd0d8165205 -->
6
+ <!-- noodle-skill version:0.58.1 hash:ec5bfcd0d8165205 -->
7
7
 
8
8
  # Noodle Seed
9
9
 
@@ -3,7 +3,7 @@ name: authoring-mcp-servers
3
3
  description: "Use when creating or extending a headless Noodle Seed MCP server, tool, resource, prompt, or typed model-facing capability."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:0b2fd8c7e43fc69f -->
6
+ <!-- noodle-skill version:0.58.1 hash:0b2fd8c7e43fc69f -->
7
7
 
8
8
  # authoring-mcp-servers
9
9
 
@@ -3,7 +3,7 @@ name: building-mcp-apps
3
3
  description: "Use when a Noodle Seed MCP App, widget, interactive card, visual interaction, or host-visible UI is the primary requested outcome."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:f7fa54992c8d7692 -->
6
+ <!-- noodle-skill version:0.58.1 hash:f7fa54992c8d7692 -->
7
7
 
8
8
  # building-mcp-apps
9
9
 
@@ -3,7 +3,7 @@ name: connecting-apis-to-mcp
3
3
  description: "Use when credentials, an API URL, an OpenAPI document, or an observed response must become real Noodle Seed MCP behavior."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:1e86b8704f407bd3 -->
6
+ <!-- noodle-skill version:0.58.1 hash:1e86b8704f407bd3 -->
7
7
 
8
8
  # connecting-apis-to-mcp
9
9
 
@@ -3,7 +3,7 @@ name: debugging-mcp-delivery
3
3
  description: "Use when an existing Noodle Seed MCP project has a concrete validation, runtime, connector, App, host, deployment, or production failure."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:aa715bae12041d7c -->
6
+ <!-- noodle-skill version:0.58.1 hash:aa715bae12041d7c -->
7
7
 
8
8
  # debugging-mcp-delivery
9
9
 
@@ -3,7 +3,7 @@ name: deploying-mcp-services
3
3
  description: "Use when the user explicitly requests a Noodle Seed hosted link, configuration write, deployment, access change, rollback, or connection write."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:93e735b7ffb45df1 -->
6
+ <!-- noodle-skill version:0.58.1 hash:93e735b7ffb45df1 -->
7
7
 
8
8
  # deploying-mcp-services
9
9
 
@@ -3,7 +3,7 @@ name: designing-mcp-products
3
3
  description: "Use when a Noodle Seed MCP product idea needs conversational fit, user benefit, scope, interaction, or evidence design before implementation."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:76cce86729cffbee -->
6
+ <!-- noodle-skill version:0.58.1 hash:76cce86729cffbee -->
7
7
 
8
8
  # designing-mcp-products
9
9
 
@@ -3,7 +3,7 @@ name: embedding-mcp-assistants
3
3
  description: "Use when embedding a Noodle assistant into an existing SaaS or web application with browser, identity, session, and credential boundaries."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:cc54a67f21c0ecdb -->
6
+ <!-- noodle-skill version:0.58.1 hash:cc54a67f21c0ecdb -->
7
7
 
8
8
  # embedding-mcp-assistants
9
9
 
@@ -302,6 +302,23 @@ Complete sign-in in Devtools and load the tool list. That authenticated request
302
302
  PKCE, token issuance, issuer/signature verification, the stable audience, and exact-resource binding work
303
303
  together. Invoke a representative safe read when the configured customer API is available.
304
304
 
305
+ ### Test delegated exchange locally
306
+
307
+ Local customer OIDC sign-in and delegated-exchange assertion trust are two distinct boundaries. OIDC proves
308
+ the caller to the local MCP server; Devtools uses a separate local issuer only for the RFC 8693 assertion
309
+ sent to the downstream token endpoint. This is the canonical local path and requires no `server.ts` change,
310
+ flag, environment variable, or config surface.
311
+
312
+ 1. Configure the OIDC authorization server for the exact loopback callback and RFC 8707 resource. Do not add
313
+ the Devtools assertion key to OIDC issuer metadata or change its signing keys.
314
+ 2. Start Devtools, complete customer sign-in, and copy the displayed `{ issuer, jwks }` from **Local delegated exchange**.
315
+ 3. Pin both values only in the customer-owned development RFC 8693 token endpoint.
316
+ 4. Restrict that trust to development client credentials, audience, API, and data.
317
+ 5. Invoke the delegated `list_org_apps` tool until its binding reads **Exchange verified**.
318
+ 6. Use hosted preview or `noodle auth doctor --live` to prove the production platform issuer.
319
+
320
+ **Never trust the Devtools issuer in production: anyone holding the local private key could impersonate a customer.**
321
+
305
322
  ## Configuration
306
323
 
307
324
  The embedded assistant uses a customer-supplied OpenAI Chat Completions-compatible endpoint. Configure its
@@ -3,7 +3,7 @@ name: executing-noodle-plans
3
3
  description: "Use when the user asks to execute an approved, decision-complete implementation plan for a Noodle Seed project task by task with test-first changes, review, recovery, and final verification."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:6a9f132ddb79352e -->
6
+ <!-- noodle-skill version:0.58.1 hash:6a9f132ddb79352e -->
7
7
 
8
8
  # Execute a Noodle Seed implementation plan
9
9
 
@@ -3,7 +3,7 @@ name: publishing-mcp-integrations
3
3
  description: "Use when preparing, reviewing, or submitting a Noodle Seed MCP integration to a host or app directory."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:efffbf82007f935d -->
6
+ <!-- noodle-skill version:0.58.1 hash:efffbf82007f935d -->
7
7
 
8
8
  # publishing-mcp-integrations
9
9
 
@@ -289,6 +289,19 @@ export async function tokenEndpoint(req: Request): Promise<Response> {
289
289
  }
290
290
  ```
291
291
 
292
+ ### Test delegated exchange locally
293
+
294
+ Local customer OIDC sign-in and delegated-exchange assertion trust are two distinct boundaries. OIDC proves the caller to the local MCP server; Devtools uses a separate local issuer only for the RFC 8693 assertion sent to your downstream token endpoint. This requires no `server.ts` change or additional flag, environment variable, or config surface.
295
+
296
+ 1. Configure the OIDC authorization server for the exact loopback callback and RFC 8707 resource. Do not add the Devtools assertion key to OIDC issuer metadata or change its signing keys.
297
+ 2. Start Devtools, complete customer sign-in, and copy the displayed `{ issuer, jwks }` from **Local delegated exchange**.
298
+ 3. Pin both values only in the customer-owned development RFC 8693 token endpoint.
299
+ 4. Restrict that trust to development client credentials, audience, API, and data.
300
+ 5. Run the delegated tool until its binding reads **Exchange verified**.
301
+ 6. Use hosted preview or `noodle auth doctor --live` to prove the production platform issuer.
302
+
303
+ **Never trust the Devtools issuer in production: anyone holding the local private key could impersonate a customer.**
304
+
292
305
  Diagnose statically with `noodle auth doctor`; set a short-lived real customer token only in `NOODLE_CUSTOMER_TOKEN` and add `--live --org <org> --app <app> --env <env>` to perform one exchange per delegated binding without invoking a business tool. Add `--version <version>` to test that exact pinned MCP resource. Common failures include structured `credential_unavailable` reasons such as `caller_identity_not_customer`. Direct/federated OIDC verification assigns the customer identity at the trusted verifier boundary; never ask an IdP to mint a Noodle-specific classification claim.
293
306
 
294
307
  ## Design tools for the model
@@ -3,7 +3,7 @@ name: reporting-noodle-feedback
3
3
  description: "Use when a Noodle Seed bug, misleading instruction, missing capability, or concrete product improvement should be proposed to the user."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:0f404109f4845683 -->
6
+ <!-- noodle-skill version:0.58.1 hash:0f404109f4845683 -->
7
7
 
8
8
  # reporting-noodle-feedback
9
9
 
@@ -3,7 +3,7 @@ name: verifying-mcp-delivery
3
3
  description: "Use when proving a Noodle Seed MCP project works at a named compile, local, connector, App, host, deployment, or production evidence level."
4
4
  ---
5
5
 
6
- <!-- noodle-skill version:0.58.0 hash:6ef6ef551e26b78e -->
6
+ <!-- noodle-skill version:0.58.1 hash:6ef6ef551e26b78e -->
7
7
 
8
8
  # verifying-mcp-delivery
9
9