Agent skill

Contact Widget

by nexu-io in nexu-io/open-design

Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.

Apache-2.0Auto-check passed

Install Contact Widget

skills CLI
$ npx skills add nexu-io/open-design --skill contact-widget -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nexu-io/open-design contact-widget --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nexu-io/open-design.git skills-src && mkdir -p .claude/skills && cp -r skills-src/design-templates/contact-widget .claude/skills/contact-widget && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
contact-widget
GitHub stars
100k
Token cost
~1.6k tokens
SKILL.md length
639 words
Files
2
Skills in repo
245
Repo updated
First seen
Licence
Apache-2.0

At a glance

Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.

  • Works in 7 steps: Chat bubble — fixed bottom-right… → Welcome home screen — agent avatar +… → Message input — text field with… → …
  • SKILL.md covers What this skill produces, Design direction, Inputs and Workflow, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Contact Widget is an agent skill from nexu-io/open-design. Self-contained floating chat widget with welcome screen, social links, meeting button, and message input. Single HTML file, zero dependencies.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

The repository describes itself as: 🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first desktop app. 🖼️ Your coding agent becomes the design engine: prototypes… The licence is Apache-2.0.

Example prompts

  • “/contact-widget”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Chat bubble — fixed bottom-right circular button, opens/closes the panel
  2. Welcome home screen — agent avatar + name + online status + greeting message
  3. Message input — text field with emoji/send icons (UI only; wire to your own backend)
  4. Social links — row of circular icons (Telegram, WhatsApp, Instagram, Messenger, Discord, Slack — only the ones the user provides)
  5. Meeting card — optional "Book a meeting" entry with calendar icon, links to user-provided URL (Calendly, Cal.com, Lark, etc.)
  6. Offline form — fallback contact form (name, email, message) when is_available=false
  7. Mobile responsive — full-width on small viewports

What it can do on your machine

Read from SKILL.md and the folder at commit d9dd6fe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • trtc.io
    • crisp.chat
    • tawk.to
    • chatwoot.com
    • intercom.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Contact Widget loads about 1.6k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 639 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from nexu-io/open-design at commit d9dd6fe, republished under its Apache-2.0 licence (© nexu-io). 639 words, ~1,574 tokens.

Download SKILL.mdSave it as .claude/skills/contact-widget/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
contact-widget
description
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input. Single HTML file, zero dependencies.
triggers
contact widget, chat widget, floating chat, live chat widget
od.mode
prototype
od.platform
desktop
od.scenario
engineering
od.example_prompt
Create a contact widget for my portfolio site. Primary color #4F7CFF, agent name 'Alex', greeting 'Hey! How can I help you today?', show Telegram and WhatsApp…

Contact Widget

What this skill produces

A single self-contained HTML file with a floating chat widget that includes:

  1. Chat bubble — fixed bottom-right circular button, opens/closes the panel
  2. Welcome home screen — agent avatar + name + online status + greeting message
  3. Message input — text field with emoji/send icons (UI only; wire to your own backend)
  4. Social links — row of circular icons (Telegram, WhatsApp, Instagram, Messenger, Discord, Slack — only the ones the user provides)
  5. Meeting card — optional "Book a meeting" entry with calendar icon, links to user-provided URL (Calendly, Cal.com, Lark, etc.)
  6. Offline form — fallback contact form (name, email, message) when is_available=false
  7. Mobile responsive — full-width on small viewports

Output is pure front-end. No tracking, no phone-home, no required external services. Works offline once loaded.

Design direction

