skills/sales-proposal-page/SKILL.md
Writes and structure a Qwilr proposal page that closes deals. Use when your proposals look generic and aren't closing, you don't know what sections to include, the pricing table confuses buyers, your proposal doesn't stand out from competitors, or you're staring at a blank Qwilr page and need a structure that sells. Do NOT use for a multi-stakeholder deal room (use /sales-deal-room), reusable team templates (use /sales-proposal-template), or interpreting engagement analytics (use /sales-proposal-analytics).
npx skillsauth add sales-skills/sales sales-proposal-pageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Help the user write and structure a Qwilr proposal page — from section planning through copy and interactive element configuration. Qwilr replaces static PDF proposals with interactive web-based pages that include quote blocks, embedded content, and real-time engagement tracking.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
/sales-deal-room {your question})If the user's request already provides most of this context, skip directly to the relevant step. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end — don't gate your response behind gathering complete context.
Design a section-by-section page structure mapped to Qwilr block types. A strong Qwilr proposal typically follows this flow:
| Section | Qwilr Block Type | Purpose | |---|---|---| | Cover / Hero | Splash block | First impression, prospect's name/logo, one-line value prop | | Executive Summary | Text + Image block | Why this matters to them specifically (2-3 paragraphs max) | | Problem & Solution | Text block or Accordion | Frame the pain, present your solution mapped to their needs | | Scope of Work | Text block or Accordion | What's included, deliverables, timeline | | Pricing | Quote block | Interactive pricing table with line items | | Timeline & Milestones | Text block | Key dates, phases, dependencies | | About Us / Team | Text + Image block | Credibility — relevant team members, case study snippets | | Next Steps / CTA | Accept block | Clear call to action — accept the proposal, sign, or book a call |
Adapt this structure based on the deal context:
isOptional: true on expansion line items (new modules, add-ons, additional seats) so the buyer can self-select what to add beyond the base renewal. This gives the CFO/budget holder control while making the upsell frictionless.Write actual copy for each section, not just placeholders. Follow these principles:
Use {{token}} syntax for any fields the user might want to auto-populate via the Qwilr API later (e.g., {{company_name}}, {{contact_first_name}}, {{deal_amount}}).
If the proposal includes a quote block, design the pricing structure:
fixedCost type for most itemsisOptional: true so the buyer can select/deselectquantity ranges where buyers should choose volume (seats, units)oneOff or recurring (monthly/quarterly/annual) per itemIf the user wants to create the page programmatically via the Qwilr API, generate a POST /pages JSON payload with blocks, tokens, and quote sections. See references/qwilr-api-proposals.md for the full payload structure, field reference, and endpoint list.
Key points:
GET /blocks/saved first to discover available block IDsisPublished: false to review before sendingtokens to substitute CRM data into {{token}} placeholdersDon't generate walls of text. Qwilr is a visual, web-based platform — not a Word doc. Use Qwilr block types (Splash, Accordion, Quote blocks) to break up content. If a section runs longer than 3 paragraphs, restructure it into an Accordion or split it into sub-sections.
Don't forget the interactive pricing/quote block. Claude defaults to writing pricing as plain text. Qwilr's quote block is the product's key differentiator — use it for any proposal that includes pricing. Configure line items, optional add-ons, and quantity selectors.
Don't skip the CTA. Every proposal needs a clear call to action using Qwilr's Accept block. Don't end with "let us know your thoughts" — end with "Accept this proposal" or "Book your kickoff call."
Don't make the proposal too long. Web proposals are not PDFs. Buyers skim. A strong Qwilr proposal is 5-8 sections. If it's longer, consider moving detailed content to a deal room (/sales-deal-room) instead.
Don't forget {{token}} placeholders. If the proposal might be auto-generated via API later, use {{company_name}}, {{contact_first_name}}, etc. throughout — not hardcoded values.
Self-improving: If you discover something not covered here, append it to references/learnings.md with today's date.
User says: "I need a Qwilr proposal for Acme Corp — verbal yes already, $48k/yr for our analytics platform plus an optional onboarding package. Mid-size fintech, buyer is their VP of Data."
Skill does:
recurring annual, plus an "Onboarding" line item marked isOptional: true so the VP can self-select it.Result: A 5-section Qwilr page with an interactive, buyer-selectable pricing table and a clear accept-to-sign CTA — ready to paste into Qwilr or push via the API.
User says: "I'm staring at a blank Qwilr page. Marketing agency pitching a brand refresh to an e-commerce startup that's still comparing vendors. Around $20k."
Skill does:
Result: A persuasive, skimmable proposal structure with real copy that frames the problem before the price.
User says: "Generate the Qwilr API payload for a renewal — base $30k, plus three optional expansion modules at $5k each. I'll auto-fill the company name from HubSpot."
Skill does:
{{company_name}} and {{contact_first_name}} token placeholders throughout the copy.GET /blocks/saved should run first to discover block IDs, then builds a POST /pages payload with isPublished: false.isOptional: true.tokens so HubSpot data substitutes into the {{...}} placeholders.Result: A ready-to-send JSON payload (per references/qwilr-api-proposals.md) that creates an unpublished, token-driven renewal page with self-select expansion upsells.
Cause: Copy was written as long prose instead of being mapped to Qwilr block types, so it ignores the platform's visual, web-based format.
Solution: Restructure any section longer than 3 paragraphs into an Accordion or split it into sub-sections, and map content to Splash, Text+Image, and Quote blocks. Aim for 5-8 sections total; move overflow detail to a deal room (/sales-deal-room).
Cause: Claude defaults to writing pricing as a text table, skipping Qwilr's quote block — its key differentiator.
Solution: Move any priced proposal into a Quote block. Group line items into sections, mark add-ons isOptional: true, set quantity ranges for per-seat pricing, and specify oneOff vs recurring billing per item.
Cause: The POST /pages payload was built without first discovering the available saved block IDs, or it published immediately with no review step.
Solution: Run GET /blocks/saved to retrieve valid block IDs before composing the payload, set isPublished: false so the page can be reviewed before sending, and confirm tokens match the {{token}} placeholders in the copy. See references/qwilr-api-proposals.md for the full field reference.
This skill covers a strategy domain across many platforms. Before pointing the user to any specific platform skill (any /sales-{platform} listed in ## Related skills, e.g., /sales-mailshake, /sales-klaviyo, /sales-apollo), read that platform skill's actual SKILL.md first. The 1-line description in ## Related skills is enough to identify a candidate — it's not enough to commit to it or to write a prompt that invokes it well.
How to read it:
~/.claude/skills/{skill-name}/SKILL.md exists locally, Read it.sales-* skills, WebFetch directly from this repo: https://raw.githubusercontent.com/sales-skills/sales/main/skills/{skill-name}/SKILL.md — e.g., for sales-mailshake: https://raw.githubusercontent.com/sales-skills/sales/main/skills/sales-mailshake/SKILL.md.sales-* skills (third-party), look up {org}/{repo} in ~/.claude/skills/sales-do/references/skill-sources.md if installed and fetch the same skills/{skill-name}/SKILL.md path under that repo.After reading, ground your recommendation in something concrete from the SKILL.md (its scope, a sub-flow, its argument-hint shape, or a "Do NOT use for..." negative trigger). Align any generated invocation with the platform skill's argument-hint. If the platform skill turns out not to fit the user's situation, swap to another or handle the question here directly rather than recommending a poor fit.
/sales-proposal-analytics — Track engagement after sending (who viewed, which sections, when to follow up)/sales-qwilr-automation — Automate proposal creation from CRM data via the Qwilr API/sales-deal-room — For complex multi-stakeholder deals that need multiple pages/sales-proposal-template — Design reusable templates for your whole team/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-dotools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).