@noodleseed/agent-kit 0.50.0 → 0.52.0

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 +7 -4
  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/hello/README.md +9 -8
  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/feedback.md +9 -6
  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 +7 -4
  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/hello/README.md +9 -8
  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/feedback.md +9 -6
  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.50.0",
3
+ "version": "0.52.0",
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.50.0 hash:cd6ca0d915e6acb9 -->
6
+ <!-- noodle-skill version:0.52.0 hash:18e16a8fa4c68b86 -->
7
7
 
8
8
  # Noodle Seed
9
9
 
@@ -13,7 +13,7 @@ Use this skill for project-local Noodle Seed authoring in the active coding host
13
13
 
14
14
  If the request is unrelated to the Noodle MCP surface, stop here: follow the project's normal instructions and run no Noodle lifecycle commands.
15
15
 
16
- **Installed-plugin execution.** When this skill is supplied by the Noodle Developer plugin, preserve the managed invocation path established by the plugin bootstrap and invoke every `noodle` command through that host bundle's managed launcher. Do not install or update a global CLI. Noodle guides and operates the lifecycle; you write and test the application source in the user's project.
16
+ **Installed-plugin execution.** When this skill is supplied by the Noodle Developer plugin, you write and test the application source, then use its supported `noodle-readiness` tools for project setup, build gates, exact-target linking, variables, secret-from-environment transfer, gated deployment, and feedback. Treat the corresponding public `noodle ...` command as recovery text, never as permission to discover or expose an internal launcher. If a tool fails, report its structured error and public `noodle ...` command; do not ask the user to copy a private installation path or perform an operation the authorized tool can perform.
17
17
 
18
18
  ## Route the request
19
19
 
@@ -35,12 +35,14 @@ Negative routing examples: “Inspect hosted logs/status” → `inspect-hosted`
35
35
  | Deploy, configure, connect with writes, change access, or roll back a hosted MCP service when explicitly requested | `deploying-mcp-services` | `references/deploy-and-ops.md` (`references/cli-commands.md`) | The requested hosted state is evidenced without claiming unperformed host or production checks. |
36
36
  | Embed a Noodle assistant in an existing SaaS or web application | `embedding-mcp-assistants` | `references/embedded-assistant.md` (`references/authoring-workflow.md`) | The requested embed boundary works with verified identity and credential separation at the tested level. |
37
37
  | Prepare or submit an integration to a host directory | `publishing-mcp-integrations` | `references/publishing.md` (`references/app-directory-compliance.md`) | The requested submission evidence is complete and any host-review uncertainty is explicit. |
38
- | Report a Noodle Seed bug, documentation gap, or product improvement | `reporting-noodle-feedback` | `references/feedback.md` (None) | A sanitized dry-run preview and exact live command are shown, then one submission occurs only after explicit approval. |
38
+ | Report a Noodle Seed bug, documentation gap, or product improvement | `reporting-noodle-feedback` | `references/feedback.md` (None) | A sanitized dry-run preview and exact proposal are shown, then one submission occurs only after explicit approval. |
39
39
 
40
40
  ## Common machine loop
41
41
 
42
42
  Every `--json` command speaks the canonical envelope on stdout. Parse machine state instead of scraping human prose; `references/agent-contract.md` owns the envelope, streaming records, and exit codes.
43
43
 
44
+ Inside the installed plugin, perform mapped steps with `noodle-readiness` tools and use the public `noodle ...` spelling only when reporting the logical action or a fallback. Outside the plugin, run the public CLI directly. Never construct a hidden launcher command.
45
+
44
46
  1. **Discover** — use `noodle commands --json` when the required command or flags are uncertain; don't read CLI source.
45
47
  2. **Author** — for build routes, edit the configured TypeScript entrypoint, usually `src/server.ts`.
46
48
  3. **Validate** — run `noodle validate --json`; repair each `error.errors[]` item at its `path`, then re-run `noodle validate --json`.
@@ -76,11 +78,12 @@ This is a lookup catalog, not a discovery checklist. Return here only when the s
76
78
 
77
79
  ## Product feedback
78
80
 
