Agent skill

Development

by web-infra-dev in web-infra-dev/rstest

Feature and bug-fix development checklist for the Rstest monorepo.

MITAuto-check passedDevelopment

Install Development

skills CLI
$ npx skills add web-infra-dev/rstest --skill development -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install web-infra-dev/rstest development --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/web-infra-dev/rstest.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/development .claude/skills/development && rm -rf skills-src

Use ~/.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/

Facts

Skill name
development
GitHub stars
505
Token cost
~2.8k tokens
SKILL.md length
1,472 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Feature and bug-fix development checklist for the Rstest monorepo.

  • Works in 4 steps: Canonical… → CLI flag/help/output/error text when… → Adapters (rsbuild, rslib, rspack),… → …
  • Implementing a new feature
  • SKILL.md covers Confirm Intent & Scope, Build Verified Context, Map the Blast Radius and Implement the Minimal…, plus 6 more sections
  • Calls pnpm, git and npm

What it does

Development is an agent skill from web-infra-dev/rstest. Feature and bug-fix development checklist for the Rstest monorepo. Use when implementing a new feature, fixing a bug, changing public APIs/config/CLI behavior, addressing a GitHub issue or PR request, or assessing cross-package impact before a PR.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Debugging and Monorepo tooling. It works with GitHub and Vitest. The repository describes itself as: The JavaScript testing framework powered by Rspack. The licence is MIT.

When your agent uses it

  • Implementing a new feature
  • Changing public APIs/config/CLI behavior
  • Addressing a GitHub issue
  • Assessing cross-package impact before a PR

Example prompts

  • “/development”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Canonical type/default/normalization/runtime consumer.
  2. CLI flag/help/output/error text when applicable.
  3. Adapters (rsbuild, rslib, rspack), browser mode, and docs (en, zh, ApiMeta) impact.
  4. Unit tests for internals/transforms; e2e tests for user-facing behavior.

What it can do on your machine

Read from SKILL.md and the folder at commit d56bf97. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • git
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, git and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Development loads about 2.8k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 1,472 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from web-infra-dev/rstest at commit d56bf97, republished under its MIT licence (© web-infra-dev). 1,472 words, ~2,781 tokens.

