Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".
日本語の概要は準備中です。原文の説明を表示しています。
Run and configure oxlint — the high-performance JavaScript/TypeScript linter built on the Oxc compiler stack. Use this skill whenever working in a project that has oxlint installed (check for `oxlint` in package.json devDependencies or an `.oxlintrc.json` / `oxlint.config.ts` config file). This includes when you need to lint code after making changes, fix linting errors, configure oxlint rules/plugins, set up or modify `.oxlintrc.json`, or migrate from ESLint.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Oxlint is 50-100x faster than ESLint. It ships with 690+ rules covering ESLint core, TypeScript, React, Jest, Unicorn, jsx-a11y, and more. It prioritizes high-signal correctness checks by default — things that are incorrect, unsafe, or useless — so teams can adopt it without drowning in false positives.
Before linting, confirm the project uses oxlint by checking for any of:
oxlint in package.json devDependencies/dependencies.oxlintrc.json file in the project rootoxlint.config.ts file in the project rootoxlint or lint script in package.json that references oxlintIf none of these exist, the project doesn't use oxlint — don't run it.
Run oxlint to check your work. Prefer the project's npm script if one exists:
# If package.json has a lint script using oxlint
npm run lint
# Otherwise, run directly
npx oxlint
npx oxlint --fix
Use --fix for safe automatic fixes. Avoid --fix-dangerously unless the user explicitly asks for it — it can apply unsafe transformations.
After editing only a few files, you can lint just those:
npx oxlint src/components/Button.tsx src/utils/helpers.ts
Oxlint prints diagnostics with rule names in parentheses, e.g. (no-unused-vars). When fixing:
// oxlint-ignore comments as a last resort when the diagnostic is a genuine false positiveFor CI or tooling integration:
npx oxlint --format json # Machine-readable JSON
npx oxlint --format github # GitHub Actions annotations
npx oxlint --format unix # Simple one-line-per-error format
npx oxlint --init
This generates an .oxlintrc.json starter config.
The config uses JSONC (JSON with comments). Key sections:
{
// Enable/disable individual rules with severity levels
"rules": {
"no-unused-vars": "error",
"no-console": "warn",
"no-plusplus": ["error", { "allowForLoopAfterthoughts": true }],
},
// Enable groups of related rules by category
"categories": {
"correctness": "error", // Definitely-wrong code
"suspicious": "warn", // Probably-wrong code
"pedantic": "off", // Opinionated style checks
"perf": "warn", // Performance anti-patterns
"style": "off", // Cosmetic preferences
"restriction": "off", // Extra-strict rules (opt-in)
"nursery": "off", // Unstable/experimental rules
},
// Plugins to enable (setting this overwrites defaults, so list all you want)
"plugins": ["typescript", "unicorn", "oxc"],
// File-specific overrides
"overrides": [
{
"files": ["**/*.test.{ts,tsx}"],
"rules": { "no-console": "off" },
},
{
"files": ["scripts/**"],
"rules": { "no-console": "off" },
},
],
// Environment globals
"env": {
"browser": true,
"node": true,
},
// Plugin-wide settings
"settings": {
"react": {
"linkComponents": [{ "name": "Link", "linkAttribute": "to" }],
},
"jsx-a11y": {
"components": { "Link": "a", "Button": "button" },
},
},
// Type-aware linting (requires tsconfig)
"options": {
"typeAware": true,
},
}
"off" / "allow" — Disable the rule"warn" — Report but don't fail the build"error" / "deny" — Report and exit non-zeroUnique rule names can omit plugin prefix: "no-console" = "eslint/no-console".
Categories group rules by intent. The recommended starting point:
correctness: "error" — Always on. Catches real bugs.suspicious: "warn" — Good signal, occasionally noisy.Enabled by default: typescript, unicorn, oxc
Opt-in (CLI flags or config):
| Plugin | CLI flag | Purpose |
|---|---|---|
| react | --react-plugin | React-specific rules |
| jsx-a11y | --jsx-a11y-plugin | Accessibility rules for JSX |
| nextjs | --nextjs-plugin | Next.js best practices |
| import | --import-plugin | Import/export validation |
| jest | --jest-plugin | Jest testing rules |
| vitest | --vitest-plugin | Vitest testing rules |
| jsdoc | --jsdoc-plugin | JSDoc documentation rules |
| node | --node-plugin | Node.js-specific rules |
| promise | --promise-plugin | Promise best practices |
| react-perf | --react-perf-plugin | React performance rules |
| vue | --vue-plugin | Vue.js rules |
To disable a default plugin: --disable-typescript-plugin, --disable-unicorn-plugin, --disable-oxc-plugin.
{
"extends": ["./configs/base.json", "./configs/frontend.json"],
}
Later entries override earlier ones. Paths resolve relative to the declaring config.
Oxlint supports nested configs. Each directory can have its own .oxlintrc.json that overrides parent settings. Disable with --disable-nested-config if unwanted.
| Flag | What it does |
|---|---|
-c, --config=PATH | Use a specific config file |
--tsconfig=PATH | TypeScript config for path aliases |
--fix | Auto-fix safe issues |
--fix-suggestions | Also apply suggested fixes |
-A, --allow=RULE | Suppress a rule (e.g., -A no-console) |
-W, --warn=RULE | Warn on a rule |
-D, --deny=RULE | Error on a rule |
--quiet | Suppress warnings, show only errors |
--deny-warnings | Treat warnings as errors (exit non-zero) |
--max-warnings=N | Fail if more than N warnings |
-f, --format=FMT | Output format: default, json, github, unix, etc. |
--ignore-pattern=PAT | Exclude files matching pattern |
--type-aware | Enable type-informed rules (needs tsconfig) |
--print-config | Show resolved config (useful for debugging) |
--rules | List all available rules |
Categories can also be used with -A/-W/-D:
npx oxlint -D correctness -W suspicious -A pedantic
// oxlint-ignore no-console -- needed for debug logging
console.log(debugInfo)
// oxlint-ignore-next-line no-unused-vars
const _placeholder = computeValue()
Use oxlint-ignore (not eslint-disable) — oxlint recognizes both, but prefer its native syntax.
If the project is moving from ESLint to oxlint:
Side-by-side approach — Run both linters, with eslint-plugin-oxlint disabling rules that oxlint already covers:
npm install -D eslint-plugin-oxlint
Add it as the last plugin in your ESLint config.
Full replacement — Use @oxlint/migrate to convert your ESLint config:
npx @oxlint/migrate
This generates an .oxlintrc.json from your existing ESLint configuration.
.js, .mjs, .cjs, .ts, .mts, .cts, .jsx, .tsx, .vue, .svelte, .astro
For .vue, .svelte, and .astro files, oxlint lints only the <script> blocks.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".
日本語の概要は準備中です。原文の説明を表示しています。
Skill for building with the Astro web framework. Helps create Astro components and pages, configure SSR adapters, set up content collections, deploy static sites, and manage project structure and CLI commands. Use when the user needs to work with Astro, mentions .astro files, asks about static site generation (SSG), islands architecture, content collections, or deploying an Astro project.
日本語の概要は準備中です。原文の説明を表示しています。
Use when building, testing, and deploying JavaScript/TypeScript applications. Reach for Bun when you need to run scripts, manage dependencies, bundle code, or test applications with a single unified tool.
日本語の概要は準備中です。原文の説明を表示しています。
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
日本語の概要は準備中です。原文の説明を表示しています。
Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.
日本語の概要は準備中です。原文の説明を表示しています。
Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md. Trigger: /caveman:compress <filepath> or "compress memory file"
日本語の概要は準備中です。原文の説明を表示しています。