Agent Browser CLI
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
Diagnose slow or freezing VS Code-compatible editors with evidence-first, zero-hardcoded-assumption workflow.
$ npx skills add majiayu000/spellbook --skill vscode-doctor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install majiayu000/spellbook vscode-doctor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vscode-doctor .claude/skills/vscode-doctor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "vscode-doctor" agent skill from https://github.com/majiayu000/spellbook/tree/main/skills/vscode-doctor into .claude/skills/vscode-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vscode-doctor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/majiayu000/spellbook/tree/main/skills/vscode-doctorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add majiayu000/spellbook --skill vscode-doctor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install majiayu000/spellbook vscode-doctor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/vscode-doctor .agents/skills/vscode-doctor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vscode-doctor" agent skill from https://github.com/majiayu000/spellbook/tree/main/skills/vscode-doctor into .agents/skills/vscode-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vscode-doctor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add majiayu000/spellbook --skill vscode-doctor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install majiayu000/spellbook vscode-doctor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/vscode-doctor .cursor/skills/vscode-doctor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "vscode-doctor" agent skill from https://github.com/majiayu000/spellbook/tree/main/skills/vscode-doctor into .cursor/skills/vscode-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vscode-doctor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/majiayu000/spellbook.git --path skills/vscode-doctor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add majiayu000/spellbook --skill vscode-doctor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install majiayu000/spellbook vscode-doctor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/vscode-doctor .gemini/skills/vscode-doctor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "vscode-doctor" agent skill from https://github.com/majiayu000/spellbook/tree/main/skills/vscode-doctor into .gemini/skills/vscode-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vscode-doctor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install majiayu000/spellbook vscode-doctorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add majiayu000/spellbook --skill vscode-doctor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/vscode-doctor .github/skills/vscode-doctor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "vscode-doctor" agent skill from https://github.com/majiayu000/spellbook/tree/main/skills/vscode-doctor into .github/skills/vscode-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vscode-doctor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add majiayu000/spellbook --skill vscode-doctor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install majiayu000/spellbook vscode-doctor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/majiayu000/spellbook.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/vscode-doctor .opencode/skills/vscode-doctor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "vscode-doctor" agent skill from https://github.com/majiayu000/spellbook/tree/main/skills/vscode-doctor into .opencode/skills/vscode-doctor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vscode-doctor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
vscode-doctorDiagnose slow or freezing VS Code-compatible editors with evidence-first, zero-hardcoded-assumption workflow.
Vscode Doctor is an agent skill from majiayu000/spellbook. Diagnose slow or freezing VS Code-compatible editors with evidence-first, zero-hardcoded-assumption workflow. Use when the user reports editor lag, typing delay, UI freezes, extension host stalls, file watcher noise, high editor CPU/RSS, uses VS Code/Cursor as a file browser over a large folder, or wants a safe editor performance audit.
Its SKILL.md is about 5.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `evals/README.md`, `evals/evals.json` and `scripts/collect_vscode_diagnostics.sh`).
It works with Visual Studio Code. The repository describes itself as: Cross-runtime skills for Claude Code, Codex, and multi-agent workflows. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ed52af7. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vscode Doctor loads about 5.4k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 2,575 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, ReadAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from majiayu000/spellbook at commit ed52af7, republished under its MIT licence (© majiayu000). 2,575 words, ~5,427 tokens.
.claude/skills/vscode-doctor/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Diagnose editor performance from the current machine state. Do not import old observations, fixed paths, fixed extension names, fixed OS bugs, or fixed generated-directory lists into the diagnosis.
Default to a non-technical user experience unless the user asks for details.
现在看起来是:<正常 / 忙 / 可疑 / 还不确定> and immediately say what you checked or will check.Technical details.systemstatusd, WindowServer, or coreaudiod as the headline. Translate them first, for example: "主要压力来自系统后台/窗口渲染/音频服务,不是编辑器本体".Diagnosis-only report shape:
现在看起来是:...
我检查了:...
建议先做:...
可选操作:
1. 只观察,不改设置
适合:...
会影响:不会
验证:...
2. 轻量降噪,只处理明显的生成/缓存目录
适合:...
会影响:这些目录仍能打开编辑,但外部变化可能需要手动刷新
撤回:删掉这几条 workspace 设置
3. 深度排查插件
适合:...
会影响:先不禁用插件,只做 profiling / bisect 建议
Technical details:
- ...After-action report shape:
我刚刚做了:
- 看了什么:...
- 改了哪里:...
- 为什么改:...
你可能会感受到:
- ...
不会发生什么:
- ...
副作用:
- ...
怎么确认有效:
- ...
怎么撤回:
- ...
Technical details:
- ...Rules for after-action reports:
Make these risks explicit before changing settings, disabling extensions, deleting caches, changing system/editor launch flags, or preparing public posts:
files.exclude, search.exclude, watcher excludes, and language-tool excludes can hide files, reduce search coverage, or suppress diagnostics. Prefer workspace-scoped settings, show the diff first, and include rollback.code --status and local process samples do not prove Remote SSH, WSL, Dev Container, or network filesystem root causes. Collect remote-side evidence before recommending remote changes.Before proposing a fix, identify which workflow the user wants:
If the user explicitly asks to optimize a large workspace, do not close it, replace it with a narrower folder, or present that as the default fix. Treat narrowing the workspace only as an optional alternative with its own tradeoff.
| Mode | User intent signal | Allowed first actions | Do not do | Verify with |
|---|---|---|---|---|
| Preserve large workspace | "keep the parent folder", "optimize big workspace", "do not close workspace" | watcher/search/language-service exclusions scoped to the workspace; extension profiling; settings proposals | close the parent workspace, open only a child folder, claim file count should shrink | --status still shows the large workspace; no new watcher storm; quieter search/language-service processes |
| File browser workspace | "use VS Code as a file browser", "I still want to see/edit files", "can it keep listening without lag" | explain workspace semantics; keep Explorer visibility by default; propose selective watcher/search exclusions for noisy paths; offer a lightweight profile when the user accepts reduced coding intelligence | hide folders with files.exclude, shrink the workspace, or silently disable coding features as the default fix | excluded paths remain openable/editable if visible; non-excluded paths still update; no new watcher storm for noisy paths |
| Narrow workspace | "open only this project", "I do not need the parent folder" | open/reuse a smaller folder after confirmation; compare workspace surface | present narrowing as the default fix for large-workspace optimization | --status shows the intended smaller folder; file/project-root count drops |
| Extension profiling | "extensions are slow", Running Extensions evidence, plugin background CPU/RSS | profile, bisect, or workspace-disable named extensions seen in evidence | use a fixed extension blocklist or global disablement without confirmation | plugin background CPU/RSS, Running Extensions output, before/after profile |
| Cache/log maintenance | large data dir, corrupt cache/log evidence, user asks cleanup | inspect sizes; propose cleanup with rollback or regeneration notes | delete caches/logs as a generic first fix | data sizes, startup behavior, error recurrence |
If the user's wording is ambiguous, ask one concise question about which mode they want. If their wording is explicit, route directly and continue.
Run the collector with values discovered for this case. Leave unknown values empty instead of inventing them.
cd <path-to-vscode-doctor-skill>
EDITOR_COMMANDS="<space-separated editor cli commands, if known>" \
EDITOR_PROCESS_QUERY="<process regex, if known>" \
EDITOR_DATA_DIRS="<colon-separated data dirs, if known>" \
EDITOR_SETTINGS_FILES="<colon-separated settings files, if known>" \
SETTINGS_QUERY="<settings regex, if known>" \
EDITOR_LOG_DIRS="<colon-separated log dirs, if known>" \
LOG_FILE_GLOB="<log file glob, if known>" \
LOG_SIGNAL_QUERY="<log regex, if known>" \
GENERATED_DIR_PATTERNS="<colon-separated generated directory names, if user/project supplied>" \
./scripts/collect_vscode_diagnostics.sh "<workspace-root>"Run the collector from the script file. Do not pipe it into bash through stdin; some editor CLIs read stdin during --status, which can truncate the collector run.
Discovery rules:
Classify each finding by evidence strength:
Common evidence types to look for, without assuming any one must exist:
When the user wants a file-browser-like workspace:
When recommending extension changes:
When recommending workspace exclusions:
files.watcherExclude, search.exclude, and supported language-tool excludes. Use files.exclude only when the user wants paths hidden from Explorer.files.watcherExclude: stops continuous file-change watching for matching paths; files can still be opened, edited, and saved, but external changes may need manual refresh or reopen.search.exclude: removes matching paths from default global search; files remain visible and editable, and users can temporarily search them by disabling exclude/ignore settings in the search UI.files.exclude: hides matching paths from Explorer; avoid this for file-browser mode unless the user explicitly wants the directory hidden.files.watcherExclude plus search.exclude, not files.exclude.code --status file counts to prove the benefit by itself.When recommending language, lint, Git, or AI-assistant settings:
python.languageServer, ruff.*, git.autorefresh, git.autoRepositoryDetection, and github.copilot.* as optional load-reduction experiments, not default fixes.Use this when the user treats VS Code or Cursor primarily as a file browser over a large folder. Present options explicitly before any write:
files.watcherExclude and search.exclude for high-churn/generated paths. This is the default when the user still edits code and wants IntelliSense, linting, Git refresh, or AI assistance.Do not require live evidence of high CPU from Ruff, Copilot, Dependi, Python, Rust, or Git before offering option 3 when the user's intent is explicitly a lightweight file-browser experience. Still do not apply it automatically. Show the proposed diff, say what capability is removed, and include rollback.
Use this when the user wants to keep a parent directory open.
--status.files.watcherExclude for paths causing watcher drops or generated directoriessearch.exclude for generated/cache directories that pollute searchfiles.exclude only for paths the user should not browse in ExplorerAvoid saying the workspace file count should drop after watcher/search excludes. code --status may still report the same workspace surface; the expected improvement is fewer watcher storms, less noisy search/index work, or quieter language-service processes.
Use these modules when baseline evidence or user wording points beyond simple watcher/search cleanup.
| Probe | Evidence to collect | Safe experiments after confirmation | Verification |
|---|---|---|---|
| Editor/Electron candidate | editor version, --status, fresh renderer/main logs, temporary profile comparison if user agrees | launch a temporary profile or stable/insiders comparison; do not mutate current profile | same workspace/action on both profiles, renderer/main log delta |
| Rendering/input candidate | GPU status from editor CLI if available, UI/render/input process CPU/RSS, timestamps of typing lag or renderer unresponsive logs | temporary GPU/input-method isolation only after explicit confirmation | typing latency observation, renderer logs, UI process CPU/RSS before/after |
| Extension internal bug | Running Extensions output, plugin background CPU/RSS, profile output, extension names from evidence | Extension Bisect or workspace-scoped disable of named extensions | profile or CPU/RSS delta, same editor action repeated |
| Extreme project/language service | language-service processes, project-root counts from --status, schema-supported language-tool excludes | workspace-scoped language-tool excludes, project root partitioning, tool-specific config changes | language-service CPU/RSS, diagnostics latency, no new watcher/search regressions |
| System pressure context | load, memory, swap, disk free, top CPU/RSS | do not fix system issues inside this skill unless user explicitly changes scope | decide whether editor evidence still explains the symptom |
| Remote/container/network filesystem | remote/container markers, remote logs, local vs remote process split, workspace path type | remote-side collector or narrower remote experiment after confirmation | remote CPU/RSS/logs, network/filesystem latency evidence |
When a probe points to an editor/Electron, OS, extension, or remote upstream issue, report it as a diagnosis with a workaround or next experiment. Do not claim the skill can directly fix upstream bugs.
Use the simple report shape by default. Use this technical structure only when the user asks for a detailed report or the situation is complex:
## Editor Performance Diagnosis
### Evidence
| Signal | Current value | Source | Confidence |
|----|----|----|----|
| ... | ... | ... | high/medium/low |
### Priority
#### High
1. ...
#### Medium
1. ...
#### Low
1. ...
### Options
| Option | When to use | Expected impact | Cost | Verify | Roll back |
|----|----|----|----|----|----|
| ... | ... | Cannot quantify without baseline / based on observed delta | ... | ... | ... |
### Next Step
Ask the user which option to run first. Do not apply changes until they confirm.If the user wants a social-media record, add a compact section:
### Shareable Summary
- Goal: ...
- Baseline evidence: ...
- One change: ...
- After evidence: ...
- Caveat: ...
- Redaction: local paths/project names/process command lines reviewed before sharing.Only include measured deltas. If the after window is short, say it is an immediate check rather than proof of long-term improvement.
Before claiming improvement, collect a fresh after-snapshot with the same collector inputs used for the baseline. Compare only observed values:
## Before / After
| Metric | Before | After | Result |
|----|----:|----:|----|
| ... | ... | ... | improved / unchanged / worse / unknown |
Conclusion:
- Experiment result: ...
- Remaining evidence: ...
- Next step: ...
- Rollback: ...If the before snapshot is missing, write: 缺少调整前 baseline,无法可靠量化收益.
Regression prompts and expected behaviors are documented in evals/README.md and evals/evals.json; use them when changing the collector or diagnosis workflow.
© majiayu000, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in skills/vscode-doctor of majiayu000/spellbook.
Open the folder on GitHubat commit ed52af7
Vscode Doctor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vscode Doctor this skillmajiayu000/spellbook | 287 | — | ~5.4k | Automated safety check: Notes | MIT | |
| Agent Browser CLIvercel-labs/agent-browser | 44k | 24 repos | ~864 | Automated safety check: Pass | Apache-2.0 | |
| Electron App Automationvercel-labs/agent-browser | 44k | 5 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Microsoft Skill CreatorMicrosoftDocs/mcp | 1.9k | 3 repos | ~2.1k | Automated safety check: Pass | CC-BY-4.0 | |
| Evals Contextzgsm-ai/costrict | 4.5k | 1 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Ketch1broseidon/ketch | 702 | 1 repos | ~3.9k | Automated safety check: Pass | MIT |
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
vercel-labs/agent-browser
Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.
MicrosoftDocs/mcp
Create agent skills for Microsoft technologies using official documentation.
zgsm-ai/costrict
Provides context about the CoStrict evals system structure in this monorepo.
1broseidon/ketch
Research skill for ketch — a fast stateless CLI for web search, OSS code search, curated library docs, page scraping, and site crawling; an optional MCP server exists for operators who want it, but…
dotnet/efcore
Create custom GitHub Copilot agents. An agent skill from dotnet/efcore.
majiayu000/spellbook
Audits and repairs how coding-agent Skills are owned, copied and exposed across runtimes, from canonical sources to quarantine and retirement.
majiayu000/spellbook
Scans a repository for real evidence and proposes, or on request writes, a small stack of root and scoped AGENTS.md files with validation commands and generated-file boundaries.
majiayu000/spellbook
Plans, produces or diagnoses evidence-backed product demo videos: script, capture plan, pacing checks and verified final media built on real product behavior.
majiayu000/spellbook
Single entry point that routes long or ambiguous agent tasks, checks live state, bounds autonomous loops and leaves a resumable handoff.
majiayu000/spellbook
Scans a repository, its lockfiles and node_modules for known malicious npm package versions and install-time indicators, using a read-only Python scanner.
majiayu000/spellbook
Product management helpers: a RICE scoring script, an interview transcript analyzer and PRD templates for prioritizing features, synthesizing research and writing requirements.
Works with
Diagnose slow or freezing VS Code-compatible editors with evidence-first, zero-hardcoded-assumption workflow. Vscode Doctor is an agent skill from majiayu000/spellbook. Diagnose slow or freezing VS Code-compatible editors with evidence-first, zero-hardcoded-assumption workflow.
Vscode Doctor fits situations like: the user reports editor lag; extension host stalls; file watcher noise; high editor CPU/RSS.
Run `npx skills add majiayu000/spellbook --skill vscode-doctor -a claude-code`. Or copy the skill folder (skills/vscode-doctor in majiayu000/spellbook) into .claude/skills/vscode-doctor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add majiayu000/spellbook --skill vscode-doctor -a codex`. Or copy the skill folder (skills/vscode-doctor in majiayu000/spellbook) into .agents/skills/vscode-doctor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add majiayu000/spellbook --skill vscode-doctor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vscode-doctor, .gemini/skills/vscode-doctor, .github/skills/vscode-doctor and .opencode/skills/vscode-doctor in your project.
Going by SKILL.md and its folder, Vscode Doctor needs a shell for the scripts in its folder. Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, Read.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Vscode Doctor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.4k tokens (SKILL.md is roughly 22k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Vscode Doctor: Agent Browser CLI (vercel-labs/agent-browser, 44k stars), Electron App Automation (vercel-labs/agent-browser, 44k stars), Microsoft Skill Creator (MicrosoftDocs/mcp, 1.9k stars) and Evals Context (zgsm-ai/costrict, 4.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
majiayu000 (a GitHub user) maintains it in majiayu000/spellbook, which has 287 GitHub stars. The repository holds 97 skills in this directory. The repository was last updated on October 8, 2026.
Source: majiayu000/spellbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.