Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Check an agent skill before you install it: which of your skills will it clash with?
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://skillcheck-alpha.vercel.app/mcpRun this in your terminal
claude mcp add --transport http skillcheck https://skillcheck-alpha.vercel.app/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"skillcheck": {
"url": "https://skillcheck-alpha.vercel.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"skillcheck": {
"type": "http",
"url": "https://skillcheck-alpha.vercel.app/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://skillcheck-alpha.vercel.app/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
check_skill_repoStatic check of every SKILL.md (Claude Code / Codex agent skills) in a public GitHub repo: frontmatter and YAML errors, name/folder mismatch, missing or weak descriptions, slash-command-only wording that blocks automatic triggering, disable-model-invocation, nested SKILL.md, dupl
preflight_skillCall BEFORE installing a skill or skill pack from GitHub. Pass the repo and the skills the user already has (name + description, e.g. from your own skill listing). Returns, for each new skill: static problems, name clashes that would shadow an installed skill, which installed ski
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account Noem836, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 97 ms (HTTP 200)
No sign-in needed
Read 2 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.1.2) reached the registry 10 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Rystic
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Start, seed, clock, inspect and diff Rystic API simulators from your agent.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Find out which of your skills is stealing the request.
Your skill passed eval. Does it fire in *your* setup, next to everything else you installed?
Official skill evals load one skill in a clean environment. In real use it sits next to dozens of other skills and plugins, and one of them quietly takes the request. In the author's setup, prompts that fired 21/21 in an isolated claude plugin eval missed 5 times in the real harness.
skillcheck runs your prompts through your real claude and codex CLIs with everything you have installed, and reports which skill fired, which one stole the request, how flaky each prompt is, and whether your description fix helped.
**New: check a skill *before* you install it.** preflight tells you which of your installed skills a new one will take requests from, by running your existing skills' prompts with and without it in a throwaway folder. Your real skill folders are not touched. Word overlap only suggests suspects (a narrow skill can take requests with little shared wording), so name the skills you care about with --skills:
python3 skillcheck.py preflight path/to/new-skill # instant: name clashes, likely rivals, listing size
python3 skillcheck.py preflight path/to/new-skill --measure # real runs: your skills' fire rate without → with it python3 skillcheck.py preflight path/to/new-skill --measure --skills my-a,my-b # pick which of yours to measure
Example report: two skills went from 0/4 and 1/4 to 4/4 after rewriting their descriptions.
As a Claude Code plugin (the skillcheck skill walks you through scan → run → fix → re-run):
/plugin install skillcheck --marketplace Noem836/skillcheck
Or as one file (Python 3 standard library; PyYAML is used for frontmatter checks if installed). Pin a release and check its hash:
curl -fsSLO https://raw.githubusercontent.com/Noem836/skillcheck/v0.1.2/skillcheck.py
shasum -a 256 skillcheck.py # compare with the release notes
python3 skillcheck.py scan # static checks, no model calls
python3 skillcheck.py gen --skills my-skill # draft should-fire / near-miss prompts → suite.json python3 skillcheck.py run --agent claude --tag before --runs 3 python3 skillcheck.py report --tag before # fire rate, false fires, who took it
python3 skillcheck.py run --agent claude --tag after --runs 3 python3 skillcheck.py compare --before before --after after python3 skillcheck.py html --tag before,after # one-file HTML report python3 skillcheck.py upload --tag before,after # optional share link
A hosted, read-only MCP server runs the static checks on any public GitHub repo, which is useful before installing or publishing a skill pack:
claude mcp add --transport http skillcheck https://skillcheck-alpha.vercel.app/mcp
Tools:
preflight_skill(github_url, installed): call it before installing a skill. Pass the skills the user already has (name and description, which an agent can read from its own skill listing). It returns the name clashes that would shadow an installed skill, which installed skills the new one is most likely to take requests from, and how much the skill listing grows.check_skill_repo(github_url) returns the frontmatter/YAML errors, name mismatches, weak or slash-only descriptions, nested SKILL.md files, duplicate names, and pairs of skills whose descriptions overlap enough to compete. Real trigger measurement still needs the CLI, because it runs in *your* setup.~/.claude/skills, .claude/skills, enabled plugins, skillOverrides) and Codex (~/.agents/skills, ~/.codex/skills, .agents/skills)SKILL.md, slash-only wording, disable-model-invocation, duplicate namesPrompt suites and third-party skills may contain prompt injection, so runs are locked down: Claude runs with --tools Skill only; Codex runs with --ignore-user-config, no web search, no apps/plugins, read-only sandbox. python3 check_isolation.py verifies this with a canary file.
Runs use your own CLI login and subscription. Nothing is sent anywhere unless you run upload, which sends skill names and hit/miss rows only — never prompt texts.
server.py is the share-link server (stdlib, sqlite for local runs, Vercel Blob when configured). check_web.py [url] attacks a running instance (XSS, oversized/deep JSON, slow clients, id guessing, rate-limit spoofing). Deploy on Vercel; the Dockerfile remains for self-hosting.
Why isn't my Claude Code skill triggering? Usually another installed skill wins the request, or the description reads as slash-command only ("use as /name"). Run scan, then run + report and look at the *taken by* column. See the guide.
My skill passes `claude plugin eval` but doesn't fire in my normal setup. Why? The official eval loads the skill in a clean environment. skillcheck measures it next to everything you actually have installed.
Which of my skills is stealing requests from another? report lists, per skill, which other skill loaded on its should-fire prompts.
Does it work with Codex CLI? Yes: run --agent codex. Skill activation is read from the SKILL.md read in codex exec --json events.
How do I test SKILL.md descriptions before publishing to a marketplace? gen drafts should-fire and near-miss prompts, run measures, you edit, then compare shows before/after. The remote MCP gives a quick static check of the whole repo.
Does it send my prompts or code anywhere? No. Runs use your own CLI login locally. upload is opt-in and sends skill names and hit/miss rows only.
MIT license.