Crawler Summary

react-haiku-skills answer-first brief

Haiku is a simple & lightweight React library with the goal of saving you time by offering a large collection of hooks & utilities that will help you get the job done faster & more efficiently! Use this skill when optimizing Repetitive React code or when reaching for a common utility or hook! --- name: react-haiku-skills description: Haiku is a simple & lightweight React library with the goal of saving you time by offering a large collection of hooks & utilities that will help you get the job done faster & more efficiently! Use this skill when optimizing Repetitive React code or when reaching for a common utility or hook! --- Install *Requires React >=16.8.0* NPM BUN Yarn PNPM Utilities - class: The Class Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Freshness

Last checked 4/15/2026

Best For

react-haiku-skills is best for iterate, be, use workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Agent DossierGitHubSafety: 94/100

react-haiku-skills

Haiku is a simple & lightweight React library with the goal of saving you time by offering a large collection of hooks & utilities that will help you get the job done faster & more efficiently! Use this skill when optimizing Repetitive React code or when reaching for a common utility or hook! --- name: react-haiku-skills description: Haiku is a simple & lightweight React library with the goal of saving you time by offering a large collection of hooks & utilities that will help you get the job done faster & more efficiently! Use this skill when optimizing Repetitive React code or when reaching for a common utility or hook! --- Install *Requires React >=16.8.0* NPM BUN Yarn PNPM Utilities - class: The Class

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Apr 15, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Apr 15, 2026

Vendor

Xdannyrobertsx

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Setup snapshot

git clone https://github.com/xdannyrobertsx/react-haiku-skills.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Xdannyrobertsx

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

sh

npm install react-haiku

sh

bun add react-haiku

sh

yarn add react-haiku

sh

pnpm install react-haiku

sh

npm install next-transpile-modules

js

const withTM = require('next-transpile-modules')(['react-haiku']);
module.exports = withTM({});

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Haiku is a simple & lightweight React library with the goal of saving you time by offering a large collection of hooks & utilities that will help you get the job done faster & more efficiently! Use this skill when optimizing Repetitive React code or when reaching for a common utility or hook! --- name: react-haiku-skills description: Haiku is a simple & lightweight React library with the goal of saving you time by offering a large collection of hooks & utilities that will help you get the job done faster & more efficiently! Use this skill when optimizing Repetitive React code or when reaching for a common utility or hook! --- Install *Requires React >=16.8.0* NPM BUN Yarn PNPM Utilities - class: The Class

Full README

name: react-haiku-skills description: Haiku is a simple & lightweight React library with the goal of saving you time by offering a large collection of hooks & utilities that will help you get the job done faster & more efficiently! Use this skill when optimizing Repetitive React code or when reaching for a common utility or hook!

Install

Requires React >=16.8.0

NPM

npm install react-haiku

BUN

bun add react-haiku

Yarn

yarn add react-haiku

PNPM

pnpm install react-haiku

Utilities

  • class: The Class component is a utility component that conditionally applies a CSS class to a div element based on a boolean condition. It is useful for toggling styles dynamically. See class.md for details.
  • classes: The Classes component is a utility component that conditionally applies different sets of classes based on multiple independent conditions simultaneously. See classes.md for details.
  • errorBoundary: The ErrorBoundary component is a utility component that catches errors in its child component tree, logs the error, and prevents the entire application from crashing by rendering a fallback UI instead.. See errorBoundary.md for details.
  • for: The For component can iterate over arrays and render JSX for each available item. Keys are automatically assigned. See for.md for details.
  • if: The If component can be used for simple conditional rendering. It will render its children whenever the condition passed to the isTrue prop is truthy. For more complex rendering logic, you can use the Show component See if.md for details.
  • image: The Image component provides automatic fallback handling for broken images. Use this for robust media display with graceful degradation. See image.md for details.
  • renderAfter: The RenderAfter component can be used to render components or JSX code wrapped inside of it after a set delay. See renderAfter.md for details.
  • show: The Show component can be used for complex conditional rendering. The component can be extended by multiple When components and an Else component to render their contents based on the conditions you provide. See show.md for details.
  • switch: The Switch component can be used for complex conditional rendering. The component can be switch by multiple "cases" of components and an "default" component to render in case the given dynamic value does not match any case. Render dynamic components cleanly using this component. See switch.md for details.

