Skillshub create-proposal

Create a PandaDoc proposal for a client

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/Harmeet10000/skills/create-proposal" ~/.claude/skills/comeonoliver-skillshub-create-proposal && rm -rf "$T"
manifest: skills/Harmeet10000/skills/create-proposal/SKILL.md
source content

Tool

Script:

execution/create_proposal.py
Usage: Automatically generates PandaDoc proposals from structured input

Process

  1. 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_content
      to 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.
  • Output: A brief "Client Research Summary" to be used in the next step.
  1. 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
      • Slide Footer: "Confidential | [Company] Strategic Initiative | [Date]"
      • Contract Footer Slug: "[Company]-[ProjectTitle]-[YYYY-MM]"
      • Created Date: Current date in YYYY-MM-DD format.
  2. 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.
  3. Send Follow-Up Email

    • Immediately after proposal creation, send a follow-up email to the client using the template below.
    • Use
      gmail.send_email
      with
      mimeType="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) and
        htmlBody
        (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 &amp; Migration Plan</strong>
        )
      • Do NOT bold body text or steps - only section headers
      • Avoid RFC 2822 plain text wrapping issues by using HTML format
  4. Notify User

    • Show the "internalLink" to the user for review and editing in PandaDoc
    • Confirm that the follow-up email was sent successfully