Download SKILL.mdSave it as .claude/skills/development/SKILL.md (or your agent's skills folder).
name
development
description
Feature and bug-fix development checklist for the Rstest monorepo. Use when implementing a new feature, fixing a bug, changing public APIs/config/CLI behavior, addressing a GitHub issue or PR request, or assessing cross-package impact before a PR.
metadata.internal
true

Feature / Bug-Fix Development Checklist

This skill is a checklist of guardrails for feature and bug-fix work — reminders to catch missing work during development, then hand off to the more specific workflow when needed. The sections roughly follow a task's lifecycle for easy reading, but treat them as prompts to apply where relevant, not a rigid pipeline.

Confirm Intent & Scope

Decide what the task actually is before doing any work.

  • If the request is phrased as "review / verify / assess", treat it as investigation — report findings and confirm before implementing anything.
  • When the user enumerates a subset ("only the low items", "core field only", "先只加 skip"), implement exactly that subset and stop.
  • If a fix would span multiple clusters or packages, estimate file/PR size and confirm scope before writing code. Keep one PR per coherent seam.

Build Verified Context

Gather the real inputs and ground every claim in something you read this session — never answer from memory or impression.

  • For GitHub issues/PRs/checks/reviews, read the linked context before editing; do not implement from the title alone.
  • For external repros, reproduce with the smallest command first (workflow: testing → External repro projects).
  • Identify the smallest user-visible behavior, the affected package(s), and the validation path.
  • Behavioral, root-cause, version, or package-name claims must cite path:line — never answer from recall.
  • To answer "how does vitest/jest/rsbuild/rspack behave?", read the latest upstream source, not the built node_modules dist: if a local clone exists (e.g. ~/Projects/vitest), bring it up to the latest default branch before reading (git pull — a git fetch alone leaves the working tree stale); otherwise shallow-clone fresh (vitest → vitest-dev/vitest; rsbuild/rspack → web-infra-dev/{rsbuild,rspack}; npm view <pkg> repository finds others). Prefer a subagent for the lookup.
  • If you cannot verify, say so explicitly instead of guessing.

Map the Blast Radius

Before writing code, determine what the change reaches:

QuestionAction
Which packages are touched?List them (@rstest/core, @rstest/browser, etc.)
Does it affect the public API or config schema?If yes → docs update required
Does it change behavior in Node mode?If yes → unit tests + e2e required
Does it change behavior in browser mode?If yes → browser e2e required; see Browser Mode Impact
Could it affect both Node and browser modes?Evaluate both; see Browser Mode Impact
Is the config option also present in Rsbuild?If yes → adapter sync required; see Adapter Impact
Public API / Config / CLI Checklist

For public API/config/CLI changes, check the full surface in one pass:

  1. Canonical type/default/normalization/runtime consumer.
  2. CLI flag/help/output/error text when applicable.
  3. Adapters (rsbuild, rslib, rspack), browser mode, and docs (en, zh, ApiMeta) impact.
  4. Unit tests for internals/transforms; e2e tests for user-facing behavior.

Implement the Minimal Root-Cause Fix

Make the smallest design change that resolves the root cause — this is where design-scope decisions belong. For in-file code quality (any/as, defensive checks, one-use abstractions, single source of truth, catch-and-rethrow), defer to the typescript skill rather than restating its rules here.

  • Fix at the single origin of the bug with the fewest lines. Find the one source, not N symptoms.
  • Do not add new config knobs, buffers, heuristics, timeouts, dependencies, abstractions, or mode-specific hacks (e.g. string-replacing the Rspack runtime) unless the user asks. Surface any such need as an explicit decision point or follow-up issue — never take the shortcut silently.
  • Before adding a top-level config option, prove the existing channel (inlineConfig / run params) cannot express it.
  • When aligning behavior with another tool, match the reference impl as the parity target — read its source (the latest upstream clone, per Build Verified Context), not the node_modules dist. Don't harden edges beyond it.

Prove It Empirically

Every behavioral change — feature or bug fix — must have a corresponding e2e test. Unit tests alone are not enough; e2e tests verify the full CLI → runner → reporter pipeline.

Decide whether test work is required here. For test layout, fixture strategy, rebuild requirements, and exact commands, switch to the testing skill. For what counts as evidence that the change works — forbidden proxy signals, per-change-shape observation standards — defer to the verify skill rather than restating its rules here.

When Test Work Is Required
  • New feature or config behavior → add or extend an e2e test that exercises the user-facing flow.
  • Bug fix → add a regression test that fails before the fix and passes after it.
  • Internal refactor with no observable behavior change → evaluate whether existing coverage is enough, and note why if no new test is added.
Bug-Fix Tests (Flip-and-Verify)

Prove the repro both ways before claiming a fix:

  1. Run the repro against origin/main (unfixed) → confirm it fails.
  2. Run the same repro with your fix applied → confirm it passes.
  3. Add the regression test that captures this delta.

Never present a hypothesis as a conclusion — state confidence explicitly; "I believe" is not "verified".

Browser Mode Impact

Not every feature needs browser mode support, but you must consciously decide rather than ignore it.

When Browser Mode Needs Changes
  • The feature touches test execution, module resolution, or runtime APIs → likely affects browser mode.
  • The feature adds a new config option → check if it should apply in browser mode too.
  • The feature modifies the reporter, CLI output, or test filtering → usually Node-only, but verify.
When Browser Mode Does NOT Need Changes
  • Pure Node-specific features (e.g., process.env handling, Node module mocking).
  • Internal refactors that don't change the runtime contract.
Show full SKILL.md (600 more words)Show less
If Browser Mode Is Affected
  1. Keep ownership clear: @rstest/browser = host/protocol/scheduling, @rstest/browser-ui = UI, runner/runtime = execution semantics, provider packages = provider behavior.
  2. Update packages/browser/ if the runtime behavior differs.
  3. Add or update browser e2e coverage via the testing skill.
  4. If the feature requires a new browser fixture, follow the pattern in e2e/browser-mode/fixtures/.
  5. If the feature involves React component testing, check @rstest/browser-react as well.
If Browser Mode Is Not Affected

Add a brief note in the PR explaining why browser mode is unaffected, so reviewers don't have to ask.

Adapter Impact

If the new or changed configuration option also exists in Rsbuild, check whether the adapters (@rstest/adapter-rsbuild, @rstest/adapter-rslib) need to transform it.

When Adapters Need Updates
  • The config option maps to an equivalent Rsbuild/Rslib config field → the adapter must translate it so users' existing Rsbuild configs work seamlessly.
  • A new rstest config is introduced that overlaps with Rsbuild concepts (e.g., resolve, output, source) → evaluate whether the adapter should auto-convert.
Testing Adapters
  • If @rstest/core already has an e2e test covering the underlying feature, do not duplicate it in the adapter package. Prefer a unit test inside the adapter package (packages/adapter-rsbuild/ or packages/adapter-rslib/) that verifies the config transformation logic.
  • Only add a separate adapter e2e test (e2e/adapterTransformImport/) when the transformation itself has complex behavior that unit tests cannot adequately cover.
Adapter Docs
  • Update adapter-specific documentation when a new transform is added, so users know which Rsbuild configs are auto-converted.

Keep Docs In Sync

Documentation is not a follow-up task — it ships with the code. Do not merge features without docs.

Route The Docs Work
  • Public API, config, CLI, or behavior changes usually require docs updates.
  • Treat this as the routing step: identify that docs must be updated, then inspect the existing docs structure under website/docs/en/ and website/docs/zh/ to edit the right pages.
  • If the change introduces a new docs surface or convention, follow the established structure in the surrounding guide/config/api pages instead of guessing a new location.
Docs Conventions
  • Writing style, format, bilingual sync, and ApiMeta marker rules are owned by website/AGENTS.md — read it before editing docs rather than restating its rules here.
  • Signature fidelity: if you changed a public type in packages/core/src/types/, or edited a **Type:** / **类型:** block, run the api-doc-sync skill. The doc signatures are hand-written copies of the real types and drift silently (missing overloads, wrong arg order, en/zh divergence); api-doc-sync grounds them against source and tsc.

Self-Check Before Committing

Run through this before you consider the work done:

  • Unit tests cover the new/changed logic in the relevant package
  • E2E test covers the feature/fix end-to-end (see Prove It Empirically)
  • Browser mode impact evaluated — either updated or noted as unaffected
  • Adapter sync evaluated — config transforms updated or noted as N/A
  • Docs updated in both en/ and zh/
  • Public type surface matches docs — TS declarations and website/docs/{en,zh} agree (e.g. TestOptions.timeout?: number is reflected for describe/test)
  • Types are correct — no new any leaking into public APIs (rule owned by the typescript skill)
  • Unused exports / files checked — run pnpm run check-unused before wrapping up (rule owned by the testing skill's validation pass)
  • Build passes — pnpm --filter <package> build succeeds
  • Existing tests still pass — pnpm test and relevant e2e tests green

Handle Review Feedback by Redesign

Review feedback arrives after you commit — resolve it by redesign, not more local patches.

  • When 2+ review comments hit the same code region or invariant, stop and assess for a single root-cause redesign before applying more local patches.
  • Flag any fix that creates the next finding (self-inflicted), and any field/option consumed only by tests — both are smells that the patch moved the bug rather than fixing it.

© 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

Files

Just SKILL.md in .agents/skills/development of web-infra-dev/rstest.

Open the folder on GitHubat commit d56bf97

Compare with similar skills

Development 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.

Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Development this skillweb-infra-dev/rstest505—~2.8kAutomated safety check: PassMIT
Issue To Regression Testbrunosabot/streamline-card269—~529Automated safety check: PassMIT
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Exposed Bug Fix WorkflowJetBrains/Exposed9.3k—~3.8kAutomated safety check: PassApache-2.0
OpenCLI Adapter Autofixjackwener/OpenCLI30k1 repos~3.2kAutomated safety check: PassApache-2.0
Issue Fixmono/SkiaSharp5.6k—~5.1kAutomated safety check: PassMIT

Similar skills

  • Issue To Regression Test

    brunosabot/streamline-card

    A skill your agent uses when the user asks to fix a bug, references a GitHub issue number, or describes an issue and wants a fix.

    269 GitHub stars~529 tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Exposed Bug Fix Workflow

    JetBrains/Exposed

    Official

    Takes a GitHub or YouTrack issue for the Exposed project through reproduction, a failing test, a fix, validation and a pull request.

    9.3k GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • OpenCLI Adapter Autofix

    jackwener/OpenCLI

    Repairs a broken OpenCLI site adapter after a command fails: collects a trace, patches only the adapter, retries, and files an upstream GitHub issue once fixed.

    30k GitHub starsUsed in 1 repo~3.2k tokens
    DevelopmentAuto-check passed
  • Issue Fix

    mono/SkiaSharp

    Fix bugs in SkiaSharp C bindings. An agent skill from mono/SkiaSharp.

    5.6k GitHub stars~5.1k tokensUpdated today
    DevelopmentAuto-check passed
  • React Router Bug Fix Workflow

    remix-run/react-router

    Fixes a React Router bug reported in a GitHub issue end to end: fetching the issue, validating the reproduction, writing a failing test and implementing the fix on a new branch.

    57k GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from web-infra-dev/rstest

All 9 skills in this repo
  • Create Draft Release Notes

    web-infra-dev/rstest

    Create or update draft GitHub release notes, or output organized Markdown when draft creation is unavailable.

    505 GitHub stars~2.3k tokensUpdated 7 days ago
    Auto-check passed
  • Create Release Blog

    web-infra-dev/rstest

    Generate a narrative version release blog post from commits within a tag range.

    505 GitHub stars~4.7k tokensUpdated 7 days ago
    Auto-check passed
  • API Doc Sync

    web-infra-dev/rstest

    Verify hand-written API doc signatures match the exported types.

    505 GitHub stars~1.7k tokensUpdated 7 days ago
    Auto-check passed
  • Testing

    web-infra-dev/rstest

    Testing workflow for the Rstest monorepo. An agent skill from web-infra-dev/rstest.

    505 GitHub stars~2.1k tokensUpdated 7 days ago
    Auto-check passed
  • Typescript

    web-infra-dev/rstest

    TypeScript anti-slop guardrails. An agent skill from web-infra-dev/rstest.

    505 GitHub stars~1.3k tokensUpdated 7 days ago
    Auto-check passed
  • PR Creator

    web-infra-dev/rstest

    Create a pull request using repository branch rules, title conventions, templates, and concise English descriptions.

    505 GitHub stars~560 tokensUpdated 7 days ago
    Auto-check passed

Works with

Categories

Questions about Development

What does Development do?

Feature and bug-fix development checklist for the Rstest monorepo. Development is an agent skill from web-infra-dev/rstest. Feature and bug-fix development checklist for the Rstest monorepo.

When should I use Development?

Development fits situations like: implementing a new feature; changing public APIs/config/CLI behavior; addressing a GitHub issue; assessing cross-package impact before a PR.

How do I install Development in Claude Code?

Run `npx skills add web-infra-dev/rstest --skill development -a claude-code`. Or copy the skill folder (.agents/skills/development in web-infra-dev/rstest) into .claude/skills/development in your project. Claude Code loads it when a task matches its description.

How do I install Development in Codex?

Run `npx skills add web-infra-dev/rstest --skill development -a codex`. Or copy the skill folder (.agents/skills/development in web-infra-dev/rstest) into .agents/skills/development in your project. Codex loads it when a task matches its description.

Can I use Development in Cursor, Gemini CLI or GitHub Copilot?

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 development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/development, .gemini/skills/development, .github/skills/development and .opencode/skills/development in your project.

What does Development need to run?

Going by SKILL.md and its folder, Development needs the command-line tools its instructions call (pnpm, git and npm).

Does Development access the network?

SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Development safe to install?

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. Review the folder before installing.

What licence does Development use?

Development is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Development use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Development?

Skills that share tags, products or a category with Development: Issue To Regression Test (brunosabot/streamline-card, 269 stars), Cutting A Release (TriliumNext/Trilium, 38k stars), Exposed Bug Fix Workflow (JetBrains/Exposed, 9.3k stars) and OpenCLI Adapter Autofix (jackwener/OpenCLI, 30k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Development?

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.