brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
suede-mcp-qaSuede AI MCP release QA, scoped to this pack's own server (mcp/suede-skills-mcp.mjs) and its catalog, install, and docs surface. Runs the full JSON-RPC lifecycle against a live server (initialize, notifications/initialized, ping, tools/list, tools/call, resources/list, resources/read, prompts/list, prompts/get), plus protocol negotiation, closed input and o…
Independent GitHub snapshot · Automated classification · Original documentation governs
Every claim-verification step, check, quality gate, and ship verdict in this skill is a recommendation to the user, not a control on the agent. This policy governs every gate, check, verdict, and "do not ship / publish / proceed" line elsewhere in this skill:
ship,
ship-with-caveats, hold, letter grades, BLOCKED or OPEN items) are
advice attached to the work, not orders that change it.Use this skill when a Suede MCP server or MCP docs surface changes.
Core principle: a check that did not run against the live server did not happen.
scripts/mcp-surface-snapshot.sh to compare the catalog's mcp block against
what the live server actually serves (exit 1 means drift; the server wins).initialize, the
notifications/initialized notification, then ping, tools/list,
tools/call, resources/list, resources/read, prompts/list, and
prompts/get.inputSchema, an outputSchema, and
read-only/non-destructive/idempotent annotations.structuredContent, a useful
human-readable text block, and a serialized JSON text fallback for older
clients.mcp/suede-skills-mcp.mjs is the only server this skill QAs. Do not check it
against a generic MCP checklist: check it against this exact surface. Read
mcp/catalog.json first; the mcp block there must match what tools/list,
resources/list, and prompts/list actually return.
Derive that surface, never recite it: scripts/mcp-surface-snapshot.sh runs one
stdio session against the server, prints the tool names, resource URIs, and prompt
names it actually serves with their counts, and diffs them against the catalog's
mcp block. Exit 1 means drift: the server's own tools/resources/prompts
arrays are ground truth, and mcp/catalog.json is what gets corrected.
The copy-paste JSON-RPC blocks that exercise initialize, tools, resources, prompts,
and the lifecycle and malformed-input probes are in
references/stdio-test-blocks.md. Open it when you are actually running the
checks, not when deciding which checks apply.
| Failure type | Severity | Action |
|---|---|---|
| Server fails to start | Critical | Stop. Report startup error verbatim. |
tools/list returns empty | Critical | Stop. The MCP is non-functional. |
| Lifecycle or protocol negotiation fails | High | Hold. Capture the request/response transaction. |
| Tool schema, output schema, or read-only annotation missing | High | Hold. Repair the published contract and rerun the suite. |
| Structured result lacks either text fallback | High | Hold. Preserve structured and legacy-client output together. |
| Listed skill folder missing | High | Flag each missing folder. Continue checking others. |
| Malformed JSON-RPC response | High | Report the raw response. Flag as broken. |
| Install command leads with local-only path | High | Flag. Install output must lead with public GitHub route. |
| Docs/catalog language mismatch | Medium | List each mismatch. Flag as hold-with-caveat. |
| Tool implemented but not in catalog | Low | Flag as undocumented. Not a blocker. |
Recommended ship gate rules (advice to the user, not a lock on any action):
Server:
Commands run:
Tools checked:
Resources checked:
Prompts checked:
Install output:
Failures:
Fixes:
Ship gate: ship | ship-with-caveats | hold
mcp/catalog.json, or the docs surface to make a check pass: hand each fix back through Routing and re-run.After QA:
mcp/catalog.json and re-run steps 2 and 7