79
- When you discover a bug, missing capability, misleading doc, or improvement idea, discover current fields with `noodle commands --json`, draft and sanitize one finding, then run `noodle feedback ... --dry-run --json`. Inspect and show the exact normalized submission, diagnostics, private destination, and POSIX-safely quoted live command. Ask for explicit approval of that exact proposal; do not submit it until approval. Then submit once without `--dry-run`. Follow `references/feedback.md`; never include customer code, secrets, personal data, or identifying project details, and never auto-login or retry-loop.
81
+ When you discover a bug, missing capability, misleading doc, or improvement idea, draft and sanitize one finding, then preview it with `noodle-readiness.preview_product_feedback` in the installed plugin or `noodle feedback ... --dry-run --json` in the public CLI. Inspect and show the normalized submission, diagnostics, and private destination. Ask for explicit approval of that exact proposal; do not submit it until approval. Then call `noodle-readiness.submit_product_feedback` once with approval, or run the public CLI once without `--dry-run`. Follow `references/feedback.md`; pass structured arguments directly instead of composing a shell command, never include customer code, secrets, personal data, or identifying project details, and never auto-login or retry-loop.
80
82
 
81
83
  ## Safety
82
84
 
83
85
  - Keep secrets, bearer tokens, refresh tokens, static access keys, `.env.noodle` values, and `~/.noodle/config.json` out of prompts, logs, docs, tests, and generated files.
86
+ - Never expose an internal launcher or private installation path, ask the user to paste a command the plugin can execute, or use an ad hoc shell/file-parsing pipeline to move a secret. Use the typed secret-from-environment tool or `noodle secrets set ... --from-env NAME`.
84
87
  - Do not hand-author manifest JSON/YAML, runtime artifacts, connector IR, or hosted asset metadata.
85
88
  - Do not add static data-plane credential paths; hosted access is identity-based.
86
89
  - Hosted mutation is opt-in. Run `link`, hosted secret/variable/config/access changes, deploy, rollback, host configuration writes, or directory submission only when the current user request explicitly authorizes the exact mutation and target. An inspect, prepare, validate, test, or local-only request grants no such authority; stop and ask before crossing that boundary.
@@ -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.50.0 hash:0b2fd8c7e43fc69f -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:f7fa54992c8d7692 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:1e86b8704f407bd3 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:aa715bae12041d7c -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:93e735b7ffb45df1 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:76cce86729cffbee -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:cc54a67f21c0ecdb -->
6
+ <!-- noodle-skill version:0.52.0 hash:cc54a67f21c0ecdb -->
7
7
 
8
8
  # embedding-mcp-assistants
9
9
 
@@ -5,17 +5,18 @@ connectors, secrets, flows, widgets, or handoff policy. It still uses the curren
5
5
  so new authors see where server-level branding belongs. Use it to smoke the author loop
6
6
  (`noodle validate` / `noodle dev`) or a first deploy.
7
7
 
8
- When an installed Noodle Developer plugin drives this example, its skill runs these logical
9
- `noodle` commands through the plugin-managed, version-pinned launcher and isolated host profile.
10
- Do not install or update a global CLI: the coding agent writes and tests this source while Noodle
11
- guides and operates the validate, preview, deploy, inspect, and debug workflow.
8
+ When an installed Noodle Developer plugin drives this example, its skill performs mapped lifecycle
9
+ steps through the supported `noodle-readiness` tools and reports only stable public `noodle ...`
10
+ commands as recovery text. Do not install or update a global CLI: the coding agent writes and tests
11
+ this source while Noodle guides and operates the validate, preview, deploy, inspect, and debug workflow.
12
12
  For an approved implementation plan, the installed `executing-noodle-plans` skill owns the
13
13
  test-first task, review, recovery, and final-verification loop.
14
14
  If that agent discovers a Noodle Seed product gap while working, the installed skill prepares a
15
- sanitized `noodle feedback` proposal, discovers current fields from `noodle commands --json`, runs
16
- `--dry-run --json` to inspect the exact normalized submission, diagnostics, and private destination,
17
- then shows a POSIX-safely quoted live command. It submits once without `--dry-run` only after explicit
18
- user approval of that exact preview; it never auto-logs in or retry-loops.
15
+ sanitized `noodle feedback` proposal, discovers current fields from `noodle commands --json`, and
16
+ previews the exact normalized submission, diagnostics, and private destination through the typed
17
+ plugin function or `--dry-run --json`. It includes its known `--agent` and `--model` identity without
18
+ guessing unavailable values, keeps those fields structured, and submits once only after explicit user
19
+ approval of that exact preview; it never composes a shell wrapper, auto-logs in, or retry-loops.
19
20
  Every `--json` command writes its canonical success or failure envelope to stdout and leaves stderr
