From sales
Generate tailored sales assets (landing pages, decks, one-pagers, workflow demos) from your deal context. Describe your prospect, audience, and goal — get a polished, branded asset ready to share with customers.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sales:create-an-assetThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate custom sales assets tailored to your prospect, audience, and goals. Supports interactive landing pages, presentation decks, executive one-pagers, and workflow/architecture demos.
Generate custom sales assets tailored to your prospect, audience, and goals. Supports interactive landing pages, presentation decks, executive one-pagers, and workflow/architecture demos.
Lark-native execution (depth core: LARK-PATTERNS, LARK-FUSION; tool map in CONNECTORS.md). The asset generation (HTML page / one-pager / workflow demo) is the specialty layer — kept as-is. Only context-in and delivery-out become Lark. Context (Phase 0-1): pull deal context from the Lark Base CRM (
lark_base_search, requiressearch_fields; narrow withselect_fields— base_search does NOT supportjq, P5); pull prior conversation materials from Minutes (lark_minutes_search, participant_ids="me", P6) and chat (lark_im_search); pull existing collateral from Wiki/Docs (lark_doc_search,lark_doc_fetch). Resolve named contacts vialark_contact_search(P1). Delivery (Phase 6): for the Deck-style format, build a real Lark deck — delegate to thelark-slidesskill (don't fake slides in HTML). For HTML assets, deploy via thelark-appsskill (Miaoda public URL) or upload to Drive (lark_drive_upload); land a durable copy/summary in Wiki (lark_wiki_node_create, P8); and announce "asset ready" as an interactive card with a link button (lark_im_card_send, P4).
Invoke this skill when:
/create-an-asset or /create-an-asset [CompanyName]This skill creates professional sales assets by gathering context about:
The skill then researches, structures, and builds a polished, branded asset ready to share with customers.
From the user's email domain, identify what company they work for.
Actions:
"[domain]" company products services site:linkedin.com OR site:crunchbase.com| Scenario | Action |
|---|---|
| Single-product company | Auto-populate seller context |
| Multi-product company | Ask: "Which product or solution is this asset for?" |
| Consultant/agency/generic domain | Ask: "What company or product are you representing?" |
| Unknown/startup | Ask: "Briefly, what are you selling?" |
Store seller context:
seller:
company: "[Company Name]"
product: "[Product/Service]"
value_props:
- "[Key value prop 1]"
- "[Key value prop 2]"
- "[Key value prop 3]"
differentiators:
- "[Differentiator 1]"
- "[Differentiator 2]"
pricing_model: "[If publicly known]"
Persist to knowledge base for future sessions. On subsequent invocations, confirm: "I have your seller context from last time — still selling [Product] at [Company]?"
Ask the user:
| Field | Prompt | Required |
|---|---|---|
| Company | "Which company is this asset for?" | ✓ Yes |
| Key contacts | "Who are the key contacts? (names, roles)" | No |
| Deal stage | "What stage is this deal?" | ✓ Yes |
| Pain points | "What pain points or priorities have they shared?" | No |
| Past materials | "Upload any conversation materials (transcripts, emails, notes, call recordings)" | No |
Auto-pull from Lark before asking (skip questions you can answer): the deal/account record from the Lark Base CRM (
lark_base_searchwithsearch_fields=["Account Name"]+select_fields=["Stage","Pain Points","Notes"]— base_search REQUIRES search_fields and does NOT support jq; discover field names vialark_api GET /open-apis/bitable/v1/apps/{base}/tables/{table}/fieldsif unknown, P5); prior call transcripts + AI summaries from Minutes (lark_minutes_search, participant_ids="me", P6); internal chatter vialark_im_search; existing collateral vialark_doc_search. Resolve named contacts toopen_idwithlark_contact_search(P1).
Deal stage options:
Ask the user:
| Field | Prompt | Required |
|---|---|---|
| Audience type | "Who's viewing this?" | ✓ Yes |
| Specific roles | "Any specific titles to tailor for? (e.g., CTO, VP Engineering, CFO)" | No |
| Primary concern | "What do they care most about?" | ✓ Yes |
| Objections | "Any concerns or objections to address?" | No |
Audience type options:
Primary concern options:
Ask the user:
| Field | Prompt | Required |
|---|---|---|
| Goal | "What's the goal of this asset?" | ✓ Yes |
| Desired action | "What should the viewer do after seeing this?" | ✓ Yes |
Goal options:
Ask the user: "What format works best for this?"
| Format | Description | Best For |
|---|---|---|
| Interactive landing page | Multi-tab page with demos, metrics, calculators | Exec alignment, intros, value prop |
| Deck-style | Native Lark slides (delegate to lark-slides), presentation-ready | Formal meetings, large audiences |
| One-pager | Single-scroll executive summary | Leave-behinds, quick summaries |
| Workflow / Architecture demo | Interactive diagram with animated flow | Technical deep-dives, POC demos, integrations |
First, parse from user's description. Look for:
Then ask for any gaps:
| If Missing... | Ask... |
|---|---|
| Components unclear | "What systems or components are involved? (databases, APIs, AI, middleware, etc.)" |
| Flow unclear | "Walk me through the step-by-step flow" |
| Human touchpoints unclear | "Where does a human interact in this workflow?" |
| Scenario vague | "What's a concrete example scenario to demo?" |
| Integration specifics | "Any specific tools or platforms to highlight?" |
| Level | Indicators | Research Depth |
|---|---|---|
| Rich | Transcripts uploaded, detailed pain points, clear requirements | Light — fill gaps only |
| Moderate | Some context, no transcripts | Medium — company + industry |
| Sparse | Just company name | Deep — full research pass |
Prospect basics
"[Company]" annual report investor presentation 2025 2026"[Company]" CEO strategy priorities 2025 2026Leadership
"[Company]" CEO CTO CIO 2025Brand colors
"[Company]" brand guidelinesIndustry context
"[Industry]" trends challenges 2025 2026Technology landscape
"[Company]" technology stack tools platformsCompetitive context
"[Company]" vs [seller's competitors]| Purpose | Recommended Sections |
|---|---|
| Intro | Company Fit → Solution Overview → Key Use Cases → Why Us → Next Steps |
| Discovery follow-up | Their Priorities → How We Help → Relevant Examples → ROI Framework → Next Steps |
| Technical deep-dive | Architecture → Security & Compliance → Integration → Performance → Support |
| Exec alignment | Strategic Fit → Business Impact → ROI Calculator → Risk Mitigation → Partnership |
| POC proposal | Scope → Success Criteria → Timeline → Team → Investment → Next Steps |
| Deal close | Value Summary → Pricing → Implementation Plan → Terms → Sign-off |
Audience adjustments:
Build this as a native Lark deck — delegate to the lark-slides skill (it speaks the slide
XML protocol; don't hand-roll). Same sections as the landing page, formatted as linear slides:
1. Title slide (Prospect + Seller logos, partnership framing)
2. Agenda
3-N. One section per slide (or 2-3 slides for dense sections)
N+1. Summary / Key takeaways
N+2. Next steps / CTA
N+3. Appendix (optional — detailed specs, pricing, etc.)
Slide principles:
Condense to single-scroll format:
┌─────────────────────────────────────┐
│ HERO: "[Prospect Goal] with [Product]" │
├─────────────────────────────────────┤
│ KEY POINT 1 │ KEY POINT 2 │ KEY POINT 3 │
│ [Icon + 2-3 │ [Icon + 2-3 │ [Icon + 2-3 │
│ sentences] │ sentences] │ sentences] │
├─────────────────────────────────────┤
│ PROOF POINT: [Metric, quote, or case study] │
├─────────────────────────────────────┤
│ CTA: [Clear next action] │ [Contact info] │
└─────────────────────────────────────┘
Structure based on complexity:
| Complexity | Components | Structure |
|---|---|---|
| Simple | 3-5 | Single-view diagram with step annotations |
| Medium | 5-10 | Zoomable canvas with step-by-step walkthrough |
| Complex | 10+ | Multi-layer view (overview → detailed) with guided tour |
Standard elements:
[Scenario Name] — Powered by [Seller Product]All content should:
Headline: "[Prospect's Goal] with [Seller's Product]"
Subhead: Tie to their stated priority or top industry challenge
Metrics: 3-4 key facts about the prospect (shows we did homework)
Reference specific pain points from conversation:
- Use their exact words where possible
- Show we listened and understood
- Connect each to how we help
For each pain point:
├── The challenge (in their words)
├── How [Product] addresses it
├── Proof point or example
└── Outcome / benefit
3-5 relevant use cases:
├── Visual mockup or interactive demo
├── Business impact (quantified if possible)
├── "How it works" — 3-4 step summary
└── Relevant to their industry/role
Interactive calculator with:
├── Inputs relevant to their business (from research)
│ ├── Number of users/developers
│ ├── Current costs or time spent
│ └── Expected improvement %
├── Outputs:
│ ├── Annual value / savings
│ ├── Cost of solution
│ ├── Net ROI
│ └── Payback period
└── Assumptions clearly stated (editable)
├── Differentiators vs. alternatives they might consider
├── Trust, security, compliance positioning
├── Support and partnership model
└── Customer proof points (logos, quotes, case studies)
├── Clear action aligned to Purpose (c)
├── Specific next step (not vague "let's chat")
├── Contact information
├── Suggested timeline
└── What happens after they take action
For each system, define:
component:
id: "snowflake"
label: "Snowflake Data Warehouse"
type: "database" # database | api | ai | middleware | human | document | output
icon: "database"
description: "Financial performance data"
brand_color: "#29B5E8"
Component types:
human — Person initiating or receivingdocument — PDFs, contracts, filesai — AI/ML models, agentsdatabase — Data stores, warehousesapi — APIs, servicesmiddleware — Integration platforms, MCP serversoutput — Dashboards, reports, notificationsFor each step, define:
step:
number: 1
from: "human"
to: "claude"
action: "Initiates performance review"
description: "Sarah, a Brand Analyst at [Prospect], kicks off the quarterly review..."
data_example: "Review request: Nike brand, Q4 2025"
duration: "~1 second"
value_note: "No manual data gathering required"
Write a clear, specific walkthrough:
Step 1: Human Trigger
"Sarah, a Brand Performance Analyst at Centric Brands, needs to review
Q4 performance for the Nike license agreement. She opens the review
dashboard and clicks 'Start Review'..."
Step 2: Contract Analysis
"Claude retrieves the Nike contract PDF and extracts the performance
obligations: minimum $50M revenue, 12% margin requirement, quarterly
reporting deadline..."
Step 3: Data Query
"Claude formulates a query and sends it to Workato DataGenie:
'Get Q4 2025 revenue and gross margin for Nike brand from Snowflake'..."
Step 4: Results & Synthesis
"Snowflake returns the data. Claude compares actuals vs. obligations:
Revenue $52.3M ✓ (exceeded by $2.3M)
Margin 11.2% ⚠️ (0.8% below threshold)..."
Step 5: Insight Delivery
"Claude synthesizes findings into an executive summary with
recommendations: 'Review promotional spend allocation to improve
margin performance...'"
:root {
/* === Prospect Brand (Primary) === */
--brand-primary: #[extracted from research];
--brand-secondary: #[extracted];
--brand-primary-rgb: [r, g, b]; /* For rgba() usage */
/* === Dark Theme Base === */
--bg-primary: #0a0d14;
--bg-elevated: #0f131c;
--bg-surface: #161b28;
--bg-hover: #1e2536;
/* === Text === */
--text-primary: #ffffff;
--text-secondary: rgba(255, 255, 255, 0.7);
--text-muted: rgba(255, 255, 255, 0.5);
/* === Accent === */
--accent: var(--brand-primary);
--accent-hover: var(--brand-secondary);
--accent-glow: rgba(var(--brand-primary-rgb), 0.3);
/* === Status === */
--success: #10b981;
--warning: #f59e0b;
--error: #ef4444;
}
/* Primary: Clean, professional sans-serif */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
/* Headings */
h1: 2.5rem, font-weight: 700
h2: 1.75rem, font-weight: 600
h3: 1.25rem, font-weight: 600
/* Body */
body: 1rem, font-weight: 400, line-height: 1.6
/* Captions/Labels */
small: 0.875rem, font-weight: 500
Cards:
var(--bg-surface)Buttons:
var(--accent) background, white textAnimations:
Component Nodes:
.node {
background: var(--bg-surface);
border: 2px solid var(--brand-primary);
border-radius: 12px;
padding: 16px;
min-width: 140px;
}
.node.active {
box-shadow: 0 0 20px var(--accent-glow);
border-color: var(--accent);
}
.node.human {
border-color: #f59e0b; /* Warm color for humans */
}
.node.ai {
background: linear-gradient(135deg, var(--bg-surface), var(--bg-elevated));
border-color: var(--accent);
}
Flow Arrows:
.arrow {
stroke: var(--text-muted);
stroke-width: 2;
fill: none;
marker-end: url(#arrowhead);
}
.arrow.active {
stroke: var(--accent);
stroke-dasharray: 8 4;
animation: flowDash 1s linear infinite;
}
Canvas:
.canvas {
background:
radial-gradient(circle at center, var(--bg-elevated) 0%, var(--bg-primary) 100%),
url("data:image/svg+xml,..."); /* Subtle grid pattern */
overflow: auto;
}
Before building any asset, always ask clarifying questions. This ensures alignment and prevents wasted effort.
First, show the user what you understood:
"Here's what I'm planning to build:
**Asset**: [Format] for [Prospect Company]
**Audience**: [Audience type] — specifically [roles if known]
**Goal**: [Purpose] → driving toward [desired action]
**Key themes**: [2-3 main points to emphasize]
[For workflow demos, also show:]
**Components**: [List of systems]
**Flow**: [Step 1] → [Step 2] → [Step 3] → ...
| Question | Why |
|---|---|
| "Does this match your vision?" | Confirm understanding |
| "What's the ONE thing this must nail to succeed?" | Focus on priority |
| "Tone preference? (Bold & confident / Consultative / Technical & precise)" | Style alignment |
| "Focused and concise, or comprehensive?" | Scope calibration |
After user responds:
"Got it. I have what I need. Building your [format] now..."
Or, if still unclear:
"One more quick question: [specific follow-up]"
Max 2 rounds of questions. If still ambiguous, make a reasonable choice and note: "I went with X — easy to adjust if you prefer Y."
Following all specifications above:
All formats: Self-contained HTML file
<style> tags<script> tagsFile naming: [ProspectName]-[format]-[date].html
CentricBrands-workflow-demo-2026-01-28.htmlDeck-style is the exception — it ships as a native Lark deck via the
lark-slidesskill, not an HTML file.
## ✓ Asset Created: [Prospect Name]
[View your asset](computer:///path/to/file.html)
---
**Summary**
- **Format**: [Interactive Page / Deck / One-Pager / Workflow Demo]
- **Audience**: [Type and roles]
- **Purpose**: [Goal] → [Desired action]
- **Sections/Steps**: [Count and list]
---
**Deployment Options (Lark-native)**
To share this with your customer / team:
- **Public URL (recommended)**: deploy via the **`lark-apps`** skill (Miaoda) → shareable link; set the share scope in-skill
- **Drive**: `lark_drive_upload` the file, then manage view/download permissions
- **Wiki landing page**: `lark_wiki_node_create` a node for the prospect with a summary + link (P8)
- **Announce in chat**: post an **interactive card** (`lark_im_card_send`, P4) with an "Open asset" link button; resolve teammates via `lark_contact_search` (P1)
- **Direct share / embed**: the HTML is fully self-contained — send or iframe it as-is
- **External static hosting**: Netlify/Vercel/S3 still work if the customer is outside Lark
---
**Customization**
Let me know if you'd like to:
- Adjust colors or styling
- Add, remove, or reorder sections
- Refine any messaging or copy
- Change the flow or architecture (for workflow demos)
- Add more interactive elements
- Export as PDF or static images
After delivery, be ready to iterate:
| User Request | Action |
|---|---|
| "Change the colors" | Regenerate with new palette, keep content |
| "Add a section on X" | Insert new section, maintain flow |
| "Make it shorter" | Condense, prioritize key points |
| "The flow is wrong" | Rebuild architecture based on correction |
| "Use our brand instead" | Switch from prospect brand to seller brand |
| "Add more detail on step 3" | Expand that section specifically |
| "Can I get this as a PDF?" | Provide print-optimized version |
Remember: Default to prospect's brand colors, but seller can adjust to their own brand or a neutral palette after initial build.
Before delivering, verify:
Input:
Output structure:
[Tabs]
Strategic Fit | Business Impact | ROI Calculator | Security & Trust | Next Steps
[Strategic Fit tab]
- Acme's stated priorities (from discovery call)
- How [Product] aligns
- Relevant manufacturing customers
Input:
Output structure:
[Interactive canvas with 5 nodes]
Human → Claude → PDF Contracts → Workato → Snowflake
↓
[Results back to Human]
[Step-by-step walkthrough with sample data]
[Controls: Play | Pause | Step | Reset]
Input:
Output structure:
Hero: "Accelerate TechStart's Product Velocity"
Point 1: [Dev productivity]
Point 2: [Code quality]
Point 3: [Time to market]
Proof: "Similar companies saw 40% faster releases"
CTA: "Schedule technical deep-dive"
For workflow demos, use these icon mappings:
| Type | Icon | Example |
|---|---|---|
| human | 👤 or person SVG | User, Analyst, Admin |
| document | 📄 or file SVG | PDF, Contract, Report |
| ai | 🤖 or brain SVG | Claude, AI Agent |
| database | 🗄️ or cylinder SVG | Snowflake, Postgres |
| api | 🔌 or plug SVG | REST API, GraphQL |
| middleware | ⚡ or hub SVG | Workato, MCP Server |
| output | 📊 or screen SVG | Dashboard, Report |
If brand colors cannot be extracted:
| Industry | Primary | Secondary |
|---|---|---|
| Technology | #2563eb | #7c3aed |
| Finance | #0f172a | #3b82f6 |
| Healthcare | #0891b2 | #06b6d4 |
| Manufacturing | #ea580c | #f97316 |
| Retail | #db2777 | #ec4899 |
| Energy | #16a34a | #22c55e |
| Default | #3b82f6 | #8b5cf6 |
Skill created for generalized sales asset generation. Works for any seller, any product, any prospect.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub larkcowork/lark-cowork-plugins --plugin sales