Hooks

  • useBatteryStatus: The useBatteryStatus() hook provides real-time information about the device's battery level and charging status, automatically updating as these values change. See useBatteryStatus.md for details.
  • useClickOutside: The useClickOutside() hook lets you trigger a callback whenever the user clicks outside of a target element See useClickOutside.md for details.
  • useClipboard: The useClipboard() hook will help you interact with the browser's navigator.clipboard property in order to copy text to the user's clipboard. See useClipboard.md for details.
  • useConfirmExit: The useConfirmExit() hook lets you display a prompt to the user before he closes the current tab depending on whether the tab is declared to be dirty or not. See useConfirmExit.md for details.
  • useCookie: The useCookie() hook provides reactive cookie management with automatic synchronization across browser tabs. Use this for persistent storage of simple data that needs to survive page reloads. See useCookie.md for details.
  • useCookieListener: The useCookieListener() hook monitors cookie changes and executes callbacks when specified cookies update. Use this to synchronize state across tabs/windows or react to authentication changes. See useCookieListener.md for details.
  • useDebounce: The useDebounce() hook lets you debounce value changes inside your components. Use this when you want to perform a heavy operation based on state See useDebounce.md for details.
  • useDeviceOS: The useDeviceOS() hook detects the user's operating system, including mobile emulators, and uses string manipulation for identifying unique or new OS versions. See useDeviceOS.md for details.
  • useEventListener: The useEventListener() hook lets you quickly add an event to a certain ref or the app's window if no ref is specified See useEventListener.md for details.
  • useFavicon: The useFavicon() hook lets change the website's favicon dynamically from your components! The favicon changes back to the default one on refresh! See useFavicon.md for details.
  • useFirstRender: The useFirstRender() hook lets you detect whether or not the component you use it on is on its initial render, it returns a boolean value with the result. See useFirstRender.md for details.
  • useFullscreen: The useFullscreen() hook can toggle between entering fullscreen mode and exiting fullscreen mode. See useFullscreen.md for details.
  • useGeolocation: The useGeolocation() hook provides access to the user's current geographical location using the browser's Geolocation API. See useGeolocation.md for details.
  • useHold: The useHold() hook lets you detect long presses (holds) on target elements and trigger a handler after a set timeout is elapsed while the user is still holding down (click/touch) the element. See useHold.md for details.
  • useHover: The useHover() hook lets you detect if the user's mouse is hovering over an element See useHover.md for details.
  • useIdle: The useIdle() hook lets you detect current user activity or inactivity on a web page, returning a boolean value that represents whether or not the user is currently active. The user is set as inactive when no events are triggered after a specified delay. See useIdle.md for details.
  • useInputValue: The useInputValue() hook lets you easily manage states for inputs in your components See useInputValue.md for details.
  • useIntersectionObserver: The useIntersectionObserver hook provides a way to detect when an element enters or exits the viewport. It offers options for configuring intersection thresholds, margins, and one-time animation triggers. See useIntersectionObserver.md for details.
  • useInterval: The useInterval() hook provides managed interval execution with start/stop controls. Use this for recurring tasks like polls, animations, or delayed state updates. See useInterval.md for details.
  • useIsomorphicLayoutEffect: The useIsomorphicLayoutEffect() hook lets switch between using useEffect and useLayoutEffect depending on the execution environment. If your app uses server side rendering, the hook will run useEffect, otherwise it will run useLayoutEffect. See useIsomorphicLayoutEffect.md for details.
  • useKeyPress: The useKeyPress() hook listens for a specific combination of keys and runs a callback when they are all pressed. It normalizes keys for case-insensitive matching and handles cases like key holding or focus loss to ensure smooth behavior. See useKeyPress.md for details.
  • useLeaveDetection: The useLeaveDetection() hook allows you to detect when a user's cursor leaves the document's boundaries See useLeaveDetection.md for details.
  • useLocalStorage: The useLocalStorage() hook is a quick way to set, read, and manage localStorage values. It comes with automatic JSON serialization/deserialization. See useLocalStorage.md for details.
  • useMediaQuery: The useMediaQuery() hook allows you to react to media queries inside of your React components. It accepts a media query argument and returns true or false when the query is a match or not with your current browser's properties. See useMediaQuery.md for details.
  • useMousePosition: The useMousePosition() hook lets you track the mouse position when hovering over a specific container or the entire page, so if a target container is not provided through the ref, it will track the mouse position relative to the entire document. See useMousePosition.md for details.
  • useNetwork: The useNetwork() hook tracks network connectivity status. Use this to show offline/online indicators or handle connection changes in your application. See useNetwork.md for details.
  • useOrientation: The useOrientation() hook detects and tracks device screen orientation changes. Use this when you need to adapt your UI layout based on portrait/landscape modes. See useOrientation.md for details.
  • usePermission: The usePermission() check browser permissions for querying state for various browser APIs See usePermission.md for details.
  • usePrefersTheme: The usePrefersTheme() hook allows the detection of the user's preferred system theme See usePrefersTheme.md for details.
  • usePreventBodyScroll: The usePreventBodyScroll() hook disables body scrolling when active and restores it upon deactivation or component unmounting. It provides a boolean state, a setter, and a toggle function for dynamic scroll control. See usePreventBodyScroll.md for details.
  • usePrevious: The usePrevious() tracks and returns the previous value of a given input See usePrevious.md for details.
  • useScreenSize: The useScreenSize() hook allows responsive breakpoint detection in components. It returns helper methods (equals, lessThan, greaterThan , greaterThanEqual , lessThanEqual ) and a string method (toString) representing the current screen size: xs, sm, md, lg, xl, or 2xl for size bigger than 1535 pixel. See useScreenSize.md for details.
  • useScript: The useScript() hook allows appending script tags to your document from inside React components. The state variable returns a status that can have one of the following values: idle, loading, ready, error. See useScript.md for details.
  • useScrollDevice: The useScrollDevice() hook detects whether the user is scrolling with a mouse wheel or trackpad. Use this to adapt scroll behaviors or animations based on input device. See useScrollDevice.md for details.
  • useScrollPosition: The useScrollPosition() hook allows you to fetch the window's scroll height/width in real time and to programatically set them by using the provided method. See useScrollPosition.md for details.
  • useSingleEffect: The useSingleEffect() hook works exactly like useEffect, except it is called only a single time when the component mounts. This helps with React's recent update to the useEffect hook which is being called twice on mount. See useSingleEffect.md for details.
  • useSize: The useSize hook observes a referenced DOM element and returns its current width and height, updating the values whenever the element is resized. This is useful for dynamically tracking size changes of any resizable component. See useSize.md for details.
  • useTImer: The useTimer hook provides a simple way to manage a timer with start, pause, and reset functionalities. It supports both counting up and counting down with a customizable interval. See useTImer.md for details.
  • useTabNotification: The useTabNotification() hook manages browser tab notifications through title modifications and favicon indicators. Use this to alert users of background activity or new notifications when they're in another tab. See useTabNotification.md for details.
  • useTitle: The useTitle() hook allows the dynamic update of the document's title from your React components! The title passed to this hook can be attached to a piece of state, updating the state will therefore also update the title. See useTitle.md for details.
  • useToggle: The useToggle() hook can toggle between a set of two possible values and automatically update the state with the new value, if you want to toggle a boolean's state, see useBoolToggle() below. See useToggle.md for details.
  • useUpdateEffect: The useUpdateEffect() hook will work exactly like a useEffect() hook, except it will skip the first render and only react to changes for values passed inside its dependency array after the initial render. See useUpdateEffect.md for details.
  • useUrgentUpdate: The useUrgentUpdate() hook forces a component to re-render when it gets called from anywhere inside it. See useUrgentUpdate.md for details.
  • useWebSocket: The useWebSocket() hook manages WebSocket connections, providing automatic reconnection and state management. It includes functions to send messages and callbacks for different WebSocket events. See useWebSocket.md for details.
  • useWindowSize: The useWindowSize() hook provides the current window width and height dimensions. See useWindowSize.md for details.