20
21
  empty. One-shot commands write one envelope; streaming commands write NDJSON snapshot, event, and
21
22
  terminal-failure envelopes so agents can parse each line independently.
@@ -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.50.0 hash:6a9f132ddb79352e -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:efffbf82007f935d -->
6
+ <!-- noodle-skill version:0.52.0 hash:efffbf82007f935d -->
7
7
 
8
8
  # publishing-mcp-integrations
9
9
 
@@ -1,6 +1,6 @@
1
1
  # Send product feedback
2
2
 
3
- When you — the coding agent — discover a way Noodle Seed could be better, prepare one sanitized feedback proposal. Feedback crosses the customer project boundary and lands in the Noodle Seed private feedback tracker, so the user must make an informed choice. Preview the exact normalized submission locally, show it with the exact live command, and ask for explicit user approval. Do not submit it until approval is given.
3
+ When you — the coding agent — discover a way Noodle Seed could be better, prepare one sanitized feedback proposal. Feedback crosses the customer project boundary and lands in the Noodle Seed private feedback tracker, so the user must make an informed choice. Preview the exact normalized submission locally, show its stable public `noodle feedback` action, and ask for explicit user approval. Do not submit it until approval is given.
4
4
 
5
5
  ## Contents
6
6
 
@@ -27,27 +27,30 @@ Do not batch several findings into one proposal, and do not re-propose the same
27
27
  ## Approval workflow
28
28
 
29
29
  1. Discover the current positional arguments, flags, choices, defaults, and limits from `noodle commands --json`; `noodle feedback --help` is the human-readable view. Do not guess or rely on a remembered catalog.
30
- 2. Draft one finding, then sanitize its title and message using the rules below.
30
+ 2. Draft one finding, then sanitize its title and message using the rules below. When your coding-agent name is known, add `--agent`; add `--model` only when the exact model identifier is also known. These fields are client-reported provenance: never guess either value.
31
31
  3. Run the proposal with `--dry-run --json`. This local preview needs no login and sends nothing. Parse `{"ok":true,"data":{"mode":"preview","willSubmit":false,"destination":"Noodle Seed private feedback tracker","submission":{...}}}`.
32
- 4. Inspect the complete `submission`, including its normalized defaults and automatically attached diagnostics. Show the user the exact previewed proposal, its `destination`, and a POSIX-safely quoted live command containing the same fields but without `--dry-run`.
32
+ 4. Inspect the complete `submission`, including its normalized defaults and automatically attached diagnostics. Show the user the exact previewed proposal, its `destination`, and the stable public `noodle feedback` action. Keep the proposal as structured fields instead of rebuilding it as shell text.
33
33
  5. Ask for explicit approval of that exact previewed proposal. If the user changes any field, preview the changed proposal again before asking.
34
- 6. Only after approval, submit it once by running the disclosed live command without `--dry-run`. Never auto-login and never retry-loop. If authentication fails before the request or a rate limit denies it, report that nothing was sent. For `feedback_recording_failed`, report that no reference was returned and the outcome may be unknown; do not retry because the private issue might already exist.
34
+ 6. Only after approval, submit it once with `noodle-readiness.submit_product_feedback` when the installed plugin tool is available, or pass the same structured fields directly to the public CLI without `--dry-run`. Never auto-login and never retry-loop. If authentication fails before the request or a rate limit denies it, report that nothing was sent. For `feedback_recording_failed`, report that no reference was returned and the outcome may be unknown; do not retry because the private issue might already exist.
35
35
 
36
36
  ## The command
37
37
 
38
38
  ```sh
39
39
  noodle feedback 'resources list --json omits the truncated flag the docs promise' \
40
40
  --title 'resources list --json missing truncated flag' \
41
- --type fix --severity P2 --area cli --dry-run --json
41
+ --type fix --severity P2 --area cli --agent 'coding-agent' --model 'model-id' \
42
+ --dry-run --json
42
43
  ```
43
44
 
