{"id":"cmuxk4ycl1p2cad07ch6ue1mr","slug":"vercel-react-view-transitions","publicId":"7b1f3a6a-7b6a-47d4-850a-45779e20543e","name":"vercel-react-view-transitions","description":"Guide for implementing smooth, native-feeling animations using React's View Transition API (`<ViewTransition>` component, `addTransitionType`, and CSS view transition pseudo-elements). Use this skill whenever the user wants to add page transitions, animate route changes, create shared element animations, animate enter/exit of components, animate list reorder, implement directional (forward/back) navigation animations, or integrate view transitions in Next.js. Also use when the user mentions view transitions, `startViewTransition`, `ViewTransition`, transition types, or asks about animating between UI states in React without third-party animation libraries.","version":"1.0.0","author":"vercel","license":"MIT","compatibility":"","status":"completed","overallGrade":"B","scannerVersion":11,"fileCount":9,"hasSkillMd":true,"hasScripts":false,"hasReferences":true,"hasEvals":false,"hasAssets":false,"sourceType":"github","sourceUrl":"https://github.com/vercel-labs/agent-skills/tree/main/skills/react-view-transitions","createdAt":"2026-10-07T03:38:07.054Z","completedAt":"2026-10-07T03:38:06.979Z","visibility":"public","publishedAt":"2026-05-25T19:17:01.985Z","category":"","frameworks":[],"badgeStatus":"conditional","downloadCount":0,"verdictRationale":{"summary":"Skill has warnings: 1 warning in security or structure checks.","verdict":"warn","scanners":[{"source":"vettd","weight":1,"verdict":"warn"},{"source":"cisco","weight":0.8,"verdict":"pass"}],"consensus":"warn","warnTriggers":["References external URL — review for indirect prompt injection risk"],"policyVersion":"consensus-v1","hardFailTriggers":[]},"verdictPolicyVersion":"consensus-v1","skillId":"cmpll8e4d006gad088z8snenm","findings":[{"id":"cmuxk4ycl1p2dad074taqrdc9","source":"vettd","category":"security","label":"References external URL — review for indirect prompt injection risk","detail":"External URL(s) detected in references/css-recipes.md — referenced content can change after audit","severity":"medium","ruleId":"VTD-0088","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"17189b4f2bc2c579a1cafc1bd536c8a6","filepath":"references/css-recipes.md"}],"scannerRuns":[{"source":"cisco","status":"success","verdict":null,"grade":"A","findingCount":0,"criticalCount":0,"highCount":0},{"source":"vettd","status":"success","verdict":null,"grade":"B","findingCount":1,"criticalCount":0,"highCount":0}],"user":{"name":"Kris Mondlane","image":"https://avatars.githubusercontent.com/u/237055?v=4"},"repository":{"owner":"vercel-labs","name":"agent-skills"},"freshness":{"status":"verified_unchanged","reason":null,"retryable":false,"renamedTo":null,"lastCheckedAt":"2026-10-22T20:17:00.457Z","lastVerifiedAt":"2026-10-22T20:17:00.457Z","lastChangeDetectedAt":"2026-09-22T00:01:51.090Z","scannedHash":"13063dbbfc1b085cbc11b9bd5d4324aa2f41bb3a","latestUpstreamHash":"13063dbbfc1b085cbc11b9bd5d4324aa2f41bb3a","nextCheckDueAt":"2026-10-23T20:07:33.895Z"},"signalCategories":[{"category":"safety","label":"Safety","form":"graded","verdict":null,"rows":[]},{"category":"reliability","label":"Reliability & Quality","form":"graded","verdict":null,"rows":[]},{"category":"performance","label":"Performance","form":"measured","verdict":{"form":"measured","magnitudes":[{"ruleId":"performance/static-context-tokens","label":"Static context tokens","value":3158,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body"}]},"rows":[{"origin":"signal","id":"cmuxk5d621qd4ad07fol56iux","subjectType":"skill_audit","subjectId":"cmuxk4ycl1p2cad07ch6ue1mr","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/progressive-disclosure","severity":null,"label":"Progressive disclosure","detail":null,"valueNum":null,"valueText":"present","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:37:58.000Z","payload":null},{"origin":"signal","id":"cmuxk50a81p4dad0731wzkzm7","subjectType":"skill_audit","subjectId":"cmuxk4ycl1p2cad07ch6ue1mr","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/static-context-tokens","severity":null,"label":"Static context tokens","detail":null,"valueNum":3158,"valueText":null,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body","derivation":null,"confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:37:58.000Z","payload":null}]},{"category":"cost","label":"Cost","form":"measured","verdict":null,"rows":[]},{"category":"compatibility","label":"Compatibility","form":"unjudged","verdict":{"form":"unjudged"},"rows":[{"origin":"signal","id":"cmuxk51fw1p52ad070tqk0plp","subjectType":"skill_audit","subjectId":"cmuxk4ycl1p2cad07ch6ue1mr","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-environment-assumptions","severity":null,"label":"Declared environment assumptions","detail":null,"valueNum":null,"valueText":"","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:37:58.000Z","payload":null},{"origin":"signal","id":"cmuxk582v1pdpad07e5te3mm9","subjectType":"skill_audit","subjectId":"cmuxk4ycl1p2cad07ch6ue1mr","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-name","severity":null,"label":"Declared skill name","detail":null,"valueNum":null,"valueText":"vercel-react-view-transitions","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T03:37:58.000Z","payload":null}]},{"category":"sentiment","label":"Popularity","form":"unjudged","verdict":null,"rows":[]},{"category":"characteristics","label":"Characteristics","form":"unjudged","verdict":null,"rows":[]}],"signalCount":24,"publisherSupplied":["name","description","author","version","license"]}