{
  "schema_version": "2026-03-26",
  "id": "vercel-react-best-practices",
  "slug": "vercel-react-best-practices",
  "display_name": "Vercel React Best Practices",
  "description": "Vercel React Best Practices workflow skill. Use this skill when the user needs React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements and the operator should rely on the packaged workflow, support pack, troubleshooting notes, and provenance links before merging or handing off.",
  "version": "0.0.1",
  "category": "frontend",
  "raw_category": "frontend",
  "taxonomy": {
    "raw_category": "frontend",
    "canonical_category": "frontend",
    "inferred_category": "frontend",
    "category_source": "frontmatter"
  },
  "tags": [
    "vercel-react-best-practices",
    "react",
    "and",
    "next",
    "performance",
    "optimization",
    "guidelines",
    "vercel"
  ],
  "complexity": "advanced",
  "risk": "safe",
  "source": "community",
  "author": "vercel",
  "dates": {
    "added": "2026-03-31",
    "updated": "2026-03-31"
  },
  "entrypoint": "skills/vercel-react-best-practices/SKILL.md",
  "paths": {
    "root": "skills/vercel-react-best-practices",
    "manifest": "dist/manifests/vercel-react-best-practices.json",
    "metadata": "skills/vercel-react-best-practices/metadata.json"
  },
  "compatibility": {
    "tools": [
      "codex-cli",
      "claude-code",
      "cursor",
      "gemini-cli",
      "opencode"
    ],
    "install_targets": [
      {
        "tool": "codex-cli",
        "scope": "user-global",
        "default_path": "~/.codex/skills",
        "installer_flag": "--codex",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "Use @skill-name to..."
      },
      {
        "tool": "claude-code",
        "scope": "user-global",
        "default_path": "~/.claude/skills",
        "installer_flag": "--claude",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": ">> /skill-name help me..."
      },
      {
        "tool": "cursor",
        "scope": "user-global",
        "default_path": "~/.cursor/skills",
        "installer_flag": "--cursor",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "@skill-name"
      },
      {
        "tool": "gemini-cli",
        "scope": "user-global",
        "default_path": "~/.gemini/skills",
        "installer_flag": "--gemini",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "Use @skill-name to..."
      },
      {
        "tool": "opencode",
        "scope": "project-local",
        "default_path": ".opencode/skills",
        "installer_flag": "--opencode",
        "current_installer_behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset.",
        "invocation": "opencode run @skill-name"
      }
    ]
  },
  "resources": {
    "sub_resources": [
      "agents",
      "assets",
      "examples",
      "references",
      "rules",
      "scripts"
    ],
    "artifacts_count": 85,
    "references_count": 4,
    "agents_count": 1,
    "assets_count": 1
  },
  "dependencies": {
    "skills": [],
    "external": []
  },
  "install": {
    "strategy": "copy-skill-directory",
    "current_installer": "npx omni-skills installs the full library by default today, and also supports selective installation with --skill and --bundle.",
    "recipes": [
      {
        "tool": "codex-cli",
        "command": "npx omni-skills --codex",
        "scope": "user-global",
        "default_path": "~/.codex/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "claude-code",
        "command": "npx omni-skills --claude",
        "scope": "user-global",
        "default_path": "~/.claude/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "cursor",
        "command": "npx omni-skills --cursor",
        "scope": "user-global",
        "default_path": "~/.cursor/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "gemini-cli",
        "command": "npx omni-skills --gemini",
        "scope": "user-global",
        "default_path": "~/.gemini/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      },
      {
        "tool": "opencode",
        "command": "npx omni-skills --opencode",
        "scope": "project-local",
        "default_path": ".opencode/skills",
        "behavior": "Installs the full Omni Skills library by default. Use --skill or --bundle to install only a selected subset."
      }
    ]
  },
  "classification": {
    "maturity": {
      "skill_level": 3,
      "skill_level_label": "resources",
      "has_scripts": true,
      "has_extra_files": true
    },
    "best_practices": {
      "score": 100,
      "tier": "excellent",
      "signals": {
        "workflow_steps_count": 11,
        "workflow_section_length": 1355,
        "when_to_use_section_length": 670,
        "best_practices_items_count": 7,
        "best_practices_section_length": 1156,
        "troubleshooting_items_count": 0,
        "troubleshooting_section_length": 1342,
        "resources_items_count": 75,
        "resources_section_length": 6530,
        "examples_section_length": 1243,
        "examples_code_blocks_count": 8,
        "related_skills_section_length": 574,
        "decision_assets_count": 45,
        "table_count": 24,
        "linked_resource_families_count": 5,
        "linked_resource_families": [
          "agents",
          "assets",
          "examples",
          "references",
          "scripts"
        ],
        "support_links_count": 8,
        "support_files_count": 10,
        "references_files_count": 4,
        "scripts_files_count": 2,
        "examples_files_count": 2,
        "agents_files_count": 1,
        "assets_files_count": 1,
        "tools_count": 5,
        "tags_count": 8,
        "body_density": 7.48
      }
    },
    "quality": {
      "score": 99,
      "tier": "platinum",
      "breakdown": {
        "body": 16,
        "description": 10,
        "metadata": 12,
        "recency": 8,
        "resources": 10,
        "best_practices": 10,
        "semantic_depth": 16,
        "operational_depth": 10,
        "support_pack": 10
      }
    },
    "security": {
      "score": 95,
      "tier": "review",
      "status": "passed",
      "findings_count": 0,
      "findings": [],
      "signals": {
        "scanned_files": 84,
        "script_files": 2,
        "binary_like_files": 0
      },
      "scanners": {
        "static": {
          "enabled": true,
          "status": "completed"
        },
        "clamav": {
          "enabled": true,
          "status": "completed",
          "provider": "clamav",
          "detections": [],
          "infected_files": 0
        },
        "virustotal": {
          "enabled": true,
          "status": "completed",
          "provider": "virustotal",
          "lookups": 2,
          "positives": 0,
          "results": [
            {
              "path": "skills/vercel-react-best-practices/scripts/omni_import_list_support_pack.py",
              "sha256": "3203bfbdabd001c2f51d371f5b3cb8b2948bb5c63b28a04f28a2ec11c4b03e34",
              "status": "not_found"
            },
            {
              "path": "skills/vercel-react-best-practices/scripts/omni_import_print_origin.py",
              "sha256": "ef527a3a7375c3e95d3dd7340fa71de44024bac32b4e1773707c77cc69153bdd",
              "status": "not_found"
            }
          ],
          "details": "Hash lookups only. Unknown files are not uploaded during validation."
        }
      }
    },
    "validation": {
      "errors": [],
      "warnings": [],
      "status": "passed"
    }
  },
  "content": {
    "body_length": 14895,
    "content_length": 15850,
    "body_lines": 272,
    "word_count": 2034,
    "has_code_blocks": true,
    "typed_code_blocks_count": 2,
    "has_examples_section": true,
    "example_count": 4,
    "has_workflow_section": true,
    "has_when_to_use_section": true,
    "has_best_practices_section": true,
    "has_troubleshooting_section": true,
    "problem_count": 3,
    "troubleshooting_pairs_count": 3,
    "has_additional_resources_section": true,
    "has_related_skills_section": true,
    "related_skills_count": 4,
    "has_local_support_links": true,
    "local_support_links_count": 6,
    "has_local_script_example": true,
    "local_script_example_count": 0,
    "semantic_signals": {
      "workflow_steps_count": 11,
      "workflow_section_length": 1355,
      "when_to_use_section_length": 670,
      "best_practices_items_count": 7,
      "best_practices_section_length": 1156,
      "troubleshooting_items_count": 0,
      "troubleshooting_section_length": 1342,
      "resources_items_count": 75,
      "resources_section_length": 6530,
      "examples_section_length": 1243,
      "examples_code_blocks_count": 8,
      "related_skills_section_length": 574,
      "decision_assets_count": 45,
      "table_count": 24,
      "linked_resource_families_count": 5,
      "linked_resource_families": [
        "agents",
        "assets",
        "examples",
        "references",
        "scripts"
      ],
      "support_links_count": 8,
      "support_files_count": 10,
      "references_files_count": 4,
      "scripts_files_count": 2,
      "examples_files_count": 2,
      "agents_files_count": 1,
      "assets_files_count": 1,
      "tools_count": 5,
      "tags_count": 8,
      "body_density": 7.48
    }
  },
  "artifacts": [
    {
      "path": "skills/vercel-react-best-practices/AGENTS.md",
      "kind": "support",
      "size_bytes": 102219,
      "sha256": "cf06a1bd73a185083f08012ec74cdc4ae3a9b4794ba38cdd5c4327908fbbcebe"
    },
    {
      "path": "skills/vercel-react-best-practices/EXTERNAL_SOURCE.json",
      "kind": "support",
      "size_bytes": 1258,
      "sha256": "14277e7f95592c3039559fa2aa3fc1e811cbf84a04378c2797bb2d62ed05288f"
    },
    {
      "path": "skills/vercel-react-best-practices/ORIGIN.md",
      "kind": "support",
      "size_bytes": 710,
      "sha256": "70ffa7aafce1acecb5f5bd3c58b4d7f5624e24ba8c86f0db0568efc5307ee6d4"
    },
    {
      "path": "skills/vercel-react-best-practices/README.md",
      "kind": "support",
      "size_bytes": 3360,
      "sha256": "9eafb2123d3b8b2aef41fba0db2648a3f4f49996f8c7c8bb2c86263befd8b48a"
    },
    {
      "path": "skills/vercel-react-best-practices/SKILL.md",
      "kind": "entrypoint",
      "size_bytes": 15850,
      "sha256": "4d5f97589f1bfd1a8cf510eaa00fe97efe5752c3e0b90d8e534bce156274626b"
    },
    {
      "path": "skills/vercel-react-best-practices/metadata.json",
      "kind": "support",
      "size_bytes": 9595,
      "sha256": "7a50af8f07bfc2387cd3f8d6eb53535dbb956797733ca621f5f271a470b30d70"
    },
    {
      "path": "skills/vercel-react-best-practices/agents/omni-import-router.md",
      "kind": "agent",
      "size_bytes": 459,
      "sha256": "2b575cff9d3e0e67e83ada819b0016c9c73f298776c3129dfd29d96cfee5470f"
    },
    {
      "path": "skills/vercel-react-best-practices/assets/omni-import-source-manifest.json",
      "kind": "asset",
      "size_bytes": 3163,
      "sha256": "e0a2ff11225b875f222bd4d1320d376d490b4010aefd0d45f183091cf505b27b"
    },
    {
      "path": "skills/vercel-react-best-practices/examples/omni-import-operator-packet.md",
      "kind": "support",
      "size_bytes": 401,
      "sha256": "13606811d32a1c1d2d6ebf938685b941373a711b255b08dcdee96e8874810d5e"
    },
    {
      "path": "skills/vercel-react-best-practices/examples/omni-import-prompt-template.md",
      "kind": "support",
      "size_bytes": 238,
      "sha256": "1f0a9f04fba7c0159754e436382a2d49df426e065409f00c5bf7171e6cd6a082"
    },
    {
      "path": "skills/vercel-react-best-practices/references/omni-import-checklist.md",
      "kind": "reference",
      "size_bytes": 555,
      "sha256": "41e77fcdf23f9c303ccbb9c434536a9ce5302933fe938138fdc2818a6ef42d3a"
    },
    {
      "path": "skills/vercel-react-best-practices/references/omni-import-playbook.md",
      "kind": "reference",
      "size_bytes": 496,
      "sha256": "bf3ae56e5430be9ff7c28533fbce924563338a0e5a56f8d8d9fa6b9437493965"
    },
    {
      "path": "skills/vercel-react-best-practices/references/omni-import-rubric.md",
      "kind": "reference",
      "size_bytes": 598,
      "sha256": "c6b55e08d73852d04feba415b3a4a2b6dfc94400bb82d4e6a5fdb60a862e600c"
    },
    {
      "path": "skills/vercel-react-best-practices/references/omni-import-source-summary.md",
      "kind": "reference",
      "size_bytes": 957,
      "sha256": "a8224d56284541c6840244672080c23da540c701427541c8425b5ee42f0d2d61"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/_sections.md",
      "kind": "support",
      "size_bytes": 1554,
      "sha256": "01c59969e4e867f0708c8f8ef9c6d87fab9a07d0586244f429ff84013db8a115"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/_template.md",
      "kind": "support",
      "size_bytes": 631,
      "sha256": "99df2a3ea088c6c22de2484ddc7e964d0e9923846f44c63380343ecc64455442"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md",
      "kind": "support",
      "size_bytes": 1483,
      "sha256": "a3097edeecfb2ff6851cd66ed8cdf0617c3c88180504bee824aa6e75a215bbbc"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/advanced-init-once.md",
      "kind": "support",
      "size_bytes": 958,
      "sha256": "3e4dc22173eb0e2b6dcf583e3babd862b8696328f8f59aee7c4d746c5bc05f6c"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/advanced-use-latest.md",
      "kind": "support",
      "size_bytes": 1072,
      "sha256": "8a3f64dfe5a77d1564248faf17fe662ae75b55d497a243cb30b38eb07ccbbf9a"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/async-api-routes.md",
      "kind": "support",
      "size_bytes": 1125,
      "sha256": "523338540d73427dc14c0cbb19f2741ebccdf8b105a7b2c1b33d2905cf237a42"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/async-cheap-condition-before-await.md",
      "kind": "support",
      "size_bytes": 1220,
      "sha256": "03107c1f70a293cd58a8abc5474c5548e20ea4efdf01b6d45aae7ad0ac1cb32c"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/async-defer-await.md",
      "kind": "support",
      "size_bytes": 2208,
      "sha256": "f3c142d090615abdcc99d31c123be37b31f0f1ed8d9ec9f7789a3bc6883ae0fb"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/async-dependencies.md",
      "kind": "support",
      "size_bytes": 1293,
      "sha256": "16ef469f877e30c6b8e1e1b4bc3e527312fa3c6318cb785a4eca186ea236131a"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/async-parallel.md",
      "kind": "support",
      "size_bytes": 654,
      "sha256": "6d2f841896279e976dfcdc1ac89e70771ac188baadfd43c096b5706cb838b961"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/async-suspense-boundaries.md",
      "kind": "support",
      "size_bytes": 2510,
      "sha256": "de05fedac2eb7ae563b887b5a424464ec3dfaf84e5b7797467ebe2a796ac8afc"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/bundle-barrel-imports.md",
      "kind": "support",
      "size_bytes": 2795,
      "sha256": "e648f6d54525f07a691357040ca5bff6ea3424788a91ff63812adb29622a671b"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/bundle-conditional.md",
      "kind": "support",
      "size_bytes": 949,
      "sha256": "09c8259c3efb04fc0abb8e412ccbda217c222ae8118516283e571c995fe3a7d4"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/bundle-defer-third-party.md",
      "kind": "support",
      "size_bytes": 920,
      "sha256": "3719fb47b191e8db4fe22686ec88448ad5af9e6838585425abbe103d0b642e37"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md",
      "kind": "support",
      "size_bytes": 791,
      "sha256": "401817a7369f315fc5a68a1095742ff7d53d0461906880dc9d64a41495ee1986"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/bundle-preload.md",
      "kind": "support",
      "size_bytes": 1149,
      "sha256": "d1f7cc28da7cd5ab249acd287edc5b761afcfb194e9cb62cd44c5f3543db2de2"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/client-event-listeners.md",
      "kind": "support",
      "size_bytes": 1969,
      "sha256": "242a873349febc1ce685e85617994784dbab92c2eaa68aed7fed5a83e7680e93"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/client-localstorage-schema.md",
      "kind": "support",
      "size_bytes": 1950,
      "sha256": "0fb7cdf9dc93fdf22f87e3669f953fb9d4ac9b0be42eec4a29fe9a2560610b88"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/client-passive-event-listeners.md",
      "kind": "support",
      "size_bytes": 1644,
      "sha256": "1f35016f9053de69e884ee9be00654e37979c2ca85f5e57764dc2626ff7acb4b"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/client-swr-dedup.md",
      "kind": "support",
      "size_bytes": 1159,
      "sha256": "644652c39c6cc00de8d1c77a7273612e868dc3f7edda30764164c12ec0f764a3"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-batch-dom-css.md",
      "kind": "support",
      "size_bytes": 3266,
      "sha256": "480b891b9eaf96e929dc1e964274a4828e3a78009b7d00ccd965a0d425215959"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-cache-function-results.md",
      "kind": "support",
      "size_bytes": 1949,
      "sha256": "3daaa11d24f4295cb6be8bc6f407f2ce83cc7b5bd1f0e68891ea8ab835721dc7"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-cache-property-access.md",
      "kind": "support",
      "size_bytes": 532,
      "sha256": "73e47431e74878a927061bf0ddc7cd91a7556cb35d2573f3421e82300d9ae311"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-cache-storage.md",
      "kind": "support",
      "size_bytes": 1651,
      "sha256": "11b826b0433898c1ece2d3547010d8e77db9fb240185748c45db91493de9b6cc"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-combine-iterations.md",
      "kind": "support",
      "size_bytes": 753,
      "sha256": "71add08aeeb43091d4ff4c0b2842cce8b4bdef8ad3e732cc034bb5a84827e746"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-early-exit.md",
      "kind": "support",
      "size_bytes": 1133,
      "sha256": "925ce5ce87f3347186ca62212f29cc6baa2b8c85a96d2720ad07c3d0abf781c0"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-flatmap-filter.md",
      "kind": "support",
      "size_bytes": 1411,
      "sha256": "9e5b166a41914d975bef7635467f8fb32cd98b5c3126c0bc6f163490812fb5f0"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-hoist-regexp.md",
      "kind": "support",
      "size_bytes": 1028,
      "sha256": "f9e9aef2f7c2307dd7310f283df85dcada45fc43e9bb941b0c3aa414dec21ec4"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-index-maps.md",
      "kind": "support",
      "size_bytes": 837,
      "sha256": "5df1bdc2cfabb2c98abd55d26762e5c18189535c2e686184f426082e62920391"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-length-check-first.md",
      "kind": "support",
      "size_bytes": 1747,
      "sha256": "8b54a311c826b299272f29187fc58bc55772a04c4a72eeb29456ee96dc9fc624"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-min-max-loop.md",
      "kind": "support",
      "size_bytes": 2290,
      "sha256": "87dfb67e2f39df6ad8bcfb5b78c5fb364d3c07554ad188a202408d99f3763421"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-request-idle-callback.md",
      "kind": "support",
      "size_bytes": 2647,
      "sha256": "ee08f83905b4011abbc33d594033157d77561b5bbd9b36b04f0f409581ffec32"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-set-map-lookups.md",
      "kind": "support",
      "size_bytes": 532,
      "sha256": "a7fd781a6ba9ad49065961b6f9a90ef486bf6b648390e1a08704025f98e1642b"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/js-tosorted-immutable.md",
      "kind": "support",
      "size_bytes": 1782,
      "sha256": "d0a5e1b0fec48a0a81397957e2f068e224329f7c42cb5feeed8aae6fa64025e8"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-activity.md",
      "kind": "support",
      "size_bytes": 564,
      "sha256": "1e5e7eaf3555e61d6a2e900089c676527d26259501db5594f59544b6c664f85a"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md",
      "kind": "support",
      "size_bytes": 1185,
      "sha256": "9c6ae0ca7a51434e803887c64cded760956579a1452ccb80a461a03f9c937c77"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-conditional-render.md",
      "kind": "support",
      "size_bytes": 980,
      "sha256": "2ec2fa23c4148285144687050c52369adba3da2fbe3d486f8d3e0aad8f06f2bc"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-content-visibility.md",
      "kind": "support",
      "size_bytes": 815,
      "sha256": "64eee6d5b916fe74df33363994b27fc7f71bea3bcedc7ee04bda23107ca3e6e4"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md",
      "kind": "support",
      "size_bytes": 1039,
      "sha256": "93b229560fae92005ed9a2a829064607b39b2e984e92d221d05b2d41df2b7c0e"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md",
      "kind": "support",
      "size_bytes": 2308,
      "sha256": "dc7ab358c67c177bca6e6f360fbc935ebe4efa928c0ba3ebd3f9f3d9e2000ca3"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md",
      "kind": "support",
      "size_bytes": 872,
      "sha256": "915bacb934e2927d84b37a3f3d225a47b309ac8f9e494ed2bcb66ce07c5676a2"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-resource-hints.md",
      "kind": "support",
      "size_bytes": 2549,
      "sha256": "351b1095d641717b930f1b2253282b7120af3023bc74e06c17675168d4286864"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-script-defer-async.md",
      "kind": "support",
      "size_bytes": 1868,
      "sha256": "4cea07b7875ba7fc2c7465ff23b63a2bb334f90aaf2d9293d38d67b05fdb32ab"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-svg-precision.md",
      "kind": "support",
      "size_bytes": 588,
      "sha256": "ed468533f6e95f622859c884b122cf21f9f593ed6bb3d500a54de4b9f9bcb9fb"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md",
      "kind": "support",
      "size_bytes": 2074,
      "sha256": "3a1249c3f13026b6f54ab5712c388df219d6af01b12aa542749acd99a46f4bc1"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-defer-reads.md",
      "kind": "support",
      "size_bytes": 973,
      "sha256": "234050a77faf50cb306be10a9e15bd4421134ab5907e75f13e6d78e2bd262dc9"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-dependencies.md",
      "kind": "support",
      "size_bytes": 824,
      "sha256": "17eb5830956fb56486fd3cfc7431f5849d39751730c05ad9e77dd4f0c27169c5"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md",
      "kind": "support",
      "size_bytes": 1201,
      "sha256": "cb11ec76f50aa7b6847269f02d79b120c889a30d9ecd2c1d578f75144419c77a"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-derived-state.md",
      "kind": "support",
      "size_bytes": 728,
      "sha256": "1c326bb67b01fb084eb00c8911b0a7cff54681c2315b629f88e49b64eaa6481d"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-functional-setstate.md",
      "kind": "support",
      "size_bytes": 2968,
      "sha256": "5e68df6b2ae8058e67f476ff1ac67bde159f5a9d18df439e46eabcdeb7b52e58"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md",
      "kind": "support",
      "size_bytes": 2016,
      "sha256": "4ae844740f266fc8cbf050701230286624a2440ec5be67b9a63d9edc3c580573"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md",
      "kind": "support",
      "size_bytes": 1173,
      "sha256": "81c47476564ad8a79fc68fc442734255ca7d6829424359464503fda0a9f9a0dd"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-memo.md",
      "kind": "support",
      "size_bytes": 1148,
      "sha256": "1f258990c2f27ff6256b3cc5c43300631bb3f0d81f749aed08d07fcdcc131dd1"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md",
      "kind": "support",
      "size_bytes": 1268,
      "sha256": "abc2cbf167bee056743023351e96806a411d3398da8802093620aecf0721f029"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-no-inline-components.md",
      "kind": "support",
      "size_bytes": 2135,
      "sha256": "1cc32907a770272524ba682eef9e7efdd8ad4533b6f89b718a1fcd7d1d0eb6a3"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md",
      "kind": "support",
      "size_bytes": 1018,
      "sha256": "5bdcf2d1558ba5204e643c887b7b4060f89630969425651eb68e96427d97f800"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md",
      "kind": "support",
      "size_bytes": 1844,
      "sha256": "6f45d703343484ef9acef9388397f3642966ae6a5a258899a0cf1f9977cfbf6c"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-transitions.md",
      "kind": "support",
      "size_bytes": 1055,
      "sha256": "60f4033909a62df5e5b8c601494f9e50a562e2f8c1c2d81eac24f38142265f1c"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md",
      "kind": "support",
      "size_bytes": 1846,
      "sha256": "8c3579576a61a949884167745dcfaf1d5426ba305cc61fd0a79602d70fda4909"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md",
      "kind": "support",
      "size_bytes": 1742,
      "sha256": "f1a649af9d1d0b5c762f6c9c4c1c70c90d7df82aa10296ee87aadb78c1b76c54"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-after-nonblocking.md",
      "kind": "support",
      "size_bytes": 2012,
      "sha256": "d0b8d24a3db9f0f65f9e2bddbf230b0e03a5f60e1229d93a4a18f5e7a991c7c2"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-auth-actions.md",
      "kind": "support",
      "size_bytes": 2649,
      "sha256": "a2ca8aa102839251c7971ec784560fab943c20b36fe6f80365d4110c13260c23"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-cache-lru.md",
      "kind": "support",
      "size_bytes": 1353,
      "sha256": "1924b64561841923b88a657085097a0aeba3e0ba2d5470b9f5c15cc10d6ae70f"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-cache-react.md",
      "kind": "support",
      "size_bytes": 2228,
      "sha256": "fddeea6c870bb3da4134b61d54b7d09b83d2603f929b7547cd3dc1dc269edd5c"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-dedup-props.md",
      "kind": "support",
      "size_bytes": 2060,
      "sha256": "c2747424cdac46be62f835f245a0aa887b0090b416d28e2ac8676702645eeb37"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-hoist-static-io.md",
      "kind": "support",
      "size_bytes": 4423,
      "sha256": "5abea4dd882b13661bd5f7dfb93f9e547d5f08176c61c448ade91b210ed5d49f"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-parallel-fetching.md",
      "kind": "support",
      "size_bytes": 1554,
      "sha256": "569a2e9fc04f9606686cd75c5894ef8781b502786a7fffe241396846c7733472"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-parallel-nested-fetching.md",
      "kind": "support",
      "size_bytes": 992,
      "sha256": "ad5d9656984d4a959997a2367bf59cc6632297b4634a1dd13a087939d83f30b3"
    },
    {
      "path": "skills/vercel-react-best-practices/rules/server-serialization.md",
      "kind": "support",
      "size_bytes": 996,
      "sha256": "f4c7d68b29c82381baad059c4a7f09e868e71ec9c3115a26ad3ae7d24c0dfe1f"
    },
    {
      "path": "skills/vercel-react-best-practices/scripts/omni_import_list_support_pack.py",
      "kind": "support",
      "size_bytes": 237,
      "sha256": "3203bfbdabd001c2f51d371f5b3cb8b2948bb5c63b28a04f28a2ec11c4b03e34"
    },
    {
      "path": "skills/vercel-react-best-practices/scripts/omni_import_print_origin.py",
      "kind": "support",
      "size_bytes": 278,
      "sha256": "ef527a3a7375c3e95d3dd7340fa71de44024bac32b4e1773707c77cc69153bdd"
    }
  ],
  "archives": [
    {
      "format": "zip",
      "path": "dist/archives/vercel-react-best-practices.zip",
      "file_name": "vercel-react-best-practices.zip",
      "size_bytes": 261430,
      "sha256": "078aa74bf3ec93dc7f5144b4d73de21b8db3fbf84ed4c211955e37316d3135d8",
      "signature": {
        "status": "signed",
        "path": "dist/archives/vercel-react-best-practices.zip.sig",
        "sha256": "10bd4b754067d8000f5706110c11ec95c5883c8dd7b164cf8397cd40aa9ff393",
        "public_key_path": "dist/signing/omni-skills-public.pem",
        "algorithm": "sha256",
        "verify_command": "openssl dgst -sha256 -verify dist/signing/omni-skills-public.pem -signature dist/archives/vercel-react-best-practices.zip.sig dist/archives/vercel-react-best-practices.zip"
      }
    },
    {
      "format": "tar.gz",
      "path": "dist/archives/vercel-react-best-practices.tar.gz",
      "file_name": "vercel-react-best-practices.tar.gz",
      "size_bytes": 317498,
      "sha256": "1109c9e7fff0bff5e4bca9a4e7705bf63a5c3b6827bb40db11754ea97bf75bd5",
      "signature": {
        "status": "signed",
        "path": "dist/archives/vercel-react-best-practices.tar.gz.sig",
        "sha256": "7954cc88bf0cab7eda267118f384bf4c14b556ce4a67ad626a154e5538e416c2",
        "public_key_path": "dist/signing/omni-skills-public.pem",
        "algorithm": "sha256",
        "verify_command": "openssl dgst -sha256 -verify dist/signing/omni-skills-public.pem -signature dist/archives/vercel-react-best-practices.tar.gz.sig dist/archives/vercel-react-best-practices.tar.gz"
      }
    }
  ],
  "archive_checksums": {
    "path": "dist/archives/vercel-react-best-practices.checksums.txt",
    "file_name": "vercel-react-best-practices.checksums.txt",
    "sha256": "697ff3e32a5068422c07c1ea45cc50705f8cbd9bfb7518c20d9088673639365f",
    "signature": {
      "status": "signed",
      "path": "dist/archives/vercel-react-best-practices.checksums.txt.sig",
      "sha256": "5721ee2c554bd538932c33075d0799721db2c865e4b50736bc6dcd298782376e",
      "public_key_path": "dist/signing/omni-skills-public.pem",
      "algorithm": "sha256",
      "verify_command": "openssl dgst -sha256 -verify dist/signing/omni-skills-public.pem -signature dist/archives/vercel-react-best-practices.checksums.txt.sig dist/archives/vercel-react-best-practices.checksums.txt"
    }
  },
  "checksums": {
    "entrypoint_sha256": "4d5f97589f1bfd1a8cf510eaa00fe97efe5752c3e0b90d8e534bce156274626b",
    "package_sha256": "1f676f1f9f0f5cfd27938d8728ffe298274f45f830b00b85d13f4500235474d9"
  }
}
