> create-proposal
Create a PandaDoc proposal for a client
curl "https://skillshub.wtf/Harmeet10000/skills/create-proposal?format=md"Tool
Script: execution/create_proposal.py
Usage: Automatically generates PandaDoc proposals from structured input
Process
- Gather Information
-
The user may provide information in one of two formats:
Option A: Structured Bullet Points (if user provides organized data)
- Client First Name
- Client Last Name
- Client Email
- Client Company
- Project Title
- 4 Key Problems (brief)
- 4 Key Benefits (brief)
- Project Duration
- Project Value (Total)
- Platform Costs
- Investment Breakdown (Month 1, Month 2, Month 3+)
Option B: Call Transcript (if user provides a sales call transcript)
- Extract the following from the transcript:
- Client information (name, company, email if mentioned)
- Project context and title
- 4 main problems/pain points discussed
- 4 proposed solutions/benefits
- Any financial terms discussed (duration, value, costs)
- If any critical information is missing from the transcript, ask the user to provide it
-
If information is not already provided in either format, ask the user for the missing details
-
1b. Research Client (Optional)
- Goal: Understand the client's brand voice and current context to personalize the proposal.
- Trigger: If a website URL is provided or can be inferred from the client's email domain (and it's not a generic domain like gmail.com).
- Action:
- Use
read_url_contentto fetch the client's landing page or "About Us" page. - Analyze:
- Brand Voice: (e.g., Professional/Corporate, Friendly/Startup, Technical/Niche)
- Keywords: Key terms they use to describe their own value.
- Recent Context: Any recent news or specific focus areas mentioned on the site.
- Use
- Output: A brief "Client Research Summary" to be used in the next step.
-
Generate Content
- Using the gathered information and the Client Research Summary (if available), generate the following expanded content:
- Problem Expansions: Expand each of the 4 problems into 1-2 strategic paragraphs (max 50 words each).
- Contextualization: Use the Client Research Summary to mirror their industry terms and brand voice where appropriate.
- Tone & Style Guidelines:
- Use direct "you" language (not third-person or passive voice)
- Focus on revenue impact and dollar amounts wherever possible
- Be specific and actionable rather than abstract
- Think "revenue ops" mindset - quantify business impact
- Example: "Right now, your top-of-funnel is converting very poorly to booked meetings. You have no problem generating opportunities; your problem is capitalizing on them. Even a few percentage-point improvement here would lead to many tens of thousands of dollars of additional income"
- Benefit Expansions: Expand each of the 4 benefits into 1-2 implementation-focused paragraphs (max 50 words each).
- Tone & Style Guidelines:
- Use direct "you" language addressing the client
- Emphasize ROI, payback period, and financial outcomes
- Be specific about implementation and expected dollar impact
- Focus on concrete deliverables and measurable results
- Tone & Style Guidelines:
- Slide Footer: "Confidential | [Company] Strategic Initiative | [Date]"
- Contract Footer Slug: "[Company]-[ProjectTitle]-[YYYY-MM]"
- Created Date: Current date in YYYY-MM-DD format.
- Problem Expansions: Expand each of the 4 problems into 1-2 strategic paragraphs (max 50 words each).
- Using the gathered information and the Client Research Summary (if available), generate the following expanded content:
-
Execute Proposal Creation
- Tool:
execution/create_proposal.py - Usage: Save the JSON to a file and run:
python3 execution/create_proposal.py < input.json - Construct a JSON object with the following structure:
{ "client": { "firstName": "...", "lastName": "...", "email": "...", "company": "..." }, "project": { "title": "...", "problems": { "problem01": "[Expanded Problem 1]", "problem02": "[Expanded Problem 2]", "problem03": "[Expanded Problem 3]", "problem04": "[Expanded Problem 4]" }, "benefits": { "benefit01": "[Expanded Benefit 1]", "benefit02": "[Expanded Benefit 2]", "benefit03": "[Expanded Benefit 3]", "benefit04": "[Expanded Benefit 4]" }, "monthOneInvestment": "...", "monthTwoInvestment": "...", "monthThreeInvestment": "..." }, "generated": { "slideFooter": "...", "contractFooterSlug": "...", "createdDate": "..." } } - Run the python script:
# Pass the JSON as a string to the script python3 execution/create_proposal.py <<'EOF' [JSON_CONTENT] EOF - Note: Ensure the JSON is valid and properly escaped if necessary.
- Tool:
-
Send Follow-Up Email
- Immediately after proposal creation, send a follow-up email to the client using the template below.
- Use
gmail.send_emailwithmimeType="text/html"to send the email in HTML format. - Email Template Structure:
- Subject: "Re: [Brief Project Context] Discussion"
- Opening: Thank them for discussing their challenges/goals
- Body: Break down the proposed solution into 2-4 numbered sections with clear headers
- Each section should have:
- Bold section header describing the deliverable (e.g., "1. Tool Consolidation Audit & Migration Plan")
- Brief description of what it accomplishes
- "Steps:" subheading followed by bullet points (use
<ul>and<li>HTML tags)
- Closing: "I'll send you a full proposal for the above shortly. Let me know if you have any questions or want to discuss further."
- Signature: "Thanks, Nick"
- HTML Formatting Requirements:
- Use
mimeType="text/html"parameter - Provide both
body(plain text) andhtmlBody(HTML version) parameters - In HTML: Use
<p>tags for paragraphs,<ul>and<li>for bullet lists - Bold section headers ONLY using
<strong>tags (e.g.,<strong>1. Tool Consolidation Audit & Migration Plan</strong>) - Do NOT bold body text or steps - only section headers
- Avoid RFC 2822 plain text wrapping issues by using HTML format
- Use
-
Notify User
- Show the "internalLink" to the user for review and editing in PandaDoc
- Confirm that the follow-up email was sent successfully
> related_skills --same-repo
> vibe-ppt
Convert this into a web based slide deck using reveal.js. Use the following brand colour and logo. Primary colour: #EE4822 Theme: Light Logo: https://media.licdn.com/dms/image/v2/D560BAQFeaNrDEATcKQ/company-logo_200_200/company-logo_200_200/0/1709465010800/100xengineers_logo?e=2147483647&v=beta&t=qKncqAfB_j9ckDOxOx1eN9EEPocLTbNqliLnAU3sP6c Slide Content: Vibe Coding with Gemini Canvas Slide 1: Vibe Coding with Gemini Canvas Slide 2: What is Vibe Coding? Vibe Coding: Use natural language pro
> upwork-scrape-apply
# Upwork Job Scrape & Apply Pipeline Scrape Upwork jobs matching AI/automation keywords, generate personalized cover letters and proposals, and output to a Google Sheet with one-click apply links. ## Inputs - **Keywords**: List of search terms (default: automation, ai agent, n8n, gpt, workflow, api integration, scraping, ai consultant) - **Limit**: Max jobs to fetch (default: 50) - **Days**: Only jobs from last N days (default: 1 = last 24 hours) - **Filters**: - `--verified-payment`: Only
> ui-ux-pro-max
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: g
> typescript-magician
Designs complex generic types, refactors `any` types to strict alternatives, creates type guards and utility types, and resolves TypeScript compiler errors. Use when the user asks about TypeScript (TS) types, generics, type inference, type guards, removing `any` types, strict typing, type errors, `infer`, `extends`, conditional types, mapped types, template literal types, branded/opaque types, or utility types like `Partial`, `Record`, `ReturnType`, and `Awaited`.