Pinned versions stay available forever at /vX.Y.Z/.
skLine({stacked: true}) now lays each band on the one below instead of overlapping it, and {step: true} draws state changes as square stepsskBar({stacked: true, normalize: true}) for share-of-total across categoriesskMatrix — an x/y heatmap for arbitrary rows and columns (kills by zone, weapon by player), rendered as a real table so every number stays readable without colourskHistogram — bins raw values and plots the distribution, with the bin range in each tooltipskBullet — actual against target with qualitative bands, the honest replacement for a gauge on a KPI tileskWaterfall — running balance, rises green and falls red with connectors and a total bardata-sk-* forms, and the chart file still ships zero dependencies0:00 and firing sk-countdown-end on load; a clock moved between containers revives on the next skScan(); data-sk-up with data-sk-to counts elapsed time since that timestampdata-sk-ping and data-sk-trend carry a role, so aria-label is legal on them — data-sk-quiet was a serious axe violation; the trend chip no longer rewrites author class names that merely contain its prefixmelee, defuse, clutch, reload, battle-netdata-sk-killfeed (rolling event feed with skKillfeed().push(), row caps, timed expiry that pauses on hover), data-sk-hp (health + armor bar), data-sk-ping (latency signal bars), data-sk-countdown (match clock, counts down or up), data-sk-trend (delta chip with invertible direction), data-sk-hotbar (loadout strip driven by the number and arrow keys)skynet-charts.js: skBar (grouped, stacked or horizontal), skDonut, skRadar (player stat profiles) and skScatter — each with a declarative data-sk-* form.sk-hud heads-up panels, .sk-rank-* tier badges, .sk-team-* tints, hotbar slots, health and ping metersdata-sk-rating (star input with keyboard + hidden form field), data-sk-tree (collapsible tree from a nested list), data-sk-swipe (swipe-to-reveal row actions, touch and mouse), data-sk-infinite (sentinel firing sk-more), data-sk-share (native share with copy fallback), data-sk-peek (password visibility toggle), data-sk-fullscreen, data-sk-progress-read (reading-progress bar), data-sk-offline (connection banner).sk-marquee pure-CSS logo marquee — masked edges, hover pause, --sk-marquee-duration speed control, reduced-motion awareskScan() for dynamically added markup, documented in LLM.md, and demoed on the components pagesvh/dvh, media rules, Core Web Vitals budgets and a testing matrix, each mapped to the Skynet UI feature that implements itget_best_practices tool (full guide or one section) and skynetui://best-practices resource; markdown source at /best-practices.mdskynet-icons.js — weather, phones, media & AV, devices, files & folders, commerce & currencies, transport, nature, food, science, buildings, tools, security, editor marks, math symbols, faces and a full set of circle-, square- and off-variants (gallery)list_icons/get_icon tools, the gallery and the LLM.md name list pick every new name up automaticallyskynet-icons.js — text formatting, devices, media transport, corners & rotation arrows, squares, shapes, off-state variants and more (gallery)list_icons/get_icon tools and the gallery pick the new names up automaticallydata-sk-wizard multi-step form wizard: progress trail from your legends, Back/Next, per-step required-field validation, sk-wizard-done eventdata-sk-strength password meter, data-sk-count live character counter, data-sk-autogrow growing textareas (now red past the limit)data-sk-compare before/after slider (drag + keyboard) and data-sk-kanban boards — cards drag between columns with live countsskSpark inline SVG sparklines and skGauge radial gauges, both declarative (data-sk-spark, data-sk-gauge)skynet-icons.js — circles, git, media, commerce, charts, maps and more (gallery).sk-navbar now fits every width: between the mobile burger and full desktop, overflowing links scroll on one row (hidden scrollbar) instead of wrapping or clipping; brand and end-slot no longer shrinkskynet-charts.js: skLine line/area charts (multi-series, smooth, themed SVG) + skHeatmap contribution heatmap; declarative data-sk-linedata-sk-confirm, data-sk-hotkey, data-sk-countup, data-sk-timeago, data-sk-toast-pos — common app behaviors with zero custom JSname attributeconvert_tailwind (server-side mechanical conversion), get_pattern (copy-paste sections), list_icons/get_icon (inline SVG), search_classes, check_contrast (WCAG)get_template serves all nine starter pages (any theme) and make_theme auto-derives a full custom theme from one hex with AA-guarded contrast; get_version for orientationbuild_page, convert_tailwind_page, custom_theme) and new resources (class inventory, all nine patterns, starter templates, the email kit)/vX.Y.Z/ URLs (immutable, with SRI) remain the documented opt-in for frozen production buildsdata-sk-quiet on <html> or window.SKYNET_QUIET = truebg-[#1da1f2], w-[137px], hover:bg-[#0f8ecf], md:grid-cols-[1fr_auto], -mt-[3px] — generated at runtime, no build step, dynamic markup includedvar(--x) valuesskynet-ui check, convert, and the MCP validate_markup tool accept supported bracket classes and flag unsupported onesskynet-icons.js) with gallery; experimental web components (skynet-elements.js)npx skynet-ui check markup validator (+ MCP validate_markup) and npx skynet-ui convert Tailwind converterdata-sk-transition); five new scaffold templates (blog, docs, portfolio, admin, saas)skVirtual virtual scroll, sticky table columnskChat.streamAsync (async iterables / fetch streams → live markdown), tool-call & thinking bubbles, message actions, sk-prompt input, skDiffllms.txt + full llms-full.txtskMarkdown zero-dep markdown renderer + skHighlight syntax highlighting + skChat append/stream/typing APIdir="rtl") and skLocale() string overridesnpm create skynet-ui, favicon + social cardssk-prose typography for rendered markdown / LLM output; chat kit (bubbles, typing dots, prompt bar) + skTypewriterskTour)contrast theme (9th), data-theme="auto", compact density, print styles/mcp; minified files + SRI hashes per release; examples gallery, theme builder, this changelogPlus the mobile dropdown-overflow fix and cache-busted deploys with visible build stamps.
~170 Tailwind-named utilities with sm:/md:/lg: variants, the Tailwind conversion guide in llms.txt, and skynetui.com built around LLM prompts.
Forest and dusk (dark family), sky and rose (light family) — eight built-ins.
Theme picker with persistence, autogrow textareas, character counters, scroll reveal, carousel autoplay.
Ctrl+K palette with keyboard nav; themed native date inputs via color-scheme.
Plus skConfirm, segmented controls, scrollspy, and avatar groups.
Breadcrumbs, pagination, accordion, tooltips, skeletons, chips, hero, footer, and more.
The original two-file dark-first kit: 17 component families, utilities, light theme.