contact-widget
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
Skill by lengoctuong2005
Chalk Labs
Need help deploying contact-widget?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lengoctuong2005-contact-widget
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
contact-widget- Description
- Self-contained floating chat widget with welcome screen, social links, meeting button, and message input. Single HTML file, zero dependencies.
- License
- MIT
- Instructions
- 75 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (2)
- SKILL.md
- example.html
SKILL.md (first lines)
# 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:
| Input | Type | Default | Description |
|-------|------|---------|-------------|
| `primary_color` | color | `#4F7CFF` | Drives bubble, header, send button, accents |
| `agent_name` | string | `Assistant` | Displayed in header greeting |
| `greeting` | string | `Hello! How can I help you today?` | Subtitle in header |
| `is_available` | boolean | `true` | Online status; `false` shows offline form |
| `social_telegram` | string | _(empty)_ | Telegram link — omitted if empty |
| `social_whatsapp` | string | _(empty)_ | WhatsApp link — omitted if empty |
| `social_instagram` | string | _(empty)_ | Instagram link — omitted if empty |
| `meeting_url` | string | _(empty)_ | Booking URL (Calendly, Cal.com, etc.) — omitted if empty |
| `offline_message` | string | `We're currently offline. Leave a message and we'll get back to you!` | Shown when `is_available=false` |
## Workflow
1. Ask the user for: primary color, agent name, greeting text, online/offline state, which social links to show, optional meeting URL
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:
- **Knocket** — https://trtc.io/solutions/knocket (drop-in, free)
- **Crisp** — https://crisp.chat
- **Tawk.to** — https://tawk.to
- **Chatwoot** (self-hosted) — https://chatwoot.com
- **Intercom** — https://intercom.com
Do not auto-inject any `<script>` into the generated output — only add backend integration if the user explicitly opts in.From lengoctuong2005/vibe-rules-hub, MIT.
More from lengoctuong2005/vibe-rules-hub
- 0.540score
html-ppt-course-module
lengoctuong2005
Online-course / workshop module deck — warm paper background + Playfair serif, persistent left sidebar of learning objectives, MCQ self-check page.
SkillBFreshness: B★ 1Claude Code +9 - 0.299score
html-ppt-graphify-dark-graph
lengoctuong2005
暗底知识图谱 deck —
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 18, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.579score
contact-widget
nxxxsooo
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillBFreshness: B★ 6Claude Code +9 - 0.369score
contact-widget
jhy0285
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillAFreshness: A★ 5Claude Code +9 - 0.337score
contact-widget
sanghyunna
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillAFreshness: AClaude Code +9 - 0.313score
contact-widget
hangodek
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillBFreshness: BClaude Code +9 - 0.313score
contact-widget
hiktan44
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillBFreshness: BClaude Code +9 - 0.313score
contact-widget
Gavin-Gibson
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillBFreshness: BClaude Code +9 - 0.313score
contact-widget
SMB-Team-Technology
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillBFreshness: BClaude Code +9 - 0.310score
contact-widget
fardaf
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillBFreshness: BClaude Code +9 - 0.276score
contact-widget
mrglennc64
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillCFreshness: CClaude Code +9 - 0.276score
contact-widget
mrglennc64
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillCFreshness: CClaude Code +9 - 0.276score
contact-widget
mrglennc64
Self-contained floating chat widget with welcome screen, social links, meeting button, and message input.
SkillCFreshness: CClaude Code +9
More from lengoctuong2005
- 0.559score
deep-research
lengoctuong2005
Multi-source deep research using Tavily, firecrawl, and exa MCPs.
SkillAFreshness: AClaude Code +9 - 0.556score
canvas-design
lengoctuong2005
Create beautiful visual art in PNG and PDF documents using design philosophy and aesthetic principles for posters, illustrations, and static pieces.
SkillAFreshness: AClaude Code +9 - 0.556score
codebase-design
lengoctuong2005
Shared vocabulary and principles for designing deep modules with small surface interfaces.
SkillAFreshness: AClaude Code +9 - 0.553score
codemap
lengoctuong2005
Analyze codebase topology, dependency call graphs, and blast-radius matrices to generate living PROJECT_MAP.md.
SkillAFreshness: AClaude Code +9 - 0.553score
doc
lengoctuong2005
Read, create, and edit .docx documents with formatting and layout fidelity via OpenAI's document skill.
SkillAFreshness: AClaude Code +9 - 0.549score
ai-flaw-guard
lengoctuong2005
Diagnose, isolate, and mitigate AI flaws across 16 technical domains (160 facets) based on the v6 Technical Handbook.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get contact-widget running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
contact-widget skill. Agent Mart. https://agentmart.dev/skills/lengoctuong2005-contact-widget (last updated 2026-10-24)