44
- This is a preview example only. Build the exact command for the finding using current `noodle commands --json` metadata, POSIX-quote every user-controlled value, and inspect the returned submission instead of reconstructing it. The message is required (1–4000 chars). The CLI attaches only the disclosed light diagnostics automatically: CLI version, OS/platform, Node version. Nothing else is collected. After approval, the live success envelope is `{ok:true,data:{reference,labels}}`; a `429` means the per-user hourly budget (5) is spent — report that it was not sent and never retry-loop.
45
+ This is a preview example only: replace `coding-agent` and `model-id` with your known coding-agent identity, or omit both when unavailable. Build structured arguments for the finding using current `noodle commands --json` metadata and inspect the returned submission instead of reconstructing it. Invoke the CLI with an argument array or the typed plugin function, never a shell wrapper or copy/paste request. The message is required (1–4000 chars). The CLI attaches only the disclosed light diagnostics automatically: CLI version, OS/platform, Node version. Agent/model provenance is included only through the explicit client-reported flags. Nothing else is collected. After approval, the live success envelope is `{ok:true,data:{reference,labels}}`; a `429` means the per-user hourly budget (5) is spent — report that it was not sent and never retry-loop.
45
46
 
46
47
  ## Choose the structured fields
47
48
 
48
49
  - `--type` — `fix` (bug/regression/wrong output), `feat` (missing capability), `docs` (misleading or absent docs/examples), `chore` (tooling/setup friction). Default `feat`.
49
50
  - `--severity` — `P0` only for a security-relevant defect; `P1` a workflow is blocked with no workaround; `P2` blocked but a workaround exists; `P3` (default) papercut or idea.
50
51
  - `--area` — one of `docs analytics connectors self-service conformance ci deploys distribution console dx plugins cli compiler multi-surface enterprise policy`. Use `cli` for command behavior, `dx` for authoring/agent ergonomics; omit when unsure.
52
+ - `--agent` — your known coding-agent product name (1–64 chars). Omit when unavailable; the CLI does not auto-detect it.
53
+ - `--model` — the exact known model identifier (1–64 chars). Requires `--agent`; omit rather than guessing.
51
54
  - `--title` — one line, ≤120 chars, stating the defect or idea (defaults to the message’s first line).
52
55
 
53
56
  ## Sanitization rules (hard requirements)
@@ -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.50.0 hash:0f404109f4845683 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:6ef6ef551e26b78e -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:cd6ca0d915e6acb9 -->
6
+ <!-- noodle-skill version:0.52.0 hash:18e16a8fa4c68b86 -->
7
7
 
8
8
  # Noodle Seed
9
9
 
@@ -13,7 +13,7 @@ Use this skill for project-local Noodle Seed authoring in the active coding host
13
13
 
14
14
  If the request is unrelated to the Noodle MCP surface, stop here: follow the project's normal instructions and run no Noodle lifecycle commands.
15
15
 
16
- **Installed-plugin execution.** When this skill is supplied by the Noodle Developer plugin, preserve the managed invocation path established by the plugin bootstrap and invoke every `noodle` command through that host bundle's managed launcher. Do not install or update a global CLI. Noodle guides and operates the lifecycle; you write and test the application source in the user's project.
16
+ **Installed-plugin execution.** When this skill is supplied by the Noodle Developer plugin, you write and test the application source, then use its supported `noodle-readiness` tools for project setup, build gates, exact-target linking, variables, secret-from-environment transfer, gated deployment, and feedback. Treat the corresponding public `noodle ...` command as recovery text, never as permission to discover or expose an internal launcher. If a tool fails, report its structured error and public `noodle ...` command; do not ask the user to copy a private installation path or perform an operation the authorized tool can perform.
17
17
 
18
18
  ## Route the request
19
19
 
@@ -35,12 +35,14 @@ Negative routing examples: “Inspect hosted logs/status” → `inspect-hosted`
35
35
  | Deploy, configure, connect with writes, change access, or roll back a hosted MCP service when explicitly requested | `deploying-mcp-services` | `references/deploy-and-ops.md` (`references/cli-commands.md`) | The requested hosted state is evidenced without claiming unperformed host or production checks. |
36
36
  | Embed a Noodle assistant in an existing SaaS or web application | `embedding-mcp-assistants` | `references/embedded-assistant.md` (`references/authoring-workflow.md`) | The requested embed boundary works with verified identity and credential separation at the tested level. |
37
37
  | Prepare or submit an integration to a host directory | `publishing-mcp-integrations` | `references/publishing.md` (`references/app-directory-compliance.md`) | The requested submission evidence is complete and any host-review uncertainty is explicit. |
