view-transitions

github.com/patternsdev/skills
Verdict: Generally safe
0 critical0 high4 medium
B
SCORE 75 / 100
$skillox install view-transitionsSoon
Sign in to followFollowing emails you when a re-scan drops the grade. Opt-out is per-creator on /account/billing.

Why grade B?

score · 75 / 100

The current grade reflects 4 medium findings (3+ MEDs → B).

0 CRIT0 HIGH4 MED0 LOW
To reach a higher grade
  • A
    Reach Atarget score 95

    Resolve 2 of 4 MED (cap is 2).

Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.

Latest scan findings

Scan crawl-as075ed4r432b24pz1lhhfuk · Thu, 28 May 2026 17:45:37 GMT · 3ms

med
No capability manifest declared
The skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.
rule: no-manifest
med
Link text shows "next.js" but points at beta.nextjs.org
The visible link text contains the domain `next.js`, but the URL actually targets `beta.nextjs.org`. This is a phishing/smuggling pattern — the reader sees one host, the agent fetches another. Either update the text or the URL so they match.
rule: anchor-href-mismatchline: 172CWE-601
170```
171
172**Note:** The [Next.js App Router](https://beta.nextjs.org/docs/app-directory-roadmap) is in beta at the time of writing and best-practices around it and the pages directory may be subject to change.text→next.js · href→beta.nextjs.org
173
174To use this in a Next.js app, first we'll disable React strict mode in development. Strict mode runs its checks by rendering the component twice. This interferes with the `ViewTransition` rendering flow in development so we'll disable it globally and re-enable it for child components with the `StrictMode` component.
med
Link text shows "next.js" but points at frolicking-dusk-29be0a.netlify.app
The visible link text contains the domain `next.js`, but the URL actually targets `frolicking-dusk-29be0a.netlify.app`. This is a phishing/smuggling pattern — the reader sees one host, the agent fetches another. Either update the text or the URL so they match.
rule: anchor-href-mismatchline: 204CWE-601
202```
203
204View the [Next.js demonstration](https://frolicking-dusk-29be0a.netlify.app/), the [live Next.js demo](https://photography-view-transitions-nextjs.vercel.app/) and its [source](https://github.com/domchristie/photography-view-transitions-nextjs).text→next.js · href→frolicking-dusk-29be0a.netlify.app
205
206**Note**: the React documentation advises against using `shouldComponentUpdate` and `forceUpdate`, stating they should only be used for performance optimizations, and that `shouldComponentUpdate` is not guaranteed to be called. As page animations are an enhancement, and this component will work even if `shouldComponentUpdate` is not called, this caveat is acceptable.
med
Link text shows "next.js" but points at photography-view-transitions-nextjs.vercel.app
The visible link text contains the domain `next.js`, but the URL actually targets `photography-view-transitions-nextjs.vercel.app`. This is a phishing/smuggling pattern — the reader sees one host, the agent fetches another. Either update the text or the URL so they match.
rule: anchor-href-mismatchline: 204CWE-601
202```
203
204View the [Next.js demonstration](https://frolicking-dusk-29be0a.netlify.app/), the [live Next.js demo](https://photography-view-transitions-nextjs.vercel.app/) and its [source](https://github.com/domchristie/photography-view-transitions-nextjs).text→next.js · href→photography-view-transitions-nextjs.vercel.app
205
206**Note**: the React documentation advises against using `shouldComponentUpdate` and `forceUpdate`, stating they should only be used for performance optimizations, and that `shouldComponentUpdate` is not guaranteed to be called. As page animations are an enhancement, and this component will work even if `shouldComponentUpdate` is not called, this caveat is acceptable.
View latest scan →
skillox.io/c/view-transitions