NexDoc Design
Generate, iterate, preview, export, and publish production-ready designs (landing pages, slide decks, reports, invoices, resumes, business cards, social cards, email newsletters, a…
Amiya Patanaik
@amiyapatanaik
Install
$ openclaw skills install @amiyapatanaik/nexdoc-designNexDoc Design
NexDoc Design is a hosted design engine. You supply source copy, a design brief, and a format slug. NexDoc generates and validates the HTML/CSS and returns a preview URL. Do not hand-write the final HTML.
| Service | URL |
|---|---|
| REST API | https://api.nexdoc.design |
| MCP | https://mcp.nexdoc.design/mcp |
| Dashboard and API keys | https://app.nexdoc.design |
Choose an integration
- MCP tools are available (
create_design,update_design,wait_for_run,export_design, and related tools) — follow the nexdoc-mcp skill. - Otherwise — call the REST API with
NXD_API_KEY(nxd_live_…fromhttps://app.nexdoc.design/keys). Follow the nexdoc-api skill (endpoint catalog in that skill’sreference.md).
If MCP is not connected and the user is in Claude, ChatGPT, Cursor, or another MCP client, offer to add the remote server https://mcp.nexdoc.design/mcp (OAuth 2.1, no API key). In ChatGPT / Cowork, if the installer asks for a key or offers Token vs OAuth, choose OAuth and do not collect a key. Desktop clients can instead run npx -y @nexdoc/mcp-server with NXD_API_KEY.
Never print an API key.
Model
- Job — one design and its history. Reuse the same
job_idfor every edit. Never create a second job for the same request. - Run — one generation on a job. Needed to poll, cancel, notify, export, or publish that version.
Run states: queued → preparing → running → validating → uploading_outputs → completed | failed | cancelled.
Persist IDs
Save job_id and run_id as soon as a run is created, before waiting or talking to the user. Repeat both IDs after create and after every later step. If a poll or tool times out, resume the same run. Never start a duplicate.
How long generation takes
Tell the user the wait up front so they do not think the request hung.
| Kind of work | Typical wait |
|---|---|
| Simple card, one-page layout, short landing page | 1–5 minutes |
| Pitch deck, multi-page report, image-heavy or tightly branded work | 10–20 minutes, sometimes longer |
Complex formats (report, proposal, whitepaper, slide-deck, pitch-deck, lookbook) take the longest. If you cannot wait, request email notification and keep the IDs.
Operating rules
- Always return
viewer_urlafter a completed run (humans preview and click-to-edit text). Preview links last 24 hours; remint anytime. The design is not gone when a link expires. - Offer a download:
pdffor print, slides, cards, resumes, invoices;html(ZIP) forlanding-page,portfolio,link-in-bio,email-newsletter,dashboard;png(ZIP of PNGs) when they want images. - Publish to a public URL only when the user explicitly asks (“publish”, “make it public”, “live link”).
- On
402, send the user tohttps://app.nexdoc.design(minimum top-up $10). Do not retry in a loop and do not work around billing. - Failed runs are not charged. Show
errorandlog_tail, fix the inputs, and retry once on the samejob_id(update_design/ new run). Never create a second job for the same request.
Writing content and instructions
content — facts in clean markdown: headings, lists, tables, real names, numbers, dates, prices. Keep everything the user supplied; invent nothing. NexDoc re-authors for the medium. Reference uploaded images by filename: .
instructions — the design brief (create) or a diff (update):
- Audience and purpose
- Aesthetic direction (specific mood, palette, type — not “modern and professional”)
- Brand tokens inline, treated as authoritative:
Brand: primary #2563EB, accent #F59E0B, fonts Inter; logo.png in nav. - Structure constraints and must-haves (CTA, contact, legal, page counts)
- Slide decks: 1280×720 stages sized in
%(nevervw/vh); readable content ≥48px from edges; inspect the exported PDF for clipped type
On updates, leave content empty unless copy changes. Keep the same format unless the user wants a different medium.
Allowed uploads
.png, .jpg/.jpeg, .gif, .pdf only. SVG, WebP, JSON, and brand-kit files are rejected (400). Put colors and fonts in instructions.
Formats
| Need | Slug |
|---|---|
| Marketing / product page | landing-page |
| Personal site, links hub | portfolio, link-in-bio |
| Slides | pitch-deck, slide-deck |
| Long print document | report, proposal, whitepaper, case-study |
| Flyer / A4 poster | poster, brochure |
| Business paperwork | invoice, receipt, contract, nda |
| Career | resume / cv, cover-letter |
| Single image / card | business-card, social-card, og-image, banner |
| Events | invitation, ticket, certificate, menu |
email-newsletter | |
| Data / structure | infographic, dashboard, timeline, roadmap, org-chart |
All 37 slugs: landing-page link-in-bio portfolio lookbook slide-deck presentation pitch-deck invoice receipt resume cv cover-letter proposal case-study report contract nda certificate whitepaper brochure menu social-card og-image banner business-card poster ticket boarding-pass coupon voucher invitation email-newsletter infographic timeline roadmap org-chart dashboard.
Report to the user
After every run (and again after export or publish): viewer_url, job_id, run_id, status, charge_usd. After export: download_url. After a requested publish: public_url. Never fabricate URLs. Previews expire; IDs do not.
Top skills in this category
Wechat Article Search
@wuchubuzai2018搜索微信公众号文章技能。通过微信搜索获取文章列表,覆盖科技/AI、社会热点、财经、教育、职场等各类中文资讯;可按关键词检索并返回标题、概要、发布时间、来源公众号与链接。当用户需要查找微信公众号文章、整理参考资料或快速获取文章信息时使用此技能。
YouTube
@byungkyuYouTube Data API integration with managed OAuth. Search videos, manage playlists, access channel data, and interact with comments. Use this skill when users want to interact with YouTube. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a YouTube connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a YouTube action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with YouTube examples; they add no YouTube capability - YouTube is not an event source, a trigger cannot read YouTube data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).
gmail
@byungkyuGmail API integration with managed OAuth. Read, send, and manage emails, threads, labels, and drafts. Use this skill when users want to interact with Gmail. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a Gmail connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Gmail action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Gmail examples; they add no Gmail capability - Gmail is itself an event source, so its own events are in `references/google-mail/triggers.md`, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).
ATXP
@emilioaccAccess ATXP paid API tools for web search, AI image generation, music creation, video generation, X/Twitter search, email, and agent account management. Use...
WhatsApp Business
@byungkyuWhatsApp Business API integration with managed OAuth. Send messages, manage templates, and handle conversations. Use this skill when users want to interact with WhatsApp Business. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a WhatsApp Business connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a WhatsApp Business action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with WhatsApp Business examples; they add no WhatsApp Business capability - WhatsApp Business is not an event source, a trigger cannot read WhatsApp Business data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).