Crawler Summary

react-zen answer-first brief

SKILL.md - Using @umami/react-zen SKILL.md - Using @umami/react-zen This guide covers how to use the zen component library in your React applications. Installation Import the stylesheet in your app entry point: Setup Wrap your app with ZenProvider: Provider Options | Prop | Values | Description | |------|--------|-------------| | theme | 'light' \| 'dark' | Color theme | | colorScheme | 'light' \| 'dark' \| 'system' | System preference support | | pa Published capability contract available. No trust telemetry is available yet. 42 GitHub stars reported by the source. Last updated 2/24/2026.

Freshness

Last checked 2/22/2026

Best For

Contract is available with explicit auth and schema references.

Not Ideal For

react-zen is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.

Evidence Sources Checked

editorial-content, capability-contract, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 100/100

react-zen

SKILL.md - Using @umami/react-zen SKILL.md - Using @umami/react-zen This guide covers how to use the zen component library in your React applications. Installation Import the stylesheet in your app entry point: Setup Wrap your app with ZenProvider: Provider Options | Prop | Values | Description | |------|--------|-------------| | theme | 'light' \| 'dark' | Color theme | | colorScheme | 'light' \| 'dark' \| 'system' | System preference support | | pa

OpenClawself-declared

Public facts

7

Change events

1

Artifacts

0

Freshness

Feb 22, 2026

Verifiededitorial-contentNo verified compatibility signals42 GitHub stars

Published capability contract available. No trust telemetry is available yet. 42 GitHub stars reported by the source. Last updated 2/24/2026.

42 GitHub starsSchema refs publishedTrust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 22, 2026

Vendor

Umami Software

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

Published capability contract available. No trust telemetry is available yet. 42 GitHub stars reported by the source. Last updated 2/24/2026.

Setup snapshot

git clone https://github.com/umami-software/react-zen.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

Umami Software

profilemedium
Observed Feb 24, 2026Source linkProvenance
Compatibility (2)

Protocol compatibility

OpenClaw

contractmedium
Observed Feb 24, 2026Source linkProvenance

Auth modes

api_key

contracthigh
Observed Feb 24, 2026Source linkProvenance
Artifact (1)

Machine-readable schemas

OpenAPI or schema references published

contracthigh
Observed Feb 24, 2026Source linkProvenance
Adoption (1)

Adoption signal

42 GitHub stars

profilemedium
Observed Feb 24, 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

bash

pnpm add @umami/react-zen

tsx

import '@umami/react-zen/styles.css';

tsx

import { ZenProvider } from '@umami/react-zen';

function App() {
  return (
    <ZenProvider theme="light" palette="neutral">
      {children}
    </ZenProvider>
  );
}

tsx

<Box padding="4" margin="2" backgroundColor="surface-raised" borderRadius="lg">
  Content
</Box>

tsx

<Row gap="4" justifyContent="space-between" alignItems="center">
  <Text>Left</Text>
  <Text>Right</Text>
</Row>

<Column gap="2">
  <Text>First</Text>
  <Text>Second</Text>
</Column>

<Flexbox direction="row" wrap="wrap" gap="2">
  {items.map(item => <Item key={item.id} />)}
</Flexbox>

tsx

<Grid columns="3" gap="4">
  <Box>1</Box>
  <Box>2</Box>
  <Box>3</Box>
</Grid>

Docs & README

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

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

SKILL.md - Using @umami/react-zen SKILL.md - Using @umami/react-zen This guide covers how to use the zen component library in your React applications. Installation Import the stylesheet in your app entry point: Setup Wrap your app with ZenProvider: Provider Options | Prop | Values | Description | |------|--------|-------------| | theme | 'light' \| 'dark' | Color theme | | colorScheme | 'light' \| 'dark' \| 'system' | System preference support | | pa

Full README

SKILL.md - Using @umami/react-zen

This guide covers how to use the zen component library in your React applications.

Installation

pnpm add @umami/react-zen

Import the stylesheet in your app entry point:

import '@umami/react-zen/styles.css';

Setup

Wrap your app with ZenProvider:

import { ZenProvider } from '@umami/react-zen';

