hud-first
Use when designing AI features and the real opportunity may be perception support, not delegated conversational work.
What this skill does
``` ● main ↑3 │ build ✓ 2.1s ▁▂▂▃▄▅▆ │ tests 412/413 ✗ │ lint ✓ │ types ⚠2 ``` That row is the skill. One line, six fields, no prompt, no dialog. You see system state *through* it, not at it. Lineage: Weiser (calm tech), Engelbart (IA), Tufte (data-ink, sparklines, small multiples). ## Copilot vs. HUD | Copilot (anti-pattern) | HUD (target) | |------------------------|---------------------------| | You talk to it | You see through it | | Demands attention | Lives in periphery | | Delegates judgment | Extends perception | | Context-switch tax | Flow-state preserving | | "Do this for me" | "Now I notice more" | ## Reframing protocol 1. **Name the copilot reflex.** What chat would you open? What prompt would you type? 2. **Extract the information need.** What does the assistant need to *know* to answer? That is what you need to *perceive*. 3. **Compose from the primitive palette:** - **sparkline row** — `▁▂▃▄▅▆▇█` in ≤8 cells, encoding a series *(≤4 Hz)* - **gutter cell** — column-1 marker per line: `! * ● ◐ ·` *(event:save)* - **status-line field** — `key value` pair, separated by `│` on a single row *(≤1 Hz)* - **dim/bold/inverse run** — weight = salience; inverse = current/selected *(event:focus)* - **badge glyph** — single-cell state: `✓ ✗ · ⚠ ● ○ ◐ ↑ ↓` *(event:state)* - **color-band column** — fixed-width column, hue encodes category *(event:classify)* - **box-drawing frame** — `─ │ ┌ ┐ └ ┘ ├ ┤`, only when a frame earns its cells *(static)* - **prompt-line indicator** — one trailing field appended to the shell prompt *(≤30 Hz)* - **small-multiples / row-repeat** — *meta-primitive: layout, not glyph; does not consume the ≤3 budget.* Same instrument repeats across N rows with shared column alignment and shared scales, so cross-row scan is structurally licensed. **Budget:** ≤3 primitives per row, ≤8 sparkline cells per primitive, one line per instrument. Beyond 3, the row is a dashboard, not a HUD. **When you catch yourself wanting a GUI affordance, reach for the terminal substitute:** - **hover** → inverse cursor row (`j`/`k` moves the highlight) - **popover / tooltip** → expand-on-key, or one appended status-line field - **gradient** → dim/normal/bold triplet, or a 3-step 256-color ramp via **color-band** - **modal dialog** → full-line takeover, single-key dismiss - **animation** → ≤4 Hz refresh on a single sparkline cell - **drag** → `j`/`k` to move, `enter` to commit 4. **Pass both terminal tests:** - **Spellcheck test** — the marker appears *in the line of work itself*, not in a popup, dialog, side pane, or separate command. Pass: `!43 │ if user.role == "admin":`. Fail: a `cx-review` subcommand that prints a report. - **Sparkline test** (Tufte) — the signal renders with `▁▂▃▄▅▆▇█` (or a similar fixed-glyph row) in ≤8 cells *inside* an existing line; when sparklines stack, they share a labeled baseline. Pass: `tests 412/413 ✗ ▁▂▃▇`. Fail: a separate ASCII bar-chart screen, or four stacked sparklines each rescaling to their own min/max. ## Worked example: test-runner HUD ``` PKG STRIP N/N LATENCY (▁=0 █=600ms) TREND auth/login ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓· 19/20 ▁▁▁▁▁▂▂▂ 142ms auth/oauth ✓✓✓✓✓✓✗✓✓✓✓✓✓✓✓✓✓✓✓✓ 19/20 ▁▂▂▂▂▃▃▃ 211ms billing/charge ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 20/20 ▁▁▁▁▂▂▂▂ 88ms billing/refund ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓ 20/20 ▃▄▅▅▆▆▇▇ 503ms ⚠ ``` ↑ **small-multiples in action:** each row applies the same gutter-strip + shared-baseline sparkline + badge instrument to one `PKG`, so the eye scans vertically. The strip is strict 3-state (`✓ ✗ ·` = pass / fail / skip); trend warnings ride in their own badge column, so 20/20 still means 20/20. The flaky test (✗ in the strip) and the slow-creep (sparkline standing visibly taller than its neighbors, ⚠ in TREND) are legible without prose annotations — the data already speaks. Copilot reflex: *"summarize the test run."* HUD instruments: gutter-strip + sparkline + badge, row-repeated across packages. ## Same protocol, four domains | domain | copilot reflex | HUD instrument (terminal-native) | |-------------|---------------------------|--------------------------------------------------------| | code review | "review this PR for bugs" | `!42 ● if x == True: ▆cx` | | inbox | "summarize my email" | `▌ ●●● 02:14 CEO Re: Q3 review ▇▆▃▁` | | debugging | "find the bug" | `i=37 arr[0..n) hits ▁▁▂▃▇▂▁ ✗ at i=23` | | writing | "rewrite this paragraph" | `~/essay $ █ passive ▃ │ readab ▇▆ │ "just"×4 │ 318w` | Inbox row leads with a `▌` **color-band column** (hue = folder); the writing row appends indicators to the shell **prompt line**. Each row picks ≤3 primitives and stays inside the existing line — the test-runner block above is the small-multiples form (one instrument, many parameters); this table is the protocol's transfer (one protocol, four instruments). ## When copilot is fine Routine, one-shot, you genuinely don't want to learn it (autopilot for straight-and-level). For expert work — judgment, debugging, prose — instrument, don't delegate.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.