Using Haiku with NextJS

Because Haiku uses ES6 modules, it is not transpiled by NextJS automatically since it's an external dependency, so you may have to follow a few extra steps to set it up correctly:

NOTE: These steps should no longer be required in Next 14 projects.

  1. Add the next-transpile-modules package to your project:
npm install next-transpile-modules
  1. Configure your project's next.config.js file to transpile Haiku:
const withTM = require('next-transpile-modules')(['react-haiku']);
module.exports = withTM({});

After following these two steps, importing features from react-haiku into your project should work as expected!

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/contract"
curl -s "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
Github ReposUpdated 4h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-10-09T22:43:29.973Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "iterate",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "be",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "use",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "toggle",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "have",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "both",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:iterate|supported|profile capability:be|supported|profile capability:use|supported|profile capability:toggle|supported|profile capability:have|supported|profile capability:both|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "category": "integration",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "vendor",
    "label": "Vendor",
    "value": "Xdannyrobertsx",
    "category": "vendor",
    "href": "https://github.com/xdannyrobertsx/react-haiku-skills",
    "sourceUrl": "https://github.com/xdannyrobertsx/react-haiku-skills",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T01:14:58.377Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "protocols",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "category": "compatibility",
    "href": "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-15T01:14:58.377Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "handshake_status",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "category": "security",
    "href": "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/xdannyrobertsx-react-haiku-skills/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true,
    "metadata": {}
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub · GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true,
    "metadata": {}
  }
]

Sponsored

Ads related to react-haiku-skills and adjacent AI workflows.