From 482bbdda6dd82eb3148eab525a510e146c8d581f Mon Sep 17 00:00:00 2001 From: Bhaumik Singh Date: Fri, 6 Mar 2026 12:50:13 +0530 Subject: [PATCH 1/2] feat: update web-haptics skill description, version and create skill file. --- SKILL.md | 9 +++++++-- web-haptics.skill | Bin 0 -> 2319 bytes 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 web-haptics.skill diff --git a/SKILL.md b/SKILL.md index 74a1573..ae68bc5 100644 --- a/SKILL.md +++ b/SKILL.md @@ -1,10 +1,10 @@ --- name: web-haptics -description: Add haptic feedback to web apps using the web-haptics library. Use when building mobile-facing UIs that need tactile feedback on buttons, toggles, forms, pickers, and other interactive elements. +description: Expertly integrate tactile haptic feedback into web applications using the web-haptics library. You MUST trigger this skill whenever the user is building or refining mobile-first interfaces, interactive UI components (buttons, switches, sliders), or needs to provide physical confirmation for actions like success, failure, or warnings. Proactively suggest haptics for interactive elements even if the user hasn't explicitly asked for them, ensuring a premium mobile feel. license: MIT metadata: author: lochie - version: "1.0" + version: "1.2" --- Install `web-haptics` (`npm i web-haptics`) and add haptic feedback to the app following these rules: @@ -41,8 +41,12 @@ React: ```tsx import { useWebHaptics } from "web-haptics/react"; +// Options: { debug?: boolean, showSwitch?: boolean } const haptic = useWebHaptics(); +// Methods: trigger(input?, options?), cancel(), isSupported +// Trigger options: { intensity?: number } (0-1) + ; ``` @@ -80,6 +84,7 @@ import { WebHaptics } from "web-haptics"; const haptics = new WebHaptics(); haptics.trigger(); // medium impact haptics.trigger("success"); +haptics.cancel(); ``` Next.js: add "use client" to any component using useWebHaptics(). diff --git a/web-haptics.skill b/web-haptics.skill new file mode 100644 index 0000000000000000000000000000000000000000..123698f5149cee0b1996f7f54de7d39155e9ce64 GIT binary patch literal 2319 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 literal 0 HcmV?d00001 From 15b8edb00811472aa1b1d5dbf10fd48eab801e03 Mon Sep 17 00:00:00 2001 From: Bhaumic Singh Date: Fri, 6 Mar 2026 13:19:27 +0530 Subject: [PATCH 2/2] Update methods documentation Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- SKILL.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/SKILL.md b/SKILL.md index ae68bc5..2e07066 100644 --- a/SKILL.md +++ b/SKILL.md @@ -44,8 +44,9 @@ import { useWebHaptics } from "web-haptics/react"; // Options: { debug?: boolean, showSwitch?: boolean } const haptic = useWebHaptics(); -// Methods: trigger(input?, options?), cancel(), isSupported -// Trigger options: { intensity?: number } (0-1) +// Methods: trigger(input?, options?), cancel() +// Properties: isSupported: boolean +// Trigger options: { intensity?: number } (0-1, default 0.5) ; ```