{
  "title": "Recommended skills",
  "verified_on": "2026-10-29",
  "installer_version": "1.7.4",
  "documentation_url": "https://cdn.shaughv.com/recommended-skills",
  "skills": [
    {
      "id": "craftwork-design",
      "title": "Craftwork Design",
      "author": "Craftwork",
      "category": "Design direction",
      "summary": "Design direction and real fonts, icons, components, and visual references.",
      "setup": "Standalone instructions work without an account. Optional Craftwork MCP connection and sign-in require separate approval.",
      "page_url": "https://craftwork.design/skill",
      "source_revision": "2.8.0",
      "repository_url": null,
      "discovery_url": "https://craftwork.design/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/SKILL.md",
      "type": "skill-md",
      "digest": "sha256:017824c686a697782d17badbad058385e2ad40297e042cafd8e4fbacb5b68ca0",
      "upstream_download_url": "https://craftwork.design/SKILL.md",
      "verified_on": "2026-10-29",
      "installation": {
        "command_prefix": [
          "npx",
          "@craftwork-design/wizard@0.1.0",
          "add"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory.",
        "note": "Use the official skill-only wizard for this entry. The generic skills CLI does not resolve this upstream standalone file. MCP connection and authentication are separate setup actions."
      },
      "download_url": "https://craftwork.design/SKILL.md",
      "license": "Upstream terms",
      "bytes": 76121,
      "file_count": 1,
      "delivery": "live-upstream",
      "license_note": "Public standalone instructions; downloaded directly from Craftwork. No redistribution license is asserted by this catalog.",
      "discovery_source": "https://cdn.shaughv.com/recommended-skills/craftwork-design"
    },
    {
      "id": "impeccable",
      "title": "Impeccable",
      "author": "Paul Bakaus",
      "category": "Design direction",
      "summary": "Shape, critique, audit, polish, and refine interfaces with detailed design playbooks.",
      "setup": "Helper scripts can download an executable on first use; approve that setup before running them.",
      "page_url": "https://craftwork.design/skills/impeccable",
      "source_revision": "919dbeba520df760a157fe635be62faae88d58da",
      "repository_url": "https://github.com/pbakaus/impeccable/tree/919dbeba520df760a157fe635be62faae88d58da/plugin/skills/impeccable",
      "discovery_url": "https://craftwork.design/skills/impeccable/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/impeccable/.well-known/agent-skills/impeccable/SKILL.md",
      "type": "archive",
      "digest": "sha256:c0e7f46596ff2fe4f17edc2390b345e55028cfc20d4a313f8b35069f341e6141",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/impeccable/download?sha=c0e7f46596ff2fe4f17edc2390b345e55028cfc20d4a313f8b35069f341e6141",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/impeccable",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/impeccable"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/impeccable-c0e7f46596ff2fe4.zip",
      "license": "Apache-2.0",
      "bytes": 844524,
      "file_count": 58,
      "files": [
        {
          "path": "LICENSE",
          "bytes": 10766,
          "sha256": "02bb8c3b4e70190e3986c0404ad2fd8d639b4f534252d82379cc1b502b6d1812"
        },
        {
          "path": "SKILL.md",
          "bytes": 12541,
          "sha256": "3984708c4fec7cf5227e405c9f7086e681949b9bef009569f101fa60b660a40d"
        },
        {
          "path": "reference/adapt.md",
          "bytes": 11301,
          "sha256": "0648e4e06d01cabc91fa7dc19256ceedeeeea213b9265e9d36b0918370e16fb2"
        },
        {
          "path": "reference/adapt.native.md",
          "bytes": 3910,
          "sha256": "17c583cf8ad41266ea1e787b666b9d91fe13469d3d0f6af57c08e0146f9b17ac"
        },
        {
          "path": "reference/android.md",
          "bytes": 4093,
          "sha256": "058f81f256134841875fd3183e06b37a023de0c877fd2b9eecd97011640791fe"
        },
        {
          "path": "reference/animate.md",
          "bytes": 5236,
          "sha256": "94b4ce6299fea93d9f256b2d25705961a76bc5ea940c56db4145686ebc99df1b"
        },
        {
          "path": "reference/audit.md",
          "bytes": 8528,
          "sha256": "b7c98bde47e00889c235e3d808b596224aad5a0869f25e439f135ce86551a075"
        },
        {
          "path": "reference/audit.native.md",
          "bytes": 8364,
          "sha256": "fe91fcf28638f95577af481a50edaf339d6c9a3ad3b9fa477bc81c116b8bc392"
        },
        {
          "path": "reference/bolder.md",
          "bytes": 3471,
          "sha256": "4879f38b23d0a251a63cbb0327e660296194cd2e71eb4da3236c6ebfe5807746"
        },
        {
          "path": "reference/clarify.md",
          "bytes": 4590,
          "sha256": "6c382f8283756e8a693d832b750f7e4cbff1ca5bdcc3825b2b4ef4da9f21876a"
        },
        {
          "path": "reference/colorize.md",
          "bytes": 4537,
          "sha256": "d1fbd55074abb2251bdaa03749d34acc42c38e46e47549f18f5848df57d43c42"
        },
        {
          "path": "reference/component-review.md",
          "bytes": 7954,
          "sha256": "7780461422046ea2d7ae8b62558cbcb2a32a3c8160af8f1cb16f3c434abc00bc"
        },
        {
          "path": "reference/craft-floor.md",
          "bytes": 4484,
          "sha256": "96e2e6bd4fcf9a2c6da65fb029f96d9176308fae2efd9d8653d3b8d838960e07"
        },
        {
          "path": "reference/craft.md",
          "bytes": 555,
          "sha256": "9205e222bc6565b37fb504ceec93233c2d2a456802b69d16e6b1c44723907c4c"
        },
        {
          "path": "reference/critique.md",
          "bytes": 42682,
          "sha256": "8bf1b06547f571d9b8d3875426fff6621fadd3bc08ae9ebb16d749f5c5f44b01"
        },
        {
          "path": "reference/degraded/asset-producer.md",
          "bytes": 8401,
          "sha256": "37c023b8bbb99221516d3c73f1f1b1be7da3a6dd75c1376799e940b5e6d55223"
        },
        {
          "path": "reference/degraded/documenter.md",
          "bytes": 3325,
          "sha256": "bcc05ea92faebb5c74037a9d4263a5ce9a56f5ab07c8ab3c59ee704d8cade745"
        },
        {
          "path": "reference/degraded/finish-reviewer.md",
          "bytes": 15834,
          "sha256": "c40865450b53e0947bb4318e5e4a413d13e2ca0e8e26a8bea92aa043382d5910"
        },
        {
          "path": "reference/degraded/manual-edit-applier.md",
          "bytes": 7196,
          "sha256": "5fae7f8a2fc3ddd49ad0a413446dc44daedef5b6b7de5eb935bd2fbfad646d58"
        },
        {
          "path": "reference/delight.md",
          "bytes": 3716,
          "sha256": "56500b1f9d2fcec8324d7f448d813048b5831a46d3feeb1055bd3eb17ec3660f"
        },
        {
          "path": "reference/distill.md",
          "bytes": 5624,
          "sha256": "b2f60e0154bf0e687badc46d8c8420e2118a9a6e21162050722be779dc02cb6d"
        },
        {
          "path": "reference/doctor.md",
          "bytes": 5549,
          "sha256": "5eb790f0e7af38b9a5ec9c037ad51beac42f6cadb2e5949e9492011c833713dd"
        },
        {
          "path": "reference/document.md",
          "bytes": 27428,
          "sha256": "87b3db688c7963898bda8096f7868fed05ec5a0a80d14298e8b906b70cdf9c42"
        },
        {
          "path": "reference/extract.md",
          "bytes": 3340,
          "sha256": "bfc51972fbf387566dc9e29c8b1af479a66ab401fdbce659fae9e6a5a9d85316"
        },
        {
          "path": "reference/generate.md",
          "bytes": 13084,
          "sha256": "abb8829a629420e6de63690dfbb4a074a01c3de8a3d4934f2bea4bca95dcda5f"
        },
        {
          "path": "reference/harden.md",
          "bytes": 9450,
          "sha256": "3898bd9b56a042e860a0db4fb4dd81ac81126fa218b604702e2ac0c2287ae09b"
        },
        {
          "path": "reference/hooks.md",
          "bytes": 13869,
          "sha256": "15da1c42d4d208e5f9e9ef24c3326bf8626794de57e7291276d8a5d428f50f54"
        },
        {
          "path": "reference/init.md",
          "bytes": 11671,
          "sha256": "dc340befdfb87d1de3b70e860fab0be7e951a60d3ddc529072c39eb136cfcfcd"
        },
        {
          "path": "reference/ios.md",
          "bytes": 3812,
          "sha256": "40c87038b5f75147a5952a96237acf312a327bf70c1bcd8e0a5f064625ae9668"
        },
        {
          "path": "reference/layout.md",
          "bytes": 5154,
          "sha256": "1d6d2658482b7e2df0c4d27b1b29c5195f0803b402278b96590598f4d3e57aa7"
        },
        {
          "path": "reference/live-setup.md",
          "bytes": 8179,
          "sha256": "73058cdbe80f7387a8b063db4e2376d0d7276ddaff6bd5e14d3473aecb640465"
        },
        {
          "path": "reference/live.md",
          "bytes": 36147,
          "sha256": "82a16d267d0b39ff381a65e3093d372fbbc845484f2c831583bef0447aaaad51"
        },
        {
          "path": "reference/mode-operate.md",
          "bytes": 4716,
          "sha256": "7a52dd7a94ee75f6ae89542c86a1b6e1d306812b16e0d9dbf12d4acad44d148b"
        },
        {
          "path": "reference/mode-persuade.md",
          "bytes": 3638,
          "sha256": "21e78c8a77badb3f83290cd4577ed3b24bd4dd3b57136d7da75733d4f3ee9ac0"
        },
        {
          "path": "reference/mode-read.md",
          "bytes": 4396,
          "sha256": "a569989e6a3d6453b4c45e9474e162a15cc54e11732ac6baa7990a6e7cccc0b5"
        },
        {
          "path": "reference/new-work.md",
          "bytes": 62108,
          "sha256": "554f6a03c4a81caf6e1bea4ac73cb2c231f16a659ea1c9175eb7cb34237f53f5"
        },
        {
          "path": "reference/onboard.md",
          "bytes": 7740,
          "sha256": "9a2c08ee2516d2ee87129e7ebe6a0895f9990c9852d1f6fa7e70be9a6a88a659"
        },
        {
          "path": "reference/operate.md",
          "bytes": 4145,
          "sha256": "a9d2203acd45ca33a13d5c68b02b23ed512425ac15f0e8438318ed124b43729d"
        },
        {
          "path": "reference/optimize.md",
          "bytes": 7614,
          "sha256": "6d368b679a0ed1815812815de65863b5840d419589dfbda06224c01149240287"
        },
        {
          "path": "reference/overdrive.md",
          "bytes": 9085,
          "sha256": "a9856cb40da6519b1334bcfc75a4fbe83bef39ca86ee6f3effcb2a96794c627c"
        },
        {
          "path": "reference/polish.md",
          "bytes": 6632,
          "sha256": "73893e18e874e14beccd7fca92335d9036f5a5e068fd8815fd7daceadf186a43"
        },
        {
          "path": "reference/quieter.md",
          "bytes": 4859,
          "sha256": "ee6d6d127c1c2ab3526d529a8e3698be2185b5e346ac617f37501de2c0698b97"
        },
        {
          "path": "reference/region-map.md",
          "bytes": 3340,
          "sha256": "5c0d1dca9ab72c3ae4a0ea728d6acecf8af980a5b7defa1c7a3924992b62f69a"
        },
        {
          "path": "reference/routing.md",
          "bytes": 3322,
          "sha256": "dd6c5877467a30cb328789297bb5250b21c1c673d25c570a990043aa07ed01ac"
        },
        {
          "path": "reference/shape.md",
          "bytes": 3547,
          "sha256": "a55f016c046cb6a27c55bd7f346375aeb506a755c4fbca19a5f92dbd42309c23"
        },
        {
          "path": "reference/typeset.md",
          "bytes": 5249,
          "sha256": "da98692848aa2e9ea22c681522a082f2226cb5dbfdb704ac38903be1b4cffafd"
        },
        {
          "path": "reference/visualize.md",
          "bytes": 13911,
          "sha256": "881bc7155d2207d2f31839efce9805d4bc8e1acacf2572987a5a7f25946caf91"
        },
        {
          "path": "scripts/VERSION",
          "bytes": 7,
          "sha256": "9940d4b5219de8404015bc18af844c88d7e9e9105682a5d47b1d369d027dbd25"
        },
        {
          "path": "scripts/command-metadata.json",
          "bytes": 8392,
          "sha256": "e8720f3aa41135211cc58cc299a39eeda86c75651f4279cc1ede8db10dcc0584"
        },
        {
          "path": "scripts/data/font-index-failures.json",
          "bytes": 2437,
          "sha256": "835f19a0a3812f3652dd6979a2ce5597f654fd01f26e1b420b92d5f42b997ce4"
        },
        {
          "path": "scripts/data/font-index.json",
          "bytes": 1100013,
          "sha256": "47edbdfaf27073c47033d1ac7dfee881be49e2dcbda7671d1157300481dde6da"
        },
        {
          "path": "scripts/impeccable",
          "bytes": 8514,
          "sha256": "39d9600489073e227e4f4d55c451ce4252a6632ed7ae37923efbbcbc91f16d07"
        },
        {
          "path": "scripts/impeccable.cmd",
          "bytes": 8498,
          "sha256": "69cad1ae7355825ef320ac9638a1c9675ba9fda01c9a0fa12244cc4a1973e550"
        },
        {
          "path": "scripts/live-browser-dom.js",
          "bytes": 10623,
          "sha256": "24f09f2597b9b55a1e2c4acd2ae5c95db5c8615cfc20aa07d1a3950538ad5c4a"
        },
        {
          "path": "scripts/live-browser-ignores.js",
          "bytes": 10346,
          "sha256": "c1cb6877ca99a0c1b38ba0c7d59f32702d3022f6821d8045f7133f7c40b6362f"
        },
        {
          "path": "scripts/live-browser-session.js",
          "bytes": 4346,
          "sha256": "42831c3cd874346d8e7f120808d91e6ed3cda5c3eca6eefd76b126659536bc87"
        },
        {
          "path": "scripts/live-browser.js",
          "bytes": 548448,
          "sha256": "d7f1ee3fdfc423e90268e9c666dce61b2180b62431dbb6ecfc48bca65398a1f8"
        },
        {
          "path": "scripts/modern-screenshot.umd.js",
          "bytes": 29290,
          "sha256": "bb36665889124a0b6e15f16045265737449c3bdcf2712cdb08af3cfa01563e2b"
        }
      ]
    },
    {
      "id": "web-design-guidelines",
      "title": "Web Interface Guidelines",
      "author": "Vercel",
      "category": "Review",
      "summary": "Review interface code for accessibility, usability, and current web guidelines.",
      "setup": "Fetches the latest Vercel guidelines when reviewing; network access is needed for fresh rules.",
      "page_url": "https://craftwork.design/skills/web-design-guidelines",
      "source_revision": "063bee94c3f4df8453406c830b0a7df0f2860278",
      "repository_url": "https://github.com/vercel-labs/agent-skills/tree/063bee94c3f4df8453406c830b0a7df0f2860278/skills/web-design-guidelines",
      "discovery_url": "https://craftwork.design/skills/web-design-guidelines/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/web-design-guidelines/.well-known/agent-skills/web-design-guidelines/SKILL.md",
      "type": "archive",
      "digest": "sha256:26a7446ca9c95ddc4f5e34a8c1827b16a527b77cffcff689d397c3dcdaac1adc",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/web-design-guidelines/download?sha=26a7446ca9c95ddc4f5e34a8c1827b16a527b77cffcff689d397c3dcdaac1adc",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/web-design-guidelines",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/web-design-guidelines"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/web-design-guidelines-26a7446ca9c95ddc.zip",
      "license": "MIT",
      "bytes": 5077,
      "file_count": 3,
      "files": [
        {
          "path": "LICENSE",
          "bytes": 1036,
          "sha256": "508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1"
        },
        {
          "path": "SKILL.md",
          "bytes": 1231,
          "sha256": "f4647ca866a3accf763777f83e7682954f0187cd6bea7eea0399796652414e8f"
        },
        {
          "path": "UPSTREAM-LICENSE-NOTICE.md",
          "bytes": 8048,
          "sha256": "c953979f4566e9fdd7efcf19924b374a5d84835bc26f6b7baa15ba95bc9f52af"
        }
      ]
    },
    {
      "id": "vercel-react-best-practices",
      "title": "React Best Practices",
      "author": "Vercel",
      "category": "React",
      "summary": "Improve React and Next.js data fetching, bundle size, rendering, and performance.",
      "setup": "Apply the rules that match the installed framework versions and architecture.",
      "page_url": "https://craftwork.design/skills/vercel-react-best-practices",
      "source_revision": "063bee94c3f4df8453406c830b0a7df0f2860278",
      "repository_url": "https://github.com/vercel-labs/agent-skills/tree/063bee94c3f4df8453406c830b0a7df0f2860278/skills/react-best-practices",
      "discovery_url": "https://craftwork.design/skills/vercel-react-best-practices/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/vercel-react-best-practices/.well-known/agent-skills/vercel-react-best-practices/SKILL.md",
      "type": "archive",
      "digest": "sha256:7690db00a748ac0c215a278e1c449c9eb4b9c54311ee6139996c37b78fa54ae6",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/vercel-react-best-practices/download?sha=7690db00a748ac0c215a278e1c449c9eb4b9c54311ee6139996c37b78fa54ae6",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/vercel-react-best-practices",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/vercel-react-best-practices"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/vercel-react-best-practices-7690db00a748ac0c.zip",
      "license": "MIT",
      "bytes": 98688,
      "file_count": 78,
      "files": [
        {
          "path": "AGENTS.md",
          "bytes": 108261,
          "sha256": "fc93e7421177bbf869cce892bc60a6c83a4517d974bc3bf65c4e2c1e58a6ccf6"
        },
        {
          "path": "LICENSE",
          "bytes": 1036,
          "sha256": "508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1"
        },
        {
          "path": "README.md",
          "bytes": 3360,
          "sha256": "9eafb2123d3b8b2aef41fba0db2648a3f4f49996f8c7c8bb2c86263befd8b48a"
        },
        {
          "path": "SKILL.md",
          "bytes": 7251,
          "sha256": "71ed7794962fa6e803ee83030517b5b93a9f70fbfeb431ec4535c5480a8d8355"
        },
        {
          "path": "UPSTREAM-LICENSE-NOTICE.md",
          "bytes": 8048,
          "sha256": "c953979f4566e9fdd7efcf19924b374a5d84835bc26f6b7baa15ba95bc9f52af"
        },
        {
          "path": "metadata.json",
          "bytes": 921,
          "sha256": "c4e18bac3290fbe1b471a605867d4df68b03144ea26b8befdbe8f9d8fd124354"
        },
        {
          "path": "rules/_sections.md",
          "bytes": 1554,
          "sha256": "01c59969e4e867f0708c8f8ef9c6d87fab9a07d0586244f429ff84013db8a115"
        },
        {
          "path": "rules/_template.md",
          "bytes": 631,
          "sha256": "99df2a3ea088c6c22de2484ddc7e964d0e9923846f44c63380343ecc64455442"
        },
        {
          "path": "rules/advanced-effect-event-deps.md",
          "bytes": 1802,
          "sha256": "55ed8f9f27a1bff803d6fa55828176207714b02123cbb97ddb8a90d88024a723"
        },
        {
          "path": "rules/advanced-event-handler-refs.md",
          "bytes": 1483,
          "sha256": "a3097edeecfb2ff6851cd66ed8cdf0617c3c88180504bee824aa6e75a215bbbc"
        },
        {
          "path": "rules/advanced-init-once.md",
          "bytes": 958,
          "sha256": "3e4dc22173eb0e2b6dcf583e3babd862b8696328f8f59aee7c4d746c5bc05f6c"
        },
        {
          "path": "rules/advanced-use-latest.md",
          "bytes": 1072,
          "sha256": "8a3f64dfe5a77d1564248faf17fe662ae75b55d497a243cb30b38eb07ccbbf9a"
        },
        {
          "path": "rules/async-api-routes.md",
          "bytes": 1125,
          "sha256": "523338540d73427dc14c0cbb19f2741ebccdf8b105a7b2c1b33d2905cf237a42"
        },
        {
          "path": "rules/async-cheap-condition-before-await.md",
          "bytes": 1220,
          "sha256": "03107c1f70a293cd58a8abc5474c5548e20ea4efdf01b6d45aae7ad0ac1cb32c"
        },
        {
          "path": "rules/async-defer-await.md",
          "bytes": 2208,
          "sha256": "f3c142d090615abdcc99d31c123be37b31f0f1ed8d9ec9f7789a3bc6883ae0fb"
        },
        {
          "path": "rules/async-dependencies.md",
          "bytes": 1293,
          "sha256": "16ef469f877e30c6b8e1e1b4bc3e527312fa3c6318cb785a4eca186ea236131a"
        },
        {
          "path": "rules/async-parallel.md",
          "bytes": 654,
          "sha256": "6d2f841896279e976dfcdc1ac89e70771ac188baadfd43c096b5706cb838b961"
        },
        {
          "path": "rules/async-suspense-boundaries.md",
          "bytes": 2510,
          "sha256": "de05fedac2eb7ae563b887b5a424464ec3dfaf84e5b7797467ebe2a796ac8afc"
        },
        {
          "path": "rules/bundle-analyzable-paths.md",
          "bytes": 2382,
          "sha256": "62090b5c815fd71bf1133dce754f51abc16a9456d0ccd025fd627de27726e92a"
        },
        {
          "path": "rules/bundle-barrel-imports.md",
          "bytes": 2795,
          "sha256": "e648f6d54525f07a691357040ca5bff6ea3424788a91ff63812adb29622a671b"
        },
        {
          "path": "rules/bundle-conditional.md",
          "bytes": 949,
          "sha256": "09c8259c3efb04fc0abb8e412ccbda217c222ae8118516283e571c995fe3a7d4"
        },
        {
          "path": "rules/bundle-defer-third-party.md",
          "bytes": 920,
          "sha256": "3719fb47b191e8db4fe22686ec88448ad5af9e6838585425abbe103d0b642e37"
        },
        {
          "path": "rules/bundle-dynamic-imports.md",
          "bytes": 791,
          "sha256": "401817a7369f315fc5a68a1095742ff7d53d0461906880dc9d64a41495ee1986"
        },
        {
          "path": "rules/bundle-preload.md",
          "bytes": 1149,
          "sha256": "d1f7cc28da7cd5ab249acd287edc5b761afcfb194e9cb62cd44c5f3543db2de2"
        },
        {
          "path": "rules/client-event-listeners.md",
          "bytes": 1969,
          "sha256": "242a873349febc1ce685e85617994784dbab92c2eaa68aed7fed5a83e7680e93"
        },
        {
          "path": "rules/client-localstorage-schema.md",
          "bytes": 1950,
          "sha256": "0fb7cdf9dc93fdf22f87e3669f953fb9d4ac9b0be42eec4a29fe9a2560610b88"
        },
        {
          "path": "rules/client-passive-event-listeners.md",
          "bytes": 1644,
          "sha256": "1f35016f9053de69e884ee9be00654e37979c2ca85f5e57764dc2626ff7acb4b"
        },
        {
          "path": "rules/client-swr-dedup.md",
          "bytes": 1159,
          "sha256": "644652c39c6cc00de8d1c77a7273612e868dc3f7edda30764164c12ec0f764a3"
        },
        {
          "path": "rules/js-batch-dom-css.md",
          "bytes": 3266,
          "sha256": "480b891b9eaf96e929dc1e964274a4828e3a78009b7d00ccd965a0d425215959"
        },
        {
          "path": "rules/js-cache-function-results.md",
          "bytes": 1949,
          "sha256": "3daaa11d24f4295cb6be8bc6f407f2ce83cc7b5bd1f0e68891ea8ab835721dc7"
        },
        {
          "path": "rules/js-cache-property-access.md",
          "bytes": 532,
          "sha256": "73e47431e74878a927061bf0ddc7cd91a7556cb35d2573f3421e82300d9ae311"
        },
        {
          "path": "rules/js-cache-storage.md",
          "bytes": 1651,
          "sha256": "11b826b0433898c1ece2d3547010d8e77db9fb240185748c45db91493de9b6cc"
        },
        {
          "path": "rules/js-combine-iterations.md",
          "bytes": 753,
          "sha256": "71add08aeeb43091d4ff4c0b2842cce8b4bdef8ad3e732cc034bb5a84827e746"
        },
        {
          "path": "rules/js-early-exit.md",
          "bytes": 1133,
          "sha256": "925ce5ce87f3347186ca62212f29cc6baa2b8c85a96d2720ad07c3d0abf781c0"
        },
        {
          "path": "rules/js-flatmap-filter.md",
          "bytes": 1411,
          "sha256": "9e5b166a41914d975bef7635467f8fb32cd98b5c3126c0bc6f163490812fb5f0"
        },
        {
          "path": "rules/js-hoist-regexp.md",
          "bytes": 1028,
          "sha256": "f9e9aef2f7c2307dd7310f283df85dcada45fc43e9bb941b0c3aa414dec21ec4"
        },
        {
          "path": "rules/js-index-maps.md",
          "bytes": 837,
          "sha256": "5df1bdc2cfabb2c98abd55d26762e5c18189535c2e686184f426082e62920391"
        },
        {
          "path": "rules/js-length-check-first.md",
          "bytes": 1747,
          "sha256": "8b54a311c826b299272f29187fc58bc55772a04c4a72eeb29456ee96dc9fc624"
        },
        {
          "path": "rules/js-min-max-loop.md",
          "bytes": 2290,
          "sha256": "87dfb67e2f39df6ad8bcfb5b78c5fb364d3c07554ad188a202408d99f3763421"
        },
        {
          "path": "rules/js-request-idle-callback.md",
          "bytes": 2647,
          "sha256": "ee08f83905b4011abbc33d594033157d77561b5bbd9b36b04f0f409581ffec32"
        },
        {
          "path": "rules/js-set-map-lookups.md",
          "bytes": 532,
          "sha256": "a7fd781a6ba9ad49065961b6f9a90ef486bf6b648390e1a08704025f98e1642b"
        },
        {
          "path": "rules/js-tosorted-immutable.md",
          "bytes": 1782,
          "sha256": "d0a5e1b0fec48a0a81397957e2f068e224329f7c42cb5feeed8aae6fa64025e8"
        },
        {
          "path": "rules/rendering-activity.md",
          "bytes": 564,
          "sha256": "1e5e7eaf3555e61d6a2e900089c676527d26259501db5594f59544b6c664f85a"
        },
        {
          "path": "rules/rendering-animate-svg-wrapper.md",
          "bytes": 1185,
          "sha256": "9c6ae0ca7a51434e803887c64cded760956579a1452ccb80a461a03f9c937c77"
        },
        {
          "path": "rules/rendering-conditional-render.md",
          "bytes": 980,
          "sha256": "2ec2fa23c4148285144687050c52369adba3da2fbe3d486f8d3e0aad8f06f2bc"
        },
        {
          "path": "rules/rendering-content-visibility.md",
          "bytes": 815,
          "sha256": "64eee6d5b916fe74df33363994b27fc7f71bea3bcedc7ee04bda23107ca3e6e4"
        },
        {
          "path": "rules/rendering-hoist-jsx.md",
          "bytes": 1039,
          "sha256": "93b229560fae92005ed9a2a829064607b39b2e984e92d221d05b2d41df2b7c0e"
        },
        {
          "path": "rules/rendering-hydration-no-flicker.md",
          "bytes": 2308,
          "sha256": "dc7ab358c67c177bca6e6f360fbc935ebe4efa928c0ba3ebd3f9f3d9e2000ca3"
        },
        {
          "path": "rules/rendering-hydration-suppress-warning.md",
          "bytes": 872,
          "sha256": "915bacb934e2927d84b37a3f3d225a47b309ac8f9e494ed2bcb66ce07c5676a2"
        },
        {
          "path": "rules/rendering-resource-hints.md",
          "bytes": 2549,
          "sha256": "351b1095d641717b930f1b2253282b7120af3023bc74e06c17675168d4286864"
        },
        {
          "path": "rules/rendering-script-defer-async.md",
          "bytes": 1868,
          "sha256": "4cea07b7875ba7fc2c7465ff23b63a2bb334f90aaf2d9293d38d67b05fdb32ab"
        },
        {
          "path": "rules/rendering-svg-precision.md",
          "bytes": 588,
          "sha256": "ed468533f6e95f622859c884b122cf21f9f593ed6bb3d500a54de4b9f9bcb9fb"
        },
        {
          "path": "rules/rendering-usetransition-loading.md",
          "bytes": 2074,
          "sha256": "3a1249c3f13026b6f54ab5712c388df219d6af01b12aa542749acd99a46f4bc1"
        },
        {
          "path": "rules/rerender-defer-reads.md",
          "bytes": 973,
          "sha256": "234050a77faf50cb306be10a9e15bd4421134ab5907e75f13e6d78e2bd262dc9"
        },
        {
          "path": "rules/rerender-dependencies.md",
          "bytes": 824,
          "sha256": "17eb5830956fb56486fd3cfc7431f5849d39751730c05ad9e77dd4f0c27169c5"
        },
        {
          "path": "rules/rerender-derived-state-no-effect.md",
          "bytes": 1201,
          "sha256": "cb11ec76f50aa7b6847269f02d79b120c889a30d9ecd2c1d578f75144419c77a"
        },
        {
          "path": "rules/rerender-derived-state.md",
          "bytes": 728,
          "sha256": "1c326bb67b01fb084eb00c8911b0a7cff54681c2315b629f88e49b64eaa6481d"
        },
        {
          "path": "rules/rerender-functional-setstate.md",
          "bytes": 2968,
          "sha256": "5e68df6b2ae8058e67f476ff1ac67bde159f5a9d18df439e46eabcdeb7b52e58"
        },
        {
          "path": "rules/rerender-lazy-state-init.md",
          "bytes": 2016,
          "sha256": "4ae844740f266fc8cbf050701230286624a2440ec5be67b9a63d9edc3c580573"
        },
        {
          "path": "rules/rerender-memo-with-default-value.md",
          "bytes": 1173,
          "sha256": "81c47476564ad8a79fc68fc442734255ca7d6829424359464503fda0a9f9a0dd"
        },
        {
          "path": "rules/rerender-memo.md",
          "bytes": 1148,
          "sha256": "1f258990c2f27ff6256b3cc5c43300631bb3f0d81f749aed08d07fcdcc131dd1"
        },
        {
          "path": "rules/rerender-move-effect-to-event.md",
          "bytes": 1268,
          "sha256": "abc2cbf167bee056743023351e96806a411d3398da8802093620aecf0721f029"
        },
        {
          "path": "rules/rerender-no-inline-components.md",
          "bytes": 2135,
          "sha256": "1cc32907a770272524ba682eef9e7efdd8ad4533b6f89b718a1fcd7d1d0eb6a3"
        },
        {
          "path": "rules/rerender-simple-expression-in-memo.md",
          "bytes": 1018,
          "sha256": "5bdcf2d1558ba5204e643c887b7b4060f89630969425651eb68e96427d97f800"
        },
        {
          "path": "rules/rerender-split-combined-hooks.md",
          "bytes": 1844,
          "sha256": "6f45d703343484ef9acef9388397f3642966ae6a5a258899a0cf1f9977cfbf6c"
        },
        {
          "path": "rules/rerender-transitions.md",
          "bytes": 1055,
          "sha256": "60f4033909a62df5e5b8c601494f9e50a562e2f8c1c2d81eac24f38142265f1c"
        },
        {
          "path": "rules/rerender-use-deferred-value.md",
          "bytes": 1846,
          "sha256": "8c3579576a61a949884167745dcfaf1d5426ba305cc61fd0a79602d70fda4909"
        },
        {
          "path": "rules/rerender-use-ref-transient-values.md",
          "bytes": 1742,
          "sha256": "f1a649af9d1d0b5c762f6c9c4c1c70c90d7df82aa10296ee87aadb78c1b76c54"
        },
        {
          "path": "rules/server-after-nonblocking.md",
          "bytes": 2012,
          "sha256": "d0b8d24a3db9f0f65f9e2bddbf230b0e03a5f60e1229d93a4a18f5e7a991c7c2"
        },
        {
          "path": "rules/server-auth-actions.md",
          "bytes": 2649,
          "sha256": "a2ca8aa102839251c7971ec784560fab943c20b36fe6f80365d4110c13260c23"
        },
        {
          "path": "rules/server-cache-lru.md",
          "bytes": 1353,
          "sha256": "1924b64561841923b88a657085097a0aeba3e0ba2d5470b9f5c15cc10d6ae70f"
        },
        {
          "path": "rules/server-cache-react.md",
          "bytes": 2228,
          "sha256": "fddeea6c870bb3da4134b61d54b7d09b83d2603f929b7547cd3dc1dc269edd5c"
        },
        {
          "path": "rules/server-dedup-props.md",
          "bytes": 2060,
          "sha256": "c2747424cdac46be62f835f245a0aa887b0090b416d28e2ac8676702645eeb37"
        },
        {
          "path": "rules/server-hoist-static-io.md",
          "bytes": 4423,
          "sha256": "5abea4dd882b13661bd5f7dfb93f9e547d5f08176c61c448ade91b210ed5d49f"
        },
        {
          "path": "rules/server-no-shared-module-state.md",
          "bytes": 1766,
          "sha256": "4d869bf1cd2f1632e5ca4c0e64b1cf0e71c5f5a0f940bc8a22174d205e735ed7"
        },
        {
          "path": "rules/server-parallel-fetching.md",
          "bytes": 1554,
          "sha256": "569a2e9fc04f9606686cd75c5894ef8781b502786a7fffe241396846c7733472"
        },
        {
          "path": "rules/server-parallel-nested-fetching.md",
          "bytes": 992,
          "sha256": "ad5d9656984d4a959997a2367bf59cc6632297b4634a1dd13a087939d83f30b3"
        },
        {
          "path": "rules/server-serialization.md",
          "bytes": 996,
          "sha256": "f4c7d68b29c82381baad059c4a7f09e868e71ec9c3115a26ad3ae7d24c0dfe1f"
        }
      ]
    },
    {
      "id": "react-view-transitions",
      "title": "React View Transitions",
      "author": "Vercel",
      "category": "Motion",
      "summary": "Implement purposeful state and route transitions with React and browser view transitions.",
      "setup": "Check installed React, framework, and browser support first; approve any required version change.",
      "page_url": "https://craftwork.design/skills/react-view-transitions",
      "source_revision": "063bee94c3f4df8453406c830b0a7df0f2860278",
      "repository_url": "https://github.com/vercel-labs/agent-skills/tree/063bee94c3f4df8453406c830b0a7df0f2860278/skills/react-view-transitions",
      "discovery_url": "https://craftwork.design/skills/react-view-transitions/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/react-view-transitions/.well-known/agent-skills/react-view-transitions/SKILL.md",
      "type": "archive",
      "digest": "sha256:91041a93e0b4fe970bdbc0093dcf924a760722fc95f03a06d02dbb230ca132b3",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/react-view-transitions/download?sha=91041a93e0b4fe970bdbc0093dcf924a760722fc95f03a06d02dbb230ca132b3",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/react-view-transitions",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/react-view-transitions"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/react-view-transitions-91041a93e0b4fe97.zip",
      "license": "MIT",
      "bytes": 48275,
      "file_count": 11,
      "files": [
        {
          "path": "AGENTS.md",
          "bytes": 58993,
          "sha256": "83fd29aec273cf4318a4f428ed2725f2cd3b6adbd76640e495c31f0a2521c702"
        },
        {
          "path": "LICENSE",
          "bytes": 1036,
          "sha256": "508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1"
        },
        {
          "path": "README.md",
          "bytes": 2231,
          "sha256": "aba31b4ac31c1b13d2a8054179604abd4498b0d7324746635ff0e3b0aea9d608"
        },
        {
          "path": "SKILL.md",
          "bytes": 14407,
          "sha256": "1520343c8814c972fee001cac6d6185976d6eb3f4edcac33afe95c10f3b3228b"
        },
        {
          "path": "UPSTREAM-LICENSE-NOTICE.md",
          "bytes": 8048,
          "sha256": "c953979f4566e9fdd7efcf19924b374a5d84835bc26f6b7baa15ba95bc9f52af"
        },
        {
          "path": "metadata.json",
          "bytes": 852,
          "sha256": "b1a5ae09f3904dc83dab79f518d033bd98f1e2f55caabfdb5beeeaaf0ca5e4c2"
        },
        {
          "path": "references/css-recipes.md",
          "bytes": 8337,
          "sha256": "f4a5b92a7aad6befd2779e498ab04311277f179b240d2170f0a68a1444024d51"
        },
        {
          "path": "references/implementation.md",
          "bytes": 9280,
          "sha256": "87687de5fa2f775a6b5134ee02863ebede9ee6bc42ea8ed99bd53aa5325e78f4"
        },
        {
          "path": "references/nextjs.md",
          "bytes": 10700,
          "sha256": "f926a645d5e4c62fcc2d5832be0f3ad048f2ee1d17f8476324e2bc407e4b3a07"
        },
        {
          "path": "references/patterns.md",
          "bytes": 11941,
          "sha256": "da24d7f37c7e6b8ecbcf05525ef613d8f5be94655c233d6fa62833c8a746604f"
        },
        {
          "path": "references/troubleshooting.md",
          "bytes": 4940,
          "sha256": "aa6811d276dcf06dcc9aba90d1e11e1d0a29146604bf7c89a9e93a6fa8883c7a"
        }
      ]
    },
    {
      "id": "shadcn",
      "title": "shadcn/ui",
      "author": "shadcn/ui",
      "category": "Components",
      "summary": "Build and maintain shadcn component systems with the project CLI and composition rules.",
      "setup": "Its CLI can write source files and install dependencies. Approve the project setup and component changes.",
      "page_url": "https://craftwork.design/skills/shadcn",
      "source_revision": "993eb2c3151997ce08a49635c10fd8c8ef3713c7",
      "repository_url": "https://github.com/shadcn-ui/ui/tree/993eb2c3151997ce08a49635c10fd8c8ef3713c7/skills/shadcn",
      "discovery_url": "https://craftwork.design/skills/shadcn/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/shadcn/.well-known/agent-skills/shadcn/SKILL.md",
      "type": "archive",
      "digest": "sha256:a7674de82fb740ef3f1ebe7a6b9262deb400b555473cfa95ab9386c6ffb37331",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/shadcn/download?sha=a7674de82fb740ef3f1ebe7a6b9262deb400b555473cfa95ab9386c6ffb37331",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/shadcn",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/shadcn"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/shadcn-a7674de82fb740ef.zip",
      "license": "MIT",
      "bytes": 58585,
      "file_count": 22,
      "files": [
        {
          "path": "LICENSE",
          "bytes": 1063,
          "sha256": "1564074e13439397221ffd522e2e504d56561994a23d371aa5e3ad43e4f5423f"
        },
        {
          "path": "SKILL.md",
          "bytes": 21306,
          "sha256": "0185f715bc985deca4223be426f898aa17f7d1a297a9857dfa79055e473bc34d"
        },
        {
          "path": "agents/openai.yml",
          "bytes": 238,
          "sha256": "35db91b1eef58b2abe01da9b88577de5a44e233b740cd93d692ddeeadd2afe4d"
        },
        {
          "path": "assets/shadcn-small.png",
          "bytes": 1049,
          "sha256": "0ecc62d682727f68fc4937eed19960c706714fa084d44f63028d611ae02bf3d7"
        },
        {
          "path": "assets/shadcn.png",
          "bytes": 3852,
          "sha256": "7d60ad6fec4d89a0d44ba5a3c9283d2fea0047af5467f9227040e20d927d39b7"
        },
        {
          "path": "assets/showcase/color-pair.tsx",
          "bytes": 3448,
          "sha256": "6028f0b677912216822fdaf76ae6b8863c429916ed4a9626b73f4de4506f8ee4"
        },
        {
          "path": "assets/showcase/preview-states.css",
          "bytes": 425,
          "sha256": "8d9e3cec24dd01b11c5ba12196d0376a131797d9ad247ea624e66eb8bbf61b0e"
        },
        {
          "path": "assets/showcase/state-matrix.tsx",
          "bytes": 1682,
          "sha256": "07794119fe05ff735358b3f8ca30a8297617ab64dfb3901dce4d89fe5f443458"
        },
        {
          "path": "cli.md",
          "bytes": 17304,
          "sha256": "a381e35bf36fe7bb851952c13707e01e82434fd7a4a4e53f6df26c6370838904"
        },
        {
          "path": "customization.md",
          "bytes": 6279,
          "sha256": "a19e81c78843df255e85755e52659268d793845add845b34ad8091f62bff3af9"
        },
        {
          "path": "design-system-page.md",
          "bytes": 15790,
          "sha256": "c541d661af159548744be3e27f79e7da710ab83f9afd448a4346f7ff1531d328"
        },
        {
          "path": "design-system.md",
          "bytes": 21621,
          "sha256": "9ed11e93e7e80e34c8795d5ba82e5420ca905e8e9949fef79cbe9239184fd06b"
        },
        {
          "path": "evals/evals.json",
          "bytes": 10626,
          "sha256": "e82c747326a5c21e37a1c962274d36b1bfebb3e6602ee368b98e2dba5db18369"
        },
        {
          "path": "mcp.md",
          "bytes": 3510,
          "sha256": "8d696b4e45b7d0e337367248513bd9acebe8f3bcfd7b748c775e5a337c8f38c8"
        },
        {
          "path": "registry.md",
          "bytes": 8817,
          "sha256": "4f239be36bd2b58e17047db1ca80ab7da00e15a8b73242e5e4d50d113c4caa05"
        },
        {
          "path": "rules/base-vs-radix.md",
          "bytes": 6954,
          "sha256": "2b2deb47d004285220c1fc6b38bb2edc2d0ccbcdafd031b0b189d5d8ed0d1ba8"
        },
        {
          "path": "rules/chat.md",
          "bytes": 8018,
          "sha256": "de29c12524a27578a59ecf8c95ea939278c1a3572a3706bfc99f6f92cb770b7b"
        },
        {
          "path": "rules/composition.md",
          "bytes": 4892,
          "sha256": "f282df828d83a91132a846ddb62eea149a7c7c94822e9ca88cfddf85af01aa41"
        },
        {
          "path": "rules/forms.md",
          "bytes": 4857,
          "sha256": "29593e14381e34626f8e0e9c15c59f3394b92a0623af6a6ec94585400123853c"
        },
        {
          "path": "rules/icons.md",
          "bytes": 1958,
          "sha256": "d4a58266648872d9ee07d0c2368843a1cb88b8253b7f528dd7bda9d68b6c2535"
        },
        {
          "path": "rules/styling.md",
          "bytes": 4675,
          "sha256": "f88fbd72dff862805b786dc7d7e4c74c83030fc278c5b97c993e4e665001798c"
        },
        {
          "path": "scripts/showcase-coverage.mjs",
          "bytes": 1453,
          "sha256": "fb593e0806414d23b51354a46881f0b2873afc226bda0926a22f83cbd60af2fa"
        }
      ]
    },
    {
      "id": "vercel-composition-patterns",
      "title": "Composition Patterns",
      "author": "Vercel",
      "category": "React",
      "summary": "Design reusable React APIs with compound components, shared state, and explicit variants.",
      "setup": "Check the project React version before using React 19-specific APIs.",
      "page_url": "https://craftwork.design/skills/vercel-composition-patterns",
      "source_revision": "063bee94c3f4df8453406c830b0a7df0f2860278",
      "repository_url": "https://github.com/vercel-labs/agent-skills/tree/063bee94c3f4df8453406c830b0a7df0f2860278/skills/composition-patterns",
      "discovery_url": "https://craftwork.design/skills/vercel-composition-patterns/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/vercel-composition-patterns/.well-known/agent-skills/vercel-composition-patterns/SKILL.md",
      "type": "archive",
      "digest": "sha256:a940347d644730b8061b05015feca44eedce4a33789dbc8ac034b6c74ff1a10c",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/vercel-composition-patterns/download?sha=a940347d644730b8061b05015feca44eedce4a33789dbc8ac034b6c74ff1a10c",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/vercel-composition-patterns",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/vercel-composition-patterns"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/vercel-composition-patterns-a940347d644730b8.zip",
      "license": "MIT",
      "bytes": 22546,
      "file_count": 16,
      "files": [
        {
          "path": "AGENTS.md",
          "bytes": 22627,
          "sha256": "89e3ddd58fcf99a53a50e25dfd21b8cde1be5f10b7df6bacd3dfa6796932f516"
        },
        {
          "path": "LICENSE",
          "bytes": 1036,
          "sha256": "508a77d2e7b51d98adeed32648ad124b7b30241a8e70b2e72c99f92d8e5874d1"
        },
        {
          "path": "README.md",
          "bytes": 2140,
          "sha256": "85915a43a6f0b4efe525e3cf6398dd866166da2025837c4460468a24a940da94"
        },
        {
          "path": "SKILL.md",
          "bytes": 2886,
          "sha256": "e38e0eaa609316b10423a9a138ed95e35099accd3f735585295c8a8f165c28a3"
        },
        {
          "path": "UPSTREAM-LICENSE-NOTICE.md",
          "bytes": 8048,
          "sha256": "c953979f4566e9fdd7efcf19924b374a5d84835bc26f6b7baa15ba95bc9f52af"
        },
        {
          "path": "metadata.json",
          "bytes": 530,
          "sha256": "49262ed5cb4186f31ee980cf8d990be0170c51efed4908d0464a1cff9905bd05"
        },
        {
          "path": "rules/_sections.md",
          "bytes": 829,
          "sha256": "a174213b87e6911e2b766995a2cbaf8d1534057076e82fb79fe3f0ecb38047df"
        },
        {
          "path": "rules/_template.md",
          "bytes": 329,
          "sha256": "587f7d16b0660eb61fee4a4d3d7df2b3077d6835de170602c7d6e60bee559131"
        },
        {
          "path": "rules/architecture-avoid-boolean-props.md",
          "bytes": 2267,
          "sha256": "007555ebb020f4d552582a2c4db194db71a1fd33094012e5187bcfa4f8c392d5"
        },
        {
          "path": "rules/architecture-compound-components.md",
          "bytes": 2600,
          "sha256": "f246af13dc269b521cf20eb8ad99a0cb645beac381c8c9b117262c34612c8457"
        },
        {
          "path": "rules/patterns-children-over-render-props.md",
          "bytes": 1886,
          "sha256": "7c45a0d21b3c4126a32cba916ee31adeae195386ad1dbbe6634aedb7457aa0ad"
        },
        {
          "path": "rules/patterns-explicit-variants.md",
          "bytes": 2395,
          "sha256": "8c19e596e61807549d01ce8c6954c6358199f97a8511c0c02c625ec0efda8c0e"
        },
        {
          "path": "rules/react19-no-forwardref.md",
          "bytes": 953,
          "sha256": "881830adb7534c4b2d70db426556646ad9837f5478f744f35641f635ada22227"
        },
        {
          "path": "rules/state-context-interface.md",
          "bytes": 4974,
          "sha256": "09e73afbf9285fa416679cc864a287b9e8b821d0969272ab784295386d8c9bc3"
        },
        {
          "path": "rules/state-decouple-implementation.md",
          "bytes": 2699,
          "sha256": "76a8c1eb29a70d8996ab3f71260345af2f7bc89deab815a421d6c87c6591a9c3"
        },
        {
          "path": "rules/state-lift-state.md",
          "bytes": 3224,
          "sha256": "74c54038a6c554c748fe31cec673b80861b5d920b7553cf78cdf10d18b4b759b"
        }
      ]
    },
    {
      "id": "extract-design-md",
      "title": "Extract DESIGN.md",
      "author": "Google Stitch",
      "category": "Design systems",
      "summary": "Extract colors, type, spacing, components, and patterns from frontend source into DESIGN.md.",
      "setup": "Needs access to frontend source; no running app or Stitch connection is required for extraction.",
      "page_url": "https://craftwork.design/skills/extract-design-md",
      "source_revision": "0337446dadde6f8c94210444e2aa9d546126480f",
      "repository_url": "https://github.com/google-labs-code/stitch-skills/tree/0337446dadde6f8c94210444e2aa9d546126480f/plugins/stitch-design/skills/extract-design-md",
      "discovery_url": "https://craftwork.design/skills/extract-design-md/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/extract-design-md/.well-known/agent-skills/extract-design-md/SKILL.md",
      "type": "archive",
      "digest": "sha256:130f5b641d707543f263c39f1734f69cc19679770e0258964e161b55bc7419b9",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/extract-design-md/download?sha=130f5b641d707543f263c39f1734f69cc19679770e0258964e161b55bc7419b9",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/extract-design-md",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/extract-design-md"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/extract-design-md-130f5b641d707543.zip",
      "license": "Apache-2.0",
      "bytes": 23052,
      "file_count": 8,
      "files": [
        {
          "path": "LICENSE",
          "bytes": 11273,
          "sha256": "b4133a55232c0996713349891dc55469d46a16ec027c033c9e4108b2149abb42"
        },
        {
          "path": "SKILL.md",
          "bytes": 14078,
          "sha256": "f9c32b30acd9fea3dba7306bf38e3a859f49c1f27bcf44f9cf16d3a60a730276"
        },
        {
          "path": "examples/DESIGN.md",
          "bytes": 6960,
          "sha256": "9a14478effd073d9fefc1f0e1084aab299078603d248406f1381462cd5a01c26"
        },
        {
          "path": "references/angular.md",
          "bytes": 5237,
          "sha256": "d43ea54ae1fb25d72f4d2ae28df73bf3c16b92d9da35a6638f5aa572ceeff8b3"
        },
        {
          "path": "references/plain-css.md",
          "bytes": 3991,
          "sha256": "a4e7a8efa8d8d7b33a214a4b146263bb029ba4ead478305436e7bb7ebeace80a"
        },
        {
          "path": "references/react-tailwind.md",
          "bytes": 4583,
          "sha256": "9b48abffd0240e7721edaa1526674699fbaaab5838efb5fac0276b7e5efc8e15"
        },
        {
          "path": "references/svelte.md",
          "bytes": 2714,
          "sha256": "f17530d1f2274ef5a8764355c979c992fe5c64a88a03270b69f43099fc117b9b"
        },
        {
          "path": "references/vue.md",
          "bytes": 3077,
          "sha256": "df8f4d1e166e4cca4d01a60f28a1ecf35ce45787669a79008ea0cad1ec709f9f"
        }
      ]
    },
    {
      "id": "expo-native-ui",
      "title": "Expo Native UI",
      "author": "Expo",
      "category": "Native apps",
      "summary": "Create native-feeling Expo screens with platform controls, semantic styling, and visual effects.",
      "setup": "Some tasks call for companion Expo skills, packages, or platform builds; approve those additions separately.",
      "page_url": "https://craftwork.design/skills/expo-native-ui",
      "source_revision": "d4f484024fec15196bfd3c272e953e3f983972cf",
      "repository_url": "https://github.com/expo/skills/tree/d4f484024fec15196bfd3c272e953e3f983972cf/plugins/expo/skills/expo-native-ui",
      "discovery_url": "https://craftwork.design/skills/expo-native-ui/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/expo-native-ui/.well-known/agent-skills/expo-native-ui/SKILL.md",
      "type": "archive",
      "digest": "sha256:a00bff7c16d8c22f8caee7995efc3e90673236fe8f37065a298bbd52a41c8a5f",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/expo-native-ui/download?sha=a00bff7c16d8c22f8caee7995efc3e90673236fe8f37065a298bbd52a41c8a5f",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/expo-native-ui",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/expo-native-ui"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/expo-native-ui-a00bff7c16d8c22f.zip",
      "license": "MIT",
      "bytes": 22957,
      "file_count": 10,
      "files": [
        {
          "path": "LICENSE",
          "bytes": 1106,
          "sha256": "49c5f9c7097c9a940ff663a54c27a4c60e379df6cc2b3052df0d37a09a85df93"
        },
        {
          "path": "SKILL.md",
          "bytes": 12557,
          "sha256": "f6f92e12c7ba5e6cd7e731734286ae707adda873227c563ceb2d0f9ac5037107"
        },
        {
          "path": "agents/openai.yaml",
          "bytes": 408,
          "sha256": "90bf5d66b1038913fea37bd6d57292eb6ecd0e0ee3b2bc3e283facc033f4b2b0"
        },
        {
          "path": "references/controls.md",
          "bytes": 5018,
          "sha256": "6ec427731a65ffd66b745733665bb2c00992750c7d3710893d1bbf70b427d541"
        },
        {
          "path": "references/gradients.md",
          "bytes": 2717,
          "sha256": "63ced0392f67c41bf90e726613d139a389db609799bfcb91124e6e69b9a66e70"
        },
        {
          "path": "references/icons.md",
          "bytes": 5849,
          "sha256": "2c0622d8a3f61626a72fa7829d3044f3391cbd8ca91806f4752926cf4e66be59"
        },
        {
          "path": "references/media.md",
          "bytes": 6229,
          "sha256": "c964182dfbcaa5eef00b947e0425f5a39ee2cfc1b2a4e251ba51fc823e87b0dc"
        },
        {
          "path": "references/storage.md",
          "bytes": 2935,
          "sha256": "265e8bc21adcd698062f18fa442e0e07e99e67868576f18aac2112e5381ffbf1"
        },
        {
          "path": "references/visual-effects.md",
          "bytes": 5201,
          "sha256": "dcdcaa5e0bf5c20341455e39d91312ca5f3034391908f77eb2e577044283adcc"
        },
        {
          "path": "references/webgpu-three.md",
          "bytes": 14466,
          "sha256": "3a247a7740e4bab4aea5dec8b81c7782a5918bb221838a05f6a94c669f145679"
        }
      ]
    },
    {
      "id": "compose-adaptive",
      "title": "Adaptive Compose",
      "author": "Android",
      "category": "Native apps",
      "summary": "Adapt Compose layouts and navigation for phones, foldables, tablets, and wider windows.",
      "setup": "Expects Compose screens and Navigation 3. Approve migrations and screenshot-testing setup separately.",
      "page_url": "https://craftwork.design/skills/compose-adaptive",
      "source_revision": "2ee8c61ff64f29a19213f116807c79740749dccf",
      "repository_url": "https://github.com/android/skills/tree/2ee8c61ff64f29a19213f116807c79740749dccf/jetpack-compose/adaptive",
      "discovery_url": "https://craftwork.design/skills/compose-adaptive/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/compose-adaptive/.well-known/agent-skills/compose-adaptive/SKILL.md",
      "type": "archive",
      "digest": "sha256:d6b9150405e1f940aaa3a60fff6c86e08c6eda217d958647d0f0b90c76a58bff",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/compose-adaptive/download?sha=d6b9150405e1f940aaa3a60fff6c86e08c6eda217d958647d0f0b90c76a58bff",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/compose-adaptive",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/compose-adaptive"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/compose-adaptive-d6b9150405e1f940.zip",
      "license": "Apache-2.0",
      "bytes": 37631,
      "file_count": 13,
      "files": [
        {
          "path": "LICENSE",
          "bytes": 11357,
          "sha256": "58d1e17ffe5109a7ae296caafcadfdbe6a7d176f0bc4ab01e12a689b0499d8bd"
        },
        {
          "path": "SKILL.md",
          "bytes": 12608,
          "sha256": "008e287f651fc7d5c083963c8ec2fd050c8bad0c8e481b5449d8c4f9fa148422"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/flexbox/container-behavior.md",
          "bytes": 9349,
          "sha256": "7a33b15b827dbf21557a2ac808d3e0c2653cf33cc4c58277f2eb94ebfa41aa5f"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/flexbox/get-started.md",
          "bytes": 2338,
          "sha256": "a2c90a46ae65197955c988972d942425cc80ac6ec0bc4744827ef6206ac9750e"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/flexbox/index.md",
          "bytes": 5987,
          "sha256": "952ca4608d36dcb0db9a36aed865f9cdb5e85583480cd85e9e364327be460ecb"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/flexbox/item-behavior.md",
          "bytes": 8504,
          "sha256": "94e894a59857662ed784913774a4d0c5bcec7d16468c4c910962a7d806a0e562"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/grid/container-properties.md",
          "bytes": 16219,
          "sha256": "fb12005053f5f040c26c5b74a93c11825d5a27f1802ec7748859b24ee2c030c7"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/grid/get-started.md",
          "bytes": 1850,
          "sha256": "42bee8a81fbfda57cb99457078040da3858be789ab42e371567e2c4d08a14515"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/grid/index.md",
          "bytes": 4253,
          "sha256": "f6fb9a8d962dc7053fa5a1a20234d96fd0eeb9d4252fc98c40826353816815ab"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/grid/item-properties.md",
          "bytes": 5756,
          "sha256": "ef0a67039918022d01ac26983b3cc06c798050736d42ffe692c98e3c4517b45a"
        },
        {
          "path": "references/android/develop/ui/compose/layouts/adaptive/mediaquery/index.md",
          "bytes": 14161,
          "sha256": "1e79df59c053569d5376a618c414b793670fdf35e337d7c8aecce81bf09f90d7"
        },
        {
          "path": "references/android/guide/navigation/navigation-3/recipes/material-listdetail.md",
          "bytes": 6513,
          "sha256": "e4781cf0fc691f92c202400a07ebc80424666681f9547e757f660388252cdb29"
        },
        {
          "path": "references/android/studio/preview/compose-screenshot-testing-with-testsuites.md",
          "bytes": 7507,
          "sha256": "4b4ada7a50201bcf9ab90b0d9f00cc2ceb16513d1de7f63c12d634318a2ec20d"
        }
      ]
    },
    {
      "id": "algorithmic-art",
      "title": "Algorithmic Art",
      "author": "Anthropic",
      "category": "Generative art",
      "summary": "Create seeded p5.js art with an algorithmic philosophy and an interactive parameter viewer.",
      "setup": "Includes JavaScript and HTML templates; check and approve any runtime or external script dependency.",
      "page_url": "https://craftwork.design/skills/algorithmic-art",
      "source_revision": "dbd4588f9e1033efb41dad4bef2f7947c8993d44",
      "repository_url": "https://github.com/anthropics/skills/tree/dbd4588f9e1033efb41dad4bef2f7947c8993d44/skills/algorithmic-art",
      "discovery_url": "https://craftwork.design/skills/algorithmic-art/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/algorithmic-art/.well-known/agent-skills/algorithmic-art/SKILL.md",
      "type": "archive",
      "digest": "sha256:b2d935286181dc2a04bcdb21f458e7d54a81bad749f1c658837b50caa7f67477",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/algorithmic-art/download?sha=b2d935286181dc2a04bcdb21f458e7d54a81bad749f1c658837b50caa7f67477",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/algorithmic-art",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/algorithmic-art"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/algorithmic-art-b2d935286181dc2a.zip",
      "license": "Apache-2.0",
      "bytes": 19219,
      "file_count": 4,
      "files": [
        {
          "path": "LICENSE.txt",
          "bytes": 11345,
          "sha256": "bc6b3af2f331cbc7fb0da1344efb2cbe5877a31498b4d70dbc7000f3405a1362"
        },
        {
          "path": "SKILL.md",
          "bytes": 19769,
          "sha256": "3bc4092c09804853186524c826bc0621b940bb6122c05b84496dff95388e6eef"
        },
        {
          "path": "templates/generator_template.js",
          "bytes": 7826,
          "sha256": "9ee0f1da52ef8f7bbfde1917123654880890d43f2d388642d71eab6dd78f94c4"
        },
        {
          "path": "templates/viewer.html",
          "bytes": 20844,
          "sha256": "86c79d7ce97d2599ebe4bd9b97fdeb7295c9d3ed61ceeb513cbe1b2bb5d1ce29"
        }
      ]
    },
    {
      "id": "motion-design",
      "title": "Motion Design",
      "author": "LottieFiles",
      "category": "Motion",
      "summary": "Plan animation timing, easing, motion personality, feedback, and multi-element choreography.",
      "setup": "Use the project animation system; adding Lottie, GSAP, or another runtime is a separate setup choice.",
      "page_url": "https://craftwork.design/skills/motion-design",
      "source_revision": "f9a8a041b85185ee4881b3471d3415e939aac772",
      "repository_url": "https://github.com/LottieFiles/motion-design-skill/tree/f9a8a041b85185ee4881b3471d3415e939aac772/skills/motion-design",
      "discovery_url": "https://craftwork.design/skills/motion-design/.well-known/agent-skills/index.json",
      "read_url": "https://craftwork.design/skills/motion-design/.well-known/agent-skills/motion-design/SKILL.md",
      "type": "archive",
      "digest": "sha256:72d0ef88a1011f0710fecb397a46d9db26bc317cde4b7bbd06fd84e28c658ab1",
      "upstream_download_url": "https://craftwork.design/api/v2/skills/motion-design/download?sha=72d0ef88a1011f0710fecb397a46d9db26bc317cde4b7bbd06fd84e28c658ab1",
      "verified_on": "2026-10-29",
      "install_source": "https://cdn.shaughv.com/recommended-skills/motion-design",
      "installation": {
        "command_prefix": [
          "npx",
          "skills@1.7.4",
          "add",
          "https://cdn.shaughv.com/recommended-skills/motion-design"
        ],
        "agent_flag": "--agent",
        "global_flag": "--global",
        "project": "Omit --global and run from the approved project directory."
      },
      "download_url": "https://cdn.shaughv.com/recommended-skills/bundles/motion-design-72d0ef88a1011f07.zip",
      "license": "MIT",
      "bytes": 29051,
      "file_count": 18,
      "files": [
        {
          "path": "LICENSE",
          "bytes": 1068,
          "sha256": "9fc2e8685daa09e28d54b6afa8a38f168417c5735a3cd676c80c159785e93a80"
        },
        {
          "path": "SKILL.md",
          "bytes": 12580,
          "sha256": "8729ecbc7e5736c1295baaa8ba0384bb4b1aac9cf91b83fcdc64d9548a57bb19"
        },
        {
          "path": "director/choreography.md",
          "bytes": 3035,
          "sha256": "c81257b56160b9b2f3d99f78d4b8172b425c22d9ca73be06d3ffaa7305a34deb"
        },
        {
          "path": "director/context-adaptation.md",
          "bytes": 3066,
          "sha256": "550e96a1c8c369513304ee74c0e89b63168bc7287b83e9ed5685bb65609986b3"
        },
        {
          "path": "director/core-philosophy.md",
          "bytes": 1864,
          "sha256": "7aaa8a065d9940dad0198cf9cfe74979008495e6daf87f46f9022fff1b6a85e9"
        },
        {
          "path": "director/decision-framework.md",
          "bytes": 2866,
          "sha256": "4b6758da6742475c928b4f8be8c662f4b5ed0964468ba7760df8f7635c779358"
        },
        {
          "path": "director/disney-principles.md",
          "bytes": 3197,
          "sha256": "39024711890c2684a3434659a4d95a52ca8231facea74e87e79503054aaca671"
        },
        {
          "path": "director/emotion-mapping.md",
          "bytes": 2877,
          "sha256": "a279e55a3f52a9f5830d38dc54679c652d9a5c26f0dd360700c16e23766d468b"
        },
        {
          "path": "director/motion-personality.md",
          "bytes": 2998,
          "sha256": "66a3623b6654869482c02157ca791034a614ca6dcb02a8112049e28d292ee18a"
        },
        {
          "path": "director/narrative-structure.md",
          "bytes": 2407,
          "sha256": "d49db19db40425dec027c3012d553b50fd74ed79e27ace9dec1226796469061b"
        },
        {
          "path": "patterns/ambient-continuous.md",
          "bytes": 2823,
          "sha256": "f9cfa00d3325dceadcb9ffd77dcb5dcbc51d34121f3b1f162979939006056773"
        },
        {
          "path": "patterns/entrance-exit.md",
          "bytes": 2822,
          "sha256": "70b3fc3a8d58ebe58e293e643b78fd13750d9c8ef1c8fc5fe85e52f7378cbd91"
        },
        {
          "path": "patterns/multi-element.md",
          "bytes": 2362,
          "sha256": "46c8da91843c593deb763a4a7fa32849bdaeb7a7ecd4d559e3b21bcc976f2c46"
        },
        {
          "path": "patterns/state-feedback.md",
          "bytes": 3062,
          "sha256": "dac86388c2d8fcdfc2f194b4f8877caedcdc010df9ce29d27dfc99d08cf8c60e"
        },
        {
          "path": "reference/property-selection.md",
          "bytes": 2922,
          "sha256": "053d830795fc824fed27618fbd18084207af6aeed55b73c0a6e1d5665de894ae"
        },
        {
          "path": "reference/quality-checklist.md",
          "bytes": 2080,
          "sha256": "c11bf193b700d9c9ebc5d871f1d5f193bccc441c4eccc0509b53a40d6e8dc558"
        },
        {
          "path": "reference/timing-easing-tables.md",
          "bytes": 2900,
          "sha256": "e478f3b99c4cac3f96eca008e20f8808d4cfae165f5799f260092baf9b6ebcff"
        },
        {
          "path": "reference/troubleshooting.md",
          "bytes": 2709,
          "sha256": "69e5aaeee108231d51187143ae3fce4db7a42936f10682908ca9462a008a047a"
        }
      ]
    }
  ],
  "approval": {
    "required_before": [
      "install",
      "update",
      "setup",
      "dependency installation",
      "MCP connection",
      "authentication",
      "first-run executable download"
    ],
    "ask": [
      "Which skill and agent?",
      "This project or globally on this machine?",
      "Approve the exact command and any setup changes?"
    ],
    "project": "Run in the approved project directory; omit --global.",
    "global": "Add --global only after approval; this is user-level installation for the chosen agent, not all OS users.",
    "existing_installation": "Check both scopes first. Reuse a suitable existing installation and ask before replacing it.",
    "setup": "Explain dependencies, tools, account access and file changes before setup; an install approval does not silently approve new setup actions.",
    "verification": "Read back the installed entrypoint and supporting files in the approved scope; report paths and any untested runtime requirements."
  }
}
