xlab toolkit · live primitives inventory · v0.1.0
Inventory with live examples
Every reusable primitive at assets.gf.cx, rendered live with its actual CSS/JS in this page. Eat-your-own-dogfood — the cards primitive is the layout primitive for this very inventory.
cards · v0.1.0
3 variants (--system, --stat, --tile) + .card-grid layout · grayscale-thumb hover · BEM naming · CSS-custom-property theming
The canonical card primitive. Replaces hand-rolled .system / .stat / .cell CSS across portfolio surfaces with one shared piece.
<link rel="stylesheet" href="https://assets.gf.cx/cards/cards.css">
Variant: --system · thumb + body (pa.gf.cx landing pattern)
Variant: --stat · label + big value + sub (status dashboards)
Date span covered
2022-2025
Jul 2022 → Nov 2025 · 4 years
Workers
8
alive · 14h 59m
Cost to enrich
$6.96
remaining 4,970 items
Variant: --tile · compact title + meta (category landings)
Docs: README · Source: github · Memo: parked_sketch_cards_primitive_2026-05-24.md
status-pill · v0.1.0
5 variants (--neutral, --alert, --resolved, --service, --warning) · JSON-driven state vocabulary · design-system-palette themed
Lifecycle-state badge that sits under a record title. Tag each pill with data-state and keep one JSON vocabulary on the page — add a state once, not per row. Lifted from home.gf.cx/returns.
<link rel="stylesheet" href="https://assets.gf.cx/status-pill/status-pill.css">
<script src="https://assets.gf.cx/status-pill/status-pill.js" defer></script>
The five variants
Neutral · in flight
Alert · needs attention
Resolved · closed-good
Service · work done
Warning · high-visibility
Demo + colour swatches: status-pill · Docs: README · Source: github
made-with · v0.1.0
shared provenance footer · rendered from a placeholder · one import · change-once-updates-everywhere
The "Built with — how this page ships" footer, rendered from a placeholder so the wording + styling live in one file. Ends hand-copied-footer drift — the favicon-control-plane model applied to provenance.
<script src="https://assets.gf.cx/made-with/made-with.js" defer></script>
Demo: made-with · Docs: README · Source: github
map-dossier · v0.1.0
the "good-map" pattern for locating a facility · aerial → close-up hover → street-view
Three composable primitives — .rollimg (mouse-over reveal; for maps, start on the close-up and hover out to the wider context), .svfacade (click-to-load embed facade, defers the third-party until intent), and .embed3d (always-on inline embed). The .rollup hover image must be the exact pixel dimensions of the base so the overlay lands pixel-perfect.
<link rel="stylesheet" href="https://assets.gf.cx/map-dossier/map-dossier.css">
<script src="https://assets.gf.cx/map-dossier/map-dossier.js" defer></script>
Live demo · hover the aerial to zoom out (base = pinned block, hover = wider district)
hover · zoom out
Docs: README · Notes: kb.gf.cx · Source: github
dropzone · v0.1.0
drag-and-drop file capture with localStorage persistence + JSON export · pure client-side, no server roundtrip
Drop files into the zone, they persist in browser localStorage. Click "Copy JSON for sync" → paste to Claude or run pa_dropzone_apply.py to land them at the canonical filesystem path.
<link rel="stylesheet" href="https://assets.gf.cx/dropzone/dropzone.css">
<script src="https://assets.gf.cx/dropzone/dropzone.js" defer></script>
Live demo · drag files in (state persists in localStorage)
Docs: README · Source: github
sortable-table
click-to-sort table headers with arrow indicators · vanilla JS, no dependencies
Pure-CSS-and-data-attr sortable tables. Used on pa.gf.cx/amazon/orders.html (5,476 line-items) and home-insurance claim affidavit-dashboard.
<link rel="stylesheet" href="https://assets.gf.cx/sortable-table/sortable-table.css">
Docs: README · live in production on pa.gf.cx/amazon/orders
icons · heraldic emblems
SVG emblem library · 16 heraldic crests + family glyph · used for placeholder thumbnails on system cards
Hand-curated SVG set originally from Claude.ai chat. Used wherever a card needs a thumb but no real photo exists yet.
<img src="https://assets.gf.cx/icons/heraldic/<name>.svg" alt="...">
Heraldic emblem set (first 8)
Gallery: /icons/ · Source: github
date-counter
runtime widget · "116d left" / "Aug 8 2026" formatting · auto-refresh
Add data-date="2026-08-08" to any element, the widget renders relative + absolute formatting + auto-ticks on a 1-minute heartbeat. Used on countdown pages + status dashboards.
<link rel="stylesheet" href="https://assets.gf.cx/date-counter/date-counter.css">
<script src="https://assets.gf.cx/date-counter/date-counter.js" defer></script>
Source: github
pattern library · feedback memories
Beyond the visual primitives above, the toolkit is anchored by a memory-resident pattern library. Each rule below has its own feedback_*.md in ~/.claude/projects/.../memory/, propagated to future sessions.
Micro-gestures
stamps · grayscale-hover · pulse · live timestamps · refresh-copy · closing summary
"Features tell you what something does. Gestures tell you that someone cared."
SEO-rewrite at drop
slug-with-purpose filename + full descriptive alt-text sentence
"A file with a bad name is a file you can't find."
Photo-strip order
hero first · detail middle · serial / data-plate LAST
"The regulatory sticker is load-bearing for the warranty, not for the page."
Ingest-dashboard
pa_job_status_update.py + pa_job_status_render.py + status JSON substrate
"Don't build a status dashboard. Wire the job into the one that already exists."
CF Pages subdomain setup
scaffold → wrangler project create → deploy → CF API domain-bind
"Dashboard clicks don't go in version control. API calls do."
API burn — chunked + watchable
50-100 items per invocation · Dan-go between chunks · same $ different shape
"Spend isn't the variable to throttle — visibility is."
Pattern-break collaboration loop
Claude proposes + ships · Dan reads + corrects · correction → memory
"A pattern that survives one user-correction round is stronger than a pattern that was right by luck the first time."
subdomain-scaffold · v0.3.1
one-command new gf.cx subdomain · declarative landing + context-aware 404 + cards + media + favicon + made-with footer + stamps baked in
Generates ~/Code/<name>.gf.cx/ from templates. Includes a "holding card" so a fresh subdomain has a proper greeting before real content lands.
~/bin/gfcx_subdomain_new.py <name> --title "..." --kicker "..." --description "..."
Live dogfood: sandbox.gf.cx · Source: ~/Code/toolkit/subdomain-scaffold/ · Memo: parked_sketch_sandbox_gfcx_subdomain_template.md