figwright: Skill for Claude Code

.claude/skills/mcp-sdk-audit/SKILL.md

mcp-sdk-audit is a skill for Claude Code from awdr74100/figwright. It costs 159 tokens per session (4,133 once invoked), scanned A, original, MIT.

A review process for upgrading the TypeScript software used to build MCP servers, which let coding agents expose tools to clients.

In plain words
What is it for?
Auditing an MCP SDK release, upgrading it in a project, and testing the built server over standard input and output to confirm its externally visible contract.
Why use it?
It checks whether an SDK update changes the JSON messages, tool descriptions, schemas, or protocol version that clients receive, even when type checks still pass.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: names the AskUserQuestion tool; mentions Claude Code; mentions Codex.

This is awdr74100/figwright's own configuration. It tells Claude Code how to work on figwright itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything figwright configures →

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is | sort -k2 > "../../hash-$p-$v.txt").

About the project

Figwright is a two-way Model Context Protocol server that lets coding agents exchange information with Figma through a companion plugin, turning designs into framework-aware code and editing the Figma canvas from code. Developers use it with agents such as Claude Code, Cursor, or Codex to read design context and create or modify Figma elements, and the catalogue contains skills and other workflow components for those interactions.

awdr74100/figwright · 1,188 stars · on GitHub

Reuse

Borrowing it

Nothing to install: this file belongs to awdr74100/figwright. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/awdr74100/figwright/main/.claude/skills/mcp-sdk-audit/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/awdr74100/figwright

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for mcp-sdk-audit

README.md
[![agentmods](https://agentmods.dev/badge/skills/awdr74100/figwright/mcp-sdk-audit/github.svg)](https://agentmods.dev/skills/awdr74100/figwright/mcp-sdk-audit)
Your own site
<a href="https://agentmods.dev/skills/awdr74100/figwright/mcp-sdk-audit"><img src="https://agentmods.dev/badge/skills/awdr74100/figwright/mcp-sdk-audit/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for mcp-sdk-audit

Your own site · 80×15
<a href="https://agentmods.dev/skills/awdr74100/figwright/mcp-sdk-audit"><img src="https://agentmods.dev/badge/skills/awdr74100/figwright/mcp-sdk-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 159 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,133 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00159 $0.04133
Opus 5.5 $0.00064 $0.01653
Sonnet 5.5 $0.00032 $0.00827
Haiku 4.5 $0.00016 $0.00413

Measured 1mo ago against content hash 71b7a107b439, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

mcp-sdk-audit scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

The scan reads SKILL.md. This mod also ships 1 executable file (probe.mjs), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/mcp-sdk-audit/SKILL.md · 263 lines

How it starts

The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Absorbing a @modelcontextprotocol/server release into Figwright, end to end: audit → upgrade → prove the wire contract is unchanged.

Do not reason about this the way figma-typings-audit reasons about plugin typings. That package is types-only, so tsc is a real gate. This one is a runtime dependency: it serializes every tool result, generates the JSON Schema for every tool, and negotiates the protocol version. A release can leave every type identical and still change what clients see. pnpm typecheck will stay green through it.

Unlike every other dependency here, this one has a dedicated gate — use it. packages/mcp/test/e2e/mcp-wire.test.ts spawns the built dist over real stdio, speaks raw JSON-RPC at it, and asserts the advertised contract against what the specs declare. It runs in pnpm test. That gate answers did anything break; it does not answer what moved, which is what an audit is for — Stage 5 covers the difference.

Know the one thing that gate cannot see. Its schema check compares the SDK's output against test/tool-schema.ts's derivation, and both call the same z.toJSONSchema. That is independent of the SDK — it catches an SDK that stops asking Zod the same question — but not of Zod: when Zod changes what it answers, both sides move together and the equality still holds. An SDK bump that also moves the resolved zod version (its range is ^4.2.0, so it shares the repo's copy) can therefore reshape every client's schema with this gate green. packages/mcp/test/json-schema-generation.test.ts covers that half by pinning each construct's rendering by hand — if a bump moves the Zod version, read its diff too, and let probe.mjs name which tools changed.

Target version: whatever the user named, otherwise the latest @modelcontextprotocol/server on npm.

Stage 0 — Resolve versions

grep '@modelcontextprotocol' packages/mcp/package.json          # declared range
grep -m1 '@modelcontextprotocol/server@' pnpm-lock.yaml         # what is installed
npm view @modelcontextprotocol/server version dist-tags --json  # latest
gh api repos/modelcontextprotocol/typescript-sdk/releases --jq '.[0:15][] | "\(.tag_name)\t\(.published_at)"'

Figwright is on v2 — the package family (@modelcontextprotocol/server + its transitive /core, with /client, /node, /express, /hono, /fastify, /server-legacy, /codemod alongside). It depends on exactly one of them.

Two things the releases list will show that are not upgrades for us:

  • Bare 1.30.0-style tags are the v1 legacy line (@modelcontextprotocol/sdk, source on the long-lived v1.x branch). Figwright left it; a v1 tag is not our concern.
  • @modelcontextprotocol/{client,express,fastify,hono,node,server-legacy,codemod}@X tags ship on the same version number as server but are packages we do not install.

If installed and target are equal, say so and stop.

Read the full file on GitHub · 263 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +34 lines 71b7a107b439
  2. 1mo ago Changed 2108a488bad8
  3. 1mo ago First seen · 229 lines · 159 tokens per session scan A 0fe1ab9da01a

Subscribe to this mod's changes

mcp-sdk-audit is a skill published in the GitHub repository awdr74100/figwright (1,188 stars, last pushed yesterday), licensed MIT. It adds 159 tokens to every session and 4,133 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.