{
  "$schema": "https://schemas.agentskills.io/discovery/0.2.0/schema.json",
  "skills": [
    {
      "name": "ads",
      "type": "skill-md",
      "description": "Use when deciding which paid channel to run and how to target it.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ads/SKILL.md",
      "digest": "sha256:5759f8e81a2fc61c135cb7e63b472e8788cf6a1a143b865b818e215d0fc02c69"
    },
    {
      "name": "ai-seo",
      "type": "skill-md",
      "description": "Use when a site must be cited inside ChatGPT and AI search answers.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ai-seo/SKILL.md",
      "digest": "sha256:b1ecd93ebc65af886f81bc0a90645c8fd4ffdf68c5b3d4495a9e61481d954d00"
    },
    {
      "name": "attribution",
      "type": "skill-md",
      "description": "Use when two dashboards disagree about which channel drove the signups.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/attribution/SKILL.md",
      "digest": "sha256:eccc43eb93fed8fa871205fc441830ee020bcfce8b78a645e6e679c3f6099ac6"
    },
    {
      "name": "churn-prevention",
      "type": "skill-md",
      "description": "Use when subscribers keep cancelling and there is no save or dunning flow.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/churn-prevention/SKILL.md",
      "digest": "sha256:88fd25b77e44ef3689d68d54091df9659a40f5e905c8bdeb09bdeed3f049ad67"
    },
    {
      "name": "content-strategy",
      "type": "skill-md",
      "description": "Use when deciding what content to produce and which topics to cover.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/content-strategy/SKILL.md",
      "digest": "sha256:0ad572d607884c561668810f77cd21bbe3e0508c64090f2997661a728360f946"
    },
    {
      "name": "copy-editing",
      "type": "skill-md",
      "description": "Use when copy already exists and reads badly rather than needing rewriting.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/copy-editing/SKILL.md",
      "digest": "sha256:9b5a20be3dc5513c8f0b4f4c4960857e4d28ed83698a5b33c8dde9dc75a47bf6"
    },
    {
      "name": "customer-research",
      "type": "skill-md",
      "description": "Use when customer evidence must come from transcripts, reviews and forums rather than calls.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/customer-research/SKILL.md",
      "digest": "sha256:ae4769147f63dd5aea1308a0fddd85473601164893f58111dce738738226317e"
    },
    {
      "name": "directory-submissions",
      "type": "skill-md",
      "description": "Use when submitting a product to startup, SaaS, AI or MCP directories for backlinks.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/directory-submissions/SKILL.md",
      "digest": "sha256:dd08854f5cd1e16413dd588b13e02a32ce01dd3a9f4e9b1099f92a7b635ac24a"
    },
    {
      "name": "marketing-council",
      "type": "skill-md",
      "description": "Use when one marketing decision needs several expert views before it is made.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/marketing-council/SKILL.md",
      "digest": "sha256:0b94358427c344e1f5f50169770cce44e0b065ec8b05fc887a800daed008ac31"
    },
    {
      "name": "marketing-loops",
      "type": "skill-md",
      "description": "Use when a marketing task should run weekly on its own rather than once.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/marketing-loops/SKILL.md",
      "digest": "sha256:db4ba419ee74c7ef4c6dacffdf92fa4038e720640a4b4b95e8766ad9ff269898"
    },
    {
      "name": "marketing-plan",
      "type": "skill-md",
      "description": "Use when a whole marketing plan must be written for the next twelve months.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/marketing-plan/SKILL.md",
      "digest": "sha256:95722fc0566e139db44ab5d5b5e0f1174a0a2344baca6a3b266f86f8a266e88c"
    },
    {
      "name": "seo-audit",
      "type": "skill-md",
      "description": "Use when rankings or traffic dropped and nobody knows which part broke.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/seo-audit/SKILL.md",
      "digest": "sha256:9420a6c1ffcf7212766bcb618c28766ecb084631bed8045f3115d42b1230d368"
    },
    {
      "name": "onboarding",
      "type": "skill-md",
      "description": "Use when people sign up, never activate, and drop out in week one.",
      "url": "https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/onboarding/SKILL.md",
      "digest": "sha256:ca219e0ba8f931888e2a634624ab927206f8ef26aeca2250399c3c48da0341e0"
    },
    {
      "name": "browser-testing-with-devtools",
      "type": "skill-md",
      "description": "Use when a browser bug needs real DOM, console and network data via DevTools.",
      "url": "https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/browser-testing-with-devtools/SKILL.md",
      "digest": "sha256:4e3aacd6a380cd25bc6c2d67fdd1c926a9b22535b8a62109ecd33cefd909e3d9"
    },
    {
      "name": "code-review-and-quality",
      "type": "skill-md",
      "description": "Use when a change is about to enter the main branch unreviewed.",
      "url": "https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/code-review-and-quality/SKILL.md",
      "digest": "sha256:8f3cabca581bbf7cb5f0add3f7454e7a4523f9d4353a6a4a217e6fa515309612"
    },
    {
      "name": "constraint-driven-development",
      "type": "skill-md",
      "description": "Use when agents must not quietly lower a project's written quality bar.",
      "url": "https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/constraint-driven-development/SKILL.md",
      "digest": "sha256:06479d4305f286d23cfb99f5dc85695896785269664e1f6a8d800e3b71e70c10"
    },
    {
      "name": "core-web-vitals",
      "type": "skill-md",
      "description": "Use when LCP, INP or CLS scores need improving from field and lab data.",
      "url": "https://raw.githubusercontent.com/addyosmani/web-quality-skills/main/skills/core-web-vitals/SKILL.md",
      "digest": "sha256:731aa78c0347e8b3e191b75962175bee058ce73817278e610ac0fe546e685914"
    },
    {
      "name": "doubt-driven-development",
      "type": "skill-md",
      "description": "Use when high-stakes decisions need a fresh-context adversarial review before they stand.",
      "url": "https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/doubt-driven-development/SKILL.md",
      "digest": "sha256:6fa1fcd8420c28daf7e53c5b08b0f20b907911efd2a6d9bce0b9740da20a4008"
    },
    {
      "name": "performance",
      "type": "skill-md",
      "description": "Use when pages load slowly and the site needs to feel faster.",
      "url": "https://raw.githubusercontent.com/addyosmani/web-quality-skills/main/skills/performance/SKILL.md",
      "digest": "sha256:b0c220185d88c61f7770eb127d8facf86c86d2dd1fd82b86e15a4965a0137265"
    },
    {
      "name": "security-and-hardening",
      "type": "skill-md",
      "description": "Use when code handling untrusted input, sessions or logins needs hardening against vulnerabilities.",
      "url": "https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/security-and-hardening/SKILL.md",
      "digest": "sha256:2e3fc60eed5aba97fe416f3f3c9317fdb014a682925ec70a733c3ff99e4b9858"
    },
    {
      "name": "source-driven-development",
      "type": "skill-md",
      "description": "Use when an approach should be grounded in official documentation, not remembered patterns.",
      "url": "https://raw.githubusercontent.com/addyosmani/agent-skills/main/skills/source-driven-development/SKILL.md",
      "digest": "sha256:c59faf851377f0eeda45306398d16eb96d77ab1c2fd3e1a7fb58e9a0af33c1e9"
    },
    {
      "name": "web-quality-audit",
      "type": "skill-md",
      "description": "Use when a site needs one audit across performance, accessibility, SEO and best practices.",
      "url": "https://raw.githubusercontent.com/addyosmani/web-quality-skills/main/skills/web-quality-audit/SKILL.md",
      "digest": "sha256:1903cfb4dcba987d50dc7a51f6c19ec43830ff924c2c8f78979d8775fbe20f91"
    },
    {
      "name": "improve-claude-md",
      "type": "skill-md",
      "description": "Use when agents keep ignoring instructions in a CLAUDE.md file.",
      "url": "https://raw.githubusercontent.com/dexhorthy/slopfiles/main/plugins/improve-claude-md/skills/improve-claude-md/SKILL.md",
      "digest": "sha256:dbc3019c52f2409c031c4261664381c338d206b53ed700120743e374a87a9b8c"
    },
    {
      "name": "code-reviewer",
      "type": "skill-md",
      "description": "Use when one specific diff must be read for defects, with no wider audit.",
      "url": "https://raw.githubusercontent.com/elithrar/dotfiles/main/.agents/skills/code-reviewer/SKILL.md",
      "digest": "sha256:47d38bfe1082443e779667f85162b7ddb5085402b2e2511ef4d7cc72cf228f5c"
    },
    {
      "name": "create-readme",
      "type": "skill-md",
      "description": "Use when an open source project's README needs writing or rewriting.",
      "url": "https://raw.githubusercontent.com/elithrar/dotfiles/main/.agents/skills/create-readme/SKILL.md",
      "digest": "sha256:9dcfd03a13bcddf34dc469b7b54368d409c0a6b3057e3903a8f081be7b03b684"
    },
    {
      "name": "prompt-engineer",
      "type": "skill-md",
      "description": "Use when a system prompt or tool description causes over-searching, format drift or conflicts.",
      "url": "https://raw.githubusercontent.com/elithrar/dotfiles/main/.agents/skills/prompt-engineer/SKILL.md",
      "digest": "sha256:1bab4a8aac6e1bf21f7c06c89e230f1d0097ceebb913104f76eff996593de916"
    },
    {
      "name": "web-perf",
      "type": "skill-md",
      "description": "Use when diagnosing slow loads or layout shift from browser traces and network evidence.",
      "url": "https://raw.githubusercontent.com/elithrar/dotfiles/main/.agents/skills/web-perf/SKILL.md",
      "digest": "sha256:3e7ee7394181a1d9bec0d554b70f30c205f2acc93a95077950eff81497c88bf5"
    },
    {
      "name": "animate",
      "type": "skill-md",
      "description": "Use when something needs to animate and no motion exists for it yet.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/animate/SKILL.md",
      "digest": "sha256:b8ede161270458e6ae2e45e8a1985373515d4c63de5568ddb0f9012d7634356c"
    },
    {
      "name": "animate-expo",
      "type": "skill-md",
      "description": "Use when animating screens, gestures or sheets in an Expo or React Native app.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/animate-expo/SKILL.md",
      "digest": "sha256:9a01a91701e6563c67677dde6b66ab30f066a5341d42c21a90ba51d99679274a"
    },
    {
      "name": "animation-vocabulary",
      "type": "skill-md",
      "description": "Use when a motion effect can be described but its name is not known.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/animation-vocabulary/SKILL.md",
      "digest": "sha256:40d2b27adfdfeb0570a9f20e7d0255109d9233c50603878bcd0dcd04c923fd94"
    },
    {
      "name": "apple-design",
      "type": "skill-md",
      "description": "Use when web UI should follow Apple's approach to gestures, springs and physical motion.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/apple-design/SKILL.md",
      "digest": "sha256:77bb63b7043bb93aca2ff4ab040c249484eef35682bb6ff7163433c31d30adc7"
    },
    {
      "name": "emil-design-eng",
      "type": "skill-md",
      "description": "Use when UI polish, component design or animation calls should follow Emil Kowalski's approach.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/emil-design-eng/SKILL.md",
      "digest": "sha256:ffbe68e6007fb42cb8149f089b400a1ca007d59ba23e8948e2be4476f3175939"
    },
    {
      "name": "improve-animations",
      "type": "skill-md",
      "description": "Use when a whole codebase's motion needs a prioritised plan rather than a review.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/improve-animations/SKILL.md",
      "digest": "sha256:73962447464433476343e2c12cd08ab39cc99a9e5f3c118c5fb54ed897574ef6"
    },
    {
      "name": "pick-ui-library",
      "type": "skill-md",
      "description": "Use when a frontend task needs one library chosen from a curated shortlist.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/pick-ui-library/SKILL.md",
      "digest": "sha256:675fdce308683256ed617351a9b74d23457a5fbd0a562d9831b9c764b8c5e682"
    },
    {
      "name": "emilkowalski-prototype",
      "type": "skill-md",
      "description": "Use when trying genuinely different builds of one UI piece behind a live picker.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/prototype/SKILL.md",
      "digest": "sha256:bba39c955eb1871c5a02733976ceec5d0324198e0812e667604756489c89f7b9"
    },
    {
      "name": "review-animations",
      "type": "skill-md",
      "description": "Use when finished motion needs judging against a craft bar before it ships.",
      "url": "https://raw.githubusercontent.com/emilkowalski/skills/main/skills/review-animations/SKILL.md",
      "digest": "sha256:6ff590d29e436766135aa3d137be1fac2a867165c7257fc315b189361f1873af"
    },
    {
      "name": "chiaroscuro",
      "type": "skill-md",
      "description": "Use when designing polished responsive web UI with Tailwind v4.",
      "url": "https://raw.githubusercontent.com/howells/skills/main/chiaroscuro/SKILL.md",
      "digest": "sha256:2633064083e581677d1b943933967ee4698125faff9fb6439b35c62ae5d3f3bc"
    },
    {
      "name": "signage",
      "type": "skill-md",
      "description": "Use when interface labels read in company language rather than the user's own.",
      "url": "https://raw.githubusercontent.com/howells/skills/main/signage/SKILL.md",
      "digest": "sha256:cbeb902d59c01e284d3ec00bd75d77775932d4fafa5c18ccd017fe941139d733"
    },
    {
      "name": "typecase",
      "type": "skill-md",
      "description": "Use when raw font utilities have multiplied and a type ramp needs consolidating.",
      "url": "https://raw.githubusercontent.com/howells/skills/main/typecase/SKILL.md",
      "digest": "sha256:ab1abc61ee3956d6e9b91cc4e599e87396b9edd5d64aa970404b96c0a317ad5e"
    },
    {
      "name": "componentize",
      "type": "skill-md",
      "description": "Use when shared UI needs consolidating, files need splitting or packages extracting.",
      "url": "https://raw.githubusercontent.com/howells/skills/main/componentize/SKILL.md",
      "digest": "sha256:ce8787fd765f9860fc7cfddf3c71fb5d3cf5eb89bda18c0561c785eeac81f695"
    },
    {
      "name": "fieldtest",
      "type": "skill-md",
      "description": "Use when a running web app needs QA in a real browser, with evidence.",
      "url": "https://raw.githubusercontent.com/howells/skills/main/fieldtest/SKILL.md",
      "digest": "sha256:96f58e0432e06af6baaa2e45b8dc0f7f122e8dad1d01c229c22d12920f74e46b"
    },
    {
      "name": "baseline-ui",
      "type": "skill-md",
      "description": "Use when UI code needs a fast cleanup of spacing, hierarchy and typography.",
      "url": "https://raw.githubusercontent.com/ibelick/ui-skills/main/skills/baseline-ui/SKILL.md",
      "digest": "sha256:fea3322f36d58fdafafce2aef56e4556dd2ac7b20876b7dff7d8be7f25fa597f"
    },
    {
      "name": "create-design-md",
      "type": "skill-md",
      "description": "Use when a product's design language needs documenting as a DESIGN.md for agents.",
      "url": "https://raw.githubusercontent.com/ibelick/ui-skills/main/skills/create-design-md/SKILL.md",
      "digest": "sha256:adba4fa94a9ca0291811ac26405e8fe15c1a6375743a80971c6f895bb837eeed"
    },
    {
      "name": "fixing-accessibility",
      "type": "skill-md",
      "description": "Use when adding forms, dialogs or controls, or checking a page against WCAG.",
      "url": "https://raw.githubusercontent.com/ibelick/ui-skills/main/skills/fixing-accessibility/SKILL.md",
      "digest": "sha256:549261e8a53b53a1a20c0ddbf736821e5fc0876ad82eee76e0efab8e9ee9dadf"
    },
    {
      "name": "fixing-motion-performance",
      "type": "skill-md",
      "description": "Use when a transition drops frames and the cause is layout or compositing.",
      "url": "https://raw.githubusercontent.com/ibelick/ui-skills/main/skills/fixing-motion-performance/SKILL.md",
      "digest": "sha256:0a2d654902bc04263ce68c8c02967ef03f17b482e855360a5463211d99d7baa9"
    },
    {
      "name": "improve-ui",
      "type": "skill-md",
      "description": "Use when refining an interface means written plans for another agent, not direct edits.",
      "url": "https://raw.githubusercontent.com/ibelick/ui-skills/main/skills/improve-ui/SKILL.md",
      "digest": "sha256:fa2ac808f6d9dab7bb3620880b014d2c18e227e5b006102856038096e573e69a"
    },
    {
      "name": "fixing-metadata",
      "type": "skill-md",
      "description": "Use when share previews look wrong or new pages ship without meta tags.",
      "url": "https://raw.githubusercontent.com/ibelick/ui-skills/main/skills/fixing-metadata/SKILL.md",
      "digest": "sha256:b8315ff95a92dcfa48c33e2b4838a31d9448bd46252aab45726549ce865d6547"
    },
    {
      "name": "finishing-a-development-branch",
      "type": "skill-md",
      "description": "Use when a branch is done, tests pass, and it must be integrated.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/finishing-a-development-branch/SKILL.md",
      "digest": "sha256:8db5a922b242dd4e1bf824cb91c13b3e8d8e8a86d6ceaf7f0774eb9cce909d65"
    },
    {
      "name": "receiving-code-review",
      "type": "skill-md",
      "description": "Use when review feedback arrives and needs verifying before any suggestion is implemented.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/receiving-code-review/SKILL.md",
      "digest": "sha256:091df1629510af1b92fc4abd6f96732ebedb4cb2c0f3457e8f2740b0504a2438"
    },
    {
      "name": "subagent-driven-development",
      "type": "skill-md",
      "description": "Use when a plan's independent tasks should run through subagents in this session.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/subagent-driven-development/SKILL.md",
      "digest": "sha256:8dde5589ee083fb4999106d116f01c8fdaf3116a8a9813fdedeb80329de49046"
    },
    {
      "name": "systematic-debugging",
      "type": "skill-md",
      "description": "Use when a bug or failing test needs investigating before any fix is proposed.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/systematic-debugging/SKILL.md",
      "digest": "sha256:808fc5717aa88ad65efff312b11c186294d3e6ee301afb584e2f86599b137787"
    },
    {
      "name": "test-driven-development",
      "type": "skill-md",
      "description": "Use when about to write implementation code for a feature or fix.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/test-driven-development/SKILL.md",
      "digest": "sha256:64b03fce4aee5a97a93160cea8111f3ba13a17b7c001db4bd5836d67fd10705d"
    },
    {
      "name": "using-git-worktrees",
      "type": "skill-md",
      "description": "Use when feature work needs a workspace isolated from the current one.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/using-git-worktrees/SKILL.md",
      "digest": "sha256:8cfb86f121269e8f7f12361e6795c4f6738828340e28964c9229d365666c9edd"
    },
    {
      "name": "verification-before-completion",
      "type": "skill-md",
      "description": "Use when about to claim work is done, fixed or passing.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/verification-before-completion/SKILL.md",
      "digest": "sha256:2befe7fc55bcadaa3d97dd9e8efeb633d2561c0ebe74c5a8b17c4d9e7e4520b3"
    },
    {
      "name": "writing-plans",
      "type": "skill-md",
      "description": "Use when a spec exists and the work needs a plan before any code.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/writing-plans/SKILL.md",
      "digest": "sha256:0bc3d36590f7b2c323ed3ec18ff77e9f8ed57af42f5680a02b11a2d20de265cf"
    },
    {
      "name": "writing-skills",
      "type": "skill-md",
      "description": "Use when creating, editing or testing a skill before it is deployed.",
      "url": "https://raw.githubusercontent.com/obra/superpowers/main/skills/writing-skills/SKILL.md",
      "digest": "sha256:bbdfe742f853562e643a3d40d64476359d47881e39cef80a189283fa26d11ab9"
    },
    {
      "name": "layered-rails",
      "type": "skill-md",
      "description": "Use when Rails controllers and models have grown fat and layers are blurred.",
      "url": "https://raw.githubusercontent.com/palkan/layered-rails-skills/master/layered-rails/skills/layered-rails/SKILL.md",
      "digest": "sha256:95cf340ce7de6c8d9529506dd009ef2b2265336ecc42e2af9b3529f786fc826f"
    },
    {
      "name": "cogapp-markdown",
      "type": "skill-md",
      "description": "Use when README sections such as CLI help output should be generated from code.",
      "url": "https://raw.githubusercontent.com/simonw/skills/main/cogapp-markdown/SKILL.md",
      "digest": "sha256:23f383af74601b7a79a22da38147f4328894363b9a295ebcb70a50637d2c074c"
    },
    {
      "name": "uv-tdd",
      "type": "skill-md",
      "description": "Use when starting a Python project with uv and building it test first.",
      "url": "https://raw.githubusercontent.com/simonw/skills/main/uv-tdd/SKILL.md",
      "digest": "sha256:48dede0c7573816b8f8441a92ffa66251fbdb3b7b9b8dc7a5543ad3b7cdc6498"
    },
    {
      "name": "antfu",
      "type": "skill-md",
      "description": "Use when a JavaScript or TypeScript project should follow Anthony Fu's tooling conventions.",
      "url": "https://raw.githubusercontent.com/antfu/skills/main/skills/antfu/SKILL.md",
      "digest": "sha256:22f8a4129da8e44d1ceff184c2f5774da2751eaa3ecc435725f20bed5d51f75a"
    },
    {
      "name": "slidev",
      "type": "skill-md",
      "description": "Use when a technical talk or code walkthrough needs a Markdown slide deck.",
      "url": "https://raw.githubusercontent.com/antfu/skills/main/skills/slidev/SKILL.md",
      "digest": "sha256:4da03b00af5f60beaf9e6aa65113d7f1c1fbdc49dc1bcef7556ae77dc90a1ee1"
    },
    {
      "name": "ds-adoption-plan",
      "type": "skill-md",
      "description": "Use when moving an existing product onto its design system needs a phased estimate.",
      "url": "https://raw.githubusercontent.com/bradfrost/skills/main/skills/design-systems/ds-adoption-plan/SKILL.md",
      "digest": "sha256:354f32d7dfd2bbe5ff6876d0fa98e0d7b1bbaebbefa9e75ee1f8f31a33e18b61"
    },
    {
      "name": "ds-ascii",
      "type": "skill-md",
      "description": "Use when sketching an ASCII wireframe built from real components in the design system.",
      "url": "https://raw.githubusercontent.com/bradfrost/skills/main/skills/design-systems/ds-ascii/SKILL.md",
      "digest": "sha256:0aa51006a186933e9816cacb67c5957b707befdaea750f4c359eb99622c7f788"
    },
    {
      "name": "ds-inspection",
      "type": "skill-md",
      "description": "Use when a design system needs a station-by-station audit and a prioritised work order.",
      "url": "https://raw.githubusercontent.com/bradfrost/skills/main/skills/design-systems/ds-inspection/SKILL.md",
      "digest": "sha256:5e9555e021041ea5598e8e42887aa298b38f7bd1137ec31d308aedfc179e8e07"
    },
    {
      "name": "product-inspection",
      "type": "skill-md",
      "description": "Use when a shipping product, not its design system, needs a prioritised health check.",
      "url": "https://raw.githubusercontent.com/bradfrost/skills/main/skills/product-design/product-inspection/SKILL.md",
      "digest": "sha256:7f75344ece3c737a16800450b28af791380a51b3bcbd1937c6b134171cf0fe1b"
    },
    {
      "name": "vibe-killer",
      "type": "skill-md",
      "description": "Use when a generated page carries bespoke CSS instead of the design system.",
      "url": "https://raw.githubusercontent.com/bradfrost/skills/main/skills/product-design/vibe-killer/SKILL.md",
      "digest": "sha256:25a08bdb0a603b5a8413ad0223c1b8173e60389ac263ce1d3c54f19915c31006"
    },
    {
      "name": "cloud-stacked-diffs",
      "type": "skill-md",
      "description": "Use when a large change should ship as a chain of stacked draft PRs.",
      "url": "https://raw.githubusercontent.com/dabit3/cloud-stacked-diffs/main/.agents/skills/cloud-stacked-diffs/SKILL.md",
      "digest": "sha256:21b75dbbae67a44a135d811eefb655c5d60354dbf334fdb2fff48f359c83802d"
    },
    {
      "name": "better-accessibility",
      "type": "skill-md",
      "description": "Use when a project needs checking against accessibility standards and best practices.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/better-accessibility/SKILL.md",
      "digest": "sha256:59a0d8ad310be843566a18bfd839a38f46335110aa31673c4468c9e0172c5350"
    },
    {
      "name": "better-colors",
      "type": "skill-md",
      "description": "Use when building a colour system, palettes or semantic colour tokens.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/better-colors/SKILL.md",
      "digest": "sha256:cde9dd40cb183b383514e1a2c76bf74c9d914f5f6722ee6079d3f9cd121862c1"
    },
    {
      "name": "better-interface",
      "type": "skill-md",
      "description": "Use when one review should cover accessibility, layout, writing, type, colour and polish.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/better-interface/SKILL.md",
      "digest": "sha256:57412a685bd1a654f81def820099481b7df6ddf8f4bc06989a1b875b1d01c036"
    },
    {
      "name": "better-layout",
      "type": "skill-md",
      "description": "Use when a layout's grouping, alignment and reading order need working out.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/better-layout/SKILL.md",
      "digest": "sha256:f04c8d870fca110c8003aa8c0c82a7e121642a18443dfb114ee3d774d466c141"
    },
    {
      "name": "better-typography",
      "type": "skill-md",
      "description": "Use when type scale, spacing, wrapping or OpenType features need working out.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/better-typography/SKILL.md",
      "digest": "sha256:717f615910470bd2b7c662cce2af2ebd11cd887379a6ea93455c45f3c5ba378d"
    },
    {
      "name": "better-ui",
      "type": "skill-md",
      "description": "Use when UI details like border radius, alignment, depth and hit areas need polish.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/better-ui/SKILL.md",
      "digest": "sha256:2482b7b89d851a3128d36edf5367f3223e113a4ef421b7358c7e6de3f2c83faf"
    },
    {
      "name": "better-writing",
      "type": "skill-md",
      "description": "Use when a product's interface copy needs improving.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/better-writing/SKILL.md",
      "digest": "sha256:d53163382a058f06e00ac0b36312189108b006aa0b05869c71a70f5c213c44ae"
    },
    {
      "name": "break",
      "type": "skill-md",
      "description": "Use when a component needs rendering in every state to stress test it.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/break/SKILL.md",
      "digest": "sha256:4b8a1d6b60c2d522432765ab90e9b794fa36dc54f08d1a734c5cb2a1baa69ff1"
    },
    {
      "name": "explain-interface",
      "type": "skill-md",
      "description": "Use when working out how something on the web was built.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/explain-interface/SKILL.md",
      "digest": "sha256:cff58fca5a8f29cefc05bf9f97c1f88f3cf9345ee520a2da4db803c50848c5fb"
    },
    {
      "name": "interface-review",
      "type": "skill-md",
      "description": "Use when existing work needs a detailed findings report across UI, type and layout.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/interface-review/SKILL.md",
      "digest": "sha256:65783ac261ee1a33da11bbbbdb6e71ab6162fc24a2450f91781457b41b9a6d13"
    },
    {
      "name": "variant",
      "type": "skill-md",
      "description": "Use when one component needs several versions to compare before picking one.",
      "url": "https://raw.githubusercontent.com/jakubkrehel/skills/main/skills/variant/SKILL.md",
      "digest": "sha256:0cb89389c0423ff46e8a5a07bda894b43619366210fa3bc98beb39908cbc1635"
    },
    {
      "name": "frontend-accessibility-best-practices",
      "type": "skill-md",
      "description": "Use when building or reviewing React components, forms and controls for accessibility.",
      "url": "https://raw.githubusercontent.com/sergiodxa/agent-skills/main/skills/frontend-accessibility-best-practices/SKILL.md",
      "digest": "sha256:82dbc5d54d7ed45a836cd7a0e956511dc258c558cf6829fbaf7c789d7a593c47"
    },
    {
      "name": "frontend-async-best-practices",
      "type": "skill-md",
      "description": "Use when async code has request waterfalls that could run in parallel.",
      "url": "https://raw.githubusercontent.com/sergiodxa/agent-skills/main/skills/frontend-async-best-practices/SKILL.md",
      "digest": "sha256:719046079e34261c96bc24ea28585b8a110991e6a0e473d5c7e1567c4995bbe8"
    },
    {
      "name": "frontend-internationalization-best-practices",
      "type": "skill-md",
      "description": "Use when adding locales or language switching to a React Router app with remix-i18next.",
      "url": "https://raw.githubusercontent.com/sergiodxa/agent-skills/main/skills/frontend-internationalization-best-practices/SKILL.md",
      "digest": "sha256:1d8cc0034ce63d3e9dee0ace9cbe14c8379ecfdd57ab89c0d37ff78f523d4c90"
    },
    {
      "name": "frontend-react-best-practices",
      "type": "skill-md",
      "description": "Use when writing or reviewing React components for rendering and bundle performance.",
      "url": "https://raw.githubusercontent.com/sergiodxa/agent-skills/main/skills/frontend-react-best-practices/SKILL.md",
      "digest": "sha256:082218d7ae8c0cca1571cf71a0c60e0760859fcf7fbfe6d9d194e630aabb6f59"
    },
    {
      "name": "frontend-react-router-best-practices",
      "type": "skill-md",
      "description": "Use when writing React Router loaders, actions, forms or routes.",
      "url": "https://raw.githubusercontent.com/sergiodxa/agent-skills/main/skills/frontend-react-router-best-practices/SKILL.md",
      "digest": "sha256:cf89698741ada31cb31ff706bce01a5616ae3e8800862cf1b71ebf603ead2684"
    },
    {
      "name": "frontend-testing-best-practices",
      "type": "skill-md",
      "description": "Use when writing frontend tests that favour end-to-end coverage over mocks.",
      "url": "https://raw.githubusercontent.com/sergiodxa/agent-skills/main/skills/frontend-testing-best-practices/SKILL.md",
      "digest": "sha256:22a9d05432d447e3cef47c4271a86603f254bf0f3612bf87beece08da35c02b6"
    },
    {
      "name": "owasp-security-check",
      "type": "skill-md",
      "description": "Use when checking a web app or REST API against the OWASP Top 10.",
      "url": "https://raw.githubusercontent.com/sergiodxa/agent-skills/main/skills/owasp-security-check/SKILL.md",
      "digest": "sha256:5907b5c6edf9411f51e0385e8cf91ffb6101370127c64f0e9d66c2b02eefd8a8"
    },
    {
      "name": "migrate-radix-to-base",
      "type": "skill-md",
      "description": "Use when moving a React or shadcn project from Radix UI to Base UI.",
      "url": "https://raw.githubusercontent.com/shadcn-ui/ui/main/skills/migrate-radix-to-base/SKILL.md",
      "digest": "sha256:64c879f6f1eab0decc306ca52ad32d41327c05c4d2fb7e708335e956c61dadf8"
    },
    {
      "name": "shadcn",
      "type": "skill-md",
      "description": "Use when adding, fixing or styling shadcn/ui components in a project with components.json.",
      "url": "https://raw.githubusercontent.com/shadcn-ui/ui/main/skills/shadcn/SKILL.md",
      "digest": "sha256:deba6c5152d9835892fa7dffeb1fedbb689ddac7e59e14e57ec5eaf9463309e4"
    },
    {
      "name": "prd",
      "type": "skill-md",
      "description": "Use when a feature needs written requirements before anyone starts building it.",
      "url": "https://raw.githubusercontent.com/snarktank/ralph/main/skills/prd/SKILL.md",
      "digest": "sha256:f5395f014448e1e970cac40b8f814949b7fdbfe0b6db6be275be750895e955ca"
    },
    {
      "name": "native-app-performance",
      "type": "skill-md",
      "description": "Use when profiling a native app with xctrace and Time Profiler to find hotspots.",
      "url": "https://raw.githubusercontent.com/steipete/agent-scripts/main/skills/native-app-performance/SKILL.md",
      "digest": "sha256:0c8a67d976b271b50ed3974ee8c6d0f8e01d067f7a12d0f125b6784511b9cff4"
    },
    {
      "name": "oracle",
      "type": "skill-md",
      "description": "Use when bundled prompts and files need a second model's review.",
      "url": "https://raw.githubusercontent.com/steipete/agent-scripts/main/skills/oracle/SKILL.md",
      "digest": "sha256:e08d6cc6a499db075e710cc9121efa2ad9f45cd1cbfffc1bc346f83c5fc6832f"
    },
    {
      "name": "project-structure",
      "type": "skill-md",
      "description": "Use when an agent needs one symbol map of a TypeScript or Swift repo.",
      "url": "https://raw.githubusercontent.com/steipete/agent-scripts/main/skills/project-structure/SKILL.md",
      "digest": "sha256:cb3a169bb40464c198af369114f3fd833ed3041db31cf25c511ab31131cd5c25"
    },
    {
      "name": "skill-cleaner",
      "type": "skill-md",
      "description": "Use when Codex or OpenClaw skills need auditing for budget, usage and duplicates.",
      "url": "https://raw.githubusercontent.com/steipete/agent-scripts/main/skills/skill-cleaner/SKILL.md",
      "digest": "sha256:32e482ba17945ac7ee1c8d40087346b093193df034391a331da76ca42adeae37"
    },
    {
      "name": "ai-engineering",
      "type": "skill-md",
      "description": "Use when a multi-request AI workflow fails on retries, rate limits or malformed output.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/ai-engineering/SKILL.md",
      "digest": "sha256:8fd1f72a8f24bed620e882a88beb3500f174bab32ca084d53f8eff816594d305"
    },
    {
      "name": "align-me",
      "type": "skill-md",
      "description": "Use when preferences and ambiguity need settling before a long autonomous run.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/align-me/SKILL.md",
      "digest": "sha256:3ac163ffdc24f4d374567e0a2973e7e5922f1f1f0bfca1a8664051e0d0839728"
    },
    {
      "name": "claude-session-introspect",
      "type": "skill-md",
      "description": "Use when token counts or compaction details are needed from a Claude Code session.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/claude-session-introspect/SKILL.md",
      "digest": "sha256:8082a4af11e3db2d296642bc28a37542991754ed3fdcf4d6a904ead58b82407b"
    },
    {
      "name": "cloudflare-production-builder",
      "type": "skill-md",
      "description": "Use when designing, migrating or deploying a production system on Cloudflare Workers.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/cloudflare-production-builder/SKILL.md",
      "digest": "sha256:a897a327f7acd1b0cd08a678c827fd6fd327e35dcabae184a46accb2881a1f54"
    },
    {
      "name": "data-chatbots",
      "type": "skill-md",
      "description": "Use when building a copilot that proposes data changes for a human to approve.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/data-chatbots/SKILL.md",
      "digest": "sha256:6c51bd8b78b88daae84f3c91b0075623a3646ba31d023c51a1a1c531037e1115"
    },
    {
      "name": "long-running-operation-ux",
      "type": "skill-md",
      "description": "Use when a slow async action needs visible progress, cancellation or result handoff.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/long-running-operation-ux/SKILL.md",
      "digest": "sha256:8eb21dfe5070a52676e0a47bc2b12b0e2e94573e1a162f4ce64d4cca987f2413"
    },
    {
      "name": "resilient-computer-use",
      "type": "skill-md",
      "description": "Use when a multi-step desktop or browser task runs through Computer Use.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/resilient-computer-use/SKILL.md",
      "digest": "sha256:1f474ad98576429f5bdad5eda2b4ff8177b338305c48d12855be34e168609e69"
    },
    {
      "name": "skill-cutter",
      "type": "skill-md",
      "description": "Use when an existing SKILL.md needs trimming to its core or triggering less often.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/skill-cutter/SKILL.md",
      "digest": "sha256:87cfe2588ee9c949964796bc3d7fb1887b67b523923a266c75499f8bbe5e7c65"
    },
    {
      "name": "slackbot-builder",
      "type": "skill-md",
      "description": "Use when designing or hardening a Slack bot's event handling and interaction architecture.",
      "url": "https://raw.githubusercontent.com/swyxio/skills/main/slackbot-builder/SKILL.md",
      "digest": "sha256:93fd9f0f04e4955f63e5c0c0ee375803ae0737a1d060ba2aafb7f8eb12908f31"
    },
    {
      "name": "transitions-dev",
      "type": "skill-md",
      "description": "Use when building CSS transitions for badges, dropdowns, modals and page changes.",
      "url": "https://raw.githubusercontent.com/Jakubantalik/transitions.dev/main/skills/transitions-dev/SKILL.md",
      "digest": "sha256:6a8b9a1a49cd392994d8f07714b7fb5cbe138d615f48c2d9215c460619eba1cd"
    },
    {
      "name": "transitions-polish",
      "type": "skill-md",
      "description": "Use when motion already works and the durations, easing and stagger need tuning.",
      "url": "https://raw.githubusercontent.com/Jakubantalik/transitions.dev/main/skills/transitions-polish/SKILL.md",
      "digest": "sha256:365a5bf179c8f53ccd8233d807f5a65a3c4311c90ff645305b7d5f983bb2e33e"
    },
    {
      "name": "ai-output-judgement",
      "type": "skill-md",
      "description": "Use when generated UI, copy or code needs a quality critique.",
      "url": "https://raw.githubusercontent.com/kemiljk/skills/main/skills/ai-output-judgement/SKILL.md",
      "digest": "sha256:3fda54971b1c8a1d95bfecfde686eacb98b8b106943b9e0d64b8de13f96cd8ae"
    },
    {
      "name": "android-native-ui",
      "type": "skill-md",
      "description": "Use when building or reviewing Android interfaces in Compose or Views.",
      "url": "https://raw.githubusercontent.com/kemiljk/skills/main/skills/android-native-ui/SKILL.md",
      "digest": "sha256:855675dd8dc789229ff265a88663890324702a60806ab8f81b96a5d3b2898f98"
    },
    {
      "name": "apple-native-ui",
      "type": "skill-md",
      "description": "Use when building or reviewing native Apple interfaces, including macOS window behaviour.",
      "url": "https://raw.githubusercontent.com/kemiljk/skills/main/skills/apple-native-ui/SKILL.md",
      "digest": "sha256:52d15ffd4b97f9fedfacd9745c838e745cf312c5650fdd6bc4edeff7c6d58000"
    },
    {
      "name": "dxe",
      "type": "skill-md",
      "description": "Use when a repository or UI surface needs a design engineering review.",
      "url": "https://raw.githubusercontent.com/kemiljk/skills/main/skills/dxe/SKILL.md",
      "digest": "sha256:84892f8111bf35930331496228b2522c9f309e7f9ab933699a7d74de4d860ca2"
    },
    {
      "name": "fluid-design",
      "type": "skill-md",
      "description": "Use when springs, gestures or interruptible motion need physical continuity under direct manipulation.",
      "url": "https://raw.githubusercontent.com/kemiljk/skills/main/skills/fluid-design/SKILL.md",
      "digest": "sha256:7b553eba21cc930436c38180b8e5c9661867be2733251b1b9accfe622055d281"
    },
    {
      "name": "humane-functionalism",
      "type": "skill-md",
      "description": "Use when a screen or flow needs a Danish functionalist design pass.",
      "url": "https://raw.githubusercontent.com/kemiljk/skills/main/skills/humane-functionalism/SKILL.md",
      "digest": "sha256:1834547a23984ac6aac32a228a932f773e463de45121beeb26966c3bef054fef"
    },
    {
      "name": "modern-css-html",
      "type": "skill-md",
      "description": "Use when a legacy CSS or HTML workaround may have a native replacement.",
      "url": "https://raw.githubusercontent.com/kemiljk/skills/main/skills/modern-css-html/SKILL.md",
      "digest": "sha256:a7374995aeb7796f5eae0af6461fb406f0f2f9db5085c2e7faeaac562a1f7ab8"
    },
    {
      "name": "code-review",
      "type": "skill-md",
      "description": "Use when a branch must be checked against repo standards and the original spec.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/code-review/SKILL.md",
      "digest": "sha256:47f4e52c21694def9c7c11cbfbf891ca35eac7a93e395797515be3c8a409ae50"
    },
    {
      "name": "codebase-design",
      "type": "skill-md",
      "description": "Use when deciding a module's interface or where a seam should go.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/codebase-design/SKILL.md",
      "digest": "sha256:2c20617f87ec8af6a434859f381b2f061a69b530444e74eb39e78bb016a6d1e2"
    },
    {
      "name": "diagnosing-bugs",
      "type": "skill-md",
      "description": "Use when a hard bug or performance regression needs a diagnosis loop.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/diagnosing-bugs/SKILL.md",
      "digest": "sha256:77f3cf31bc99b2f49af943222526531fcc9fc41d047626d3640e875e85af3e84"
    },
    {
      "name": "domain-modeling",
      "type": "skill-md",
      "description": "Use when a project's terminology, CONTEXT.md or ADRs need writing or sharpening.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/domain-modeling/SKILL.md",
      "digest": "sha256:327a2b50620e2fd70abc6893cd6965e76b20f8d0adb0dc2c8d5eb3845efb643e"
    },
    {
      "name": "improve-codebase-architecture",
      "type": "skill-md",
      "description": "Use when scanning a codebase for deepening opportunities, then working through the one picked.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/improve-codebase-architecture/SKILL.md",
      "digest": "sha256:d1ac25511a936ff4250a48dbcefda363837d6bb9321b3cba73df99fa37270a75"
    },
    {
      "name": "mattpocock-prototype",
      "type": "skill-md",
      "description": "Use when a state model or UI idea needs testing before real work starts.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/prototype/SKILL.md",
      "digest": "sha256:714de632d116bb73f65cdb5a882db15b9369a6713b9a47c0fad827848f0bfbe3"
    },
    {
      "name": "tdd",
      "type": "skill-md",
      "description": "Use when building a feature or fixing a bug test first, red-green-refactor.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/tdd/SKILL.md",
      "digest": "sha256:cb01f66bebfaa25fa1f88e6b7e769cd9fd9f35b1120b8563749820738814c927"
    },
    {
      "name": "to-tickets",
      "type": "skill-md",
      "description": "Use when an agreed plan has to become ordered tickets in a tracker.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/to-tickets/SKILL.md",
      "digest": "sha256:5c9fba69845c2519b9b35b9af42ae5142c21f8ca15ac2123dc2722002c8058ae"
    },
    {
      "name": "triage",
      "type": "skill-md",
      "description": "Use when incoming issues and outside pull requests are piling up unsorted.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/triage/SKILL.md",
      "digest": "sha256:623a2ed692bdc77d2090e2a3dea3b627dd722ad3bbaca0be83aada75292c8fc4"
    },
    {
      "name": "wayfinder",
      "type": "skill-md",
      "description": "Use when work too big for one agent session needs mapping as decision tickets.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/wayfinder/SKILL.md",
      "digest": "sha256:fee6e1d0c50f0e736b4ef8a599060c959afae904c9a97d82c97f049fcc3aa0f1"
    },
    {
      "name": "wizard",
      "type": "skill-md",
      "description": "Use when only a human can do the steps and needs walking through them.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/engineering/wizard/SKILL.md",
      "digest": "sha256:bdf31d48211ea559878f95a4f344aeabf8d85897488ba564382bab0b000daac1"
    },
    {
      "name": "writing-for-agents",
      "type": "skill-md",
      "description": "Use when creating skills or editing AGENTS.md or CLAUDE.md files.",
      "url": "https://raw.githubusercontent.com/mattpocock/skills/main/skills/productivity/writing-for-agents/SKILL.md",
      "digest": "sha256:551adca942227b44192edba88acd4e8db911f0121ce58ad16944ccf6a896a74a"
    },
    {
      "name": "fastify-best-practices",
      "type": "skill-md",
      "description": "Use when building, configuring or debugging a Fastify server or REST API.",
      "url": "https://raw.githubusercontent.com/mcollina/skills/main/skills/fastify/SKILL.md",
      "digest": "sha256:d1d90340de01fe4b13aadcc868e69a15f98bf03d1dd881bacbb4762b93e93733"
    },
    {
      "name": "init",
      "type": "skill-md",
      "description": "Use when a repository's AGENTS.md is missing, too long, generic or stale.",
      "url": "https://raw.githubusercontent.com/mcollina/skills/main/skills/init/SKILL.md",
      "digest": "sha256:4b8133592b9b302dfeb079d8dd778e61a8e36b370490448c70f0a58a9a4b6c04"
    },
    {
      "name": "linting-neostandard-eslint9",
      "type": "skill-md",
      "description": "Use when ESLint flat config or neostandard needs setting up or migrating.",
      "url": "https://raw.githubusercontent.com/mcollina/skills/main/skills/linting-neostandard-eslint9/SKILL.md",
      "digest": "sha256:acfe85c6b54057d48fde3b6e701272a4fd81e27f60b873486f26111405ac7ffe"
    },
    {
      "name": "node",
      "type": "skill-md",
      "description": "Use when building Node.js projects in TypeScript, including error handling, streams and testing.",
      "url": "https://raw.githubusercontent.com/mcollina/skills/main/skills/node/SKILL.md",
      "digest": "sha256:fa2888f4a2200985df1802469a2eea8652510276c188fa31878047bf9c63957e"
    },
    {
      "name": "nodejs-core",
      "type": "skill-md",
      "description": "Use when contributing to Node.js core or debugging native crashes, addons and libuv.",
      "url": "https://raw.githubusercontent.com/mcollina/skills/main/skills/nodejs-core/SKILL.md",
      "digest": "sha256:b0d8354a96f2b6512972a1e0243b1134ab2e0006f061f68cb8ec4b4d8d1402bc"
    },
    {
      "name": "oauth",
      "type": "skill-md",
      "description": "Use when securing Fastify routes with OAuth flows, tokens and PKCE.",
      "url": "https://raw.githubusercontent.com/mcollina/skills/main/skills/oauth/SKILL.md",
      "digest": "sha256:18142d09c48a47d4b15979a768d151ab68cc812308e2e056d9dc9ccbe6424d74"
    },
    {
      "name": "better-stimulus",
      "type": "skill-md",
      "description": "Use when writing StimulusJS controllers that need to stay maintainable and reusable.",
      "url": "https://raw.githubusercontent.com/obie/skills/main/skills/better-stimulus/SKILL.md",
      "digest": "sha256:9a2606682af33fc6c4a1d8e6130d2432a33ebbcd7f6d017ce0326969dfffa78c"
    },
    {
      "name": "mcp-oauth-setup",
      "type": "skill-md",
      "description": "Use when an admin UI must let users connect third-party MCP servers with credentials.",
      "url": "https://raw.githubusercontent.com/obie/skills/main/skills/mcp-oauth-setup/SKILL.md",
      "digest": "sha256:f938472e1ab3b5d829f41e150995176a8aaaa91182f6d8a84c99731763b338b5"
    },
    {
      "name": "rails-activity-timeline",
      "type": "skill-md",
      "description": "Use when a Rails model needs an activity timeline with live Turbo Stream updates.",
      "url": "https://raw.githubusercontent.com/obie/skills/main/skills/rails-activity-timeline/SKILL.md",
      "digest": "sha256:295288883cfdbb35f9ae4d67b92445611ec22f9e3932437c4c45d520bb5292ca"
    },
    {
      "name": "rails-tiptap-autosave",
      "type": "skill-md",
      "description": "Use when Rails models need Tiptap rich text editing with debounced autosave.",
      "url": "https://raw.githubusercontent.com/obie/skills/main/skills/rails-tiptap-autosave/SKILL.md",
      "digest": "sha256:b680aa3417dfccb9fecaf8c099349363cc3b1c18d8d1f7ca10e669fb1af69c8d"
    },
    {
      "name": "breadboard-reflection",
      "type": "skill-md",
      "description": "Use when a breadboard has drifted from the implementation and shows design smells.",
      "url": "https://raw.githubusercontent.com/rjs/shaping-skills/main/breadboard-reflection/skill.md",
      "digest": "sha256:5c018ca5a9b100d97a20acf7b28877c7e558c621ac271c2111867ae741164bb9"
    },
    {
      "name": "breadboarding",
      "type": "skill-md",
      "description": "Use when a workflow needs mapping to screens and wiring before any design.",
      "url": "https://raw.githubusercontent.com/rjs/shaping-skills/main/breadboarding/skill.md",
      "digest": "sha256:0c4e56a9ee5bc17a9cf911b63a384bf81262c4337507a572876cdea9546ca175"
    },
    {
      "name": "framing-doc",
      "type": "skill-md",
      "description": "Use when call transcripts should become a framing document of the problem.",
      "url": "https://raw.githubusercontent.com/rjs/shaping-skills/main/framing-doc/SKILL.md",
      "digest": "sha256:cadad82520e064f849337781d293448e5ff65d96aa083b39febf913f6f072daf"
    },
    {
      "name": "kickoff-doc",
      "type": "skill-md",
      "description": "Use when a kickoff call transcript should become a reference document for the builder.",
      "url": "https://raw.githubusercontent.com/rjs/shaping-skills/main/kickoff-doc/SKILL.md",
      "digest": "sha256:8d8dbe31e00d45a2dc8d6123defc78a541c4fc84ab047deb14bfb39653b6de7e"
    },
    {
      "name": "shaping",
      "type": "skill-md",
      "description": "Use when shaping a solution with the user by iterating on requirements and shapes.",
      "url": "https://raw.githubusercontent.com/rjs/shaping-skills/main/shaping/SKILL.md",
      "digest": "sha256:fed50ece3920387808ae5ff20e227db06549e7011f3e9778e2cc67e9f7a12bc2"
    },
    {
      "name": "code-contracts",
      "type": "skill-md",
      "description": "Use when defining or enforcing @cc code contracts across a codebase.",
      "url": "https://raw.githubusercontent.com/spolu/code-contracts/main/skills/code-contracts/SKILL.md",
      "digest": "sha256:b8c63be45c26bc7798578dee497ea13df452949dcd2a83a0f59cc3bd9a63056c"
    },
    {
      "name": "recursive-code-review",
      "type": "skill-md",
      "description": "Use when a diff needs several tightening passes, not one verdict.",
      "url": "https://raw.githubusercontent.com/angiejones/skills/main/recursive-code-review/SKILL.md",
      "digest": "sha256:895c380a12e2d53cdae3934639f15af9f98a23e25fa0999624a3c906d2fa7638"
    },
    {
      "name": "repo-readiness",
      "type": "skill-md",
      "description": "Use when checking whether a repository has the context files coding agents need.",
      "url": "https://raw.githubusercontent.com/angiejones/skills/main/repo-readiness/SKILL.md",
      "digest": "sha256:c3eb433f8e2e3c77f2bb5cb096f9feb9a3b65f7a023cd91e1bca9753ce3317e1"
    },
    {
      "name": "asb-carol-define",
      "type": "skill-md",
      "description": "Use when the ideal-customer working files must become one definition the team can use.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-carol-define/SKILL.md",
      "digest": "sha256:9e9e6eab1ccf334ee194899952545d0bcd694700c4d241d600c7fc47af4d62c8"
    },
    {
      "name": "asb-carol-inciting-events",
      "type": "skill-md",
      "description": "Use when the fit is right but nothing is making anyone buy today.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-carol-inciting-events/SKILL.md",
      "digest": "sha256:7b9ed24d7cde38cf7736098e2dbef9c13cdfc732f5a5eaa357c81ba435cf1639"
    },
    {
      "name": "asb-carol-keystones",
      "type": "skill-md",
      "description": "Use when a strength list needs cutting to the few that drive a purchase.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-carol-keystones/SKILL.md",
      "digest": "sha256:7434df3b080413f8be89465531a548fd8a7b722f40fb50042d3c5cda531e193e"
    },
    {
      "name": "asb-carol-observations",
      "type": "skill-md",
      "description": "Use when nobody has written down plainly what this company and product actually are.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-carol-observations/SKILL.md",
      "digest": "sha256:deceb8242965cfc19c01b25146d8fbe631ff30cf6d7fc55ed953ef67cbc6c36d"
    },
    {
      "name": "asb-carol-strengths",
      "type": "skill-md",
      "description": "Use when raw observations exist and the real strengths and weaknesses must be named.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-carol-strengths/SKILL.md",
      "digest": "sha256:3e1898900d4df332dcd48255f41b1a220033c6c71a00bc897e59638628438a5e"
    },
    {
      "name": "asb-needs-stack",
      "type": "skill-md",
      "description": "Use when mapping the customer needs above and below the one a product satisfies.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-needs-stack/SKILL.md",
      "digest": "sha256:2e857d522c2241f86d4228c2c2fea1b5db39308b864921c7369d8365bfcaea9a"
    },
    {
      "name": "asb-positioning",
      "type": "skill-md",
      "description": "Use when a claim states a saving and should state the value created.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-positioning/SKILL.md",
      "digest": "sha256:13c84866b0eeacd3b0de8b9e06bd677ab925d6cefe99061975d2122601e289b8"
    },
    {
      "name": "asb-voters",
      "type": "skill-md",
      "description": "Use when naming the one or two extreme traits a company wins on.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-voters/SKILL.md",
      "digest": "sha256:c3c4c0016f50609688cda4fd7b9ef7df706f151071cec07a7d268c6d04dac9d6"
    },
    {
      "name": "asb-interview-goals",
      "type": "skill-md",
      "description": "Use when customer calls are booked and nobody has agreed what to learn.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-interview-goals/SKILL.md",
      "digest": "sha256:cc570c91e78bcbb18254d20844b4e531459f25f1023c693e6931a90cbeef9e5f"
    },
    {
      "name": "asb-interview-hypotheses",
      "type": "skill-md",
      "description": "Use when the learning goals exist and current beliefs need writing as testable claims.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-interview-hypotheses/SKILL.md",
      "digest": "sha256:04aa043516434f357351918e125cb27c20dd0116b3007c75ddeff9d03506c973"
    },
    {
      "name": "asb-interview-learning",
      "type": "skill-md",
      "description": "Use when interview notes have piled up and the hypotheses need updating against them.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-interview-learning/SKILL.md",
      "digest": "sha256:41e0775818217865ce83bc7a25228e0e9683811662d0c5020b26865fcb28ae1f"
    },
    {
      "name": "asb-interview-questions",
      "type": "skill-md",
      "description": "Use when a question must be phrased so it does not lead the customer.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-interview-questions/SKILL.md",
      "digest": "sha256:d7f83c212843f399ce7ec507c446fe930b1fd47a34ffd0b5c5078d216f7f80a6"
    },
    {
      "name": "asb-interview-report",
      "type": "skill-md",
      "description": "Use when a round of interviews is finished and the company needs the findings.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-interview-report/SKILL.md",
      "digest": "sha256:cc79ec6f78f482bb867a41c1a0ab43500c273f33de0e9ef6dc578785f32ebcff"
    },
    {
      "name": "asb-problem",
      "type": "skill-md",
      "description": "Use when judging whether a business idea has a market worth building for.",
      "url": "https://raw.githubusercontent.com/asmartbear/asb-skills/main/.claude/skills/asb-problem/SKILL.md",
      "digest": "sha256:f8e5aa5098e3a5b50f3467442ee91fdd235edc27ce690d0ab38d99a582525870"
    },
    {
      "name": "compose-component-design",
      "type": "skill-md",
      "description": "Use when designing or reviewing the API of a reusable Jetpack Compose component.",
      "url": "https://raw.githubusercontent.com/chrisbanes/skills/main/skills/compose-component-design/SKILL.md",
      "digest": "sha256:caddd421c755aba30472e08892b0989f7ab9094b85043e2d498a5dbbcfa4e2b0"
    },
    {
      "name": "compose-performance",
      "type": "skill-md",
      "description": "Use when investigating Jetpack Compose recomposition cost, stability reports or unstable parameters.",
      "url": "https://raw.githubusercontent.com/chrisbanes/skills/main/skills/compose-performance/SKILL.md",
      "digest": "sha256:3d046ede84ad9574fa9160d719f977d83c5b7666da0952af8fd8a07087925a12"
    },
    {
      "name": "compose-state-and-effects",
      "type": "skill-md",
      "description": "Use when writing or reviewing Jetpack Compose state ownership, hoisting or effects.",
      "url": "https://raw.githubusercontent.com/chrisbanes/skills/main/skills/compose-state-and-effects/SKILL.md",
      "digest": "sha256:5e6df6c17ea43623d975d1172c69a467cfb549021e12971817073fd81dcca70f"
    },
    {
      "name": "implement-with-subagents",
      "type": "skill-md",
      "description": "Use when a queue of tickets is being implemented by separate subagents.",
      "url": "https://raw.githubusercontent.com/chrisbanes/skills/main/skills/implement-with-subagents/SKILL.md",
      "digest": "sha256:a5a868992b0f1587cab2d0ba0395d9177b178cdb56451a1497ae4c3dc849b208"
    },
    {
      "name": "kotlin-api-design",
      "type": "skill-md",
      "description": "Use when deciding whether Kotlin code is a member, extension, factory or value class.",
      "url": "https://raw.githubusercontent.com/chrisbanes/skills/main/skills/kotlin-api-design/SKILL.md",
      "digest": "sha256:49bc11f02cdcba2c55ae7b02ec70450e18a532113f716de7f812db2a20bc50df"
    },
    {
      "name": "kotlin-concurrency-and-flow",
      "type": "skill-md",
      "description": "Use when writing or reviewing Kotlin coroutine scopes, cancellation, StateFlow or SharedFlow.",
      "url": "https://raw.githubusercontent.com/chrisbanes/skills/main/skills/kotlin-concurrency-and-flow/SKILL.md",
      "digest": "sha256:1f85854f681860ed37e92089341439a9ec4aa8d54cc62e0163dd00a9f29d4703"
    },
    {
      "name": "release-kotlin-library",
      "type": "skill-md",
      "description": "Use when publishing a new Kotlin library version with gradle-maven-publish-plugin.",
      "url": "https://raw.githubusercontent.com/chrisbanes/skills/main/skills/release-kotlin-library/SKILL.md",
      "digest": "sha256:743e464cb48b42ff2d80fbe72bb6fc175fc02bd2beb2113dbca0354c5e707c6c"
    },
    {
      "name": "building-communication-engine",
      "type": "skill-md",
      "description": "Use when a first launch needs channels, a newsletter and a budget chosen.",
      "url": "https://raw.githubusercontent.com/GTM-Strategist/gtm-strategist-skills/master/.claude/skills/building-communication-engine/SKILL.md",
      "digest": "sha256:b6f65ba2731567986e03902b65eba38a15f80bd7216a1ec4412030714d5b2abd"
    },
    {
      "name": "building-gtm-system",
      "type": "skill-md",
      "description": "Use when the launch is over and growth needs repeatable systems and a CRM.",
      "url": "https://raw.githubusercontent.com/GTM-Strategist/gtm-strategist-skills/master/.claude/skills/building-gtm-system/SKILL.md",
      "digest": "sha256:706335002ab3c7cf53af762e64a2a0486a28884dbbdc73c0202723e5ed5d91e0"
    },
    {
      "name": "collecting-intelligence",
      "type": "skill-md",
      "description": "Use when researching competitors or planning customer discovery interviews for a go-to-market plan.",
      "url": "https://raw.githubusercontent.com/GTM-Strategist/gtm-strategist-skills/master/.claude/skills/collecting-intelligence/SKILL.md",
      "digest": "sha256:e6eeaa55705cd4ee42e45d8310ab77f4ad39e9855d6171fad4f4611651231461"
    },
    {
      "name": "crafting-positioning",
      "type": "skill-md",
      "description": "Use when positioning a product, defining its UVP and writing first messaging.",
      "url": "https://raw.githubusercontent.com/GTM-Strategist/gtm-strategist-skills/master/.claude/skills/crafting-positioning/SKILL.md",
      "digest": "sha256:d3ec4045ea3874641db879c07758d7467bca9cdbe172d7778361f9afb0a243c8"
    },
    {
      "name": "executing-launch",
      "type": "skill-md",
      "description": "Use when launch day is close and the emails and war room are unplanned.",
      "url": "https://raw.githubusercontent.com/GTM-Strategist/gtm-strategist-skills/master/.claude/skills/executing-launch/SKILL.md",
      "digest": "sha256:d8c2953cb2227f4d482cfc0fc75ad7a05f6e6a5368dd3f3912d6bb81056ead08"
    },
    {
      "name": "gtm-foundations",
      "type": "skill-md",
      "description": "Use when setting up go-to-market foundations: SWOT, value proposition, analytics, 90-day plan.",
      "url": "https://raw.githubusercontent.com/GTM-Strategist/gtm-strategist-skills/master/.claude/skills/gtm-foundations/SKILL.md",
      "digest": "sha256:de88845d663b31d9a18bd59a75ca250dc2c759ef91ec5736b08f05b51b6b2666"
    },
    {
      "name": "validating-customers",
      "type": "skill-md",
      "description": "Use when customer assumptions need testing with experiments before more is built.",
      "url": "https://raw.githubusercontent.com/GTM-Strategist/gtm-strategist-skills/master/.claude/skills/validating-customers/SKILL.md",
      "digest": "sha256:027ad6b1f2769ec5b2f3f16aa9b8d6ed859a217807cfede435ae460048019e59"
    },
    {
      "name": "build-comments",
      "type": "skill-md",
      "description": "Use when adding comments, replies, reactions or annotation to a product.",
      "url": "https://raw.githubusercontent.com/johannesmutter/interface-skills/main/skills/build-comments/SKILL.md",
      "digest": "sha256:901da5facd2dce6c6428324f4947a557670d181802bf0beb693c66cf6e1f56b1"
    },
    {
      "name": "review-comments",
      "type": "skill-md",
      "description": "Use when an existing comment thread implementation needs judging against a high bar.",
      "url": "https://raw.githubusercontent.com/johannesmutter/interface-skills/main/skills/review-comments/SKILL.md",
      "digest": "sha256:01bd3cf3693c72168f4fa33cfc19a1a6195f899117a3ab59e7b2f453586c73d2"
    },
    {
      "name": "adversarial-code-reviewing",
      "type": "skill-md",
      "description": "Use when the call is ship or do not ship, and confidence feels untested.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/adversarial-code-reviewing/SKILL.md",
      "digest": "sha256:6c8d8c25e17ad96fa61fb7aa04fc86771006a35f8cee679f458fc7db8e4eb533"
    },
    {
      "name": "babysitting-prs",
      "type": "skill-md",
      "description": "Use when a pull request is stuck on CI, rebases or review feedback.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/babysitting-prs/SKILL.md",
      "digest": "sha256:dd1cb0ad763fe2ca261f4ddfbf54a446803801c800d99de311b937c67bb3f470"
    },
    {
      "name": "check-docs-updated",
      "type": "skill-md",
      "description": "Use when code changed and the docs, runbooks or changelog may now be stale.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/check-docs-updated/SKILL.md",
      "digest": "sha256:469e69381a21dc4b1fa1ff09334694450731660f196f36a5cdc06fbdab53a91f"
    },
    {
      "name": "drafting-plans",
      "type": "skill-md",
      "description": "Use when an architecture or rollout decision needs a short written plan that lasts.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/drafting-plans/SKILL.md",
      "digest": "sha256:c68d477ffc975ba6de615ec9dccce360b35df0cdc49230f6357b1258030ba91b"
    },
    {
      "name": "go-cli-writing",
      "type": "skill-md",
      "description": "Use when building or refactoring a Go command-line tool's flags, subcommands or config.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/go-cli-writing/SKILL.md",
      "digest": "sha256:49f2e83f090bcd8886b517e41469024956bb8988d82398f9e809d6fe5c0dce40"
    },
    {
      "name": "go-writing",
      "type": "skill-md",
      "description": "Use when writing, reviewing or refactoring Go packages, tests or benchmarks.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/go-writing/SKILL.md",
      "digest": "sha256:e7cbe3ecb3a3a5e871cc583a0e382cc957dd005d5e7d5f430b939919ce1b0e3f"
    },
    {
      "name": "high-performance-zig",
      "type": "skill-md",
      "description": "Use when Zig code is latency, memory or layout sensitive and must be measured.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/high-performance-zig/SKILL.md",
      "digest": "sha256:a5e3418b8044c71cd824681c3c2de7c2142f0386270411ed29109447c2b84569"
    },
    {
      "name": "simplicity-review",
      "type": "skill-md",
      "description": "Use when a change looks over-engineered and the code may not need to exist.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/simplicity-review/SKILL.md",
      "digest": "sha256:950db6b4dbc8192e7127506ff85e18276bd643a5557e3703d8beacd35bfc2750"
    },
    {
      "name": "writing-pr-descriptions",
      "type": "skill-md",
      "description": "Use when a pull request needs a title and body that match its diff.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/writing-pr-descriptions/SKILL.md",
      "digest": "sha256:2f609e3aa4ed2da170e3e7e6c469d44682dca034cd07ecca2753353f12f86d22"
    },
    {
      "name": "writing-tests",
      "type": "skill-md",
      "description": "Use when deciding whether to add tests or changing mocks, snapshots or assertions.",
      "url": "https://raw.githubusercontent.com/lox/agent-skills/main/writing-tests/SKILL.md",
      "digest": "sha256:65f035a95d9509ac92b00439a4345a3d844a2e342f53f144a449111f87d25c9d"
    },
    {
      "name": "cranky-old-sam",
      "type": "skill-md",
      "description": "Use when a design review should question every abstraction and argue for less.",
      "url": "https://raw.githubusercontent.com/ramparte/cranky-old-sam/main/skills/cranky-old-sam/SKILL.md",
      "digest": "sha256:c95e339ee2e31783afb3a89102301c085aa27d7aefbc5d21be0ebb9f6d4f921a"
    },
    {
      "name": "12-principles-of-animation",
      "type": "skill-md",
      "description": "Use when motion is technically fine but reads as lifeless or mechanical.",
      "url": "https://raw.githubusercontent.com/raphaelsalaja/skill/main/skills/12-principles-of-animation/SKILL.md",
      "digest": "sha256:2027056a645c5ffdf17047d0e74b78a60c414d91da45d983ffd452548ee1e1ac"
    },
    {
      "name": "mastering-animate-presence",
      "type": "skill-md",
      "description": "Use when reviewing exit animations or presence state in Motion code.",
      "url": "https://raw.githubusercontent.com/raphaelsalaja/skill/main/skills/mastering-animate-presence/SKILL.md",
      "digest": "sha256:75a027a2ef484a256b6aaa12e34c5d0b2b40516dafac65e582c9a397e8f26716"
    },
    {
      "name": "morphing-icons",
      "type": "skill-md",
      "description": "Use when icons should morph into one another through SVG line transformation.",
      "url": "https://raw.githubusercontent.com/raphaelsalaja/skill/main/skills/morphing-icons/SKILL.md",
      "digest": "sha256:690cb3ebe7860f77b4fedd6f951aba6aff129faa84a98849489de4338c88f97f"
    },
    {
      "name": "pseudo-elements",
      "type": "skill-md",
      "description": "Use when reviewing CSS pseudo-elements or View Transitions in hover effects and page changes.",
      "url": "https://raw.githubusercontent.com/raphaelsalaja/skill/main/skills/pseudo-elements/SKILL.md",
      "digest": "sha256:c8375d1e6b61b216139b935ad5f1968fdeb06eb30fb795f74a7f2fe3489849f2"
    },
    {
      "name": "sounds-on-the-web",
      "type": "skill-md",
      "description": "Use when reviewing how a UI uses sound for feedback.",
      "url": "https://raw.githubusercontent.com/raphaelsalaja/skill/main/skills/sounds-on-the-web/SKILL.md",
      "digest": "sha256:7f7f366832681d63e94f268a3c249bc5ac837c65c85e3ef400f9127387840516"
    },
    {
      "name": "to-spring-or-not-to-spring",
      "type": "skill-md",
      "description": "Use when choosing between a spring and an easing curve for one interaction.",
      "url": "https://raw.githubusercontent.com/raphaelsalaja/skill/main/skills/to-spring-or-not-to-spring/SKILL.md",
      "digest": "sha256:388c3d6651149ff63db2eea292d9b90f1f6f3bc2ab2ff71accc9583af8d56e3b"
    },
    {
      "name": "hono-inertia",
      "type": "skill-md",
      "description": "Use when a Hono and hono/jsx app needs SPA-style interactivity through Inertia.",
      "url": "https://raw.githubusercontent.com/yusukebe/skills/main/skills/hono-inertia/SKILL.md",
      "digest": "sha256:d5705815b3de396d0b99b31fda80c41803fbe2dc5634625ce9175afb0881c1b9"
    },
    {
      "name": "hono-react",
      "type": "skill-md",
      "description": "Use when a Hono project needs real React for its ecosystem, SSR or SPA.",
      "url": "https://raw.githubusercontent.com/yusukebe/skills/main/skills/hono-react/SKILL.md",
      "digest": "sha256:fd944c9b7909f18ec3815923a445913c12b1b11aa02e5b02f9f3f56cb6f0fb90"
    }
  ]
}
