waitlist-page
Body font name as it appears in CSS (e.g., 'DM Sans', 'IBM Plex Serif'). Already quoted if needed; no extra quotes in template.
Install / Use
npx skills add nexu-io/open-design --skill waitlist-pageInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
CommunicationSupported Platforms
Our assessment of waitlist-page
waitlist-page scores 90/100 on our quality scale, 19th of 80 Communication skills we index (top 24%).
Its SKILL.md is 14 KB long, well organised into 8 sections with 1 code example: a thorough specification that gives an agent plenty to work with.
With 97,896 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated today, so waitlist-page is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
waitlist-page compared with similar skills
All 4 of these similar skills score higher than waitlist-page; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| waitlist-page (this skill)by nexu-io | 90 | 97.9k | today | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 2d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 2d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 3d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 130.2k | 3d ago | SKILL.md |
Frequently asked questions
- How do I install waitlist-page?
- Run
npx skills add nexu-io/open-design --skill waitlist-page. The install tabs above show the steps for each supported agent. - Which AI agents does waitlist-page work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is waitlist-page safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is waitlist-page still maintained?
- The repository was last updated today, so waitlist-page is actively maintained.
Skill content
View source on GitHubname: waitlist-page description: | Minimal pre-launch landing with email capture, brand logo, and optional decorative layer. Reads DESIGN.md for colors, typography, and layout rules. Best for: product launches, beta signups, early access programs, indie projects. triggers:
- "waitlist page"
- "coming soon page"
- "pre-launch landing page"
- "email capture page"
- "launch page"
od:
mode: prototype
platform: desktop
scenario: marketing
preview:
type: html
entry: example.html
design_system:
requires: true
sections: [color, typography, layout, components]
inputs:
- name: product_name type: string required: true
- name: tagline type: string required: true
- name: bg_expression type: string description: "CSS color expression for background (e.g., '#FDE8DF' or 'rgba(...)')." required: true
- name: fg_expression type: string description: "CSS color expression for text and primary shapes (e.g., '#1A1410' or 'rgba(...)')." required: true
- name: accent_expression type: string description: "CSS color expression for brand badge and highlights." required: true
- name: deco_expression type: string description: "CSS color expression for decoration primary." required: true
- name: stripe_expression type: string description: "CSS color expression for accent stripe." required: true
- name: border_expression type: string description: "CSS color expression for input borders (e.g., 'rgba(100,50,30,0.38)' or 'color-mix(in srgb, var(--fg) 38%, transparent)'). Must be valid CSS." required: true
- name: success_expression type: string description: "CSS color expression for success message. Defaults to #2D6A4F if not in DESIGN.md." required: true
- name: btn_label_expression type: string description: "CSS color expression for button label text (e.g., 'rgba(255,255,255,1)' or '#fff'). Ensure WCAG AA contrast." required: true
- name: ticker_bg_expression type: string description: "CSS color expression for ticker background (e.g., 'rgba(0,0,0,0.9)'). Must be valid CSS." required: true
- name: ticker_fg_expression type: string description: "CSS color expression for ticker text (e.g., 'rgba(255,255,255,0.9)'). Ensure contrast." required: true
- name: deco_stroke_expression type: string description: "CSS color expression for SVG strokes (e.g., 'rgba(0,0,0,0.12)'). Typically a muted foreground or neutral." required: true
- name: logo_shadow_expression type: string description: "CSS color expression for logo container shadow (e.g., 'rgba(0,0,0,0.08)'). Typically a subtle foreground shade." required: true
- name: logo_fg_expression type: string description: "CSS color expression for logo text/initials (e.g., 'rgba(255,255,255,1)' or '#fff'). Ensure contrast against accent." required: true
- name: logo_mark type: string description: "Text initials are HTML-escaped by default. Inline SVG is allowed only after strict allowlist-based sanitization (removing scripts, event handlers, foreignObject, and external references); unsafe input falls back to escaped text." required: false
- name: display_font_url type: string description: "Display font name with spaces encoded as '+' (e.g., 'Syne', 'DM+Sans'). Used in Google Fonts URL." required: true
- name: display_font_css type: string description: "Display font name as it appears in CSS (e.g., 'Syne', 'DM Sans'). Already quoted if needed; no extra quotes in template." required: true
- name: body_font_url type: string description: "Body font name with spaces encoded as '+' (e.g., 'DM+Sans', 'IBM+Plex+Serif'). Used in Google Fonts URL." required: true
- name: body_font_css type: string description: "Body font name as it appears in CSS (e.g., 'DM Sans', 'IBM Plex Serif'). Already quoted if needed; no extra quotes in template." required: true outputs: primary: index.html capabilities_required:
- file_write example_prompt: "Make a waitlist page for a design tool — clean, minimal, with a custom logo and one call-to-action."
Waitlist Page Skill
Pre-launch pages are your first handshake with future users. This skill builds a focused, honest entrance: your brand identity, what you're making, one clear path to join the early list. No artificial scarcity, no fake countdown, no inflation tactics—just a clean, mobile-first vessel for genuine interest.
Workflow
Preflight: Load hardened template and brand foundation
- Load the brand identity — Read
DESIGN.mdfor the color system, font pairing, and spatial rules. This is your foundation. A waitlist page lives or dies by consistency with the brand it represents. IfDESIGN.mdis missing, ask the user to provide one before you proceed. - Read and copy the reusable template — Read
assets/template.html. This template is the hardened seed for all outputs. Copy it toindex.htmlas your base. Do not write HTML from scratch or deviate from this structure. The template has all required layout, form structure, decorations, focus styles, and accessibility scaffolding baked in.
Steps: Token replacement with validation and escaping
- Map tokens from inputs — For each placeholder in the template (e.g.,
{{PRODUCT_NAME}},{{BG_EXPRESSION}},{{BORDER_EXPRESSION}},{{LOGO_MARK}}), follow the replacement rules below:- Text tokens (
{{PRODUCT_NAME}},{{TAGLINE}}): HTML-escape<,>,&,",'before insertion into HTML text nodes or attribute values. - HTML tokens (
{{LOGO_MARK}}): If using text initials, HTML-escape them by default. If using inline SVG, you must strictly sanitize it using an allowlist: strip<script>tags, event handlers (on*),<foreignObject>, external refs (href,xlink:href,url()), and any disallowed attributes/elements before insertion. If the SVG cannot be safely sanitized, fallback to escaped text initials. Never emit raw, unsanitized arbitrary HTML. Ensure any SVG scales cleanly within its container. - Color expression tokens (
{{BG_EXPRESSION}},{{FG_EXPRESSION}},{{ACCENT_EXPRESSION}},{{DECO_EXPRESSION}},{{STRIPE_EXPRESSION}},{{SUCCESS_EXPRESSION}},{{BORDER_EXPRESSION}},{{BTN_LABEL_EXPRESSION}},{{TICKER_BG_EXPRESSION}},{{TICKER_FG_EXPRESSION}},{{DECO_STROKE_EXPRESSION}},{{LOGO_SHADOW_EXPRESSION}},{{LOGO_FG_EXPRESSION}}): Must strictly adhere to an explicit color grammar (#hex,rgb/rgba,hsl/hsla,oklch, orcolor-mix()using only local variables). Hard reject any input containing;,{},<,>, comments (/*),@,url(, or external refs to prevent CSS injection. Do not wrap in#or add extra quotes. Examples:rgba(196, 169, 154, 0.38),color-mix(in srgb, var(--fg) 38%, transparent),#FDE8DF. Insert as-is into:rootCSS variables. Derive--successfrom DESIGN.md if present; otherwise use the allowed fallback#2D6A4Fonly. - Font name tokens (
{{DISPLAY_FONT_CSS}},{{BODY_FONT_CSS}}): These are CSS font-family values, already quoted if they contain spaces (e.g.,'DM Sans',Syne). Insert as-is into--font-displayand--font-bodydeclarations; do NOT add extra quotes. - Font URL tokens (
{{DISPLAY_FONT_URL}},{{BODY_FONT_URL}}): Spaces must be encoded as+for the Google Fonts URL (e.g.,DM+Sans,IBM+Plex+Serif). Validate the URL is well-formed before insertion.
- Text tokens (
- Verify token mapping rules — All color tokens are now in CSS variables:
--bg={{BG_EXPRESSION}}(e.g.,#FDE8DF)--fg={{FG_EXPRESSION}}(e.g.,#1A1410)--accent={{ACCENT_EXPRESSION}}(brand badge)--deco={{DECO_EXPRESSION}}(decoration primary)--deco-stripe={{STRIPE_EXPRESSION}}(accent stripe)--input-border={{BORDER_EXPRESSION}}(full CSS expression with opacity)--success={{SUCCESS_EXPRESSION}}or#2D6A4Ffallback--btn-label={{BTN_LABEL_EXPRESSION}}(button text color for contrast)--ticker-bg={{TICKER_BG_EXPRESSION}}(animated ticker background)--ticker-fg={{TICKER_FG_EXPRESSION}}(animated ticker text)--deco-stroke={{DECO_STROKE_EXPRESSION}}(SVG strokes, typically muted with 12–15% opacity)--logo-shadow={{LOGO_SHADOW_EXPRESSION}}(logo container shadow, subtle foreground shade)--logo-fg={{LOGO_FG_EXPRESSION}}(contrasting text color for logo initials)
- Responsive layout — The template includes mobile-first scaling:
- 375px: form stacks to single column, logo shrinks to 40px, decoration compresses, no horizontal scroll.
- 768px: comfortable two-column breathing room.
- 1440px+: centered layout with generous whitespace.
- Verify all text remains readable and the email input + button are fully visible (no clipping) at 375×667 and 390×844.
Validation: Run hardened quality gates before emitting
- Run the quality checklist — Read
references/checklist.md. Validate every P0 gate before emitting:- Exactly one CTA (email form)
- No countdown timer, no fake social proof, no emoji
- No horizontal scroll at 375px
- Email input has
type="email"andrequired; first name has norequired - Form does NOT use
novalidate; JS usescheckValidity()guard - Success message has
role="status"oraria-live="polite" - All colors from DESIGN.md or allowed fallback; no invented hex values
- All user text is HTML-escaped; color tokens adhere to strict grammar; fonts are URL-encoded
- Pass P0 or do not emit. If any P0 gate fails, ask the user or fix the token mappings and try again.
- Verify P1 gates for quality submission (recommended):
- Hover and active states on submit button
- Form validation with clear feedback
- Ticker animation respects
prefers-reduced-motion: reduce - All interactive elements have visible focus styles (input:focus includes
outline) - Tab/Enter keyboard support
- WCAG AA contrast for body text (≥4.5:1) and button label (≥4.5:1)
- Logo alt/aria-label present; ticker has
aria-hidden="true" <html lang="">is set
Output
- Emit clean HTML — Single file, CSS inlined, SVG for graphics. Mark interactive elements with
data-od-id(headline, form, logo, ticker, grid, etc.) so agents can customize without parsing.
Quality gates
This skill enforces a hardened, template-based workflow to ensure compliance. You must follow this execution path; deviating from the template disqualifies the output.
Mandatory template-based execution:
- Read
assets/template.htmlas your base; do not write HTML from scratch. - Copy it to
index.htmland replace only the{{PLACEHOLDER}}tokens with validated/escaped values. - Run every P0 gate in
references/checklist.mdbefore emitting; if any fail, fix and re-validate.
P0 gates (must pass):
- Single CTA: Email form is the only interactive element. No nav, no secondary buttons, no social links.
- Logo placement: Fixed top-left, matches DESIGN.md accent color, scales down on mobile (50px → 40px).
- Color consistency: Every color from DESIGN.md palette. Only allowed hardcoded exception:
#2D6A4Ffor--success. - No anti-patterns: No countdown timer, no fake social proof, no emoji icons, no lorem ipsum.
- Content integrity: Headline and copy tie directly to
product_nameandtaglineinputs—no filler copy. - Mobile fit: No horizontal scroll at 375px. Email input and submit button are fully visible (no clipping) at 375×667 and 390×844. Vertical overflow is scrollable, not hidden.
- Typographic discipline: Display + body fonts only (2-font rule). Consistent si
Truncated for display — read the full file on GitHub.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
130.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
