Diagram Design
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
Verify hand-written API doc signatures match the exported types.
$ npx skills add web-infra-dev/rstest --skill api-doc-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install web-infra-dev/rstest api-doc-sync --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/web-infra-dev/rstest.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/api-doc-sync .claude/skills/api-doc-sync && 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 "api-doc-sync" agent skill from https://github.com/web-infra-dev/rstest/tree/main/.agents/skills/api-doc-sync into .claude/skills/api-doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-doc-sync", 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/web-infra-dev/rstest/tree/main/.agents/skills/api-doc-syncType 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 web-infra-dev/rstest --skill api-doc-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install web-infra-dev/rstest api-doc-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/web-infra-dev/rstest.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/api-doc-sync .agents/skills/api-doc-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "api-doc-sync" agent skill from https://github.com/web-infra-dev/rstest/tree/main/.agents/skills/api-doc-sync into .agents/skills/api-doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-doc-sync", 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 web-infra-dev/rstest --skill api-doc-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install web-infra-dev/rstest api-doc-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/web-infra-dev/rstest.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/api-doc-sync .cursor/skills/api-doc-sync && 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 "api-doc-sync" agent skill from https://github.com/web-infra-dev/rstest/tree/main/.agents/skills/api-doc-sync into .cursor/skills/api-doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-doc-sync", 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/web-infra-dev/rstest.git --path .agents/skills/api-doc-sync--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 web-infra-dev/rstest --skill api-doc-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install web-infra-dev/rstest api-doc-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/web-infra-dev/rstest.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/api-doc-sync .gemini/skills/api-doc-sync && 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 "api-doc-sync" agent skill from https://github.com/web-infra-dev/rstest/tree/main/.agents/skills/api-doc-sync into .gemini/skills/api-doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-doc-sync", 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 web-infra-dev/rstest api-doc-syncInstalls 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 web-infra-dev/rstest --skill api-doc-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/web-infra-dev/rstest.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/api-doc-sync .github/skills/api-doc-sync && 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 "api-doc-sync" agent skill from https://github.com/web-infra-dev/rstest/tree/main/.agents/skills/api-doc-sync into .github/skills/api-doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-doc-sync", 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 web-infra-dev/rstest --skill api-doc-sync -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install web-infra-dev/rstest api-doc-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/web-infra-dev/rstest.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/api-doc-sync .opencode/skills/api-doc-sync && 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 "api-doc-sync" agent skill from https://github.com/web-infra-dev/rstest/tree/main/.agents/skills/api-doc-sync into .opencode/skills/api-doc-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-doc-sync", 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.
api-doc-syncVerify hand-written API doc signatures match the exported types.
API Doc Sync is an agent skill from web-infra-dev/rstest. Verify hand-written API doc signatures match the exported types. Use after changing a public type in packages/core/src/types/ or packages/core/src/api/types.ts, editing a Type:/类型: block in website/docs, or reviewing signature drift.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts.
It sits in Development, covering Technical documentation. The repository describes itself as: The JavaScript testing framework powered by Rspack. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d56bf97. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
pnpmnodenpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm and npx, which can reach the network depending on how they are called.
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.
API Doc Sync loads about 1.7k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 914 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 found no risky patterns in SKILL.md.
Automated 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 web-infra-dev/rstest at commit d56bf97, republished under its MIT licence (© web-infra-dev). 914 words, ~1,718 tokens.
.claude/skills/api-doc-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.The **Type:** / **类型:** blocks in website/docs/{en,zh}/api/** are
hand-written, curated copies of real exported types — there is no
generation and no compiler check behind them, so they can be wrong the moment
they are authored, not only when the type later changes. This skill catches
both: it grounds every documented signature in the actual source type and the
tsc oracle instead of trusting the prose.
Core rule — verify, never recall. Read the type from
packages/core/src/types/*.tsorpackages/core/src/api/types.ts(and, when built, the emitted.d.ts) and lettscdecide. Never judge a signature from memory or from the doc's own prose.
packages/core/src/types/ (e.g. api.ts, config.ts,
mock.ts, runner.ts) or packages/core/src/api/types.ts changed.**Type:** / **类型:** block, or the prose describing a type's fields,
was edited in website/docs/**/api/**.Scope: every page with a **Type:** block — api/runtime-api/** and
api/javascript-api/**, both en and zh.
node .agents/skills/api-doc-sync/scripts/check-type-blocks.mjsThe en and zh pages must declare structurally identical signatures (only
the label and translated // comments may differ). The script enforces this
and exits non-zero on any mismatch, missing counterpart, or block-count
difference. Fix every reported drift before moving on. Use --json for a
machine-readable inventory of all blocks.
tsc judge)For each documented symbol whose page changed (or whose type changed):
Find the source of truth. Locate the exported type in
packages/core/src/types/ (start from types/index.ts re-exports) or
packages/core/src/api/types.ts. Read its real shape: every overload,
parameter order, optionality, generics, and union members. Prefer the built
dist/**/*.d.ts when available — it is the exact surface users consume;
build with pnpm --filter @rstest/core build if needed.
Turn the doc into compile assertions. Write a throwaway .ts file
inside the repo (e.g. the repo root or packages/core/, with a temp name
like __doc-probe.ts) that imports the real type and exercises every call
form the docs show as a positive case, plus a // @ts-expect-error for
every form the docs say is invalid (e.g. "the options object cannot be the
third argument"). It must live in the repo, not the external scratchpad: tsc
resolves node_modules upward from the file's own directory, so only an
in-workspace file can resolve @rstest/core. Run it, then delete it:
npx tsc --noEmit --strict --skipLibCheck <scratch>.ts@ts-expect-error → a form the docs claim is rejected is
actually accepted (or vice-versa). Drift.Check for under-documentation. Enumerate the overloads / fields that the
source type actually has and confirm each is represented in the doc
signature or prose. The bug this skill exists for was a missing overload
(the (name, fn, timeout?) shorthand was dropped from the **Type:**
line) — a positive-only check will not catch that, so explicitly diff the
source's overload set against the documented one.
Check field-level claims. When the prose lists option fields
(timeout, retry, …), confirm each exists on the type with the stated
optionality and meaning, and that no real field is omitted.
Check entrypoint exports. For every named type in a **Type:** /
**类型:** block, confirm it is exported from the package entrypoint that
the page documents. A type that exists only in source or another entrypoint
is not available to readers of that page.
Check named-type linkability. A signature that names another type
(TestContext, TestOptions, RstestUtilities, …) can be a bare, unlinked
black box. For each named type a signature references, confirm the page
either links it to its canonical definition or documents it inline. Only add
a link when both hold:
### TestContext → #testcontext), not a loose bullet in a list (a
bullet generates no anchor); andWhen both hold (e.g. TestContext at
/api/runtime-api/test-api/test#testcontext), add a short prose link after
the signature — do not re-inline the type's members, which creates a
second copy that drifts. The link goes in an adjacent sentence, since a
markdown link cannot live inside the backticked **Type:** code span.
When either test fails, treat the type as already inline-documented and skip
it — no link noise. RstestUtilities is the canonical skip: no heading anchor
(only a bullet gloss in types.mdx), and => RstestUtilities is a fluent
self-reference to the rs/rstest object these pages already document.
Apply fixes to the .mdx directly. For each fix:
en and zh; keep the signature blocks structurally
identical (re-run the script in step 1 to confirm).TestOptions, omitted
internal generics (ExtraContext) — as long as the omission is a faithful
simplification, not a missing overload or wrong arg order.<ApiMeta addedVersion="…" />
per the convention in website/AGENTS.md.Re-run step 1 (parity) and step 2 (compile assertions) until both are clean,
then pnpm prettier --check the touched .mdx files.
© web-infra-dev, 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 1 other file (scripts) in .agents/skills/api-doc-sync of web-infra-dev/rstest.
Open the folder on GitHubat commit d56bf97
API Doc Sync 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 |
|---|---|---|---|---|---|---|
| API Doc Sync this skillweb-infra-dev/rstest | 505 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 44k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Simple Englishmoeru-ai/airi | 50k | 2 repos | ~4.6k | Automated safety check: Pass | MIT | |
| Get API Docs with chubandrewyng/context-hub | 14k | 2 repos | ~775 | Automated safety check: Pass | MIT | |
| Doc SyncJetBrains/ideavim | 10k | 2 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Mailspring App ScreenshotsFoundry376/Mailspring | 18k | — | ~1.4k | Automated safety check: Pass | GPL-3.0 |
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
andrewyng/context-hub
Fetches current documentation for third-party APIs and SDKs with the chub CLI before the agent writes code against them, instead of relying on remembered API shapes.
JetBrains/ideavim
Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.
Foundry376/Mailspring
Captures screenshots of the running Mailspring dev app for docs, PRs or visual checks by launching it with a debugging port, driving the UI and clipping to an element.
Agents365-ai/drawio-skill
Creates and edits editable draw.io diagrams from descriptions, code, infrastructure files, SQL and API schemas, with sync, review, test and export tools.
web-infra-dev/rstest
Create or update draft GitHub release notes, or output organized Markdown when draft creation is unavailable.
web-infra-dev/rstest
Generate a narrative version release blog post from commits within a tag range.
web-infra-dev/rstest
Testing workflow for the Rstest monorepo. An agent skill from web-infra-dev/rstest.
web-infra-dev/rstest
TypeScript anti-slop guardrails. An agent skill from web-infra-dev/rstest.
web-infra-dev/rstest
Feature and bug-fix development checklist for the Rstest monorepo.
web-infra-dev/rstest
Create a pull request using repository branch rules, title conventions, templates, and concise English descriptions.
Categories
Verify hand-written API doc signatures match the exported types. API Doc Sync is an agent skill from web-infra-dev/rstest. Verify hand-written API doc signatures match the exported types.
API Doc Sync fits situations like: tasks that involve Technical documentation.
Run `npx skills add web-infra-dev/rstest --skill api-doc-sync -a claude-code`. Or copy the skill folder (.agents/skills/api-doc-sync in web-infra-dev/rstest) into .claude/skills/api-doc-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add web-infra-dev/rstest --skill api-doc-sync -a codex`. Or copy the skill folder (.agents/skills/api-doc-sync in web-infra-dev/rstest) into .agents/skills/api-doc-sync 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 web-infra-dev/rstest --skill api-doc-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/api-doc-sync, .gemini/skills/api-doc-sync, .github/skills/api-doc-sync and .opencode/skills/api-doc-sync in your project.
Going by SKILL.md and its folder, API Doc Sync needs JavaScript for the scripts in its folder and the command-line tools its instructions call (pnpm, node and npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. 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.
API Doc Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.9k 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 API Doc Sync: Diagram Design (cathrynlavery/diagram-design, 44k stars), Simple English (moeru-ai/airi, 50k stars), Get API Docs with chub (andrewyng/context-hub, 14k stars) and Doc Sync (JetBrains/ideavim, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
web-infra-dev (a GitHub organization) maintains it in web-infra-dev/rstest, which has 505 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on September 30, 2026.
Source: web-infra-dev/rstest on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.