Skip to content
cccskills
FreePublished on GitHubEnglish overview

update-browser-support

Review Storybook's minimum supported browser versions using Plausible documentation traffic data. The skill presents usage evidence and proposed versions for approval, then updates pinned settings and documentation and opens a pull request with the recorded decision.

OriginalShow the original description

Recomputes Storybook browser support floors from Plausible /docs usage, writes pinned versions, and opens a PR. Use only when a human explicitly applies this skill.

AI rating90/ 100See how to install

Good for

  • Review minimum browser versions using documentation traffic
  • Compare browser version shares and approve support floors
  • Update browser settings and migration documentation together
  • Create a pull request with evidence and approval records

Overview

What it does

This skill reviews Storybook’s minimum supported browser versions using documentation traffic collected in Plausible. It organizes usage shares by version for the last 30 days and presents proposed minimum versions with the evidence behind their selection. After approval, it updates support settings, public documentation, and migration guidance, then creates a pull request containing the evidence and approval record.

When it helps

Use it for maintenance work that revisits browser support based on actual documentation readership. It uses a visitor share of at least 0.5% to consider versions. A person reviews the reasoning and decides whether isolated usage of older versions belongs in the supported range.

Example requests

  • “Suggest minimum supported browser versions from our documentation traffic.”
  • “Apply the approved browser support range to the settings and migration guidance, then create a PR.”

Notes

Use this skill only when a person explicitly applies it. It requires PLAUSIBLE_API_KEY. Explicit approval of the versions to include is required before changing minimum versions. Node settings remain unchanged. It updates caniuse-lite if needed and follows the repository’s seven-day restriction on newly published npm packages. The PR targets next.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodIt explicitly requires human invocation and describes selecting minimum browser versions from traffic data and creating a PR.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodIt specifies API query parameters, version aggregation, approval table contents, files to update, and the PR format.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt requires keeping the API key out of output, explicit approval before version changes, and recording approval in the PR.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingIt names PLAUSIBLE_API_KEY but does not explain how to obtain or configure the key.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 21, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md4.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Update browser support

Auth

Need PLAUSIBLE_API_KEY in the environment. How the operator supplies the key is up to them. Do not print the key.

Query

POST https://plausible.io/api/v2/query

  • site_id: storybook.js.org
  • date_range: "30d"
  • filters: [["contains", "event:page", ["/docs"]]]
  • dimensions: ["visit:browser", "visit:browser_version"]
  • metrics: ["visitors", "percentage"]
  • include: { "total_rows": true }

Save the request, resolved date range, retrieval time, and complete response. Fetch all pages before rolling versions. Use the same fixed date range for every request in the run.

Plausible's Stats API reference defines percentage as the percentage of total visitors in each category. With the query above, the denominator is all unique visitors matching the /docs page filter during the selected period, across all browsers and versions. It is not the total for one browser or the sum of the returned version rows. In each result row, metrics[0] is visitors and metrics[1] is percentage. Use metrics[1] as the share for an unrolled category. The 0.5% cutoff means percentage >= 0.5, not 0.005.

Also query metrics: ["visitors"] with no dimensions and the same site, date range, and page filter to record the denominator. Do not add browser filters to this denominator query.

Heuristic

  1. Roll Chrome / Edge / Firefox / Opera to major. Roll Safari to major.minor.
  2. Share is visitors / total /docs visitors × 100. For a rolled version containing multiple raw versions, query metrics: ["visitors"] with no dimensions, the same site/date/page filter, and additional is filters for that browser and its matching raw versions. Divide this unique-visitor count by the recorded denominator and multiply by 100 to get the rolled share. Do not sum unique-visitor counts or percentages across raw versions; a visitor can appear in more than one row.
  3. Drop any rolled version under 0.5%.
  4. Floor = oldest version in the current cluster, not an isolated older island that itself clears 0.5%.
  5. Omit Opera unless one Opera version is ≥ 0.5%. Drop UC Browser.

Companions: android / and_chr = Chrome floor. ios_saf = Safari floor. Leave Node unchanged.

Approve the selection

The heuristic does not define a numerical boundary between the current cluster and an older island. Do not infer that boundary silently or write new floors without explicit operator approval.