function App() {
  return (
    <ZenProvider theme="light" palette="neutral">
      {children}
    </ZenProvider>
  );
}

Provider Options

| Prop | Values | Description | |------|--------|-------------| | theme | 'light' | 'dark' | Color theme | | colorScheme | 'light' | 'dark' | 'system' | System preference support | | palette | 'neutral' | 'slate' | 'gray' | 'zinc' | 'stone' | Color palette | | toast | { duration: number } | Toast defaults |

Components

Layout

Box

Universal container with styling props:

<Box padding="4" margin="2" backgroundColor="surface-raised" borderRadius="lg">
  Content
</Box>

Flexbox, Row, Column

Flex layouts with gap, alignment, and justification:

<Row gap="4" justifyContent="space-between" alignItems="center">
  <Text>Left</Text>
  <Text>Right</Text>
</Row>

<Column gap="2">
  <Text>First</Text>
  <Text>Second</Text>
</Column>

<Flexbox direction="row" wrap="wrap" gap="2">
  {items.map(item => <Item key={item.id} />)}
</Flexbox>

Grid

CSS Grid layout:

<Grid columns="3" gap="4">
  <Box>1</Box>
  <Box>2</Box>
  <Box>3</Box>
</Grid>

Responsive Props

All layout props support responsive values:

<Box
  padding={{ base: '2', md: '4', lg: '6' }}
  display={{ base: 'none', md: 'block' }}
  width={{ base: 'full', md: '1/2', lg: '1/3' }}
>
  Responsive content
</Box>

Breakpoints: base, sm, md, lg, xl, 2xl

Buttons

// Variants
<Button variant="default">Default</Button>
<Button variant="primary">Primary</Button>
<Button variant="outline">Outline</Button>
<Button variant="quiet">Quiet</Button>
<Button variant="danger">Danger</Button>

// Sizes
<Button size="xs">Extra Small</Button>
<Button size="sm">Small</Button>
<Button size="md">Medium</Button>
<Button size="lg">Large</Button>
<Button size="xl">Extra Large</Button>

// With loading state
<LoadingButton isLoading={loading} variant="primary">
  Submit
</LoadingButton>

// Copy to clipboard
<CopyButton value="text to copy" />

// Theme toggle
<ThemeButton />

Typography

// Headings
<Heading size="6xl">Hero</Heading>
<Heading size="4xl">Page Title</Heading>
<Heading size="2xl">Section</Heading>
<Heading size="lg">Subsection</Heading>

// Text
<Text>Default text</Text>
<Text size="sm" color="muted">Small muted text</Text>
<Text weight="bold" color="primary">Bold primary</Text>

// Code
<Code>inline code</Code>
<CodeBlock language="typescript">{code}</CodeBlock>

Form System

The form system is built on react-hook-form:

import { Form, FormField, FormSubmitButton, TextField } from '@umami/react-zen';

function LoginForm() {
  const handleSubmit = (data) => {
    console.log(data);
  };

  return (
    <Form onSubmit={handleSubmit} defaultValues={{ email: '', password: '' }}>
      <FormField
        name="email"
        label="Email"
        description="We'll never share your email"
        rules={{ required: 'Email is required' }}
      >
        <TextField type="email" />
      </FormField>

      <FormField
        name="password"
        label="Password"
        rules={{ required: 'Password is required', minLength: 8 }}
      >
        <PasswordField />
      </FormField>

      <FormButtons>
        <FormResetButton>Reset</FormResetButton>
        <FormSubmitButton variant="primary">Login</FormSubmitButton>
      </FormButtons>
    </Form>
  );
}

Form Fields

// Text input
<TextField placeholder="Enter text" />

// Password with visibility toggle
<PasswordField />

// Search with debouncing
<SearchField onSearch={handleSearch} delay={300} />

// Checkbox
<Checkbox>Remember me</Checkbox>

// Radio group
<RadioGroup label="Size">
  <Radio value="sm">Small</Radio>
  <Radio value="md">Medium</Radio>
  <Radio value="lg">Large</Radio>
</RadioGroup>

// Switch
<Switch>Enable notifications</Switch>

