modern-web-guidance
googlechrome/modern-web-guidance
Search tool for modern web development best practices—execute first for HTML/CSS and client-side JS tasks.
What is modern-web-guidance?
A skill that searches for and retrieves best practice guides for modern web development. Use it at the start of any web feature implementation to find standardized patterns, avoid obsolete approaches, and check browser compatibility before coding.
- Search for web development use cases and retrieve corresponding best practice guides
- Cover UI/Layout patterns (modals, dialogs, popovers, anchor positioning, container queries)
- Address performance optimization (CWV metrics, content-visibility, Fetch Priority, image optimization)
- Guide modern APIs and system features (WebUSB, WebSockets, WebAssembly)
- Provide framework-specific guidance for React, Vue, and Angular
- Include browser compatibility data and fallback recommendations for different support policies
How to install modern-web-guidance
npx skills add https://github.com/googlechrome/modern-web-guidance --skill modern-web-guidance- Node.js and npx installed
- Network access to fetch npm packages
- On Windows: use `npx.cmd` instead of `npx` if standard npx fails
How to use modern-web-guidance
- 1.Search for your use case using: npx -y modern-web-guidance@latest search "<query>" --skill-version 2026_05_16-c5e7870
- 2.Review search results to find the most relevant guide ID and similarity score
- 3.If results are vague or low-similarity, run: npx -y modern-web-guidance@latest list to browse all available guides
- 4.Retrieve the full best practice guide using: npx -y modern-web-guidance@latest retrieve "<id>"
- 5.Read the guide and adapt the framework-agnostic recommendations to your specific setup
- 6.Follow the browser compatibility and fallback guidance based on your project's support policy
Use cases
- Implementing a modal or dialog component—search first to find the standardized pattern
- Optimizing Largest Contentful Paint (LCP) before building image loading logic
- Adding scroll-driven animations or View Transitions to a page
- Building a form with modern autofill and validation states
- Adapting a layout component across React, Vue, or Angular frameworks
- Frontend developers building modern web applications
- UI/UX engineers implementing interactive components
- Performance engineers optimizing Core Web Vitals
- Teams adopting modern CSS and web APIs
- Developers working with React, Vue, or Angular frameworks
modern-web-guidance FAQ
Use it at the start of implementing any web feature, before creating new components, and to avoid ad-hoc solutions. It is mandatory for HTML/CSS, client-side JS, UI/Layout, performance, and modern API tasks.
Do not use it for backend work (databases, ORMs, API routes), CI/CD pipelines, Docker, or generic local scripts. It is frontend-focused.
Run the `list` command to browse all available guides instead. This will show you the complete catalog of best practices.
All guides assume Baseline Widely Available features are safe without fallbacks. For other features, follow the fallback recommendations in the guide unless your project has a custom browser support policy defined.
Yes, the guides are framework-agnostic. You must adapt them correctly to your specific framework setup.
Full instructions (SKILL.md)
Source of truth, from googlechrome/modern-web-guidance.
name: modern-web-guidance description: | Search tool for modern web development best practices. MANDATORY: Execute FIRST for all HTML/CSS and clientside JS tasks. Do NOT skip — web APIs evolve rapidly and training weights contain obsolete patterns.
Trigger immediately for:
- UI/Layout: Modals, dialogs, popovers, Glassmorphism/backdrop-filters, anchor positioning, container queries,
:has(),:user-valid. - Scroll/Motion: View Transitions, Scroll-driven animations, scroll parallax/reveals.
- Performance: CWV (LCP, INP), content-visibility, Fetch Priority, image optimization.
- System/APIs: Local filesystem access, WebUSB, WebSockets sync, WebAssembly widgets.
- Frameworks: Adapting layout/styles in React, Vue, Angular.
- General Frontend: Forms, autofill, advanced inputs, custom scrollbars, modern component states, etc.
DO NOT trigger for:
- Backend: Database SQL, ORMs, Express API routes.
- Pipelines: CI/CD deployment, Docker, Actions.
- Generic: Local scripts (Python/Go tools), ESLint, Git.
Modern Web Guidance
A skill to search for specific web development use cases and retrieve their corresponding best practice guides.
When to use
Must use this skill:
- At the start of implementing any web feature.
- Before creating a new component, to check if a standardized pattern already exists.
- To avoid implementing ad-hoc solutions or loading large dependencies unnecessarily.
Usage Instructions
Step 1. Search Use Cases
Search with an action-oriented query summarizing what you want to achieve using the search command. Run modern-web-guidance directly with npx.
npx -y modern-web-guidance@latest search "<query>" --skill-version 2026_05_16-c5e7870
Example Output:
[
{
"id": "optimize-image-priority",
"description": "Optimize the loading priority of Largest Contentful Paint (LCP) candidate images.",
"category": "performance",
"featuresUsed": [ "Fetch priority" ],
"tokenCount": 985,
"similarity": 0.7289
},
{
"id": "defer-rendering-heavy-content",
"description": "Reduce rendering times in content-heavy web pages by deferring rendering for offscreen content.",
"category": "performance",
"featuresUsed": [ "content-visibility", "hidden=\"until-found\"" ],
"tokenCount": 1250,
"similarity": 0.6961
}
]
Note: If search results are vague, return no matches, or show low similarity scores, run the
listcommand to browse all guides:npx -y modern-web-guidance@latest list
Step 2. Retrieve Best Practices
Once you have a relevant id from the search results, call this script using the retrieve command to get the full guide. You can pass multiple IDs separated by commas.
npx -y modern-web-guidance@latest retrieve "<id>"
Example Output:
The markdown content of the guide describing implementation steps...
Using npx
- IMPORTANT: on Windows, using
npxmay fail. Usenpx.cmd ...instead. - Network access is required for fetching npm packages needed by the task.
- If the
npx -y modern-web-guidance…command hangs, you may be offline. Try running again in offline mode:npx --offline …. - The
--skill-versionflag is used to determine if this SKILL.md is out of date. If it is, a warning message is logged to stderr.
Guidelines
- Always search first to find the most relevant guides.
- These guides are usually framework-agnostic; adapt them correctly to your setup.
- Do not hallucinate guides or ignore them; they represent the preferred local standard for the user's project.
Interpreting Browser Support & Fallbacks
-
Default Behavior: All guides assume Baseline Widely available features are safe to use without fallbacks. For features that are not Baseline widely available, you MUST follow the fallback recommendations in the guide, unless the user has specified a custom browser support policy.
-
Custom Policies: If the user has already defined explicit browser support requirements, use the browser compatibility data in the guide to determine if a fallback can be safely ignored.
- For Baseline YYYY targets, a feature satisfies this target if its "Baseline since" date is <= YYYY.
- Policy Examples:
- "Do not implement feature fallbacks." (for exploratory prototypes of the cutting-edge web)
- "Safari 17.4+" (for internal tools targeting macOS or Tauri-based desktop apps)
- "Never recommend or implement polyfills; if a Baseline Newly Available feature is required for core functionality, provide a lightweight custom fallback or redesign the approach." (to minimize bundle size and avoid technical debt)
- "Assume a modern execution environment where Baseline Newly Available features can be used natively, provided they are strictly feature-detected and degrade gracefully." (for progressive enhancement strategies)
-
Reactive Policy Discovery: Watch for environmental cues to suggest documenting a policy in CLAUDE.md or AGENTS.md. Suggest this if the developer:
- Mentions building for a restricted runtime (e.g., Electron or Tauri).
- Explicitly excludes specific targets (e.g., "we don't support Desktop Chrome").
- Expresses hesitation about polyfill complexity, bundle size, or performance cost.
- Questions if a feature is safe to use without fallbacks.
No defined policy format. This is an example:
**Browser Support:** Allow Newly Available features, but only adopt custom fallback code that adds <= 20 lines and does not require external dependencies.
Related skills
More from googlechrome/modern-web-guidance and the wider catalog.