Modern Web Guidance is a source repository for coding-agent skills that provide web-platform guidance, recommended practices, and browser compatibility information. It helps coding agents choose newer web APIs and patterns when generating web applications. The catalogue skills are the guidance produced and maintained by this project.
Borrowing it
Nothing to install: this file belongs to GoogleChrome/modern-web-guidance-src. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/GoogleChrome/modern-web-guidance-src/main/.agents/skills/project-features/SKILL.mdgit clone --depth 1 https://github.com/GoogleChrome/modern-web-guidance-srcWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/googlechrome/modern-web-guidance-src/project-features)<a href="https://agentmods.dev/skills/googlechrome/modern-web-guidance-src/project-features"><img src="https://agentmods.dev/badge/skills/googlechrome/modern-web-guidance-src/project-features/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/googlechrome/modern-web-guidance-src/project-features"><img src="https://agentmods.dev/badge/skills/googlechrome/modern-web-guidance-src/project-features.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00052 | $0.03915 |
| Opus 5.5 | $0.00021 | $0.01566 |
| Sonnet 5.5 | $0.00010 | $0.00783 |
| Haiku 4.5 | $0.00005 | $0.00392 |
Grade A, and why
project-features scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Filing and triaging new-feature issues
A new-feature issue says "this web platform feature needs guidance." It comes before use cases (see the project-use-cases skill), and automation depends on it:
- ATL routing:
src/ci/atl-triage.tsassigns an ATL based on the issue's labels and its web-feature ID. - Use case tracking:
src/ci/sync-use-cases.ts(called "the sync" below, run by the guide-sync workflow) matches use-case issues to the feature issue by ID. It also writes the use case checklist into the issue body, sets the project status, and closes the issue when every linked use case has complete guidance and expectations. - Priority: the feature issue's priority label and milestone are copied to its use-case issues.
- Coverage: guidance coverage is measured by whether a feature's web-feature ID appears in a published guide.
Most triage problems come from one of five mistakes: using the template for a general request, filing a launch that isn't developer-facing, filing an incremental change as a new feature, filing a duplicate, or giving the issue the wrong ID. This skill covers each one.
Always confirm with the user before you post a comment, edit an issue body, change labels, set a status, or close an issue.
Step 1: Decide whether it qualifies
Work through these questions in order. Stop at the first one that settles it.
Is it about a specific web platform feature?
The new-feature template is for one web platform feature that has shipped, or is about to ship, in a browser. People sometimes use it as a general request for guidance instead. Relabel these rather than closing them:
- A request for guidance on a topic or problem, such as "PWA guidance" or submitting a chat message with Enter without breaking IME input: remove
new-featureand addcontent, and the ATL decides whether it becomes a use case. Only usenew-use-casewhen the issue is formatted with the new-use-case template fields (### Category,### Use case slug,### web-feature-id) and title (Create guide for the <slug> use case); otherwise the sync treats an unlinkednew-use-caseissue as an orphan and closes it as not planned. - A problem with existing guidance, such as an incorrect code example: remove
new-feature, set the issue type toBug(which is what the bug report template sets), and addcontentor the guide's category label sosrc/ci/atl-triage.tsroutes it to the ATL.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 122 lines · 52 tokens per session scan A 989b324e49c9
project-features is a skill published in the GitHub repository GoogleChrome/modern-web-guidance-src (1,202 stars, last pushed today), licensed Apache-2.0. It adds 52 tokens to every session and 3,915 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-23.
Other skills, from other repositories
story-readiness
Checks whether a story is ready to implement: clear acceptance criteria, no open questions, valid ADR and dependencies. Use when the user asks if a story, or the sprint's stories, are ready to start or build.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
workthreads
SpecStory Workthreads - a weekly work-thread rollup across a team's repos from SpecStory coding histories (any agent - Claude Code, Codex, Cursor, Gemini, and more). It groups the window's sessions into threads of work per project and labels each new / open / recently closed, so a lead sees what shipped, what is still…
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
qa-project-bootstrap
Onboard a new QA engineer to an existing codebase, or audit an existing test architecture. Produces a 30-day ramp plan: codebase orientation, framework walkthrough, test architecture audit, mentorship pairing, and first-test guidance. Use when: "QA onboarding," "new tester," "ramp up," "test architecture audit,"…
remove
Remove a deployed framework or addon from the current workspace.