Skip to content
Registry

kanban

v0.1.18

File-backed kanban board — tickets, threaded comments, agent assignment, the kanban:change and kanban:comment trigger types, and an injectable console board with agent profiles for planning and review.

license: Apache-2.0Used in 1 kitagentsboardconsole-uikanbantickets

Install

bash
iii trigger compose::add worker=kanban@0.1.18

Run in your project with the iii engine running. Exact versions are immutable and digest-pinned.

skill doc

react

how-to
skills/frontend/react.md

React

Docs https://react.dev/learn · reference https://react.dev/reference/react. Read the project's installed version's docs when the two disagree — the API surface has moved (React 19 in particular).

The mental model, in three sentences

  1. Render is pure and repeatable. Given the same props and state it produces the same JSX; it must not call functions, mutate things, or start network work.
  2. State is a snapshot per render. Setting it schedules a new render; the variable you just read is the old value for the rest of this one.
  3. Effects synchronize with external systems — sockets, DOM APIs, subscriptions, timers. They are not the place for derived data, event responses, or initialization.

Rules that catch most bugs

  • Hooks at the top level of a component or hook, unconditional. No hooks in loops, conditions, or after an early return.
  • Keys are identity. key={index} on a list that reorders or filters corrupts state. Use a stable id from the data.
  • StrictMode double-invokes render and remounts effects in dev. That is a feature: it exposes missing cleanup and non-idempotent effects. Fix the code; do not remove StrictMode.
  • Never mutate props or state. Copy, then set.
  • Do not lie about dependencies. A stale-closure bug is a missing dep or a non-memoized function. Fix the dependency, do not silence the lint rule.

State placement

  • Compute what you can; do not store it. If it is derivable from props or state, derive it during render. Mirroring creates a second source of truth that drifts.
  • Colocate, then lift. Keep state in the closest component that needs it; lift only when two siblings must agree, and lift to their closest common parent, not to the top of the app.
  • One state variable per concern. useReducer when several fields change together or the next value depends on the previous (setCount(c => c + 1) — batching means the object form is often wrong in a burst of events).
  • Reset state by changing key, not by an effect.
    is the correct "reset on entity change" and also resets every child.
  • Server data is not React state. Cache it (TanStack Query or equivalent); keeping a copy in useState guarantees stale UI and double-loading.
  • URL is state. Filters, tabs, pagination, and selection belong in search params so they survive reload, back/forward, and sharing.

Effects

useEffect(() => {
  const ac = new AbortController()
  let active = true
  void (async () => {
    const data = await fetchThing(id, { signal: ac.signal })
    if (active) setData(data)
  })()
  return () => { active = false; ac.abort() }
}, [id])
  • Every effect that starts something must clean it up. Timers, listeners, subscriptions, sockets, in-flight requests.
  • Guard against races (active flag, AbortController) whenever the dep can change mid-flight — otherwise a slow response overwrites a fast one.
  • useLayoutEffect only when you must read or write layout before paint (measuring, scroll restoration). It blocks paint; prefer useEffect.
  • Effects are the wrong tool for: responding to a click, deriving state, fetching as a general pattern when a data layer exists, or reacting to a prop you could compute from.