Present the saved query evidence and a table for each browser containing:

  • All rolled versions and their shares, including versions below the cutoff.
  • The exact versions proposed as the current cluster and any excluded older islands.
  • The candidate floor and its share of all /docs visitors.
  • The rationale for the cluster boundary and for including or omitting Opera.

Record the operator's approval, identity, date, and selected versions with the evidence in the PR. The floor is the oldest qualifying version in that approved cluster. If the operator disputes the boundary or the evidence cannot distinguish clusters, stop and ask the Technical Architect to resolve the selection semantics. Do not change the policy to break a tie. Reuse of the saved evidence and approval must yield the same floors.

Write

Pin explicit versions (do not leave a live query):

  • code/core/src/shared/constants/environments-support.ts — BROWSER_TARGETS (chromeN, edgeN, firefoxN, safariN.N, iosN.N; Opera only if kept)
  • code/package.json — browserslist
  • docs/get-started/install.mdx — public list and older-browser fallback guidance, scoped to the same Storybook versions as MIGRATION.md; preserve the preview-only limitations
  • MIGRATION.md — next major From version X.x to Y.0.0 section. Create that section at the top if it does not exist.

If browserslist cannot resolve the new pins, bump caniuse-lite (root resolutions + lockfile). The repo has a 7-day npm age gate.

PR

Branch from origin/next. Open a PR that targets next and follows .github/PULL_REQUEST_TEMPLATE.md. Add labels ci:normal, qa:skip, and BREAKING CHANGE.

In What I did, keep it short: before → after versions, and the share of /docs visitors for each chosen floor.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

canary

FreeSummaryAI rating 80

Find a trial Storybook package for a specific branch, or trigger its publication when needed. Check release progress and obtain the package reference or commands for creating or upgrading a project with that build.

  • Find a trial package for a Storybook branch
  • Publish a trial build for a fork pull request
  • Check publication progress and installation commands
storybookjs/storybook91.3KUpdated Oct 22, 2026

component-docs

FreeSummaryAI rating 90

Look up a project's existing UI components in Storybook, including their props, or configuration inputs, and usage examples. Use the findings to answer questions and identify components to reuse before building duplicates.

  • Find existing UI components
  • Check component props and usage examples
  • Answer questions about component usage
storybookjs/storybook91.3KUpdated Oct 22, 2026

docs-review

FreeSummaryAI rating 90

Review, improve, rewrite, or draft Storybook documentation in /docs. Assess each page’s purpose, audience, structure, and examples, then make suitable edits or provide a content plan, with formatting checks after changes.

  • Improve the structure and examples of a documentation page
  • Draft documentation for a new feature
  • Plan page types and outlines
storybookjs/storybook91.3KUpdated Oct 22, 2026

fix-linting-types-on-pr

FreeSummaryAI rating 80

Check out a GitHub pull request, fix linting and TypeScript errors, and commit and push the changes. The workflow supports forked pull requests and repeats type checks to verify fixes while keeping changes focused on these errors.

  • Fix linting errors in a pull request
  • Resolve TypeScript errors in a pull request
  • Apply fixes to a pull request from a fork
storybookjs/storybook91.3KUpdated Oct 22, 2026

github-qa-labels

FreeSummaryAI rating 80

Organize GitHub issues and pull requests found during quality assurance testing. Apply release tracking labels, classify bugs by four severity levels, and label multiple findings while keeping documentation issues and feature requests outside the severity scheme.

  • Group QA findings by release
  • Classify bugs by severity
  • Apply labels to multiple issues and pull requests
storybookjs/storybook91.3KUpdated Oct 22, 2026

handle-pr-comments

FreeSummaryAI rating 90

Work through unresolved GitHub pull request reviews one at a time. The skill explains each comment, proposes a fix, asks how to proceed, and handles chosen edits, replies, commits, and thread resolution.

  • Addressing unresolved pull request review comments
  • Choosing between a code fix, a reply, or skipping a comment
  • Handling duplicate review comments together
storybookjs/storybook91.3KUpdated Oct 22, 2026

See all skills by storybookjs

Report a problem with this skill