Catch MCP drift before release: skill catalogs, tool and resource schemas, prompts, install paths, JSON-RPC behavior, and docs alignment.
npx skills add https://github.com/JasonColapietro/suede-creator-skills --skill suede-mcp-qa
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.
because a check failed or a gate said hold. Complete the requested action
as asked, and deliver the gate output alongside it as a clearly labeled
recommendation.
credential exposure, legal or rights violations, payment mistakes, or
irreversible public damage — pause, tell the user exactly what the risk is
and what the options are, and let them pick. Their choice is final.
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.
initialize, thenotifications/initialized notification, then ping, tools/list,
tools/call, resources/list, resources/read, prompts/list, and
prompts/get.
version negotiates to the server's latest supported version.
inputSchema, an outputSchema, andread-only/non-destructive/idempotent annotations.
structuredContent, a usefulhuman-readable text block, and a serialized JSON text fallback for older
clients.
bounded arguments, invalid names and schemas, malformed JSON, and unknown
methods.
only; logs and stack traces must never corrupt the transport.
commands are labeled local-only, and README/docs/catalog language agrees
with the live server.
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.
7 tools: list_suede_skills, get_suede_skill, suede_install_options,
suede_copy_seo_audit, suede_visibility_grade, suede_code_grade,
suede_qa_checklist.
6 resources: suede://catalog, suede://plugins, suede://copy-seo-audit,
suede://visibility-grade, suede://code-grade, suede://qa-checklist.
5 prompts: suede-copy-seo-audit, suede-plugin-install,
suede-visibility-grade, suede-code-grade, suede-full-qa.
If any count drifts, the source (resources/tools/prompts arrays in
suede-skills-mcp.mjs) is ground truth, not this list — re-run tools/list,
resources/list, and prompts/list and update both this section and
mcp/catalog.json's mcp block to match.
Run from the repo root. The canonical gate starts real child processes and
tests complete sessions rather than isolated requests:
npm run test:mcp
It must pass lifecycle enforcement and version negotiation; list/call/read/get
coverage; closed input and output schemas; read-only annotations;
structuredContent plus both text forms; profile filtering; malformed input;
the 1 MiB transport bound; invalid profile handling; stdout JSON purity; and
clean healthy stderr.
For a manual readback, keep initialization and later requests in the same
server process. A new process is a new MCP session:
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"suede-mcp-qa","version":"1.0.0"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"suede_install_options","arguments":{"surface":"mcp"}}}' \
| node mcp/suede-skills-mcp.mjs --profile all
The initialization result must report protocol 2025-06-18, server version
0.9.2, and explicit tools/resources/prompts capabilities. tools/list must
return exactly the 7 tools above. Each tool must expose inputSchema,
outputSchema, and annotations with readOnlyHint: true,
destructiveHint: false, idempotentHint: true, and openWorldHint: false.
The successful call must return structuredContent; content[0] must be useful
human text and content[1] must be the same structured payload serialized as
JSON for backwards-compatible clients.
To prove the lifecycle guard independently:
printf '%s\n' '{"jsonrpc":"2.0","id":4,"method":"tools/list","params":{}}' \
| node mcp/suede-skills-mcp.mjs --profile all
This must return error -32000 because notifications/initialized has not
completed. Use the automated suite for post-initialization negative paths; a
standalone tools/call example is invalid because it starts a fresh session.
Error codes: -32700 parse error; -32600 invalid request, duplicate
initialization, or transport overflow; -32601 unsupported method; -32602
invalid params, arguments, tool, resource, or prompt; -32000 request before
session readiness; -32603 unexpected internal error. A parse error correctly
uses id: null. A raw stack trace or any non-JSON stdout is a High failure.
| 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
After QA:
mcp/catalog.json and re-run steps 2 and 7Multi-agent autonomous startup system for Claude Code. Triggers on "Loki Mode". Orchestrates 100+ specialized agents across engineering, QA, DevOps, security, data/ML, business operations, marketing, HR, and customer success. Takes PRD to fully deployed, revenue-generating product with zero human intervention. Features Task tool for subagent dispatch, parallel code review with 3 specialized reviewers, severity-based issue triage, distributed task queue with dead letter handling, automatic deployment to cloud providers, A/B testing, customer feedback loops, incident response, circuit breakers, and self-healing. Handles rate limits via distributed state checkpoints and auto-resume with exponential backoff. Requires --dangerously-skip-permissions flag.
Use when working with error debugging multi agent review
Build evaluation frameworks for agent systems. Use when testing agent performance systematically, validating context engineering choices, or measuring improvements over time.
Diagnoses and debugs A2A agent communication issues including agent status, message routing, transport connectivity, and log analysis. Use when agents aren't responding, messages aren't being delivered, routing is incorrect, or when debugging orchestrator, coder-agent, tester-agent communication problems.
Use when working with error debugging multi agent review
Rapidly creates atomic, focused skills optimized with evidence-based prompting, specialist agents, and systematic testing. Each micro-skill does one thing exceptionally well using self-consistency, program-of-thought, and plan-and-solve patterns. Enhanced with agent-creator principles and functionality-audit validation. Perfect for building composable workflow components.
Ultimate multi-agent framework for Google Antigravity. Orchestrates specialized domain agents (PM, Frontend, Backend, Mobile, QA, Debug) via Serena Memory.
This skill should be used when the user asks to "evaluate agent performance", "build test framework", "measure agent quality", "create evaluation rubrics", or mentions LLM-as-judge, multi-dimensional evaluation, agent testing, or quality gates for agent pipelines.
Take jasoncolapietro/suede-mcp-qa from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.