// Toggle buttons
<ToggleGroup>
  <Toggle id="bold">Bold</Toggle>
  <Toggle id="italic">Italic</Toggle>
</ToggleGroup>

Dynamic Field Arrays

<FormFieldArray name="items" label="Items">
  {({ fields, append, remove }) => (
    <>
      {fields.map((field, index) => (
        <Row key={field.id} gap="2">
          <FormField name={`items.${index}.name`}>
            <TextField />
          </FormField>
          <Button onClick={() => remove(index)}>Remove</Button>
        </Row>
      ))}
      <Button onClick={() => append({ name: '' })}>Add Item</Button>
    </>
  )}
</FormFieldArray>

Select & ComboBox

// Basic select
<Select label="Country">
  <ListItem id="us">United States</ListItem>
  <ListItem id="uk">United Kingdom</ListItem>
  <ListItem id="ca">Canada</ListItem>
</Select>

// Searchable select
<Select label="Country" allowSearch onSearch={handleSearch}>
  <ListItem id="us">United States</ListItem>
  <ListItem id="uk">United Kingdom</ListItem>
</Select>

// With sections
<Select label="Location">
  <ListSection title="North America">
    <ListItem id="us">United States</ListItem>
    <ListItem id="ca">Canada</ListItem>
  </ListSection>
  <ListSection title="Europe">
    <ListItem id="uk">United Kingdom</ListItem>
    <ListItem id="de">Germany</ListItem>
  </ListSection>
</Select>

// ComboBox (allows custom input)
<ComboBox label="Fruit" allowsCustomValue>
  <ListItem id="apple">Apple</ListItem>
  <ListItem id="banana">Banana</ListItem>
</ComboBox>

List

<List selectionMode="single" onSelectionChange={handleSelect}>
  <ListItem id="1">Option 1</ListItem>
  <ListItem id="2">Option 2</ListItem>
  <ListSeparator />
  <ListItem id="3">Option 3</ListItem>
</List>

Dialogs & Modals

// Confirmation dialog
<ConfirmationDialog
  title="Delete item?"
  message="This action cannot be undone."
  confirmLabel="Delete"
  cancelLabel="Cancel"
  onConfirm={handleDelete}
>
  <Button variant="danger">Delete</Button>
</ConfirmationDialog>

// Alert dialog
<AlertDialog title="Error" message="Something went wrong">
  <Button>Show Error</Button>
</AlertDialog>

// Custom dialog
<DialogTrigger>
  <Button>Open</Button>
  <Modal position="center">
    <Dialog>
      <Heading slot="title">Dialog Title</Heading>
      <Text>Dialog content</Text>
    </Dialog>
  </Modal>
</DialogTrigger>

Modal positions: center, left, right, top, bottom, fullscreen

Feedback Components

// Alert banner
<AlertBanner variant="info">Informational message</AlertBanner>
<AlertBanner variant="success">Success message</AlertBanner>
<AlertBanner variant="warning">Warning message</AlertBanner>
<AlertBanner variant="error">Error message</AlertBanner>

// Loading indicators
<Loading />
<Spinner size="lg" />
<ProgressBar value={75} />
<ProgressCircle value={50} />

// Status light
<StatusLight variant="success">Active</StatusLight>
<StatusLight variant="error">Failed</StatusLight>

Toast Notifications

import { useToast } from '@umami/react-zen';

function MyComponent() {
  const { toast } = useToast();

  const showToast = () => {
    toast('Operation successful', {
      variant: 'success',
      duration: 3000,
    });
  };

  const showToastWithActions = () => {
    toast('File deleted', {
      title: 'Deleted',
      variant: 'info',
      actions: ['Undo', 'Dismiss'],
      onClose: (action) => {
        if (action === 'Undo') {
          // Handle undo
        }
      },
    });
  };

  return <Button onClick={showToast}>Show Toast</Button>;
}

Tooltips & Popovers

// Tooltip
<Tooltip content="Helpful information">
  <Button>Hover me</Button>
</Tooltip>

// Popover
<Popover trigger={<Button>Click me</Button>}>
  <Text>Popover content</Text>
</Popover>

Menu

