reactuse
Practical playbook for React teams to choose and apply reactuse hooks across state, async flows, browser APIs, and UI interactions.
Skill by siberiacancode
Chalk Labs
Need help deploying reactuse?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/siberiacancode-reactuse
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 4
codeload.github.com· found in install commandnextjs.org· found in codereact.dev· found in codereactuse.org· found in code
Files it touches
~/.claude/skills/reactuse
What's inside
- Skill name
reactuse- Description
- Practical playbook for React teams to choose and apply reactuse hooks across state, async flows, browser APIs, and UI interactions. Use it when replacing custom hook logic with production-ready patterns that stay compatible with SSR and Next.js.
- License
- MIT
- Metadata
- author: siberiacancode · version: 1.0.16
- Instructions
- 257 lines in SKILL.md · view on GitHub
Files (183)
- AGENTS.md
- README.md
- SKILL.md
- metadata.json
- _sections.md · rules/
- _template.md · rules/
- cn.md · rules/
- createContext.md · rules/
- createContextHook.md · rules/
- createEventEmitter.md · rules/
- createReactiveContext.md · rules/
- createSharedHook.md · rules/
- createStore.md · rules/
- makeDestructurable.md · rules/
- target.md · rules/
- useActiveElement.md · rules/
- useAsync.md · rules/
- useAsyncEffect.md · rules/
- useAudio.md · rules/
- useAutoScroll.md · rules/
- useBatchedCallback.md · rules/
- useBattery.md · rules/
- useBluetooth.md · rules/
- useBoolean.md · rules/
- useBreakpoints.md · rules/
- useBroadcastChannel.md · rules/
- useBrowserLanguage.md · rules/
- useBrowserLocation.md · rules/
- useClickOutside.md · rules/
- useClipboard.md · rules/
- useConst.md · rules/
- useContextMenu.md · rules/
- useControllableState.md · rules/
- useCookie.md · rules/
- useCookies.md · rules/
- useCopy.md · rules/
- useCounter.md · rules/
- useCssVar.md · rules/
- useCycleList.md · rules/
- useDebounceCallback.md · rules/
- useDebounceEffect.md · rules/
- useDebounceState.md · rules/
- useDebounceValue.md · rules/
- useDefault.md · rules/
- useDeviceList.md · rules/
- useDeviceMotion.md · rules/
- useDeviceOrientation.md · rules/
- useDevicePixelRatio.md · rules/
- useDidUpdate.md · rules/
- useDisclosure.md · rules/
- useDisplayMedia.md · rules/
- useDocumentEvent.md · rules/
- useDocumentTitle.md · rules/
- useDocumentVisibility.md · rules/
- useDoubleClick.md · rules/
- useDraggable.md · rules/
- useDropZone.md · rules/
- useEvent.md · rules/
- useEventListener.md · rules/
- useEventSource.md · rules/
- …and 123 more
SKILL.md (first lines)
# Reactuse
This skill is a decision-and-implementation guide for reactuse library for react.js / next.js projects. It maps requirements to the most suitable reactuse hook, applies the correct usage pattern, and prefers hook-based solutions over bespoke code to keep implementations concise, maintainable, and performant.
## When to Apply
- Apply this skill whenever assisting development work in React.js / Next.js.
- Always check first whether a reactuse hook can implement the requirement.
- Prefer reactuse hooks over custom code to improve readability, maintainability, and performance.
- Map requirements to the most appropriate hook and follow the hook’s invocation rule.
- Please refer to the `Invocation` field in the hooks table. For example:
- `AUTO`: Use automatically when applicable.
- `EXTERNAL`: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.
- `EXPLICIT_ONLY`: Use only when explicitly requested by the user.
> _NOTE_ User instructions in the prompt or `AGENTS.md` may override a hook’s default `Invocation` rule.
## Hooks
All hooks listed below are part of the [reactuse](https://reactuse.org/) library. Each section categorizes hooks based on their functionality.
IMPORTANT: Each hook entry includes a short `Description` and a detailed `Reference`. When using any hook, always consult the corresponding document in `./references` for usage details and type declarations.
Blocked upstream category: Reactuse also exports `Humor` hooks (`useFul`, `useLess`, `useOnce`) in recent releases. This skill intentionally does not support or recommend them because upstream marks them as jokes or non-production utilities.
### Helpers
| Hook | Description | Invocation |
| --------------------- | --------------------------------------------------------------- | ---------- |
| cn | Normalizes conditional class names for React `className`. | HIGH |
| createContext | Creates a typed context with provider and selector hook. | HIGH |
| createContextHook | Scopes one hook result to a React subtree. | LOW |
| createEventEmitter | Creates a type-safe event emitter with a subscription hook. | LOW |
| createReactiveContext | Creates a typed context selector with optimized updates. | LOW |
| createSharedHook | Shares one hook instance across consumers. | LOW |
| createStore | Creates a external store with state, subscriptions, and a hook. | MEDIUM |
| makeDestructurable | Supports object and tuple consumption from one value. | LOW |
| target | Wraps DOM targets in the shape Reactuse hooks expect. | MEDIUM |
### Elements
| Hook | Description | Invocation |
| ------------------- | ---------------------------------------------------------- | ---------- |
| useActiveElement | Tracks the currently focused element. | LOW |
| useAutoScroll | Automatically scrolls a container to the bottom. | LOW |
| useClickOutside | Calls a callback when clicking outside the target element. | HIGH |
| useContextMenu | Converts secondary-click and long-press gestures to menu state. | LOW |
| useDoubleClick | Detects double-clicks with optional single-click handler. | MEDIUM |
| useDraggable | Converts pointer movement into drag position state. | LOW |
| useDropZone | Creates a drag-and-drop area with file state. | MEDIUM |
| useFileDialog | Opens a file picker and returns selected files. | LOW |
| useFocus | Tracks focus state and provides focus/blur controls. | MEDIUM |
| useFocusTrap | Traps focus within a given element. | MEDIUM |
| useHover | Tracks hover state for an element. | MEDIUM |
| useImage | Loads an image in the browser and returns image-specific loading state. | LOW |
| useLockScroll | Locks scrolling on an element or the document body. | MEDIUM |
| useLongPress | Detects long press interactions. | MEDIUM |
| usePaint | Draws on a canvas and exposes drawing controls. | LOW |
| useScript | Loads a script and returns its status. | LOW |
| useSize | Observes element width and height. | LOW |
| useSticky | Detects whether a sticky element is stuck. | LOW |
| useTextareaAutosize | Auto-resizes a textarea based on content. | MEDIUM |
| useTextDirection | Gets and sets the text direction of an element. | MEDIUM |
| useWindowFocus | Returns the current focus state of the window. | LOW |
| useWindowSize | Returns current window width and height. | LOW |
### Async
| Hook | Description | Invocation |
| --------------- | ----------------------------------------------------------------------- | ---------- |
| useAsync | Tracks loading, error, and data state for a promise-returning callback. | MEDIUM |
| useLockCallback | Prevents a callback from running multiple times simultaneously. | MEDIUM |
| useMutation | Defines mutation logic with loading, error, and success state. | HIGH |
| useOptimistic | Allows showing an optimistic value before the async update resolves. | MEDIUM |
| useQuery | Wraps abortable async reads in query state and refresh controls. | HIGH |
### Lifecycle
| Hook | Description | Invocation |
| ------------------------- | ------------------------------------------------------------------- | ---------- |
| useAsyncEffect | Runs async side effects. | MEDIUM |
| useDidUpdate | Runs an effect only on updates (not on initial mount). | HIGH |
| useIsFirstRender | Returns `true` only on the first render. | LOW |
| useIsomorphicLayoutEffect | Uses `useLayoutEffect` on the client and `useEffect` on the server. | HIGH |
| useMount | Runs a callback once when the component mounts. | HIGH |
| useShallowEffect | Runs an effect only when dependencies change shallowly or deeply. | LOW |
| useUnmount | Runs a callback when the component unmounts. | HIGH |
### Browser
| Hook | Description | Invocation |
| --------------------- | ---------------------------------------------------------------------------- | ---------- |
| useAudio | Manages audio playback (play/pause/stop), volume, rate, and sprite segments. | LOW |
| useBattery | Returns battery status and support state. | LOW |
| useBluetooth | Requests and connects to Bluetooth devices. | LOW |
| useBreakpoints | Manages responsive breakpoints and helper predicates. | MEDIUM |
| useBroadcastChannel | Enables cross-tab/window messaging. | LOW |
| useBrowserLocation | Returns reactive location state and history navigation controls. | MEDIUM |
| useClipboard | Reads and copies text from the clipboard. | MEDIUM |
| useCopy | Copies text and resets status after a delay. | MEDIUM |
| useCssVar | Reads and writes a CSS custom property. | LOW |
| useDeviceList | Groups available media input and output devices for pickers. | MEDIUM |
| useDisplayMedia | Connects a video element to a screen-capture stream. | LOW |
| useDocumentEvent | Attaches an event listener to the document. | LOW |
| useDocumentTitle | Reads and updates the document title. | LOW |
| useDocumentVisibility | Returns the document visibility state. | LOW |
| useEventListener | Attaches an event listener to a target. | HIGH |
| useEventSource | Provides a reactive wrapper around EventSource. | LOW |
| useEyeDropper | Provides access to the EyeDropper API. | LOW |
| useFavicon | Reads and updates the current favicon. | LOW |
| useFileSystemAccess | Reads and writes local files via the File System Access API. | LOW |
| useFps | Measures frames per second. | LOW |
| useFullscreen | Controls fullscreen state for an element. | LOW |
| useGamepad | Returns connected gamepads and active status. | LOW |
| useGeolocation | Keeps the latest browser geolocation reading in React state. | MEDIUM |
| useMeasure | Measures an element's size and position. | LOW |
| useMediaControls | Provides controls and state for audio/video elements. | LOW |
| useMediaStream | Connects camera or microphone capture to a media element. | MEDIUM |
| useMediaQuery | Returns whether a media query matches. | MEDIUM |
| useMemory | Returns the current JS heap memory usage. | LOW |From siberiacancode/agent-skills, MIT.
More from siberiacancode/agent-skills
- 0.613score
testing-best-practices
siberiacancode
Support QA and testing work across formats: planning checks, writing test cases, reviewing coverage, designing Playwright browser and component integration…
SkillAFreshness: A★ 23Claude Code +9 - 0.606score
react-hooks-best-practices
siberiacancode
React hooks best practices for React application code and custom hook design across DX, optimization, and logic.
SkillBFreshness: B★ 23Claude Code +9 - 0.576score
integration-test-grill
siberiacancode
Use when planning integration coverage for a product flow and choosing whether each scenario belongs in a browser or component test.
SkillBFreshness: B★ 23Claude Code +9 - 0.575score
unit-test-grill
siberiacancode
Use when planning which unit-test coverage an implementation needs before writing or updating its tests.
SkillBFreshness: B★ 23Claude Code +9 - 0.575score
testcase-grill
siberiacancode
Use when planning which product test cases a page, feature, or reusable block needs before updating the test catalog.
SkillBFreshness: B★ 23Claude Code +9 - 0.491score
juniors-best-practice
siberiacancode
Juniors-focused React and TypeScript best practices.
SkillDFreshness: D★ 23Claude Code +9
Signals
- Stars
- 23
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Sep 1, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.16
- License
- MIT
- Repository
- github.com/siberiacancode/agent-skills
- Website
- skills.sh/siberiacancode
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from siberiacancode
- 0.613score
testing-best-practices
siberiacancode
Support QA and testing work across formats: planning checks, writing test cases, reviewing coverage, designing Playwright browser and component integration…
SkillAFreshness: A★ 23Claude Code +9 - 0.606score
react-hooks-best-practices
siberiacancode
React hooks best practices for React application code and custom hook design across DX, optimization, and logic.
SkillBFreshness: B★ 23Claude Code +9 - 0.576score
integration-test-grill
siberiacancode
Use when planning integration coverage for a product flow and choosing whether each scenario belongs in a browser or component test.
SkillBFreshness: B★ 23Claude Code +9 - 0.575score
unit-test-grill
siberiacancode
Use when planning which unit-test coverage an implementation needs before writing or updating its tests.
SkillBFreshness: B★ 23Claude Code +9 - 0.575score
testcase-grill
siberiacancode
Use when planning which product test cases a page, feature, or reusable block needs before updating the test catalog.
SkillBFreshness: B★ 23Claude Code +9 - 0.491score
juniors-best-practice
siberiacancode
Juniors-focused React and TypeScript best practices.
SkillDFreshness: D★ 23Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get reactuse running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
reactuse skill. Agent Mart. https://agentmart.dev/skills/siberiacancode-reactuse (last updated 2026-10-24)