Refs, context, and escape hatches

  • Refs hold values that do not affect rendering (timers, DOM nodes, previous values). Do not read or write them during render — only in effects and handlers.
  • useImperativeHandle when a parent genuinely needs a handle on a child's behavior.
  • Context is for low-frequency values (theme, current user, the iii client). Split it: a context whose value object is rebuilt every render re-renders every consumer. Pair a reducer with a context and expose state and dispatch in two separate contexts.
  • useSyncExternalStore for subscribing to a store outside React (including the iii client's connection state) — it is the correct primitive, and hand-rolled subscription effects get it wrong under concurrent rendering.

Composition

  • children as a prop breaks prop-drilling without context.
  • Slots () beat boolean flags that switch internal branches into a second component.
  • Compound components (, , ) share state through context; the parent owns the invariant.
  • A component with 6+ boolean props is 2^6 configurations nobody tests. Split on the axis that actually varies.
  • Hoist state to the leaf that needs it, and keep lists virtualized when they exceed a few hundred rows.

Suspense, transitions, errors

  • + React.lazy for route-level code splitting; the fallback is a real UI state, not a spinner on a blank screen.
  • useTransition / startTransition for updates that may be expensive (tab switches, filtered lists) so typing stays responsive. useDeferredValue when a value is the slow part (a query fed to a heavy list).
  • Error boundaries are still the mechanism for render errors — a class component or react-error-boundary. An async rejection is not caught by a boundary unless you rethrow it in render or route it through the data layer.
  • use() (React 19) unwraps a promise or context in render, but only inside a Suspense boundary.

React 19 notes: refs are props (, no forwardRef), is itself usable as the provider, useActionState / useOptimistic / cover form pending and optimistic UI, and document metadata (</code>, <code class="readme-inline-code"><meta></code>) can render inline. Check the installed version before using any of these.</p> <h2 id="performance-measure-do-not-decorate" class="scroll-mt-20">Performance: measure, do not decorate</h2> <p>Order of leverage:</p> <ol> <li><strong>Do less work.</strong> Ship fewer/smaller deps, split routes, virtualize long lists, paginate.</li> <li><strong>Stop unnecessary re-renders</strong> — but only after profiling. React DevTools' Profiler shows which component re-rendered and why.</li> <li><strong>Then memoize.</strong> <code class="readme-inline-code">memo</code>, <code class="readme-inline-code">useMemo</code>, <code class="readme-inline-code">useCallback</code> cost memory and comparison time; they are net-negative on cheap components with stable inputs and net-positive on expensive subtrees fed by unstable objects.</li> <li><strong>Never memoize to fix a bug.</strong> A correct dependency array is the fix; <code class="readme-inline-code">useMemo</code> is only an optimization.</li> </ol> <ul> <li>Keep the tree shallow; a context value changing high up re-renders the world.</li> <li>Split a hot component so the state change lands low in the tree.</li> <li>Long lists: virtualize (TanStack Virtual, <code class="readme-inline-code">react-window</code>) — rendering 5000 rows is the cost, not the state.</li> <li>Avoid layout thrash: batch DOM reads and writes; never read <code class="readme-inline-code">getBoundingClientRect()</code> in the same frame as a write loop.</li> </ul> <h2 id="accessibility-is-part-of-the-component" class="scroll-mt-20">Accessibility is part of the component</h2> <p>Semantic elements before ARIA, a real <code class="readme-inline-code"><button></code> before a clickable <code class="readme-inline-code"><div></code>, labels bound to inputs, focus moved deliberately on route and dialog changes, and no interaction that only works with a mouse. It is far cheaper to build in than to retrofit.</p> <h2 id="anti-patterns-to-refuse" class="scroll-mt-20">Anti-patterns to refuse</h2> <ul> <li>Deriving state in an effect and storing it (<code class="readme-inline-code">useEffect(() => setX(a + b), [a, b])</code>).</li> <li>Syncing props to state with an effect.</li> <li>One giant context holding a mutable object.</li> <li>Fetching in an effect when a data layer exists.</li> <li><code class="readme-inline-code">useMemo</code> everywhere as a habit.</li> <li>Index keys on sortable/filterable lists.</li> <li>Suppressing the exhaustive-deps lint rule instead of fixing the dependency.</li> <li>Copying a library's internal markup instead of the library.</li> </ul> </div></div></section></div><aside class="flex min-w-0 flex-col gap-y-6 @4xl:col-start-2 @4xl:row-start-2 @4xl:self-start"><dl class="grid grid-cols-2 gap-x-6"><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2"><dt class="text-[13px] text-muted-foreground">Repository</dt><dd class="min-w-0 text-foreground"><a href="https://github.com/iii-hq/workers" target="_blank" rel="noreferrer" class="inline-flex max-w-full items-center gap-x-2 text-[14px] font-medium transition-colors duration-150 hover:text-brand"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.69922C6.762 2.69922 2.5 6.96122 2.5 12.1992C2.5 16.3252 5.24 20.0532 9.164 21.2662C9.324 21.3182 9.498 21.2822 9.627 21.1762C9.757 21.0702 9.825 20.9062 9.809 20.7392C9.669 19.3462 10.47 17.8702 10.812 17.5162C10.944 17.3812 10.988 17.1822 10.925 17.0042C10.862 16.8252 10.704 16.6962 10.516 16.6732C8.725 16.4452 7.067 15.8372 7.067 12.9472C7.063 12.2282 7.337 11.5412 7.836 11.0122C7.968 10.8732 8.009 10.6712 7.941 10.4922C7.75 9.98722 7.729 9.42222 7.877 8.90022C8.168 8.94822 8.731 9.11922 9.608 9.70522C9.728 9.78622 9.877 9.80722 10.015 9.77222C11.312 9.42422 12.682 9.42422 13.979 9.77222C14.116 9.80722 14.266 9.78622 14.386 9.70522C15.27 9.11422 15.835 8.94522 16.115 8.89622C16.264 9.42022 16.245 9.98622 16.054 10.4932C15.986 10.6732 16.027 10.8752 16.16 11.0132C16.654 11.5332 16.927 12.2172 16.927 12.9382C16.927 15.8772 15.273 16.4642 13.486 16.6612C13.296 16.6812 13.135 16.8092 13.071 16.9882C13.006 17.1682 13.049 17.3692 13.182 17.5062C13.512 17.8472 14.321 19.3622 14.185 20.7502C14.168 20.9172 14.236 21.0812 14.367 21.1862C14.457 21.2612 14.569 21.2992 14.682 21.2992C14.732 21.2992 14.783 21.2912 14.832 21.2752C18.82 20.0202 21.5 16.3732 21.5 12.1992C21.5 6.96122 17.238 2.69922 12 2.69922Z"></path></svg><span class="truncate">iii-hq/workers</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-3.5 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2"><dt class="text-[13px] text-muted-foreground">Weekly installs</dt><dd class="min-w-0 text-foreground"><span class="font-[550] tabular-nums text-[24px] tracking-[-0.03em]">75</span><div role="img" aria-label="Daily installs over the last 7 completed days: 25, 11, 4, 9, 16, 7, 3" class="relative min-w-0 mt-3"><svg viewBox="0 0 340 52" aria-hidden="true" class="block h-auto w-full overflow-visible text-foreground"><defs><linearGradient id="installs-_R_k9sav5ubspb_" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="currentColor" stop-opacity="0.16"></stop><stop offset="100%" stop-color="currentColor" stop-opacity="0"></stop></linearGradient><linearGradient id="installs-_R_k9sav5ubspb_-fade" x1="0" y1="0" x2="1" y2="0"><stop offset="0%" stop-color="white" stop-opacity="0"></stop><stop offset="25%" stop-color="white" stop-opacity="1"></stop></linearGradient><mask id="installs-_R_k9sav5ubspb_-mask"><rect width="340" height="52" fill="url(#installs-_R_k9sav5ubspb_-fade)"></rect></mask></defs><path d="M4.00,5.00 C22.44,13.91 40.89,25.05 59.33,31.73 C77.78,38.41 96.22,45.09 114.67,45.09 C133.11,45.09 151.56,39.36 170.00,35.55 C188.44,31.73 206.89,22.18 225.33,22.18 C243.78,22.18 262.22,35.23 280.67,39.36 C299.11,43.50 317.56,44.45 336.00,47.00 L336,52 L4,52 Z" fill="url(#installs-_R_k9sav5ubspb_)" mask="url(#installs-_R_k9sav5ubspb_-mask)" style="opacity:0;transition:opacity 500ms cubic-bezier(0.2, 0.8, 0.3, 1) 200ms"></path><line x1="0" x2="0" y1="0" y2="52" stroke="currentColor" stroke-width="1" stroke-dasharray="2 2" style="opacity:0;translate:336px 0;transition:opacity 150ms cubic-bezier(0.2, 0.8, 0.3, 1), translate 180ms cubic-bezier(0.2, 0.8, 0.3, 1)"></line><path d="M4.00,5.00 C22.44,13.91 40.89,25.05 59.33,31.73 C77.78,38.41 96.22,45.09 114.67,45.09 C133.11,45.09 151.56,39.36 170.00,35.55 C188.44,31.73 206.89,22.18 225.33,22.18 C243.78,22.18 262.22,35.23 280.67,39.36 C299.11,43.50 317.56,44.45 336.00,47.00" pathLength="1" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="1 1.1" style="stroke-dashoffset:1.05;transition:stroke-dashoffset 650ms cubic-bezier(0.2, 0.8, 0.3, 1)"></path><g style="translate:336px 47px;transition:translate 180ms cubic-bezier(0.2, 0.8, 0.3, 1)"><circle r="3.25" fill="var(--background)" stroke="currentColor" stroke-width="1.5" class="origin-center [transform-box:fill-box]" style="scale:0;transition:scale 250ms cubic-bezier(0.34, 1.56, 0.64, 1) 550ms"></circle></g></svg></div></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Version</dt><dd class="min-w-0 text-foreground"><span class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate">v<!-- -->0.1.18</span></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">License</dt><dd class="min-w-0 text-foreground"><span class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate">Apache-2.0</span></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Total installs</dt><dd class="min-w-0 text-foreground"><span class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums">247</span></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Type</dt><dd class="min-w-0 text-foreground"><span class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate">binary</span></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Functions</dt><dd class="min-w-0 text-foreground"><a class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand" href="/workers/kanban?version=0.1.18&tab=api">17</a></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Triggers</dt><dd class="min-w-0 text-foreground"><a class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand" href="/workers/kanban?version=0.1.18&tab=api">2</a></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Skills</dt><dd class="min-w-0 text-foreground"><a class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand" href="/workers/kanban?version=0.1.18&tab=skills">27</a></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Dependencies</dt><dd class="min-w-0 text-foreground"><a class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand" href="/workers/kanban?version=0.1.18&tab=deps">1</a></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3"><dt class="text-[13px] text-muted-foreground">Last publish</dt><dd class="min-w-0 text-foreground"><time dateTime="2026-10-08T17:26:11.747Z" title="2026-10-08T17:26:11.747Z" class="text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate">8d ago</time></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2"><dt class="text-[13px] text-muted-foreground">Platforms</dt><dd class="min-w-0 text-foreground"><ul aria-label="Supported platforms" class="flex flex-wrap items-center gap-2 mt-1"><li title="macOS: arm64, x64" class="inline-flex items-center rounded-md border border-line bg-background font-mono text-muted-foreground h-8 gap-x-2 px-2.5 text-[13px]"><img alt="" aria-hidden="true" loading="lazy" width="209" height="256" decoding="async" data-nimg="1" class="shrink-0 opacity-80 [filter:brightness(0)] dark:[filter:brightness(0)_invert(1)] h-3.5 w-auto" style="color:transparent" src="/icons/apple_dark.svg?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH"/><span class="sr-only">macOS<!-- -->: </span><span class="tabular-nums">arm64 · x64</span></li><li title="Linux: arm64, armv7, x64" class="inline-flex items-center rounded-md border border-line bg-background font-mono text-muted-foreground h-8 gap-x-2 px-2.5 text-[13px]"><img alt="" aria-hidden="true" loading="lazy" width="256" height="295" decoding="async" data-nimg="1" class="shrink-0 opacity-80 [filter:brightness(0)] dark:[filter:brightness(0)_invert(1)] h-3.5 w-auto" style="color:transparent" src="/icons/linux.svg?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH"/><span class="sr-only">Linux<!-- -->: </span><span class="tabular-nums">arm64 · armv7 · x64</span></li><li title="Windows: arm64, x64" class="inline-flex items-center rounded-md border border-line bg-background font-mono text-muted-foreground h-8 gap-x-2 px-2.5 text-[13px]"><img alt="" aria-hidden="true" loading="lazy" width="88" height="88" decoding="async" data-nimg="1" class="shrink-0 opacity-80 [filter:brightness(0)] dark:[filter:brightness(0)_invert(1)] h-3.5 w-auto" style="color:transparent" src="/icons/windows.svg?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH"/><span class="sr-only">Windows<!-- -->: </span><span class="tabular-nums">arm64 · x64</span></li></ul></dd></div><div class="flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2"><dt class="text-[13px] text-muted-foreground">Author</dt><dd class="min-w-0 text-foreground"><span class="inline-flex min-w-0 items-center gap-x-2"><img src="https://iii.dev/docs/_mintlify/favicons/motiadev/AFkVbz_UcSL_5jsm/_generated/favicon/apple-touch-icon.png" alt="" class="size-5 shrink-0 rounded-full border border-line object-cover"/><span class="truncate text-[13px] font-medium text-foreground">iii</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em" fill="currentColor" focusable="false" class="size-3.5 shrink-0 text-verified" aria-label="Verified author"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.5837 10.5577L11.5107 14.6327C11.3697 14.7737 11.1787 14.8527 10.9797 14.8527C10.7807 14.8527 10.5897 14.7737 10.4497 14.6327L8.47274 12.6527C8.18075 12.3587 8.18075 11.8837 8.47375 11.5907C8.76775 11.2987 9.24174 11.2997 9.53475 11.5917L10.9807 13.0407L14.5227 9.49667C14.8157 9.20367 15.2907 9.20367 15.5837 9.49667C15.8767 9.78967 15.8767 10.2647 15.5837 10.5577ZM20.7037 10.0857L20.0047 9.38667C19.6857 9.06667 19.5107 8.64067 19.5107 8.18967V7.18967C19.5107 5.70067 18.2987 4.48967 16.8107 4.48967H15.8087C15.3557 4.48967 14.9307 4.31467 14.6127 3.99667L13.9017 3.28667C12.8447 2.23867 11.1327 2.24367 10.0837 3.29767L9.38674 3.99667C9.06574 4.31567 8.64075 4.49067 8.18875 4.49067H7.18775C5.71675 4.49167 4.51675 5.67567 4.48975 7.14167C4.48874 7.15767 4.48775 7.17367 4.48775 7.19067V8.18767C4.48775 8.63967 4.31275 9.06467 3.99375 9.38367L3.28575 10.0927C3.28475 10.0957 3.28175 10.0967 3.27975 10.0987C2.23475 11.1567 2.24375 12.8687 3.29675 13.9117L3.99575 14.6127C4.31375 14.9317 4.48975 15.3557 4.48975 15.8077V16.8127C4.48975 18.3007 5.69975 19.5117 7.18775 19.5117H8.18675C8.63975 19.5127 9.06475 19.6877 9.38275 20.0047L10.0957 20.7157C10.6037 21.2207 11.2777 21.4987 11.9947 21.4987H12.0067C12.7277 21.4957 13.4037 21.2117 13.9097 20.7027L14.6107 20.0027C14.9257 19.6887 15.3617 19.5087 15.8067 19.5087H16.8127C18.2977 19.5087 19.5087 18.2997 19.5117 16.8127V15.8097C19.5117 15.3587 19.6867 14.9337 20.0037 14.6147L20.7147 13.9037C21.7647 12.8477 21.7587 11.1347 20.7037 10.0857Z"></path></svg></span></dd></div></dl><section id="used-in-kits" aria-labelledby="used-in-kits-title" class="overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20"><div class="flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4"><span id="used-in-kits-title" class="font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground">Used in <!-- -->1<!-- --> <!-- -->kit</span></div><ul class="flex flex-col p-2"><li><a class="group flex items-start gap-x-3 rounded-lg px-2 py-2 transition-colors duration-150 hover:bg-code focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand" href="/kits/iii/deepwork"><span class="grid size-8 shrink-0 place-items-center rounded-[9px] border border-line bg-background"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em" fill="currentColor" focusable="false" aria-hidden="true" class="shrink-0 text-foreground size-3.5"><g transform="translate(2 2)"><path d="M5.9199,11.4697 C7.3299,11.4697 8.4599,12.6107 8.4599,14.0307 L8.4599,14.0307 L8.4599,17.4397 C8.4599,18.8497 7.3299,19.9997 5.9199,19.9997 L5.9199,19.9997 L2.5399,19.9997 C1.1399,19.9997 -0.0001,18.8497 -0.0001,17.4397 L-0.0001,17.4397 L-0.0001,14.0307 C-0.0001,12.6107 1.1399,11.4697 2.5399,11.4697 L2.5399,11.4697 Z M17.46,11.4697 C18.86,11.4697 20,12.6107 20,14.0307 L20,14.0307 L20,17.4397 C20,18.8497 18.86,19.9997 17.46,19.9997 L17.46,19.9997 L14.08,19.9997 C12.67,19.9997 11.54,18.8497 11.54,17.4397 L11.54,17.4397 L11.54,14.0307 C11.54,12.6107 12.67,11.4697 14.08,11.4697 L14.08,11.4697 Z M5.9199,-9.32587341e-14 C7.3299,-9.32587341e-14 8.4599,1.15 8.4599,2.561 L8.4599,2.561 L8.4599,5.97 C8.4599,7.39 7.3299,8.53 5.9199,8.53 L5.9199,8.53 L2.5399,8.53 C1.1399,8.53 -0.0001,7.39 -0.0001,5.97 L-0.0001,5.97 L-0.0001,2.561 C-0.0001,1.15 1.1399,-9.32587341e-14 2.5399,-9.32587341e-14 L2.5399,-9.32587341e-14 Z M17.46,-9.32587341e-14 C18.86,-9.32587341e-14 20,1.15 20,2.561 L20,2.561 L20,5.97 C20,7.39 18.86,8.53 17.46,8.53 L17.46,8.53 L14.08,8.53 C12.67,8.53 11.54,7.39 11.54,5.97 L11.54,5.97 L11.54,2.561 C11.54,1.15 12.67,-9.32587341e-14 14.08,-9.32587341e-14 L14.08,-9.32587341e-14 Z"></path></g></svg></span><span class="min-w-0 flex flex-col gap-y-0.5"><span class="truncate text-[13px] font-medium text-foreground"><span class="text-muted-foreground">iii<!-- -->/</span>deepwork</span><span class="font-mono text-[13px] tabular-nums text-muted-foreground">v<!-- -->0.2.1<!-- --> · <!-- -->6<!-- --> <!-- -->profiles</span></span></a></li></ul></section><section class="shrink-0 overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20"><div class="flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4"><span class="font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground">skills</span></div><div class="flex flex-col p-0 gap-y-0 max-h-[min(60dvh,28rem)] overflow-y-auto"><div><section aria-labelledby="skills-tree-kanban"><div id="skills-tree-kanban" class="flex items-baseline justify-between px-4 pt-3 font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground"><span>files</span><span class="tabular-nums">27</span></div><nav aria-label="skill files" class="px-2 py-2"><ul class="flex flex-col gap-y-px"><li style="padding-left:0"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=SKILL.md&version=0.1.18">SKILL.md</a></li><li style="padding-left:0" class="min-w-0"><div class="truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none">agents<!-- -->/</div><ul class="flex flex-col gap-y-px mt-px"><li style="padding-left:10px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=agents%2Fade-worker-designer.md&version=0.1.18">ade-worker-designer.md</a></li><li style="padding-left:10px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=agents%2Fbackend-engineer.md&version=0.1.18">backend-engineer.md</a></li><li style="padding-left:10px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=agents%2Ffrontend-engineer.md&version=0.1.18">frontend-engineer.md</a></li><li style="padding-left:10px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=agents%2Fproduct-manager.md&version=0.1.18">product-manager.md</a></li><li style="padding-left:10px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=agents%2Ftech-lead.md&version=0.1.18">tech-lead.md</a></li></ul></li><li style="padding-left:0" class="min-w-0"><div class="truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none">skills<!-- -->/</div><ul class="flex flex-col gap-y-px mt-px"><li style="padding-left:10px" class="min-w-0"><div class="truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none">ade-worker-design<!-- -->/</div><ul class="flex flex-col gap-y-px mt-px"><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Fade-worker-design&version=0.1.18">index.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Fade-worker-design%2Fconsole-design.md&version=0.1.18">console-design.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Fade-worker-design%2Fconsole-injectable-ui.md&version=0.1.18">console-injectable-ui.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Fade-worker-design%2Fpatterns.md&version=0.1.18">patterns.md</a></li></ul></li><li style="padding-left:10px" class="min-w-0"><div class="truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none">frontend<!-- -->/</div><ul class="flex flex-col gap-y-px mt-px"><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend&version=0.1.18">index.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Ffrontend-testing.md&version=0.1.18">frontend-testing.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Fiii-browser-sdk.md&version=0.1.18">iii-browser-sdk.md</a></li><li style="padding-left:20px"><a aria-current="page" class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand bg-code text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Freact.md&version=0.1.18">react.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Ftanstack-query.md&version=0.1.18">tanstack-query.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Ftanstack-router.md&version=0.1.18">tanstack-router.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Fvite.md&version=0.1.18">vite.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Fweb-accessibility.md&version=0.1.18">web-accessibility.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ffrontend%2Fweb-performance.md&version=0.1.18">web-performance.md</a></li></ul></li><li style="padding-left:10px" class="min-w-0"><div class="truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none">iii-node<!-- -->/</div><ul class="flex flex-col gap-y-px mt-px"><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Fiii-node&version=0.1.18">index.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Fiii-node%2Fconfiguration.md&version=0.1.18">configuration.md</a></li></ul></li><li style="padding-left:10px" class="min-w-0"><div class="truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none">tickets<!-- -->/</div><ul class="flex flex-col gap-y-px mt-px"><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ftickets&version=0.1.18">index.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ftickets%2Facceptance-review.md&version=0.1.18">acceptance-review.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ftickets%2Ffeature-planning.md&version=0.1.18">feature-planning.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ftickets%2Fkanban-tickets.md&version=0.1.18">kanban-tickets.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ftickets%2Fticket-orchestration.md&version=0.1.18">ticket-orchestration.md</a></li><li style="padding-left:20px"><a class="block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground" href="/workers/kanban?tab=skills&skill=skills%2Ftickets%2Fticket-worker.md&version=0.1.18">ticket-worker.md</a></li></ul></li></ul></li></ul></nav></section></div></div></section></aside></div></div></div><!--$--><!--/$--></main></div></div><footer class="border-t border-line bg-background text-foreground"><div class="mx-auto max-w-[1280px] px-9 pt-16 max-sm:px-[22px] max-sm:pt-11"><div class="grid grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)] gap-20 max-[900px]:grid-cols-1 max-[900px]:gap-10"><div><a href="https://iii.dev" aria-label="iii home" class="inline-flex size-7 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><svg viewBox="0 0 1075.74 1075.74" aria-hidden="true" focusable="false" class="block shrink-0 size-full" fill="currentColor"><rect x="0" y="0.05" width="268.94" height="268.94"></rect><rect x="403.4" y="0.05" width="268.94" height="268.94"></rect><rect x="806.81" y="0.05" width="268.94" height="268.94"></rect><rect x="0" y="403.45" width="268.94" height="672.24"></rect><rect x="403.4" y="403.45" width="268.94" height="672.24"></rect><rect x="806.81" y="403.45" width="268.94" height="672.24"></rect></svg></a><p class="mt-[18px] max-w-[340px] text-[15px] leading-[1.65] text-muted-foreground">A next-generation software system.<br/>Workers. Triggers. Functions.</p><p class="mt-2 max-w-[340px] text-[13px] leading-[1.65] text-muted-foreground">Pronounced<!-- --> <span class="text-foreground">"three eye"</span></p></div><nav aria-label="Footer" class="grid grid-cols-3 gap-8 max-sm:grid-cols-2 max-sm:gap-x-4 max-sm:gap-y-6"><div><h3 class="mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase">Product</h3><ul class="list-none p-0"><li><a href="https://iii.dev/docs" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Docs</span></a></li><li><a href="https://iii.dev/docs/quickstart" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Quickstart</span></a></li><li><a href="/" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Worker registry</span></a></li><li><a href="https://iii.dev/roadmap" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Roadmap</span></a></li><li><a href="https://iii.dev/manifesto" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Manifesto</span></a></li><li><a href="https://iii.dev/blog" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Blog</span></a></li></ul></div><div><h3 class="mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase">Community</h3><ul class="list-none p-0"><li><a href="https://github.com/iii-hq/iii" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.69922C6.762 2.69922 2.5 6.96122 2.5 12.1992C2.5 16.3252 5.24 20.0532 9.164 21.2662C9.324 21.3182 9.498 21.2822 9.627 21.1762C9.757 21.0702 9.825 20.9062 9.809 20.7392C9.669 19.3462 10.47 17.8702 10.812 17.5162C10.944 17.3812 10.988 17.1822 10.925 17.0042C10.862 16.8252 10.704 16.6962 10.516 16.6732C8.725 16.4452 7.067 15.8372 7.067 12.9472C7.063 12.2282 7.337 11.5412 7.836 11.0122C7.968 10.8732 8.009 10.6712 7.941 10.4922C7.75 9.98722 7.729 9.42222 7.877 8.90022C8.168 8.94822 8.731 9.11922 9.608 9.70522C9.728 9.78622 9.877 9.80722 10.015 9.77222C11.312 9.42422 12.682 9.42422 13.979 9.77222C14.116 9.80722 14.266 9.78622 14.386 9.70522C15.27 9.11422 15.835 8.94522 16.115 8.89622C16.264 9.42022 16.245 9.98622 16.054 10.4932C15.986 10.6732 16.027 10.8752 16.16 11.0132C16.654 11.5332 16.927 12.2172 16.927 12.9382C16.927 15.8772 15.273 16.4642 13.486 16.6612C13.296 16.6812 13.135 16.8092 13.071 16.9882C13.006 17.1682 13.049 17.3692 13.182 17.5062C13.512 17.8472 14.321 19.3622 14.185 20.7502C14.168 20.9172 14.236 21.0812 14.367 21.1862C14.457 21.2612 14.569 21.2992 14.682 21.2992C14.732 21.2992 14.783 21.2912 14.832 21.2752C18.82 20.0202 21.5 16.3732 21.5 12.1992C21.5 6.96122 17.238 2.69922 12 2.69922Z"></path></svg><span>GitHub</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://discord.gg/iiidev" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.4919 12.798C10.4928 12.7793 10.4916 12.7606 10.489 12.7421C10.4613 12.5469 10.4514 12.347 10.3951 12.1599C10.1841 11.4539 9.74808 10.9469 9.00608 10.7969C8.29208 10.6539 7.71308 10.9269 7.28508 11.5059C6.70508 12.2879 6.76108 13.4529 7.40208 14.1859C8.09108 14.9729 9.21108 14.9939 9.92408 14.2269C10.2967 13.8258 10.4673 13.3434 10.4919 12.798ZM17.1383 12.7812C17.1389 12.7644 17.1379 12.7475 17.1357 12.7308C17.1132 12.5616 17.1039 12.3878 17.0601 12.2239C16.8721 11.5239 16.4651 11.0089 15.7441 10.8189C15.1071 10.6509 14.5481 10.8339 14.0951 11.3089C13.3501 12.0899 13.3461 13.4249 14.0781 14.2169C14.7981 14.9939 15.9331 14.9789 16.6201 14.1779C16.9636 13.7773 17.1191 13.306 17.1383 12.7812ZM17.0985 17.278C17.2735 17.1939 17.3406 16.9478 17.1827 16.8346C17.0669 16.7515 16.9741 16.7834 16.7571 16.8759C13.5891 18.2239 10.4191 18.2099 7.24908 16.8849C7.02096 16.7895 6.93273 16.7517 6.82128 16.8227C6.65302 16.93 6.71802 17.1898 6.89748 17.277C7.23862 17.4429 7.58015 17.609 7.93832 17.7829C8.09958 17.8613 8.15678 18.0626 8.06083 18.214C7.77618 18.6633 7.49507 19.108 7.20508 19.5459C7.17408 19.5919 7.04108 19.6069 6.97208 19.5859C5.25708 19.0449 3.67108 18.2459 2.22008 17.1829C2.14608 17.1289 2.08208 17.0159 2.07408 16.9239C1.74508 13.2929 2.51308 9.90588 4.35508 6.75988C5.05808 5.55888 5.05608 5.53788 6.55408 5.06188C7.34208 4.81188 8.15408 4.63988 8.95308 4.42288C9.12908 4.37588 9.21708 4.42788 9.28708 4.58688C9.37508 4.78388 9.50608 4.96388 9.57408 5.16688C9.65508 5.40888 9.77908 5.46588 10.0301 5.42988C11.4051 5.23188 12.7811 5.26188 14.1551 5.44288C14.2295 5.45351 14.3008 5.4087 14.3344 5.34142C14.4633 5.08312 14.5955 4.82606 14.7171 4.56288C14.7801 4.42488 14.8581 4.38688 15.0111 4.41588C16.3001 4.65988 17.5471 5.03488 18.7421 5.57688C18.8641 5.63288 18.9861 5.73388 19.0601 5.84488C20.4731 7.95488 21.4261 10.2489 21.8121 12.7659C22.0241 14.1449 22.0491 15.5309 21.9241 16.9189C21.9151 17.0179 21.8391 17.1399 21.7561 17.1989C20.3161 18.2439 18.7501 19.0439 17.0491 19.5739C16.9661 19.5999 16.8091 19.5849 16.7731 19.5309C16.4849 19.0998 16.2096 18.6599 15.9282 18.2116C15.8329 18.0598 15.8907 17.8587 16.0522 17.781C16.4087 17.6095 16.7514 17.4448 17.0985 17.278Z"></path></svg><span>Discord</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://x.com/iiidevs" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path transform="translate(1.5 1.5) scale(0.875)" d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"></path></svg><span>Twitter / X</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://www.linkedin.com/company/iii-dev" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.4 2.5h13.2a2.9 2.9 0 0 1 2.9 2.9v13.2a2.9 2.9 0 0 1-2.9 2.9H5.4a2.9 2.9 0 0 1-2.9-2.9V5.4a2.9 2.9 0 0 1 2.9-2.9Zm2.33 7.1H5.6v7.9h2.13V9.6ZM6.67 6.1a1.24 1.24 0 1 0 0 2.48 1.24 1.24 0 0 0 0-2.48Zm11.73 7.1c0-2.26-1.21-3.31-2.82-3.31-1.3 0-1.88.72-2.21 1.22V9.6H11.2c.03.6 0 7.9 0 7.9h2.17v-4.41c0-.24.02-.47.09-.64.19-.47.62-.96 1.35-.96.95 0 1.33.73 1.33 1.79v4.22h2.26V13.2Z"></path></svg><span>LinkedIn</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li></ul></div><div><h3 class="mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase">Ask about iii</h3><ul class="list-none p-0"><li><a href="https://chatgpt.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"></path></svg><span>ChatGPT</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://claude.ai/new?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"></path></svg><span>Claude</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://www.perplexity.ai/search?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="M22.3977 7.0896h-2.3106V.0676l-7.5094 6.3542V.1577h-1.1554v6.1966L4.4904 0v7.0896H1.6023v10.3976h2.8882V24l6.932-6.3591v6.2005h1.1554v-6.0469l6.9318 6.1807v-6.4879h2.8882V7.0896zm-3.4657-4.531v4.531h-5.355l5.355-4.531zm-13.2862.0676 4.8691 4.4634H5.6458V2.6262zM2.7576 16.332V8.245h7.8476l-6.1149 6.1147v1.9723H2.7576zm2.8882 5.0404v-3.8852h.0001v-2.6488l5.7763-5.7764v7.0111l-5.7764 5.2993zm7.0212-7.0212v-7.0111l5.7764 5.7764v2.6488h.0001v3.8852l-5.7765-5.2993zm8.9765 2.0444h-1.9727l-6.1149-6.1147h8.0876v6.1147z"></path></svg><span>Perplexity</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://grok.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"></path></svg><span>Grok</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li></ul></div></nav></div><div class="mt-13 border-t border-line py-[22px] text-[13px] text-muted-foreground max-sm:mt-9"><p class="flex items-center gap-2">© <!-- -->2026<!-- --> Motia LLC<!-- --> <span aria-hidden="true">·</span> <a href="https://iii.dev/privacy-policy" class="hover:text-foreground focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground">Privacy</a></p></div></div></footer><div data-slot="dialog-header" class="flex flex-col gap-2 sr-only"><h2 id="base-ui-_R_2v9b_" data-slot="dialog-title" class="font-heading text-base leading-none font-medium">Search the registry</h2><p id="base-ui-_R_4v9b_" data-slot="dialog-description" class="text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground">Find workers, kits and executables, or jump to a page.</p></div><script src="/_next/static/chunks/0i2y6ku2mpaxs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[90280,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"default\"]\n4:I[69616,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"default\"]\n6:I[51557,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[51557,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"ViewportBoundary\"]\nc:I[51557,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"MetadataBoundary\"]\ne:I[50609,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0w_agc1b2gf-n.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"default\"]\n:HL[\"/_next/static/chunks/00st_tlmqqbhb.css?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"style\"]\n:HL[\"/_next/static/chunks/14fuvofs58gld.css?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"workers\",\"kanban?skill=skills%2Ffrontend%2Freact.md\u0026tab=skills\u0026version=0.1.18\"],\"q\":\"?skill=skills%2Ffrontend%2Freact.md\u0026tab=skills\u0026version=0.1.18\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"workers\",{\"children\":[[\"slug\",\"kanban\",\"d\",null],{\"children\":[\"__PAGE__?{\\\"skill\\\":\\\"skills/frontend/react.md\\\",\\\"tab\\\":\\\"skills\\\",\\\"version\\\":\\\"0.1.18\\\"}\",{}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/00st_tlmqqbhb.css?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/14fuvofs58gld.css?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0p9.u7amu5_dy.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/00st_tlmqqbhb.css?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/14fuvofs58gld.css?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":false,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[77792,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"Providers\"]\n12:I[84148,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"SiteHeader\"]\n13:I[46610,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0p9.u7amu5_dy.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"\"]\n10:[\"$\",\"iframe\",null,{\"src\":\"https://www.googletagmanager.com/ns.html?id=GTM-N8DCTFB8\",\"height\":\"0\",\"width\":\"0\",\"style\":{\"display\":\"none\",\"visibility\":\"hidden\"},\"title\":\"Google Tag Manager\"}]\n"])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"antialiased inter_fe8b9d92-module__LINzvG__variable geist_mono_8d43a2aa-module__8Li5zG__variable\",\"data-theme\":\"light\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"bg-background text-foreground font-sans min-h-full flex flex-col\",\"children\":[[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n try {\\n var stored = localStorage.getItem('iii-theme');\\n if (stored === 'dark' || stored === 'light') {\\n document.documentElement.dataset.theme = stored;\\n } else {\\n document.documentElement.dataset.theme = 'light';\\n }\\n } catch (_) {\\n document.documentElement.dataset.theme = 'light';\\n }\\n\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\n j=d.createElement(s),dl=l!='dataLayer'?'\u0026l='+l:'';j.async=true;j.src=\\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n })(window,document,'script','dataLayer','GTM-N8DCTFB8');\\n\"}}]],[\"$\",\"noscript\",null,{\"children\":\"$10\"}],[\"$\",\"a\",null,{\"href\":\"#main-content\",\"className\":\"sr-only focus:not-sr-only focus:fixed focus:top-3 focus:left-3 focus:z-[60] focus:rounded-lg focus:bg-foreground focus:px-3 focus:py-2 focus:text-sm focus:font-medium focus:text-background\",\"children\":\"Skip to content\"}],[\"$\",\"$L11\",null,{\"children\":[[\"$\",\"$L12\",null,{\"stats\":{\"stars\":\"18,845\",\"members\":\"2.4k\",\"starsCount\":18845,\"membersCount\":2406}}],[\"$\",\"div\",null,{\"className\":\"mx-auto w-full max-w-7xl has-[.registry-home]:max-w-none @container flex-1 bg-bg flex flex-col\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex-1 overflow-x-clip flex flex-col\",\"children\":[\"$\",\"main\",null,{\"id\":\"main-content\",\"className\":\"flex-1\",\"tabIndex\":-1,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"page-transition flex flex-1 flex-col\",\"children\":[[\"$\",\"header\",null,{\"className\":\"flex items-end justify-between flex-wrap gap-x-8 gap-y-5 px-[22px] pt-12 sm:px-9 sm:pt-16 pb-0 sm:pb-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 font-mono text-[10px] leading-[normal] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":\"error / not found\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center flex-wrap gap-x-3 gap-y-2\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[32px] sm:text-[40px] font-[550] leading-[1.1] tracking-[-0.04em] text-foreground text-balance\",\"children\":[\"$\",\"span\",null,{\"className\":\"block text-[64px] leading-none tracking-[-0.05em] tabular-nums sm:text-[88px]\",\"children\":\"404\"}]}],\"$undefined\",null]}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-[60ch] text-[15px] leading-[1.7] text-muted-foreground text-pretty\",\"children\":\"This page isn’t in the registry. It may have been renamed, or never published.\"}]]}],null]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3 px-[22px] pt-8 pb-24 sm:px-9 sm:pb-32\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/\",\"className\":\"inline-flex items-center justify-center gap-x-2 whitespace-nowrap rounded-xl font-medium transition-[background-color,color,border-color,opacity,transform] duration-150 ease-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand disabled:pointer-events-none disabled:opacity-50 select-none active:scale-[0.96] motion-reduce:active:scale-100 [\u0026_svg]:size-3.5 [\u0026_svg]:shrink-0 bg-foreground text-background hover:opacity-[0.88] h-10 px-4 text-[14px]\",\"children\":\"Back to the registry\"}],[\"$\",\"$L13\",null,{\"href\":\"/search\",\"className\":\"inline-flex items-center justify-center gap-x-2 whitespace-nowrap rounded-xl font-medium transition-[background-color,color,border-color,opacity,transform] duration-150 ease-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand disabled:pointer-events-none disabled:opacity-50 select-none active:scale-[0.96] motion-reduce:active:scale-100 [\u0026_svg]:size-3.5 [\u0026_svg]:shrink-0 border border-line bg-background text-foreground hover:border-[color-mix(in_srgb,var(--foreground)_22%,var(--line))] hover:bg-paper h-10 px-4 text-[14px]\",\"children\":[\"$L14\",\"Search\"]}]]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}],\"$L15\"]}]]}]}]\n"])</script><script>self.__next_f.push([1,"16:I[41074,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0p9.u7amu5_dy.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"default\"]\n1c:I[18418,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"IconMark\"]\n14:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m21 21-4.34-4.34\",\"key\":\"14j7rj\"}],[\"circle\",{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\",\"key\":\"4ej97u\"}]],\"className\":\"lucide-search\",\"aria-hidden\":\"true\"}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"footer\",null,{\"className\":\"border-t border-line bg-background text-foreground\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1280px] px-9 pt-16 max-sm:px-[22px] max-sm:pt-11\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)] gap-20 max-[900px]:grid-cols-1 max-[900px]:gap-10\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"a\",null,{\"href\":\"https://iii.dev\",\"aria-label\":\"iii home\",\"className\":\"inline-flex size-7 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 1075.74 1075.74\",\"aria-hidden\":\"true\",\"focusable\":\"false\",\"className\":\"block shrink-0 size-full\",\"fill\":\"currentColor\",\"children\":[[[\"$\",\"rect\",\"0\",{\"x\":0,\"y\":\"0.05\",\"width\":\"268.94\",\"height\":\"268.94\"}],[\"$\",\"rect\",\"403.4\",{\"x\":403.4,\"y\":\"0.05\",\"width\":\"268.94\",\"height\":\"268.94\"}],[\"$\",\"rect\",\"806.81\",{\"x\":806.81,\"y\":\"0.05\",\"width\":\"268.94\",\"height\":\"268.94\"}]],[[\"$\",\"rect\",\"stem-0\",{\"x\":0,\"y\":\"403.45\",\"width\":\"268.94\",\"height\":\"672.24\"}],[\"$\",\"rect\",\"stem-403.4\",{\"x\":403.4,\"y\":\"403.45\",\"width\":\"268.94\",\"height\":\"672.24\"}],[\"$\",\"rect\",\"stem-806.81\",{\"x\":806.81,\"y\":\"403.45\",\"width\":\"268.94\",\"height\":\"672.24\"}]]]}]}],[\"$\",\"p\",null,{\"className\":\"mt-[18px] max-w-[340px] text-[15px] leading-[1.65] text-muted-foreground\",\"children\":[\"A next-generation software system.\",[\"$\",\"br\",null,{}],\"Workers. Triggers. Functions.\"]}],[\"$\",\"p\",null,{\"className\":\"mt-2 max-w-[340px] text-[13px] leading-[1.65] text-muted-foreground\",\"children\":[\"Pronounced\",\" \",[\"$\",\"span\",null,{\"className\":\"text-foreground\",\"children\":\"\\\"three eye\\\"\"}]]}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"Footer\",\"className\":\"grid grid-cols-3 gap-8 max-sm:grid-cols-2 max-sm:gap-x-4 max-sm:gap-y-6\",\"children\":[[\"$\",\"div\",\"Product\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase\",\"children\":\"Product\"}],[\"$\",\"ul\",null,{\"className\":\"list-none p-0\",\"children\":[[\"$\",\"li\",\"Docs\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/docs\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Docs\"}],null]}]}],[\"$\",\"li\",\"Quickstart\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/docs/quickstart\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Quickstart\"}],null]}]}],[\"$\",\"li\",\"Worker registry\",{\"children\":[\"$\",\"a\",null,{\"href\":\"/\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Worker registry\"}],null]}]}],[\"$\",\"li\",\"Roadmap\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/roadmap\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Roadmap\"}],null]}]}],[\"$\",\"li\",\"Manifesto\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/manifesto\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,\"$L17\",null]}]}],\"$L18\"]}]]}],\"$L19\",\"$L1a\"]}]]}],\"$L1b\"]}]}]\n"])</script><script>self.__next_f.push([1,"8:null\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"title\",\"0\",{\"children\":\"kanban - iii worker\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"File-backed kanban board — tickets, threaded comments, agent assignment, the kanban:change and kanban:comment trigger types, and an injectable console board with agent profiles for planning and review.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://workers.iii.dev/workers/kanban\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"kanban - iii worker\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"File-backed kanban board — tickets, threaded comments, agent assignment, the kanban:change and kanban:comment trigger types, and an injectable console board with agent profiles for planning and review.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://workers.iii.dev/workers/kanban\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image\",\"content\":\"https://workers.iii.dev/workers/kanban/opengraph-image?bced171a25d0f70f\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:alt\",\"content\":\"iii worker\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:title\",\"content\":\"kanban - iii worker\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:description\",\"content\":\"File-backed kanban board — tickets, threaded comments, agent assignment, the kanban:change and kanban:comment trigger types, and an injectable console board with agent profiles for planning and review.\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image\",\"content\":\"https://workers.iii.dev/workers/kanban/opengraph-image?bced171a25d0f70f\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image:alt\",\"content\":\"iii worker\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"20\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0n6vou73am7b3.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$L1c\",\"21\",{}]]\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"span\",null,{\"children\":\"Manifesto\"}]\n18:[\"$\",\"li\",\"Blog\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/blog\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Blog\"}],null]}]}]\n1d:T4c4,M12 2.69922C6.762 2.69922 2.5 6.96122 2.5 12.1992C2.5 16.3252 5.24 20.0532 9.164 21.2662C9.324 21.3182 9.498 21.2822 9.627 21.1762C9.757 21.0702 9.825 20.9062 9.809 20.7392C9.669 19.3462 10.47 17.8702 10.812 17.5162C10.944 17.3812 10.988 17.1822 10.925 17.0042C10.862 16.8252 10.704 16.6962 10.516 16.6732C8.725 16.4452 7.067 15.8372 7.067 12.9472C7.063 12.2282 7.337 11.5412 7.836 11.0122C7.968 10.8732 8.009 10.6712 7.941 10.4922C7.75 9.98722 7.729 9.42222 7.877 8.90022C8.168 8.94822 8.731 9.11922 9.608 9.70522C9.728 9.78622 9.877 9.80722 10.015 9.77222C11.312 9.42422 12.682 9.42422 13.979 9.77222C14.116 9.80722 14.266 9.78622 14.386 9.70522C15.27 9.11422 15.835 8.94522 16.115 8.89622C16.264 9.42022 16.245 9.98622 16.054 10.4932C15.986 10.6732 16.027 10.8752 16.16 11.0132C16.654 11.5332 16.927 12.2172 16.927 12.9382C16.927 15.8772 15.273 16.4642 13.486 16.6612C13.296 16.6812 13.135 16.8092 13.071 16.9882C13.006 17.1682 13.049 17.3692 13.182 17.5062C13.512 17.8472 14.321 19.3622 14.185 20.7502C14.168 20.9172 14.236 21.0812 14.367 21.1862C14.457 21.2612 14.569 21.2992 14.682 21.2992C14.732 21.2992 14.783 21.2912 14.832 21.2752C18.82 20.0202 21.5 16.3732 21.5 12.1992C21.5 6.96122 17.238 2.69922 12 2.69922Z1e:T894,"])</script><script>self.__next_f.push([1,"M10.4919 12.798C10.4928 12.7793 10.4916 12.7606 10.489 12.7421C10.4613 12.5469 10.4514 12.347 10.3951 12.1599C10.1841 11.4539 9.74808 10.9469 9.00608 10.7969C8.29208 10.6539 7.71308 10.9269 7.28508 11.5059C6.70508 12.2879 6.76108 13.4529 7.40208 14.1859C8.09108 14.9729 9.21108 14.9939 9.92408 14.2269C10.2967 13.8258 10.4673 13.3434 10.4919 12.798ZM17.1383 12.7812C17.1389 12.7644 17.1379 12.7475 17.1357 12.7308C17.1132 12.5616 17.1039 12.3878 17.0601 12.2239C16.8721 11.5239 16.4651 11.0089 15.7441 10.8189C15.1071 10.6509 14.5481 10.8339 14.0951 11.3089C13.3501 12.0899 13.3461 13.4249 14.0781 14.2169C14.7981 14.9939 15.9331 14.9789 16.6201 14.1779C16.9636 13.7773 17.1191 13.306 17.1383 12.7812ZM17.0985 17.278C17.2735 17.1939 17.3406 16.9478 17.1827 16.8346C17.0669 16.7515 16.9741 16.7834 16.7571 16.8759C13.5891 18.2239 10.4191 18.2099 7.24908 16.8849C7.02096 16.7895 6.93273 16.7517 6.82128 16.8227C6.65302 16.93 6.71802 17.1898 6.89748 17.277C7.23862 17.4429 7.58015 17.609 7.93832 17.7829C8.09958 17.8613 8.15678 18.0626 8.06083 18.214C7.77618 18.6633 7.49507 19.108 7.20508 19.5459C7.17408 19.5919 7.04108 19.6069 6.97208 19.5859C5.25708 19.0449 3.67108 18.2459 2.22008 17.1829C2.14608 17.1289 2.08208 17.0159 2.07408 16.9239C1.74508 13.2929 2.51308 9.90588 4.35508 6.75988C5.05808 5.55888 5.05608 5.53788 6.55408 5.06188C7.34208 4.81188 8.15408 4.63988 8.95308 4.42288C9.12908 4.37588 9.21708 4.42788 9.28708 4.58688C9.37508 4.78388 9.50608 4.96388 9.57408 5.16688C9.65508 5.40888 9.77908 5.46588 10.0301 5.42988C11.4051 5.23188 12.7811 5.26188 14.1551 5.44288C14.2295 5.45351 14.3008 5.4087 14.3344 5.34142C14.4633 5.08312 14.5955 4.82606 14.7171 4.56288C14.7801 4.42488 14.8581 4.38688 15.0111 4.41588C16.3001 4.65988 17.5471 5.03488 18.7421 5.57688C18.8641 5.63288 18.9861 5.73388 19.0601 5.84488C20.4731 7.95488 21.4261 10.2489 21.8121 12.7659C22.0241 14.1449 22.0491 15.5309 21.9241 16.9189C21.9151 17.0179 21.8391 17.1399 21.7561 17.1989C20.3161 18.2439 18.7501 19.0439 17.0491 19.5739C16.9661 19.5999 16.8091 19.5849 16.7731 19.5309C16.4849 19.0998 16.2096 18.6599 15.9282 18.2116C15.8329 18.0598 15.8907 17.8587 16.0522 17.781C16.4087 17.6095 16.7514 17.4448 17.0985 17.278Z"])</script><script>self.__next_f.push([1,"19:[\"$\",\"div\",\"Community\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase\",\"children\":\"Community\"}],[\"$\",\"ul\",null,{\"className\":\"list-none p-0\",\"children\":[[\"$\",\"li\",\"GitHub\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/iii-hq/iii\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"$1d\"}]}],[\"$\",\"span\",null,{\"children\":\"GitHub\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M7 7h10v10\",\"key\":\"1tivn9\"}],[\"path\",{\"d\":\"M7 17 17 7\",\"key\":\"1vkiza\"}]],\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}],[\"$\",\"li\",\"Discord\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://discord.gg/iiidev\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"$1e\"}]}],\"$L1f\",\"$L20\"]}]}],\"$L21\",\"$L22\"]}]]}]\n"])</script><script>self.__next_f.push([1,"23:T5b4,"])</script><script>self.__next_f.push([1,"M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"])</script><script>self.__next_f.push([1,"1a:[\"$\",\"div\",\"Ask about iii\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase\",\"children\":\"Ask about iii\"}],[\"$\",\"ul\",null,{\"className\":\"list-none p-0\",\"children\":[[\"$\",\"li\",\"ChatGPT\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://chatgpt.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"d\":\"$23\"}]}],[\"$\",\"span\",null,{\"children\":\"ChatGPT\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}],[\"$\",\"li\",\"Claude\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://claude.ai/new?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":\"$L24\"}],\"$L25\",\"$L26\"]}]}],\"$L27\",\"$L28\"]}]]}]\n"])</script><script>self.__next_f.push([1,"1b:[\"$\",\"div\",null,{\"className\":\"mt-13 border-t border-line py-[22px] text-[13px] text-muted-foreground max-sm:mt-9\",\"children\":[\"$\",\"p\",null,{\"className\":\"flex items-center gap-2\",\"children\":[\"© \",2026,\" Motia LLC\",\" \",[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"children\":\"·\"}],\" \",[\"$\",\"a\",null,{\"href\":\"https://iii.dev/privacy-policy\",\"className\":\"hover:text-foreground focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":\"Privacy\"}]]}]}]\n"])</script><script>self.__next_f.push([1,"1f:[\"$\",\"span\",null,{\"children\":\"Discord\"}]\n20:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]\n21:[\"$\",\"li\",\"Twitter / X\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://x.com/iiidevs\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"transform\":\"translate(1.5 1.5) scale(0.875)\",\"d\":\"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z\"}]}],[\"$\",\"span\",null,{\"children\":\"Twitter / X\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n22:[\"$\",\"li\",\"LinkedIn\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.linkedin.com/company/iii-dev\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.4 2.5h13.2a2.9 2.9 0 0 1 2.9 2.9v13.2a2.9 2.9 0 0 1-2.9 2.9H5.4a2.9 2.9 0 0 1-2.9-2.9V5.4a2.9 2.9 0 0 1 2.9-2.9Zm2.33 7.1H5.6v7.9h2.13V9.6ZM6.67 6.1a1.24 1.24 0 1 0 0 2.48 1.24 1.24 0 0 0 0-2.48Zm11.73 7.1c0-2.26-1.21-3.31-2.82-3.31-1.3 0-1.88.72-2.21 1.22V9.6H11.2c.03.6 0 7.9 0 7.9h2.17v-4.41c0-.24.02-.47.09-.64.19-.47.62-.96 1.35-.96.95 0 1.33.73 1.33 1.79v4.22h2.26V13.2Z\"}]}],[\"$\",\"span\",null,{\"children\":\"LinkedIn\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n29:T713,"])</script><script>self.__next_f.push([1,"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"])</script><script>self.__next_f.push([1,"24:[\"$\",\"path\",null,{\"d\":\"$29\"}]\n25:[\"$\",\"span\",null,{\"children\":\"Claude\"}]\n26:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]\n"])</script><script>self.__next_f.push([1,"27:[\"$\",\"li\",\"Perplexity\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.perplexity.ai/search?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"d\":\"M22.3977 7.0896h-2.3106V.0676l-7.5094 6.3542V.1577h-1.1554v6.1966L4.4904 0v7.0896H1.6023v10.3976h2.8882V24l6.932-6.3591v6.2005h1.1554v-6.0469l6.9318 6.1807v-6.4879h2.8882V7.0896zm-3.4657-4.531v4.531h-5.355l5.355-4.531zm-13.2862.0676 4.8691 4.4634H5.6458V2.6262zM2.7576 16.332V8.245h7.8476l-6.1149 6.1147v1.9723H2.7576zm2.8882 5.0404v-3.8852h.0001v-2.6488l5.7763-5.7764v7.0111l-5.7764 5.2993zm7.0212-7.0212v-7.0111l5.7764 5.7764v2.6488h.0001v3.8852l-5.7765-5.2993zm8.9765 2.0444h-1.9727l-6.1149-6.1147h8.0876v6.1147z\"}]}],[\"$\",\"span\",null,{\"children\":\"Perplexity\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n"])</script><script>self.__next_f.push([1,"28:[\"$\",\"li\",\"Grok\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://grok.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815\"}]}],[\"$\",\"span\",null,{\"children\":\"Grok\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"div\",null,{\"className\":\"page-transition\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"SoftwareApplication\\\",\\\"name\\\":\\\"kanban\\\",\\\"description\\\":\\\"File-backed kanban board — tickets, threaded comments, agent assignment, the kanban:change and kanban:comment trigger types, and an injectable console board with agent profiles for planning and review.\\\",\\\"applicationCategory\\\":\\\"DeveloperApplication\\\",\\\"softwareVersion\\\":\\\"0.1.18\\\",\\\"url\\\":\\\"https://workers.iii.dev/workers/kanban\\\",\\\"license\\\":\\\"Apache-2.0\\\",\\\"codeRepository\\\":\\\"https://github.com/iii-hq/workers\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"iii\\\"}}\"}}],[\"$\",\"header\",null,{\"className\":\"flex items-end justify-between flex-wrap gap-x-8 gap-y-5 px-[22px] pt-12 sm:px-9 sm:pt-16 pb-6 sm:pb-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 font-mono text-[10px] leading-[normal] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":[\"$\",\"nav\",null,{\"aria-label\":\"Breadcrumb\",\"className\":\"flex items-center gap-x-1.5\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/\",\"className\":\"transition-colors duration-150 hover:text-foreground\",\"children\":\"Registry\"}],[\"$\",\"span\",null,{\"aria-hidden\":true,\"children\":\"/\"}],[\"$\",\"$L13\",null,{\"href\":\"/workers\",\"className\":\"transition-colors duration-150 hover:text-foreground\",\"children\":\"Workers\"}]]}]}],[\"$\",\"div\",null,{\"className\":\"flex items-center flex-wrap gap-x-3 gap-y-2\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[32px] sm:text-[40px] font-[550] leading-[1.1] tracking-[-0.04em] text-foreground text-balance\",\"children\":\"kanban\"}],\"$undefined\",[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center gap-1.5 rounded-md bg-code px-2 font-mono text-[13px] tabular-nums text-muted-foreground\",\"children\":\"v0.1.18\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-[60ch] text-[15px] leading-[1.7] text-muted-foreground text-pretty\",\"children\":\"File-backed kanban board — tickets, threaded comments, agent assignment, the kanban:change and kanban:comment trigger types, and an injectable console board with agent profiles for planning and review.\"}]]}],null]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-5 px-[22px] pb-10 sm:px-9 sm:pb-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-x-2.5 gap-y-2 text-[13px] text-muted-foreground\",\"children\":[[\"$\",\"span\",\"0\",{\"className\":\"contents\",\"children\":[null,[\"$\",\"span\",\"license\",{\"className\":\"inline-block first-letter:uppercase\",\"children\":[\"license: \",\"Apache-2.0\"]}]]}],[\"$\",\"span\",\"1\",{\"className\":\"contents\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"text-[color-mix(in_srgb,var(--muted-foreground)_55%,transparent)] max-sm:hidden\",\"children\":\"·\"}],[\"$\",\"time\",\"published\",{\"dateTime\":\"2026-10-08T17:26:11.747Z\",\"title\":\"2026-10-08T17:26:11.747Z\",\"className\":\"tabular-nums\",\"children\":[\"Published \",\"8d ago\"]}]]}],[\"$\",\"span\",\"2\",{\"className\":\"contents\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"text-[color-mix(in_srgb,var(--muted-foreground)_55%,transparent)] max-sm:hidden\",\"children\":\"·\"}],[\"$\",\"a\",\"kits\",{\"href\":\"#used-in-kits\",\"className\":\"transition-colors duration-150 hover:text-foreground\",\"children\":[\"Used in\",\" \",[\"$\",\"strong\",null,{\"className\":\"font-medium tabular-nums text-foreground\",\"children\":1}],\" \",\"kit\"]}]]}],[\"$\",\"span\",\"3\",{\"className\":\"contents\",\"children\":[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"text-[color-mix(in_srgb,var(--muted-foreground)_55%,transparent)] max-sm:hidden\",\"children\":\"·\"}],[\"$\",\"span\",\"tags\",{\"className\":\"flex flex-wrap items-center gap-1.5\",\"children\":[[\"$\",\"$L13\",\"agents\",{\"href\":\"/search?tag=agents\",\"className\":\"rounded-md transition-opacity duration-150 hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground\",\"children\":\"agents\"}]}],\"$L2a\",\"$L2b\",\"$L2c\",\"$L2d\"]}]]}]]}],null,null,false,false]}],\"$L2e\"]}]\n"])</script><script>self.__next_f.push([1,"2f:I[21158,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0p9.u7amu5_dy.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"InstallPanel\"]\n30:I[84938,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0p9.u7amu5_dy.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"PageTabs\"]\n2a:[\"$\",\"$L13\",\"board\",{\"href\":\"/search?tag=board\",\"className\":\"rounded-md transition-opacity duration-150 hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground\",\"children\":\"board\"}]}]\n2b:[\"$\",\"$L13\",\"console-ui\",{\"href\":\"/search?tag=console-ui\",\"className\":\"rounded-md transition-opacity duration-150 hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground\",\"children\":\"console-ui\"}]}]\n2c:[\"$\",\"$L13\",\"kanban\",{\"href\":\"/search?tag=kanban\",\"className\":\"rounded-md transition-opacity duration-150 hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground\",\"children\":\"kanban\"}]}]\n2d:[\"$\",\"$L13\",\"tickets\",{\"href\":\"/search?tag=tickets\",\"className\":\"rounded-md transition-opacity duration-150 hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground\",\"children\":\"tickets\"}]}]\n32:T4c4,M12 2.69922C6.762 2.69922 2.5 6.96122 2.5 12.1992C2.5 16.3252 5.24 20.0532 9.164 21.2662C9.324 21.3182 9.498 21.2822 9.627 21.1762C9.757 21.0702 9.825 20.9062 9.809 20.7392C9.669 19.3462 10.47 17.8702 10.812 17.5162C10.944 17.3812 10.988 17.1822 10.925 17.0042C10.862 16.8252 10.704 16.6962 10.516 16.6732C8.725 16.4452 7.067 15.8372 7.067 12.9472C7.063 12.2282 7.337 11.5412 7.836 11.0122C7.968 10.8732 8.009 10.6712 7.941 10.4922C7.75 9.98722 7.729 9.42222 7.877 8.90022C8.168 8.94822 8.731 9.11922 9.608 9.70522C9.728 9.78622 9.877 9.80722 10.015 9.77222C11.312 9.42422 12.682 9.42422 13.979 9.77222C14.116 9.80722 14.266 9.78622 14.386 9.70522C15.27 9.11422 15.835 8.94522 16.115 8.89622C16.264 9.42022 16.245 9.98622 16.054 10.4932C15.986 10.6732 16.027 10.8752 16.16 11.0132C16.654 11.5332 16.927 12.2172 16.927 12.9382C16.927 15.8772 15.273 16.4642 13.486 16.6612C13.296 16.6812 13.135 16.8092 13.071 16.9882C13.006 17.1682 13.049 17.3692 13.182 17.5062C13.512 17.8472 14.321 19.3622 14.185 20.7502C14.168 20.9172 14.236 21.0812 14.367 21.1862C14.457 21.2612 14.569 21.2992 14.682 21.2992C14.732 21.2992 14.783 21.2912 14.832 21.2752C18.82 20.0202 21.5 16.3732 21.5 12.1992C21.5 6.96122 17.238 2.69922 12 2.69922Z"])</script><script>self.__next_f.push([1,"2e:[\"$\",\"div\",null,{\"className\":\"px-[22px] pb-16 sm:px-9\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 gap-x-12 gap-y-8 @4xl:grid-cols-[minmax(0,1fr)_360px] @4xl:grid-rows-[auto_1fr]\",\"children\":[[\"$\",\"section\",null,{\"aria-label\":\"Install\",\"className\":\"flex min-w-0 flex-col gap-y-3 @4xl:col-start-2 @4xl:row-start-1\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-[15px] font-[550] tracking-[-0.01em] text-foreground\",\"children\":\"Install\"}],[\"$\",\"$L2f\",null,{\"command\":\"iii trigger compose::add worker=kanban@0.1.18\",\"html\":\"\u003cpre class=\\\"shiki shiki-themes min-light vesper\\\" style=\\\"--shiki-light:#24292eff;--shiki-dark:#FFF;--shiki-light-bg:#ffffff;--shiki-dark-bg:#101010\\\" tabindex=\\\"0\\\"\u003e\u003ccode\u003e\u003cspan class=\\\"line\\\"\u003e\u003cspan style=\\\"--shiki-light:#6F42C1;--shiki-dark:#FFC799\\\"\u003eiii\u003c/span\u003e\u003cspan style=\\\"--shiki-light:#2B5581;--shiki-dark:#99FFE4\\\"\u003e trigger\u003c/span\u003e\u003cspan style=\\\"--shiki-light:#2B5581;--shiki-dark:#99FFE4\\\"\u003e compose::add\u003c/span\u003e\u003cspan style=\\\"--shiki-light:#2B5581;--shiki-dark:#99FFE4\\\"\u003e worker=kanban@0.1.18\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\",\"workerName\":\"kanban\",\"version\":\"0.1.18\",\"kind\":\"worker\"}],[\"$\",\"p\",null,{\"className\":\"text-[13px] leading-[1.6] text-pretty text-muted-foreground\",\"children\":\"Run in your project with the iii engine running. Exact versions are immutable and digest-pinned.\"}]]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex flex-col gap-y-8 @4xl:col-start-1 @4xl:row-span-2 @4xl:row-start-1\",\"children\":[[\"$\",\"$L30\",null,{\"slug\":\"kanban\",\"activeTab\":\"skills\",\"version\":\"0.1.18\",\"basePath\":\"/workers\",\"tabs\":\"$undefined\"}],false,false,\"$L31\",false,false,false,false]}],[\"$\",\"aside\",null,{\"className\":\"flex min-w-0 flex-col gap-y-6 @4xl:col-start-2 @4xl:row-start-2 @4xl:self-start\",\"children\":[[\"$\",\"dl\",null,{\"className\":\"grid grid-cols-2 gap-x-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Repository\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/iii-hq/workers\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex max-w-full items-center gap-x-2 text-[14px] font-medium transition-colors duration-150 hover:text-brand\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"$32\"}]}],\"$L33\",\"$L34\"]}]}]]}],\"$L35\",\"$L36\",\"$L37\",\"$L38\",\"$L39\",\"$L3a\",\"$L3b\",\"$L3c\",\"$L3d\",null,\"$L3e\",null,\"$L3f\"]}],\"$L40\",\"$L41\"]}]]}]}]\n"])</script><script>self.__next_f.push([1,"42:I[56877,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0p9.u7amu5_dy.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"InstallsChart\"]\n43:I[33516,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\",\"/_next/static/chunks/0p9.u7amu5_dy.js?dpl=dpl_4RkudaYRtJJf23oTLXgd4dgmDiSH\"],\"Image\"]\n:HL[\"https://iii.dev/docs/_mintlify/favicons/motiadev/AFkVbz_UcSL_5jsm/_generated/favicon/apple-touch-icon.png\",\"image\"]\n33:[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"iii-hq/workers\"}]\n34:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right size-3.5 shrink-0 text-muted-foreground\",\"aria-hidden\":true}]\n35:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Weekly installs\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-[550] tabular-nums text-[24px] tracking-[-0.03em]\",\"children\":\"75\"}],[\"$\",\"$L42\",null,{\"series\":[25,11,4,9,16,7,3],\"width\":340,\"height\":52,\"className\":\"mt-3\"}]]}]]}]\n36:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Version\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate\",\"children\":[\"v\",\"0.1.18\"]}]}]]}]\n37:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"License\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate\",\"children\":\"Apache-2.0\"}]}]]}]\n38:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Total installs\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums\",\"children\":\"247\"}]}]]}]\n39:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Type\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate\",\"children\":\"binary\"}]}]]}]\n3a:[[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Functions\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?version=0.1.18\u0026tab=api\",\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand\",\"children\":\"17\"}]}]]}],[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Triggers\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?version=0.1.1"])</script><script>self.__next_f.push([1,"8\u0026tab=api\",\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand\",\"children\":\"2\"}]}]]}]]\n3b:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Skills\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?version=0.1.18\u0026tab=skills\",\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand\",\"children\":\"27\"}]}]]}]\n3c:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Dependencies\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?version=0.1.18\u0026tab=deps\",\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums transition-colors duration-150 hover:text-brand\",\"children\":\"1\"}]}]]}]\n3d:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Last publish\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"time\",null,{\"dateTime\":\"2026-10-08T17:26:11.747Z\",\"title\":\"2026-10-08T17:26:11.747Z\",\"className\":\"text-[16px] font-[550] leading-tight tracking-[-0.02em] tabular-nums block truncate\",\"children\":\"8d ago\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"3e:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Platforms\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"ul\",null,{\"aria-label\":\"Supported platforms\",\"className\":\"flex flex-wrap items-center gap-2 mt-1\",\"children\":[[\"$\",\"li\",\"apple\",{\"title\":\"macOS: arm64, x64\",\"className\":\"inline-flex items-center rounded-md border border-line bg-background font-mono text-muted-foreground h-8 gap-x-2 px-2.5 text-[13px]\",\"children\":[[\"$\",\"$L43\",null,{\"src\":\"/icons/apple_dark.svg\",\"alt\":\"\",\"aria-hidden\":true,\"width\":209,\"height\":256,\"className\":\"shrink-0 opacity-80 [filter:brightness(0)] dark:[filter:brightness(0)_invert(1)] h-3.5 w-auto\"}],[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":[\"macOS\",\": \"]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"arm64 · x64\"}]]}],[\"$\",\"li\",\"linux\",{\"title\":\"Linux: arm64, armv7, x64\",\"className\":\"inline-flex items-center rounded-md border border-line bg-background font-mono text-muted-foreground h-8 gap-x-2 px-2.5 text-[13px]\",\"children\":[[\"$\",\"$L43\",null,{\"src\":\"/icons/linux.svg\",\"alt\":\"\",\"aria-hidden\":true,\"width\":256,\"height\":295,\"className\":\"shrink-0 opacity-80 [filter:brightness(0)] dark:[filter:brightness(0)_invert(1)] h-3.5 w-auto\"}],[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":[\"Linux\",\": \"]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"arm64 · armv7 · x64\"}]]}],[\"$\",\"li\",\"windows\",{\"title\":\"Windows: arm64, x64\",\"className\":\"inline-flex items-center rounded-md border border-line bg-background font-mono text-muted-foreground h-8 gap-x-2 px-2.5 text-[13px]\",\"children\":[[\"$\",\"$L43\",null,{\"src\":\"/icons/windows.svg\",\"alt\":\"\",\"aria-hidden\":true,\"width\":88,\"height\":88,\"className\":\"shrink-0 opacity-80 [filter:brightness(0)] dark:[filter:brightness(0)_invert(1)] h-3.5 w-auto\"}],[\"$\",\"span\",null,{\"className\":\"sr-only\",\"children\":[\"Windows\",\": \"]}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":\"arm64 · x64\"}]]}]]}]}]]}]\n"])</script><script>self.__next_f.push([1,"44:T5da,"])</script><script>self.__next_f.push([1,"M15.5837 10.5577L11.5107 14.6327C11.3697 14.7737 11.1787 14.8527 10.9797 14.8527C10.7807 14.8527 10.5897 14.7737 10.4497 14.6327L8.47274 12.6527C8.18075 12.3587 8.18075 11.8837 8.47375 11.5907C8.76775 11.2987 9.24174 11.2997 9.53475 11.5917L10.9807 13.0407L14.5227 9.49667C14.8157 9.20367 15.2907 9.20367 15.5837 9.49667C15.8767 9.78967 15.8767 10.2647 15.5837 10.5577ZM20.7037 10.0857L20.0047 9.38667C19.6857 9.06667 19.5107 8.64067 19.5107 8.18967V7.18967C19.5107 5.70067 18.2987 4.48967 16.8107 4.48967H15.8087C15.3557 4.48967 14.9307 4.31467 14.6127 3.99667L13.9017 3.28667C12.8447 2.23867 11.1327 2.24367 10.0837 3.29767L9.38674 3.99667C9.06574 4.31567 8.64075 4.49067 8.18875 4.49067H7.18775C5.71675 4.49167 4.51675 5.67567 4.48975 7.14167C4.48874 7.15767 4.48775 7.17367 4.48775 7.19067V8.18767C4.48775 8.63967 4.31275 9.06467 3.99375 9.38367L3.28575 10.0927C3.28475 10.0957 3.28175 10.0967 3.27975 10.0987C2.23475 11.1567 2.24375 12.8687 3.29675 13.9117L3.99575 14.6127C4.31375 14.9317 4.48975 15.3557 4.48975 15.8077V16.8127C4.48975 18.3007 5.69975 19.5117 7.18775 19.5117H8.18675C8.63975 19.5127 9.06475 19.6877 9.38275 20.0047L10.0957 20.7157C10.6037 21.2207 11.2777 21.4987 11.9947 21.4987H12.0067C12.7277 21.4957 13.4037 21.2117 13.9097 20.7027L14.6107 20.0027C14.9257 19.6887 15.3617 19.5087 15.8067 19.5087H16.8127C18.2977 19.5087 19.5087 18.2997 19.5117 16.8127V15.8097C19.5117 15.3587 19.6867 14.9337 20.0037 14.6147L20.7147 13.9037C21.7647 12.8477 21.7587 11.1347 20.7037 10.0857Z"])</script><script>self.__next_f.push([1,"3f:[\"$\",\"div\",null,{\"className\":\"flex min-w-0 flex-col gap-y-1 border-t border-line py-3 col-span-2\",\"children\":[[\"$\",\"dt\",null,{\"className\":\"text-[13px] text-muted-foreground\",\"children\":\"Author\"}],[\"$\",\"dd\",null,{\"className\":\"min-w-0 text-foreground\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex min-w-0 items-center gap-x-2\",\"children\":[[\"$\",\"img\",null,{\"src\":\"https://iii.dev/docs/_mintlify/favicons/motiadev/AFkVbz_UcSL_5jsm/_generated/favicon/apple-touch-icon.png\",\"alt\":\"\",\"className\":\"size-5 shrink-0 rounded-full border border-line object-cover\"}],[\"$\",\"span\",null,{\"className\":\"truncate text-[13px] font-medium text-foreground\",\"children\":\"iii\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"focusable\":\"false\",\"aria-hidden\":\"$undefined\",\"className\":\"size-3.5 shrink-0 text-verified\",\"aria-label\":\"Verified author\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"$44\"}]}]]}]}]]}]\n45:T4a7,M5.9199,11.4697 C7.3299,11.4697 8.4599,12.6107 8.4599,14.0307 L8.4599,14.0307 L8.4599,17.4397 C8.4599,18.8497 7.3299,19.9997 5.9199,19.9997 L5.9199,19.9997 L2.5399,19.9997 C1.1399,19.9997 -0.0001,18.8497 -0.0001,17.4397 L-0.0001,17.4397 L-0.0001,14.0307 C-0.0001,12.6107 1.1399,11.4697 2.5399,11.4697 L2.5399,11.4697 Z M17.46,11.4697 C18.86,11.4697 20,12.6107 20,14.0307 L20,14.0307 L20,17.4397 C20,18.8497 18.86,19.9997 17.46,19.9997 L17.46,19.9997 L14.08,19.9997 C12.67,19.9997 11.54,18.8497 11.54,17.4397 L11.54,17.4397 L11.54,14.0307 C11.54,12.6107 12.67,11.4697 14.08,11.4697 L14.08,11.4697 Z M5.9199,-9.32587341e-14 C7.3299,-9.32587341e-14 8.4599,1.15 8.4599,2.561 L8.4599,2.561 L8.4599,5.97 C8.4599,7.39 7.3299,8.53 5.9199,8.53 L5.9199,8.53 L2.5399,8.53 C1.1399,8.53 -0.0001,7.39 -0.0001,5.97 L-0.0001,5.97 L-0.0001,2.561 C-0.0001,1.15 1.1399,-9.32587341e-14 2.5399,-9.32587341e-14 L2.5399,-9.32587341e-14 Z M17.46,-9.32587341e-14 C18.86,-9.32587341e-14 20,1.15 20,2.561 L20,2.561 L20,5.97 C20,7.39 18.86,8.53 17.46,8.53 L17.46,8.53 L14.08,8.53 C12.67,8.53 11.54,7.39 11.54,5.97 L11.54,5.97 L11.54,2.561 C11.54,1.15 12.67,-9.32587341e-14 14.08,-9.32587341e-14 L14.08,-9.32587341e-14 Z"])</script><script>self.__next_f.push([1,"40:[\"$\",\"section\",null,{\"id\":\"used-in-kits\",\"aria-labelledby\":\"used-in-kits-title\",\"className\":\"overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4\",\"children\":[\"$\",\"span\",null,{\"id\":\"used-in-kits-title\",\"className\":\"font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":[\"Used in \",1,\" \",\"kit\"]}]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col p-2\",\"children\":[[\"$\",\"li\",\"iii/deepwork\",{\"children\":[\"$\",\"$L13\",null,{\"href\":\"/kits/iii/deepwork\",\"className\":\"group flex items-start gap-x-3 rounded-lg px-2 py-2 transition-colors duration-150 hover:bg-code focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand\",\"children\":[[\"$\",\"span\",null,{\"className\":\"grid size-8 shrink-0 place-items-center rounded-[9px] border border-line bg-background\",\"children\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"focusable\":\"false\",\"aria-hidden\":\"true\",\"className\":\"shrink-0 text-foreground size-3.5\",\"children\":[\"$\",\"g\",null,{\"transform\":\"translate(2 2)\",\"children\":[\"$\",\"path\",null,{\"d\":\"$45\"}]}]}]}],[\"$\",\"span\",null,{\"className\":\"min-w-0 flex flex-col gap-y-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate text-[13px] font-medium text-foreground\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":[\"iii\",\"/\"]}],\"deepwork\"]}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[13px] tabular-nums text-muted-foreground\",\"children\":[\"v\",\"0.2.1\",\" · \",6,\" \",\"profiles\"]}]]}]]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"41:[\"$\",\"section\",null,{\"id\":\"$undefined\",\"className\":\"shrink-0 overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":\"skills\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col p-0 gap-y-0 max-h-[min(60dvh,28rem)] overflow-y-auto\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"section\",null,{\"aria-labelledby\":\"skills-tree-kanban\",\"children\":[[\"$\",\"div\",null,{\"id\":\"skills-tree-kanban\",\"className\":\"flex items-baseline justify-between px-4 pt-3 font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":[[\"$\",\"span\",null,{\"children\":\"files\"}],[\"$\",\"span\",null,{\"className\":\"tabular-nums\",\"children\":27}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"skill files\",\"className\":\"px-2 py-2\",\"children\":[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-px\",\"children\":[[\"$\",\"li\",\"SKILL.md\",{\"style\":{\"paddingLeft\":0},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=SKILL.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"SKILL.md\"}]}],[\"$\",\"li\",\"agents\",{\"style\":{\"paddingLeft\":0},\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none\",\"children\":[\"agents\",\"/\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-px mt-px\",\"children\":[[\"$\",\"li\",\"agents/ade-worker-designer.md\",{\"style\":{\"paddingLeft\":10},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=agents%2Fade-worker-designer.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"ade-worker-designer.md\"}]}],[\"$\",\"li\",\"agents/backend-engineer.md\",{\"style\":{\"paddingLeft\":10},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=agents%2Fbackend-engineer.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"backend-engineer.md\"}]}],[\"$\",\"li\",\"agents/frontend-engineer.md\",{\"style\":{\"paddingLeft\":10},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=agents%2Ffrontend-engineer.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"frontend-engineer.md\"}]}],[\"$\",\"li\",\"agents/product-manager.md\",{\"style\":{\"paddingLeft\":10},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=agents%2Fproduct-manager.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"product-manager.md\"}]}],[\"$\",\"li\",\"agents/tech-lead.md\",{\"style\":{\"paddingLeft\":10},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=agents%2Ftech-lead.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"tech-lead.md\"}]}]]}]]}],\"$L46\"]}]}]]}],null]}]}]]}]\n"])</script><script>self.__next_f.push([1,"31:[\"$\",\"section\",null,{\"children\":[[\"$\",\"h2\",null,{\"className\":\"sr-only\",\"children\":\"skill doc\"}],\"$L47\"]}]\n"])</script><script>self.__next_f.push([1,"46:[\"$\",\"li\",\"skills\",{\"style\":{\"paddingLeft\":0},\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none\",\"children\":[\"skills\",\"/\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-px mt-px\",\"children\":[[\"$\",\"li\",\"ade-worker-design\",{\"style\":{\"paddingLeft\":10},\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none\",\"children\":[\"ade-worker-design\",\"/\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-px mt-px\",\"children\":[[\"$\",\"li\",\"skills/ade-worker-design\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Fade-worker-design\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"index.md\"}]}],[\"$\",\"li\",\"skills/ade-worker-design/console-design.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Fade-worker-design%2Fconsole-design.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"console-design.md\"}]}],[\"$\",\"li\",\"skills/ade-worker-design/console-injectable-ui.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Fade-worker-design%2Fconsole-injectable-ui.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"console-injectable-ui.md\"}]}],[\"$\",\"li\",\"skills/ade-worker-design/patterns.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Fade-worker-design%2Fpatterns.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"patterns.md\"}]}]]}]]}],[\"$\",\"li\",\"frontend\",{\"style\":{\"paddingLeft\":10},\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none\",\"children\":[\"frontend\",\"/\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-px mt-px\",\"children\":[[\"$\",\"li\",\"skills/frontend\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"index.md\"}]}],[\"$\",\"li\",\"skills/frontend/frontend-testing.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Ffrontend-testing.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"frontend-testing.md\"}]}],\"$L48\",\"$L49\",\"$L4a\",\"$L4b\",\"$L4c\",\"$L4d\",\"$L4e\"]}]]}],\"$L4f\",\"$L50\"]}]]}]\n"])</script><script>self.__next_f.push([1,"51:T29e1,"])</script><script>self.__next_f.push([1,"\u003ch1 id=\"react\" class=\"scroll-mt-20\"\u003eReact\u003c/h1\u003e\n\u003cp\u003eDocs \u003ca href=\"https://react.dev/learn\"\u003ehttps://react.dev/learn\u003c/a\u003e · reference \u003ca href=\"https://react.dev/reference/react\"\u003ehttps://react.dev/reference/react\u003c/a\u003e. Read the\nproject\u0026#39;s installed version\u0026#39;s docs when the two disagree — the API surface has moved\n(React 19 in particular).\u003c/p\u003e\n\u003ch2 id=\"the-mental-model-in-three-sentences\" class=\"scroll-mt-20\"\u003eThe mental model, in three sentences\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eRender is pure and repeatable.\u003c/strong\u003e Given the same props and state it produces the same JSX;\nit must not call functions, mutate things, or start network work.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eState is a snapshot per render.\u003c/strong\u003e Setting it schedules a new render; the variable you\njust read is the \u003cem\u003eold\u003c/em\u003e value for the rest of this one.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEffects synchronize with external systems\u003c/strong\u003e — sockets, DOM APIs, subscriptions, timers.\nThey are not the place for derived data, event responses, or initialization.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"rules-that-catch-most-bugs\" class=\"scroll-mt-20\"\u003eRules that catch most bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eHooks at the top level of a component or hook, unconditional. No hooks in loops, conditions,\nor after an early \u003ccode class=\"readme-inline-code\"\u003ereturn\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eKeys are identity.\u003c/strong\u003e \u003ccode class=\"readme-inline-code\"\u003ekey={index}\u003c/code\u003e on a list that reorders or filters corrupts state.\nUse a stable id from the data.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStrictMode double-invokes render and remounts effects in dev.\u003c/strong\u003e That is a feature: it\nexposes missing cleanup and non-idempotent effects. Fix the code; do not remove StrictMode.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNever mutate props or state.\u003c/strong\u003e Copy, then set.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDo not lie about dependencies.\u003c/strong\u003e A stale-closure bug is a missing dep or a non-memoized\nfunction. Fix the dependency, do not silence the lint rule.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"state-placement\" class=\"scroll-mt-20\"\u003eState placement\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eCompute what you can; do not store it.\u003c/strong\u003e If it is derivable from props or state, derive it\nduring render. Mirroring creates a second source of truth that drifts.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eColocate, then lift.\u003c/strong\u003e Keep state in the closest component that needs it; lift only when\ntwo siblings must agree, and lift to their \u003cstrong\u003eclosest common parent\u003c/strong\u003e, not to the top of\nthe app.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOne state variable per concern.\u003c/strong\u003e \u003ccode class=\"readme-inline-code\"\u003euseReducer\u003c/code\u003e when several fields change together or the\nnext value depends on the previous (\u003ccode class=\"readme-inline-code\"\u003esetCount(c =\u003e c + 1)\u003c/code\u003e — batching means the object form\nis often wrong in a burst of events).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReset state by changing \u003ccode class=\"readme-inline-code\"\u003ekey\u003c/code\u003e, not by an effect.\u003c/strong\u003e \u003ccode class=\"readme-inline-code\"\u003e\u003cForm key={userId} /\u003e\u003c/code\u003e is the correct\n\u0026quot;reset on entity change\u0026quot; and also resets every child.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eServer data is not React state.\u003c/strong\u003e Cache it (TanStack Query or equivalent); keeping a copy\nin \u003ccode class=\"readme-inline-code\"\u003euseState\u003c/code\u003e guarantees stale UI and double-loading.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eURL is state.\u003c/strong\u003e Filters, tabs, pagination, and selection belong in search params so they\nsurvive reload, back/forward, and sharing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"effects\" class=\"scroll-mt-20\"\u003eEffects\u003c/h2\u003e\n\u003cpre\u003e\u003ccode\u003euseEffect(() =\u0026gt; {\n const ac = new AbortController()\n let active = true\n void (async () =\u0026gt; {\n const data = await fetchThing(id, { signal: ac.signal })\n if (active) setData(data)\n })()\n return () =\u0026gt; { active = false; ac.abort() }\n}, [id])\u003c/code\u003e\u003c/pre\u003e\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eEvery effect that starts something must clean it up.\u003c/strong\u003e Timers, listeners, subscriptions,\nsockets, in-flight requests.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGuard against races\u003c/strong\u003e (\u003ccode class=\"readme-inline-code\"\u003eactive\u003c/code\u003e flag, \u003ccode class=\"readme-inline-code\"\u003eAbortController\u003c/code\u003e) whenever the dep can change\nmid-flight — otherwise a slow response overwrites a fast one.\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003euseLayoutEffect\u003c/code\u003e only when you must read or write layout before paint (measuring, scroll\nrestoration). It blocks paint; prefer \u003ccode class=\"readme-inline-code\"\u003euseEffect\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eEffects are the wrong tool for:\u003c/strong\u003e responding to a click, deriving state, fetching as a\ngeneral pattern when a data layer exists, or reacting to a prop you could compute from.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"refs-context-and-escape-hatches\" class=\"scroll-mt-20\"\u003eRefs, context, and escape hatches\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefs hold values that do not affect rendering (timers, DOM nodes, previous values). Do not\nread or write them during render — only in effects and handlers.\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003euseImperativeHandle\u003c/code\u003e when a parent genuinely needs a handle on a child\u0026#39;s behavior.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eContext is for low-frequency values\u003c/strong\u003e (theme, current user, the iii client). Split it: a\ncontext whose value object is rebuilt every render re-renders every consumer. Pair a reducer\nwith a context and expose \u003ccode class=\"readme-inline-code\"\u003estate\u003c/code\u003e and \u003ccode class=\"readme-inline-code\"\u003edispatch\u003c/code\u003e in two separate contexts.\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003euseSyncExternalStore\u003c/code\u003e for subscribing to a store outside React (including the iii client\u0026#39;s\nconnection state) — it is the correct primitive, and hand-rolled subscription effects get it\nwrong under concurrent rendering.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"composition\" class=\"scroll-mt-20\"\u003eComposition\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode class=\"readme-inline-code\"\u003echildren\u003c/code\u003e as a prop\u003c/strong\u003e breaks prop-drilling without context.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSlots\u003c/strong\u003e (\u003ccode class=\"readme-inline-code\"\u003e\u003cCard header={...} footer={...} /\u003e\u003c/code\u003e) beat boolean flags that switch internal\nbranches into a second component.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCompound components\u003c/strong\u003e (\u003ccode class=\"readme-inline-code\"\u003e\u003cTabs\u003e\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003e\u003cTabs.List\u003e\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003e\u003cTabs.Panel\u003e\u003c/code\u003e) share state through\ncontext; the parent owns the invariant.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eA component with 6+ boolean props is 2^6 configurations nobody tests.\u003c/strong\u003e Split on the axis\nthat actually varies.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHoist state to the leaf that needs it\u003c/strong\u003e, and keep lists virtualized when they exceed a few\nhundred rows.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"suspense-transitions-errors\" class=\"scroll-mt-20\"\u003eSuspense, transitions, errors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003e\u003cSuspense fallback\u003e\u003c/code\u003e + \u003ccode class=\"readme-inline-code\"\u003eReact.lazy\u003c/code\u003e for route-level code splitting; the fallback is a real\nUI state, not a spinner on a blank screen.\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003euseTransition\u003c/code\u003e / \u003ccode class=\"readme-inline-code\"\u003estartTransition\u003c/code\u003e for updates that may be expensive (tab switches,\nfiltered lists) so typing stays responsive. \u003ccode class=\"readme-inline-code\"\u003euseDeferredValue\u003c/code\u003e when a \u003cem\u003evalue\u003c/em\u003e is the slow\npart (a query fed to a heavy list).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eError boundaries are still the mechanism\u003c/strong\u003e for render errors — a class component or\n\u003ccode class=\"readme-inline-code\"\u003ereact-error-boundary\u003c/code\u003e. An async rejection is not caught by a boundary unless you rethrow it\nin render or route it through the data layer.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode class=\"readme-inline-code\"\u003euse()\u003c/code\u003e\u003c/strong\u003e (React 19) unwraps a promise or context in render, but only inside a Suspense\nboundary.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eReact 19 notes: refs are props (\u003ccode class=\"readme-inline-code\"\u003e\u003cinput ref={r} /\u003e\u003c/code\u003e, no \u003ccode class=\"readme-inline-code\"\u003eforwardRef\u003c/code\u003e), \u003ccode class=\"readme-inline-code\"\u003e\u003cContext\u003e\u003c/code\u003e is itself\nusable as the provider, \u003ccode class=\"readme-inline-code\"\u003euseActionState\u003c/code\u003e / \u003ccode class=\"readme-inline-code\"\u003euseOptimistic\u003c/code\u003e / \u003ccode class=\"readme-inline-code\"\u003e\u003cform action\u003e\u003c/code\u003e cover form\npending and optimistic UI, and document metadata (\u003ccode class=\"readme-inline-code\"\u003e\u003ctitle\u003e\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003e\u003cmeta\u003e\u003c/code\u003e) can render inline.\nCheck the installed version before using any of these.\u003c/p\u003e\n\u003ch2 id=\"performance-measure-do-not-decorate\" class=\"scroll-mt-20\"\u003ePerformance: measure, do not decorate\u003c/h2\u003e\n\u003cp\u003eOrder of leverage:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eDo less work.\u003c/strong\u003e Ship fewer/smaller deps, split routes, virtualize long lists, paginate.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStop unnecessary re-renders\u003c/strong\u003e — but only after profiling. React DevTools\u0026#39; Profiler shows\nwhich component re-rendered and why.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eThen memoize.\u003c/strong\u003e \u003ccode class=\"readme-inline-code\"\u003ememo\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003euseMemo\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003euseCallback\u003c/code\u003e cost memory and comparison time; they are\nnet-negative on cheap components with stable inputs and net-positive on expensive subtrees\nfed by unstable objects.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNever memoize to fix a bug.\u003c/strong\u003e A correct dependency array is the fix; \u003ccode class=\"readme-inline-code\"\u003euseMemo\u003c/code\u003e is only an\noptimization.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cul\u003e\n\u003cli\u003eKeep the tree shallow; a context value changing high up re-renders the world.\u003c/li\u003e\n\u003cli\u003eSplit a hot component so the state change lands low in the tree.\u003c/li\u003e\n\u003cli\u003eLong lists: virtualize (TanStack Virtual, \u003ccode class=\"readme-inline-code\"\u003ereact-window\u003c/code\u003e) — rendering 5000 rows is the cost,\nnot the state.\u003c/li\u003e\n\u003cli\u003eAvoid layout thrash: batch DOM reads and writes; never read \u003ccode class=\"readme-inline-code\"\u003egetBoundingClientRect()\u003c/code\u003e in the\nsame frame as a write loop.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"accessibility-is-part-of-the-component\" class=\"scroll-mt-20\"\u003eAccessibility is part of the component\u003c/h2\u003e\n\u003cp\u003eSemantic elements before ARIA, a real \u003ccode class=\"readme-inline-code\"\u003e\u003cbutton\u003e\u003c/code\u003e before a clickable \u003ccode class=\"readme-inline-code\"\u003e\u003cdiv\u003e\u003c/code\u003e, labels bound to\ninputs, focus moved deliberately on route and dialog changes, and no interaction that only\nworks with a mouse. It is far cheaper to build in than to retrofit.\u003c/p\u003e\n\u003ch2 id=\"anti-patterns-to-refuse\" class=\"scroll-mt-20\"\u003eAnti-patterns to refuse\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeriving state in an effect and storing it (\u003ccode class=\"readme-inline-code\"\u003euseEffect(() =\u003e setX(a + b), [a, b])\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eSyncing props to state with an effect.\u003c/li\u003e\n\u003cli\u003eOne giant context holding a mutable object.\u003c/li\u003e\n\u003cli\u003eFetching in an effect when a data layer exists.\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003euseMemo\u003c/code\u003e everywhere as a habit.\u003c/li\u003e\n\u003cli\u003eIndex keys on sortable/filterable lists.\u003c/li\u003e\n\u003cli\u003eSuppressing the exhaustive-deps lint rule instead of fixing the dependency.\u003c/li\u003e\n\u003cli\u003eCopying a library\u0026#39;s internal markup instead of the library.\u003c/li\u003e\n\u003c/ul\u003e\n"])</script><script>self.__next_f.push([1,"47:[\"$\",\"div\",null,{\"className\":\"overflow-hidden rounded-xl border border-line bg-background\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-panel flex flex-col gap-y-1 border-b border-line px-5 py-3.5 sm:px-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-w-0 items-center gap-x-2.5\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"min-w-0 truncate text-[15px] font-[550] leading-[1.4] tracking-[-0.02em] text-foreground\",\"children\":\"react\"}],[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground\",\"children\":\"how-to\"}],null]}],[\"$\",\"div\",null,{\"className\":\"truncate font-mono text-[13px] text-muted-foreground\",\"children\":\"skills/frontend/react.md\"}]]}],[\"$\",\"div\",null,{\"className\":\"readme-prose px-5 py-6 sm:px-8 sm:py-7\",\"dangerouslySetInnerHTML\":{\"__html\":\"$51\"}}]]}]\n"])</script><script>self.__next_f.push([1,"48:[\"$\",\"li\",\"skills/frontend/iii-browser-sdk.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Fiii-browser-sdk.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"iii-browser-sdk.md\"}]}]\n49:[\"$\",\"li\",\"skills/frontend/react.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Freact.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"page\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand bg-code text-foreground\",\"children\":\"react.md\"}]}]\n4a:[\"$\",\"li\",\"skills/frontend/tanstack-query.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Ftanstack-query.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"tanstack-query.md\"}]}]\n4b:[\"$\",\"li\",\"skills/frontend/tanstack-router.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Ftanstack-router.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"tanstack-router.md\"}]}]\n4c:[\"$\",\"li\",\"skills/frontend/vite.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Fvite.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"vite.md\"}]}]\n4d:[\"$\",\"li\",\"skills/frontend/web-accessibility.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Fweb-accessibility.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"web-accessibility.md\"}]}]\n4e:[\"$\",\"li\",\"skills/frontend/web-performance.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ffrontend%2Fweb-performance.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"web-performance.md\"}]}]\n4f:[\"$\",\"li\",\"iii-node\",{\"style\":{\"paddingLeft\":10},\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none\",\"children\":[\"iii-node\",\"/\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-px mt-px\",\"children\":[[\"$\",\"li\",\"skills/iii-node\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Fiii-node\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"cla"])</script><script>self.__next_f.push([1,"ssName\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"index.md\"}]}],[\"$\",\"li\",\"skills/iii-node/configuration.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Fiii-node%2Fconfiguration.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"configuration.md\"}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"50:[\"$\",\"li\",\"tickets\",{\"style\":{\"paddingLeft\":10},\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"truncate rounded-md px-2 py-1 font-mono text-[12px] text-muted-foreground/70 select-none\",\"children\":[\"tickets\",\"/\"]}],[\"$\",\"ul\",null,{\"className\":\"flex flex-col gap-y-px mt-px\",\"children\":[[\"$\",\"li\",\"skills/tickets\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ftickets\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"index.md\"}]}],[\"$\",\"li\",\"skills/tickets/acceptance-review.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ftickets%2Facceptance-review.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"acceptance-review.md\"}]}],[\"$\",\"li\",\"skills/tickets/feature-planning.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ftickets%2Ffeature-planning.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"feature-planning.md\"}]}],[\"$\",\"li\",\"skills/tickets/kanban-tickets.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ftickets%2Fkanban-tickets.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"kanban-tickets.md\"}]}],[\"$\",\"li\",\"skills/tickets/ticket-orchestration.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ftickets%2Fticket-orchestration.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"ticket-orchestration.md\"}]}],[\"$\",\"li\",\"skills/tickets/ticket-worker.md\",{\"style\":{\"paddingLeft\":20},\"children\":[\"$\",\"$L13\",null,{\"href\":\"/workers/kanban?tab=skills\u0026skill=skills%2Ftickets%2Fticket-worker.md\u0026version=0.1.18\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"block truncate rounded-md px-2 py-1 font-mono text-[12px] transition-colors duration-150 focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-brand text-muted-foreground hover:bg-code hover:text-foreground\",\"children\":\"ticket-worker.md\"}]}]]}]]}]\n"])</script></body></html>