<MenuTrigger>
  <Button>Options</Button>
  <Menu onAction={handleAction}>
    <MenuItem id="edit">Edit</MenuItem>
    <MenuItem id="duplicate">Duplicate</MenuItem>
    <MenuSeparator />
    <MenuItem id="delete">Delete</MenuItem>
  </Menu>
</MenuTrigger>

Tables

<Table>
  <TableHeader>
    <TableColumn>Name</TableColumn>
    <TableColumn>Email</TableColumn>
    <TableColumn>Status</TableColumn>
  </TableHeader>
  <TableBody>
    <TableRow>
      <TableCell>John Doe</TableCell>
      <TableCell>john@example.com</TableCell>
      <TableCell><StatusLight variant="success">Active</StatusLight></TableCell>
    </TableRow>
  </TableBody>
</Table>

Icons

import { Icon, Check, ChevronRight, X } from '@umami/react-zen';

// Built-in icons
<Check />
<ChevronRight />
<X />

// Icon wrapper with props
<Icon size="lg" color="primary">
  <Check />
</Icon>

// Icon sizes: xs, sm, md, lg, xl
// Icon colors: primary, muted, disabled, or any theme color

Tags

<TagGroup
  label="Skills"
  items={[
    { id: '1', name: 'React' },
    { id: '2', name: 'TypeScript' },
  ]}
  onRemove={handleRemove}
/>

Calendar

<Calendar
  value={selectedDate}
  onChange={setSelectedDate}
  minValue={today}
/>

Theming

useTheme Hook

import { useTheme } from '@umami/react-zen';

function ThemeControls() {
  const { theme, palette, setTheme, setPalette } = useTheme();

  return (
    <Row gap="2">
      <Button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}>
        Toggle Theme
      </Button>
      <Select value={palette} onChange={setPalette}>
        <ListItem id="neutral">Neutral</ListItem>
        <ListItem id="slate">Slate</ListItem>
        <ListItem id="zinc">Zinc</ListItem>
      </Select>
    </Row>
  );
}

Semantic Colors

Use semantic color tokens for consistent theming:

Text colors: foreground-primary, foreground-muted, foreground-disabled

Background colors: surface-base, surface-raised, surface-sunken, surface-overlay, surface-inverted

Interactive colors: interactive, interactive-hover, interactive-pressed

Status colors: status-error, status-success, status-warning, status-info

<Text color="foreground-muted">Muted text</Text>
<Box backgroundColor="surface-raised">Raised surface</Box>
<Box backgroundColor="status-success">Success background</Box>

Utility Hooks

useBreakpoint

import { useBreakpoint } from '@umami/react-zen';

function ResponsiveComponent() {
  const breakpoint = useBreakpoint();

  if (breakpoint === 'base' || breakpoint === 'sm') {
    return <MobileView />;
  }
  return <DesktopView />;
}

useDebounce

import { useDebounce } from '@umami/react-zen';

function SearchComponent() {
  const [query, setQuery] = useState('');
  const debouncedQuery = useDebounce(query, 300);

  useEffect(() => {
    if (debouncedQuery) {
      search(debouncedQuery);
    }
  }, [debouncedQuery]);

  return <TextField value={query} onChange={setQuery} />;
}

Render Props Pattern

Many components support custom rendering via the render prop:

// Render as a link
<Button render={<a href="/page" />}>Go to page</Button>

// Render with router Link
<Button render={<Link to="/page" />}>Navigate</Button>

// Render function for full control
<Button render={(props) => <CustomComponent {...props} />}>
  Custom
</Button>

TypeScript

All components are fully typed. Key types:

import type {
  ButtonProps,
  TextProps,
  BoxProps,
  FormFieldProps,
  Responsive,
  FontColor,
  BackgroundColor,
} from '@umami/react-zen';

// Responsive type for props
type Responsive<T> = T | Partial<Record<'base'|'sm'|'md'|'lg'|'xl'|'2xl', T>>;

Best Practices

  1. Use semantic colors instead of raw Tailwind colors for theme consistency
  2. Use responsive props for mobile-first responsive design
  3. Use FormField wrapper for all form inputs to get labels, descriptions, and error handling
  4. Use Row/Column for simple layouts, Flexbox for complex ones
  5. Use composition - components are designed to work together
  6. Leverage render props when you need custom element rendering

