Use when designing, building, writing, OR validating any nightshift interface, marketing page, doc, slide, mock, prototype, or brand asset — covers the night-sky dark theme, terracotta accent, Inter + JetBrains Mono type, design tokens, React UI-kit components, the technical no-hype brand voice, and a runnable adherence gate (token-drift + WCAG-AA contrast + lint). Trigger on "nightshift", "design with the brand", "terminal/pipeline UI", "ships while you sleep", "check brand adherence", "validate nightshift design".
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
nightshift is a Claude Code plugin that turns one terminal into a full AI software-delivery team — PM, architect, tech lead, engineers, QA — driven from the issue tracker. Tagline: "Your AI software team that ships while you sleep."
The design is nocturnal, calm, technical, no-hype. Audience is senior devs who live in the terminal and smell marketing instantly. Every artifact must feel credible, fast, technical — a premium dev-tool, never a generic SaaS splash. Lead with proof (terminal output, numbers), never adjectives.
The brand name is always lowercase — nightshift. Never "Nightshift" or "NightShift".
Two output modes (ask which if unclear):
If invoked with no guidance, ask what they want to build, ask a few sharp questions, then act as the expert designer.
tokens/*.css, mirrored machine-readable in _ds_manifest.json — query the manifest for an exact hex, never guess one.references/components.md) where they exist; hand-build only the rest, following references/patterns.md recipes. Never invent a value that has a token.templates/page-starter.html (inherits all tokens + signature motifs); diff against ui_kits/marketing + ui_kits/docs as the golden full-page references.npm run validate (token-drift + WCAG-AA contrast + oxlint), then walk references/adherence-checklist.md for the human-only checks. Every box passes or is deliberately N/A.| Need | File |
|---|---|
| Every token, exact value, semantic alias, base resets | references/tokens.md |
| Every component's full props/usage + product data (agents, commands) | references/components.md |
| Brand voice, casing, signature phrases, do/don't copy | references/voice-and-content.md |
| Recipes: hero, card, button, starfield, moon-glow, page scaffold, icons | references/patterns.md |
| Pre-ship adherence checklist | references/adherence-checklist.md |
| Copy-paste static page starter | templates/page-starter.html |
The raw source of truth still lives in tokens/, components/, guidelines/, ui_kits/, assets/ — read those for deepest fidelity.
"you" for the reader; "it"/"the agents" for the product. First person rare, only collective ("we").nightshift always lowercase. Agent/command names lowercase mono: product-manager, /auto, qa-engineer. Headings sentence case, never Title Case.// eyebrows over emoji. Never sprinkle emoji through body copy.Import the single entry point: styles.css (@import manifest of tokens/*.css). Use semantic aliases in components, not raw scale values. Exact hex values are not listed here on purpose — they live once in tokens/colors.css (mirrored in _ds_manifest.json); read them there so this summary can't drift. npm run check:tokens fails the build if any doc hex stops matching the CSS.
| Role | Alias |
|---|---|
| Page / void / sunken bg | --bg-page · --bg-void · --bg-sunken |
| Surfaces | --surface-card · --surface-raised · --surface-overlay · --surface-terminal |
| Accent (the one pointing color) | --accent · --accent-hover · --accent-press (terracotta) |
| Link / focus (cool indigo) | --link · --link-hover · --focus-ring |
| Text | --text-strong · --text-body · --text-muted · --text-dim · --text-on-accent |
| States | --success · --warning · --danger · --info (terminal-true) |
| Hairlines | --border-soft · --border-default · --border-strong · --border-accent |
| Code syntax | --code-comment/-keyword/-string/-fn/-num/-punct/-prompt |
Exact values + raw scale (--night-*, --terra-*, --moon-*, --indigo-*) → references/tokens.md or tokens/colors.css.
--font-sans Inter — display, headings, body. --font-mono JetBrains Mono — code, labels, UI chrome, eyebrows.--fw-extra (800), tracking --tracking-tight (-0.02em).--tracking-eyebrow (0.16em) — e.g. // HOW IT WORKS.--text-2xs11 · xs12 · sm13 · base15 · md17 · lg20 · xl25 · 2xl32 · 3xl42 · 4xl56 · 5xl72 · 6xl92 (px).tight1.06 snug1.22 normal1.5 relaxed1.65.--space-1..32 (4,8,12,16,20,24,32,40,48,64,80,96,128).--radius-* are 0 (site override at the token layer); only true circles use --radius-round: 50% (star dots, gate rings, traffic lights, status dots). Retired scale: 4/6/10/14/20/28/999.--elev-1..4. On dark, always pair shadow with a 1px hairline — shadow alone won't read.--glow-accent (terracotta, primary buttons + active pipeline stages), --glow-cool (indigo focus), --glow-focus (3px indigo ring — always visible, never removed).--ease-out cubic-bezier(.22,1,.36,1) at --dur-fast120 / --dur-base200 / --dur-slow360ms. Restrained, quick.--container-max1200 · --container-prose720 · --nav-height64.React, namespace window.NightshiftDesignSystem_983007. Each component has a .d.ts + .prompt.md (read for full API); each group a *.card.html specimen.
| Group | Components |
|---|---|
| core/ | Button, Badge, Card, InstallSnippet |
| terminal/ | Terminal (+ TermLine), CodeBlock, Pipeline |
| site/ | NavBar, Footer |
| data/ | AgentCard, CommandCard, Table |
Button example — variants primary (filled terracotta + glow) · secondary (raised + hairline) · ghost (text, fills on hover) · danger (red outline); sizes sm|md|lg; props mono (command labels), loading, disabled, iconLeft/iconRight, fullWidth:
<Button variant="primary" size="md">Install plugin</Button>
<Button variant="ghost" mono>/auto</Button>// uppercase eyebrows in terracotta above section headings.--surface-terminal) with streaming /auto pipeline output — lines reveal one at a time, then loop. The one "alive" motion.--surface-card fill, sharp corners (radius 0), deep soft shadow, hairline does the separating. Featured cards get accent ring + glow.translateY(-1px) buttons, -2px cards) + warms border to accent.→ ↓ ✓ ✗ ● ▌ ⌘ //. Real UI icons → Lucide (1.5px stroke, CDN) — a documented substitution; source ships no icon set.assets/logomark.svg (terracotta crescent, soft glow, two stars), 28px in nav.nightshift./auto run instead.--glow-focus always visible.// eyebrows.references/ — agent-facing digest: tokens.md, components.md, voice-and-content.md, patterns.md, adherence-checklist.md.templates/page-starter.html — copy-paste static page wired to the tokens + signature motifs._ds_manifest.json — authoritative machine index: every token (with definedIn), component, asset. Query for exact values instead of guessing.package.json + scripts/check-tokens.mjs + scripts/check-contrast.mjs — the npm run validate gate: token-drift, WCAG-AA contrast, oxlint (_adherence.oxlintrc.json).styles.css → tokens/ — colors.css, typography.css, spacing.css (radius/elevation/motion), fonts.css, base.css.components/{core,terminal,site,data}/ — .jsx + .d.ts + .prompt.md + group *.card.html.guidelines/*.card.html — color/type/spacing specimen cards.ui_kits/marketing/ and ui_kits/docs/ — full-page references (hero, agent grid, install, docs sidebar).assets/ — logomark.svg, logo.svg (dark bg), logo-light.svg (light bg — "night" in ink, "shift" in terracotta), favicon.svg, og-card.html, readme-banner.html, logo-card.html.README.md — full brand brief and product context. Source of truth: whimzyLive/nightshift-ai.Caveats: fonts via Google Fonts (self-host for production); Lucide + logomark are documented original substitutions.
whimzyLive/nightshift-ai
44c1caf
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.