Clean, minimal SaaS aesthetic. Looks like a real product widget, not a toy demo:

  • Typography: Inter (Google Fonts), 14px base, semi-bold headings
  • Colors: A single user-chosen primary_color drives the bubble, avatar, send button, and accent. Everything else is a neutral slate palette (#1e293b / #64748b / #f1f5f9). No purple gradients, no glassmorphism, no AI-style rainbow accents.
  • Radius: 16px on cards, full-round on bubble and avatars
  • Shadows: Subtle 0 8px 32px rgba(0,0,0,0.12) on the widget panel, 0 4px 12px on bubble
  • Spacing: 16px internal padding, 12px gaps between elements
  • States: Hover darkens buttons ~5%, active scales bubble 0.95

Inputs

The skill accepts these parameters from the user:

InputTypeDefaultDescription
primary_colorcolor#4F7CFFDrives bubble, header, send button, accents
agent_namestringAssistantDisplayed in header greeting
greetingstringHello! How can I help you today?Subtitle in header
is_availablebooleantrueOnline status; false shows offline form
social_telegramstring(empty)Telegram link — omitted if empty
social_whatsappstring(empty)WhatsApp link — omitted if empty
social_instagramstring(empty)Instagram link — omitted if empty
meeting_urlstring(empty)Booking URL (Calendly, Cal.com, etc.) — omitted if empty
offline_messagestringWe're currently offline. Leave a message and we'll get back to you!Shown when is_available=false
Show full SKILL.md (314 more words)Show less

Workflow

  1. Resolve primary color, agent name, greeting text, online/offline state, social links, and optional meeting URL from the request and known context. Use the documented defaults and omit empty optional links. Ask one consolidated form only if a missing value would materially change the requested widget and cannot be safely defaulted.
  2. Generate one HTML file with all provided values inlined as literals (no template engine, no {{ }} placeholders in the output)
  3. Open the widget panel by default on first paint so the preview is useful
  4. Do not add any <script src="…"> pointing to third-party SDKs unless the user explicitly asks for backend integration. The output must run from disk with zero network calls beyond the Google Fonts CSS.

Backend integration (optional, user-driven only)

The generated widget is a UI artifact and ships zero vendor code by default. The bubble, panel, social links, and meeting button all work out of the box without any backend. Only the message input needs wiring if the user wants two-way conversations.

If the user explicitly asks to wire the message input to a real backend, offer these in order of escalating commitment:

Tier 1 — No backend (default)

The widget already works as a contact surface via social links + meeting URL. Leave it as-is.

Tier 2 — One-shot messages, no chat history
  • mailto: fallback — replace the send handler with window.location.href = 'mailto:you@example.com?subject=...&body=' + encodeURIComponent(text). Zero infra, but the visitor's mail client opens.
  • Own /api/contact endpoint — fetch('/api/contact', { method: 'POST', body: JSON.stringify({ text }) }). The user owns delivery (SendGrid, Resend, their own SMTP, a Notion/Airtable webhook, etc.).
Tier 3 — Real-time chat (visitor ↔ agent, history, typing, presence)

This needs an IM/chat SDK. Any of the following work; pick whichever fits your stack:

Do not auto-inject any <script> into the generated output — only add backend integration if the user explicitly opts in.

© nexu-io, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in design-templates/contact-widget of nexu-io/open-design.

  • SKILL.md
  • example.html

Open the folder on GitHubat commit d9dd6fe

Compare with similar skills

Contact Widget next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Contact Widget compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Contact Widget this skillnexu-io/open-design100k—~1.6kAutomated safety check: PassApache-2.0
Chat Widgetsickn33/agentic-awesome-skills47k2 repos~332Automated safety check: PassMIT
Apple Containersickn33/agentic-awesome-skills47k1 repos~2.5kAutomated safety check: PassApache-2.0
Welcomenanocoai/nanoclaw31k—~1.5kAutomated safety check: PassMIT
Container Security Hardeningsickn33/agentic-awesome-skills47k1 repos~1kAutomated safety check: NotesMIT
Makepad Widgetssickn33/agentic-awesome-skills47k2 repos~1.7kAutomated safety check: PassMIT

Similar skills

  • Chat Widget

    sickn33/agentic-awesome-skills

    Build a real-time support chat system with a floating widget for users and an admin dashboard for support staff.

    47k GitHub starsUsed in 2 repos~332 tokens
    Sales & SupportAuto-check passed
  • Apple Container

    sickn33/agentic-awesome-skills

    Build, run, and manage OCI/Linux containers as lightweight per-container VMs on Apple-silicon macOS using Apple's open-source container CLI, no Docker daemon required.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    DevOps & CloudAuto-check passed
  • Welcome

    nanocoai/nanoclaw

    Introduce yourself to a newly connected channel. An agent skill from nanocoai/nanoclaw.

    31k GitHub stars~1.5k tokensUpdated 3 days ago
    Auto-check passed
  • Container Security Hardening

    sickn33/agentic-awesome-skills

    Harden Docker/container images and runtime deployments with secure base images, non-root users, CVE scanning, SBOM/signing, seccomp/AppArmor, and Kubernetes pod security controls.

    47k GitHub starsUsed in 1 repo~1k tokens
    SecurityAuto-check: notes
  • Makepad Widgets

    sickn33/agentic-awesome-skills

    Version: makepad-widgets (dev branch) | Last Updated: 2026-01-19 Check for updates: https://crates.io/crates/makepad-widgets

    47k GitHub starsUsed in 2 repos~1.7k tokens
    Auto-check passed
  • Contact Page

    thedaviddias/Front-End-Checklist

    A skill your agent uses when auditing metadata, crawlability, structured data, or indexability related to Create a comprehensive Contact page.

    74k GitHub stars~424 tokensUpdated 3 days ago
    Marketing & SEOAuto-check passed

More from nexu-io/open-design

All 245 skills in this repo
  • Humanize PPT

    nexu-io/open-design

    Turns raw notes into a talk-ready slide outline with per-page image, diagram or video decisions, then checks the rendered deck against that outline.

    100k GitHub stars~4k tokensUpdated yesterday
    Auto-check passed
  • Last 30 Days Trend Research

    nexu-io/open-design

    Produces a cited Markdown briefing on recent community sentiment and social reaction to a topic, labeling every source it could not actually check.

    100k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • OpenDesign Contribution Flow

    nexu-io/open-design

    Helps newcomers contribute to OpenDesign: ship a skill or design system, translate docs, fix docs or report a bug, ending in a pull request or issue.

    100k GitHub stars~3.5k tokensUpdated yesterday
    Auto-check: notes
  • Turns a chat transcript or screenshot into a configurable animated chat clip, rendered as a Remotion bundle with optional transparency.

    100k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Team-management dashboard skill in the FlowAI aesthetic — three tabs (Team Members, Team Details, Activity Log), KPI stat row, member table, role distribution bar chart, online presence and activity…

    100k GitHub stars~865 tokensUpdated yesterday
    Auto-check passed
  • Hatch Pet

    nexu-io/open-design

    Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets from character art, screenshots, generated images, or visual references.

    100k GitHub stars~6k tokensUpdated yesterday
    Auto-check passed

Questions about Contact Widget

What does Contact Widget do?

Self-contained floating chat widget with welcome screen, social links, meeting button, and message input. Contact Widget is an agent skill from nexu-io/open-design. Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.

How do I install Contact Widget in Claude Code?

Run `npx skills add nexu-io/open-design --skill contact-widget -a claude-code`. Or copy the skill folder (design-templates/contact-widget in nexu-io/open-design) into .claude/skills/contact-widget in your project. Claude Code loads it when a task matches its description.

How do I install Contact Widget in Codex?

Run `npx skills add nexu-io/open-design --skill contact-widget -a codex`. Or copy the skill folder (design-templates/contact-widget in nexu-io/open-design) into .agents/skills/contact-widget in your project. Codex loads it when a task matches its description.

Can I use Contact Widget in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nexu-io/open-design --skill contact-widget -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/contact-widget, .gemini/skills/contact-widget, .github/skills/contact-widget and .opencode/skills/contact-widget in your project.

What does Contact Widget need to run?

SKILL.md names no scripts, command-line tools or credentials: Contact Widget is instructions for the agent only.

Does Contact Widget access the network?

SKILL.md names 5 domains. As links in the text: trtc.io, crisp.chat, tawk.to, chatwoot.com and intercom.com. This is read from the text; nothing was executed.

Is Contact Widget safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Contact Widget use?

Contact Widget is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Contact Widget use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Contact Widget?

Skills that share tags, products or a category with Contact Widget: Chat Widget (sickn33/agentic-awesome-skills, 47k stars), Apple Container (sickn33/agentic-awesome-skills, 47k stars), Welcome (nanocoai/nanoclaw, 31k stars) and Container Security Hardening (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Contact Widget?

nexu-io (a GitHub organization) maintains it in nexu-io/open-design, which has 100,100 GitHub stars. The repository holds 245 skills in this directory. The repository was last updated on October 9, 2026.

Source: nexu-io/open-design on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.