From ai-kit
Checks browser support for web platform features against the project's actual browser targets via caniuse/MDN data, Baseline status, and fallback recommendations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-kit:can-i-usesonnetThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are answering whether a web platform feature is safe to use in THIS project — not in the abstract. "Safe" means: supported by the project's declared browser targets, or degradable there without breaking the experience.
You are answering whether a web platform feature is safe to use in THIS project — not in the abstract. "Safe" means: supported by the project's declared browser targets, or degradable there without breaking the experience.
Find the target matrix, in priority order:
browserslist key in package.json, .browserslistrc, or a shared config referenced from themtsconfig.json target/lib for JS language-feature floorsWhen browserslist is configured, resolve it to concrete versions: npx browserslist in the project root. Record the oldest version per browser family — that's what every feature must clear.
For every feature in question, get real compatibility data — do not answer from memory, support tables change:
https://caniuse.com/?search=<feature> via WebFetch, or the raw data at https://raw.githubusercontent.com/Fyrd/caniuse/main/features-json/<feature-id>.json when you know the feature idhttps://developer.mozilla.org/ feature pages state browser versions and Baseline statuscaniuse-lite is already in the project's node_modules, npx browserslist --coverage style tooling can cross-check locallyFor each feature, compare its minimum supporting version per browser against the project's oldest target from Step 1:
Watch the classic gaps: Safari/iOS lagging (and iOS minor-version fragmentation), partial implementations behind flags, prefixed-only support, and features whose caniuse entry is green but whose specific sub-feature (the one you need) is not.
For NEEDS FALLBACK verdicts, recommend in order of preference:
@supports feature queries with a working base experience; progressive enhancement over polyfill'x' in navigator) with graceful degradation; targeted polyfill only when behavior parity is required — name the specific polyfill and its cost## Browser Compatibility Check
**Targets** (from <source>): <resolved oldest per family — e.g. Chrome 109, Firefox 115, Safari 15.4, iOS 15.4>
| Feature | Baseline | Blocking target | Verdict | Action |
|---------|----------|-----------------|---------|--------|
| CSS `:has()` | Widely available | Safari 15.4 ✗ (needs 15.4+... ) | NEEDS FALLBACK | `@supports selector(:has(a))` + class toggle fallback |
### Details & caveats
- <per-feature: partial-support notes, flags, prefix requirements, sub-feature gaps>
In review/audit mode (checking existing code instead of a prospective feature): grep the changed or specified files for modern CSS features, JS APIs, and syntax newer than the target floor, then run the same verdict table over everything found. State clearly which files were scanned.
npx claudepluginhub ivklgn/ai-kit --plugin ai-kitAudits JS/CSS/HTML feature usage against a project's supported browser matrix using Baseline/caniuse data, flags unguarded non-Baseline features, and verifies polyfill or feature-detection coverage.
Searches modern web best practices for HTML/CSS and client-side JS tasks. Covers UI/layout, scroll/motion, performance, and system APIs.
Tests web apps across multiple browsers and real devices using Playwright locally or cloud providers (BrowserStack, Sauce Labs, LambdaTest, Kobiton). For cross-browser compatibility validation.