38
- | Report a Noodle Seed bug, documentation gap, or product improvement | `reporting-noodle-feedback` | `references/feedback.md` (None) | A sanitized dry-run preview and exact live command are shown, then one submission occurs only after explicit approval. |
38
+ | Report a Noodle Seed bug, documentation gap, or product improvement | `reporting-noodle-feedback` | `references/feedback.md` (None) | A sanitized dry-run preview and exact proposal are shown, then one submission occurs only after explicit approval. |
39
39
 
40
40
  ## Common machine loop
41
41
 
42
42
  Every `--json` command speaks the canonical envelope on stdout. Parse machine state instead of scraping human prose; `references/agent-contract.md` owns the envelope, streaming records, and exit codes.
43
43
 
44
+ Inside the installed plugin, perform mapped steps with `noodle-readiness` tools and use the public `noodle ...` spelling only when reporting the logical action or a fallback. Outside the plugin, run the public CLI directly. Never construct a hidden launcher command.
45
+
44
46
  1. **Discover** — use `noodle commands --json` when the required command or flags are uncertain; don't read CLI source.
45
47
  2. **Author** — for build routes, edit the configured TypeScript entrypoint, usually `src/server.ts`.
46
48
  3. **Validate** — run `noodle validate --json`; repair each `error.errors[]` item at its `path`, then re-run `noodle validate --json`.
@@ -76,11 +78,12 @@ This is a lookup catalog, not a discovery checklist. Return here only when the s
76
78
 
77
79
  ## Product feedback
78
80
 
79
- When you discover a bug, missing capability, misleading doc, or improvement idea, discover current fields with `noodle commands --json`, draft and sanitize one finding, then run `noodle feedback ... --dry-run --json`. Inspect and show the exact normalized submission, diagnostics, private destination, and POSIX-safely quoted live command. Ask for explicit approval of that exact proposal; do not submit it until approval. Then submit once without `--dry-run`. Follow `references/feedback.md`; never include customer code, secrets, personal data, or identifying project details, and never auto-login or retry-loop.
81
+ When you discover a bug, missing capability, misleading doc, or improvement idea, draft and sanitize one finding, then preview it with `noodle-readiness.preview_product_feedback` in the installed plugin or `noodle feedback ... --dry-run --json` in the public CLI. Inspect and show the normalized submission, diagnostics, and private destination. Ask for explicit approval of that exact proposal; do not submit it until approval. Then call `noodle-readiness.submit_product_feedback` once with approval, or run the public CLI once without `--dry-run`. Follow `references/feedback.md`; pass structured arguments directly instead of composing a shell command, never include customer code, secrets, personal data, or identifying project details, and never auto-login or retry-loop.
80
82
 
81
83
  ## Safety
82
84
 
83
85
  - Keep secrets, bearer tokens, refresh tokens, static access keys, `.env.noodle` values, and `~/.noodle/config.json` out of prompts, logs, docs, tests, and generated files.
86
+ - Never expose an internal launcher or private installation path, ask the user to paste a command the plugin can execute, or use an ad hoc shell/file-parsing pipeline to move a secret. Use the typed secret-from-environment tool or `noodle secrets set ... --from-env NAME`.
84
87
  - Do not hand-author manifest JSON/YAML, runtime artifacts, connector IR, or hosted asset metadata.
85
88
  - Do not add static data-plane credential paths; hosted access is identity-based.
86
89
  - Hosted mutation is opt-in. Run `link`, hosted secret/variable/config/access changes, deploy, rollback, host configuration writes, or directory submission only when the current user request explicitly authorizes the exact mutation and target. An inspect, prepare, validate, test, or local-only request grants no such authority; stop and ask before crossing that boundary.
@@ -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.50.0 hash:0b2fd8c7e43fc69f -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:f7fa54992c8d7692 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:1e86b8704f407bd3 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:aa715bae12041d7c -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:93e735b7ffb45df1 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:76cce86729cffbee -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:cc54a67f21c0ecdb -->
6
+ <!-- noodle-skill version:0.52.0 hash:cc54a67f21c0ecdb -->
7
7
 
8
8
  # embedding-mcp-assistants
9
9
 