Component Reference

| Category | Components | |----------|------------| | Layout | Box, Flexbox, Row, Column, Grid, Container, Navbar | | Buttons | Button, LoadingButton, CopyButton, ThemeButton | | Typography | Text, Heading, Label, Code, CodeBlock, Blockquote | | Forms | Form, FormField, FormFieldArray, FormSubmitButton, FormResetButton | | Inputs | TextField, PasswordField, SearchField, Checkbox, RadioGroup, Switch, Toggle | | Selection | Select, ComboBox, List, ListItem, ListSection, TagGroup | | Feedback | AlertBanner, Toast, Loading, Spinner, ProgressBar, StatusLight | | Overlays | Dialog, Modal, AlertDialog, ConfirmationDialog, Popover, Tooltip, Menu | | Data | Table, DataTable, DataCard, Breadcrumbs | | Media | Image, Icon | | Theme | ZenProvider, ThemeSwitcher, PaletteSwitcher |

Contract & API

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

Verifiedcapability-contract

Contract coverage

Status

ready

Auth

api_key

Streaming

No

Data region

global

Protocol support

OpenClaw: self-declared

Requires: openclew, lang:typescript

Forbidden: none

Guardrails

Operational confidence: medium

Contract is available with explicit auth and schema references.
Trust confidence is not low and verification freshness is acceptable.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/umami-software-react-zen/snapshot"
curl -s "https://xpersona.co/api/v1/agents/umami-software-react-zen/contract"
curl -s "https://xpersona.co/api/v1/agents/umami-software-react-zen/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

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_REPOSactivepieces

Rank

70

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

Traction

No public download signal

Freshness

Updated 2d ago

OPENCLAW
GITHUB_REPOScherry-studio

Rank

70

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

Traction

No public download signal

Freshness

Updated 5d ago

MCPOPENCLAW
GITHUB_REPOSAionUi

Rank

70

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!

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "ready",
  "authModes": [
    "api_key"
  ],
  "requires": [
    "openclew",
    "lang:typescript"
  ],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": "https://github.com/umami-software/react-zen#input",
  "outputSchemaRef": "https://github.com/umami-software/react-zen#output",
  "dataRegion": "global",
  "contractUpdatedAt": "2026-02-24T19:44:03.686Z",
  "sourceUpdatedAt": "2026-02-24T19:44:03.686Z",
  "freshnessSeconds": 4423098
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/umami-software-react-zen/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/umami-software-react-zen/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/umami-software-react-zen/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/umami-software-react-zen/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/umami-software-react-zen/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/umami-software-react-zen/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-04-17T00:22:22.000Z"
    }
  },
  "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": "responsive",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "custom",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:responsive|supported|profile capability:custom|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on 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
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/umami-software-react-zen/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/umami-software-react-zen/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:44:03.686Z",
    "isPublic": true
  },
  {
    "factKey": "auth_modes",
    "category": "compatibility",
    "label": "Auth modes",
    "value": "api_key",
    "href": "https://xpersona.co/api/v1/agents/umami-software-react-zen/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/umami-software-react-zen/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:44:03.686Z",
    "isPublic": true
  },
  {
    "factKey": "schema_refs",
    "category": "artifact",
    "label": "Machine-readable schemas",
    "value": "OpenAPI or schema references published",
    "href": "https://github.com/umami-software/react-zen#input",
    "sourceUrl": "https://xpersona.co/api/v1/agents/umami-software-react-zen/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:44:03.686Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Umami Software",
    "href": "https://github.com/umami-software/react-zen",
    "sourceUrl": "https://github.com/umami-software/react-zen",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:43:14.176Z",
    "isPublic": true
  },
  {
    "factKey": "traction",
    "category": "adoption",
    "label": "Adoption signal",
    "value": "42 GitHub stars",
    "href": "https://github.com/umami-software/react-zen",
    "sourceUrl": "https://github.com/umami-software/react-zen",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:43:14.176Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/umami-software-react-zen/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/umami-software-react-zen/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

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
  }
]

Sponsored

Ads related to react-zen and adjacent AI workflows.