@@ -5,17 +5,18 @@ connectors, secrets, flows, widgets, or handoff policy. It still uses the curren
5
5
  so new authors see where server-level branding belongs. Use it to smoke the author loop
6
6
  (`noodle validate` / `noodle dev`) or a first deploy.
7
7
 
8
- When an installed Noodle Developer plugin drives this example, its skill runs these logical
9
- `noodle` commands through the plugin-managed, version-pinned launcher and isolated host profile.
10
- Do not install or update a global CLI: the coding agent writes and tests this source while Noodle
11
- guides and operates the validate, preview, deploy, inspect, and debug workflow.
8
+ When an installed Noodle Developer plugin drives this example, its skill performs mapped lifecycle
9
+ steps through the supported `noodle-readiness` tools and reports only stable public `noodle ...`
10
+ commands as recovery text. Do not install or update a global CLI: the coding agent writes and tests
11
+ this source while Noodle guides and operates the validate, preview, deploy, inspect, and debug workflow.
12
12
  For an approved implementation plan, the installed `executing-noodle-plans` skill owns the
13
13
  test-first task, review, recovery, and final-verification loop.
14
14
  If that agent discovers a Noodle Seed product gap while working, the installed skill prepares a
15
- sanitized `noodle feedback` proposal, discovers current fields from `noodle commands --json`, runs
16
- `--dry-run --json` to inspect the exact normalized submission, diagnostics, and private destination,
17
- then shows a POSIX-safely quoted live command. It submits once without `--dry-run` only after explicit
18
- user approval of that exact preview; it never auto-logs in or retry-loops.
15
+ sanitized `noodle feedback` proposal, discovers current fields from `noodle commands --json`, and
16
+ previews the exact normalized submission, diagnostics, and private destination through the typed
17
+ plugin function or `--dry-run --json`. It includes its known `--agent` and `--model` identity without
18
+ guessing unavailable values, keeps those fields structured, and submits once only after explicit user
19
+ approval of that exact preview; it never composes a shell wrapper, auto-logs in, or retry-loops.
19
20
  Every `--json` command writes its canonical success or failure envelope to stdout and leaves stderr
20
21
  empty. One-shot commands write one envelope; streaming commands write NDJSON snapshot, event, and
21
22
  terminal-failure envelopes so agents can parse each line independently.
@@ -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.50.0 hash:6a9f132ddb79352e -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:efffbf82007f935d -->
6
+ <!-- noodle-skill version:0.52.0 hash:efffbf82007f935d -->
7
7
 
8
8
  # publishing-mcp-integrations
9
9
 
@@ -1,6 +1,6 @@
1
1
  # Send product feedback
2
2
 
3
- When you — the coding agent — discover a way Noodle Seed could be better, prepare one sanitized feedback proposal. Feedback crosses the customer project boundary and lands in the Noodle Seed private feedback tracker, so the user must make an informed choice. Preview the exact normalized submission locally, show it with the exact live command, and ask for explicit user approval. Do not submit it until approval is given.
3
+ When you — the coding agent — discover a way Noodle Seed could be better, prepare one sanitized feedback proposal. Feedback crosses the customer project boundary and lands in the Noodle Seed private feedback tracker, so the user must make an informed choice. Preview the exact normalized submission locally, show its stable public `noodle feedback` action, and ask for explicit user approval. Do not submit it until approval is given.
4
4
 
5
5
  ## Contents
6
6
 
@@ -27,27 +27,30 @@ Do not batch several findings into one proposal, and do not re-propose the same
27
27
  ## Approval workflow
28
28
 
29
29
  1. Discover the current positional arguments, flags, choices, defaults, and limits from `noodle commands --json`; `noodle feedback --help` is the human-readable view. Do not guess or rely on a remembered catalog.
30
- 2. Draft one finding, then sanitize its title and message using the rules below.
30
+ 2. Draft one finding, then sanitize its title and message using the rules below. When your coding-agent name is known, add `--agent`; add `--model` only when the exact model identifier is also known. These fields are client-reported provenance: never guess either value.
31
31
  3. Run the proposal with `--dry-run --json`. This local preview needs no login and sends nothing. Parse `{"ok":true,"data":{"mode":"preview","willSubmit":false,"destination":"Noodle Seed private feedback tracker","submission":{...}}}`.
32
- 4. Inspect the complete `submission`, including its normalized defaults and automatically attached diagnostics. Show the user the exact previewed proposal, its `destination`, and a POSIX-safely quoted live command containing the same fields but without `--dry-run`.
32
+ 4. Inspect the complete `submission`, including its normalized defaults and automatically attached diagnostics. Show the user the exact previewed proposal, its `destination`, and the stable public `noodle feedback` action. Keep the proposal as structured fields instead of rebuilding it as shell text.
33
33
  5. Ask for explicit approval of that exact previewed proposal. If the user changes any field, preview the changed proposal again before asking.
34
- 6. Only after approval, submit it once by running the disclosed live command without `--dry-run`. Never auto-login and never retry-loop. If authentication fails before the request or a rate limit denies it, report that nothing was sent. For `feedback_recording_failed`, report that no reference was returned and the outcome may be unknown; do not retry because the private issue might already exist.
34
+ 6. Only after approval, submit it once with `noodle-readiness.submit_product_feedback` when the installed plugin tool is available, or pass the same structured fields directly to the public CLI without `--dry-run`. Never auto-login and never retry-loop. If authentication fails before the request or a rate limit denies it, report that nothing was sent. For `feedback_recording_failed`, report that no reference was returned and the outcome may be unknown; do not retry because the private issue might already exist.
35
35
 
36
36
  ## The command
37
37
 
38
38
  ```sh
39
39
  noodle feedback 'resources list --json omits the truncated flag the docs promise' \
40
40
  --title 'resources list --json missing truncated flag' \
41
- --type fix --severity P2 --area cli --dry-run --json
41
+ --type fix --severity P2 --area cli --agent 'coding-agent' --model 'model-id' \
42
+ --dry-run --json
42
43
  ```
43
44
 
44
- This is a preview example only. Build the exact command for the finding using current `noodle commands --json` metadata, POSIX-quote every user-controlled value, and inspect the returned submission instead of reconstructing it. The message is required (1–4000 chars). The CLI attaches only the disclosed light diagnostics automatically: CLI version, OS/platform, Node version. Nothing else is collected. After approval, the live success envelope is `{ok:true,data:{reference,labels}}`; a `429` means the per-user hourly budget (5) is spent — report that it was not sent and never retry-loop.
45
+ This is a preview example only: replace `coding-agent` and `model-id` with your known coding-agent identity, or omit both when unavailable. Build structured arguments for the finding using current `noodle commands --json` metadata and inspect the returned submission instead of reconstructing it. Invoke the CLI with an argument array or the typed plugin function, never a shell wrapper or copy/paste request. The message is required (1–4000 chars). The CLI attaches only the disclosed light diagnostics automatically: CLI version, OS/platform, Node version. Agent/model provenance is included only through the explicit client-reported flags. Nothing else is collected. After approval, the live success envelope is `{ok:true,data:{reference,labels}}`; a `429` means the per-user hourly budget (5) is spent — report that it was not sent and never retry-loop.
45
46
 
46
47
  ## Choose the structured fields
47
48
 
48
49
  - `--type` — `fix` (bug/regression/wrong output), `feat` (missing capability), `docs` (misleading or absent docs/examples), `chore` (tooling/setup friction). Default `feat`.
49
50
  - `--severity` — `P0` only for a security-relevant defect; `P1` a workflow is blocked with no workaround; `P2` blocked but a workaround exists; `P3` (default) papercut or idea.
50
51
  - `--area` — one of `docs analytics connectors self-service conformance ci deploys distribution console dx plugins cli compiler multi-surface enterprise policy`. Use `cli` for command behavior, `dx` for authoring/agent ergonomics; omit when unsure.
52
+ - `--agent` — your known coding-agent product name (1–64 chars). Omit when unavailable; the CLI does not auto-detect it.
53
+ - `--model` — the exact known model identifier (1–64 chars). Requires `--agent`; omit rather than guessing.
51
54
  - `--title` — one line, ≤120 chars, stating the defect or idea (defaults to the message’s first line).
52
55
 
53
56
  ## Sanitization rules (hard requirements)
@@ -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.50.0 hash:0f404109f4845683 -->
6
+ <!-- noodle-skill version:0.52.0 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.50.0 hash:6ef6ef551e26b78e -->
6
+ <!-- noodle-skill version:0.52.0 hash:6ef6ef551e26b78e -->
7
7
 
8
8
  # verifying-mcp-delivery
9
9