# Proposal And Quote Drafter

> Draft a client proposal and quote from discovery call notes or a brief. Turns raw, unstructured notes into scope, deliverables, timeline, three pricing packages, and a cover letter. Use when writing a client proposal, preparing a quote, или отправляешь КП после звонка. Triggers: 'write a client proposal', 'draft proposal and quote', 'turn my notes into a proposal', 'напиши предложение клиенту', '…

- **Type:** Skill
- **Install:** `agentstack add skill-kirkruglov-claude-skills-kit-proposal-and-quote-drafter`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [KirKruglov](https://agentstack.voostack.com/s/kirkruglov)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [KirKruglov](https://github.com/KirKruglov)
- **Source:** https://github.com/KirKruglov/claude-skills-kit/tree/main/skills/proposal-and-quote-drafter

## Install

```sh
agentstack add skill-kirkruglov-claude-skills-kit-proposal-and-quote-drafter
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Proposal and Quote Drafter

This skill turns raw notes from a discovery call or client brief into a complete, client-ready proposal: executive summary, scope, deliverables, timeline, three pricing packages, and a cover letter. It always outputs a human-review checklist so you catch pricing errors, wrong names, and unrealistic timelines before sending.

**Input:**
- Unstructured notes from a discovery call or client brief (pasted as text, any format, RU or EN)

**Output:**
- Full proposal document (Markdown)
- Cover letter (email-ready text block, 5–7 sentences)
- Human-review checklist (≥4 checkbox items)

---

## Language Detection

Detect the user's language from their message:
- If Russian (or contains Cyrillic): respond in Russian
- If English (or other Latin-script language): respond in English
- If ambiguous: respond in the language of the trigger phrase used

---

## Instructions

### Step 1: Validate Input

1. Check that the user has provided discovery notes or a brief.
   - If input is empty or fewer than 5 words: stop. Return: "Notes are too sparse to build a proposal. Please describe at least: client name, project problem, and proposed solution."
   - If input looks like an already-formatted proposal (contains existing section headers like "## Scope" or "## Pricing"): flag. Return: "This looks like an existing proposal. For revision, describe what to change. This skill generates from raw notes, not from existing documents." Stop.

2. Detect output language.
   - If the user's notes are predominantly in Russian → respond in Russian.
   - If the user explicitly requests a language (e.g., "in English" or "на русском") → use that language regardless of notes language.
   - Default: match the dominant language of the notes.

### Step 2: Parse Notes

Extract the following from the raw notes:

1. **Client information:** client name (company or individual), contact name if mentioned.
2. **Project type:** what kind of service or product is being proposed (e.g., website redesign, marketing campaign, consulting engagement).
3. **Pain points / problem:** what the client wants to solve or achieve.
4. **Deliverables:** specific outputs, features, or services mentioned explicitly or implied.
5. **Timeline:** deadlines, milestones, or constraints mentioned. If none found → note as [TIMELINE].
6. **Budget signals:** pricing, ranges, or constraints mentioned. If none found → mark as [PRICE] and proceed to Step 3.

**Edge Cases:**
- If notes are very sparse (<20 words but not empty): generate a proposal with `[FILL IN]` placeholders for each missing element. Add a note above the proposal: "⚠️ Notes were sparse — complete the [FILL IN] sections before sending."
- If notes are in mixed RU/EN: detect the dominant language, generate in that language, note any key terms preserved from the source language.

### Step 3: Build Pricing Packages

1. Based on the deliverables extracted in Step 2, construct three pricing tiers:
   - **Basic:** Core deliverable only. Fastest/smallest scope.
   - **Standard:** Full deliverable as described. Recommended tier.
   - **Premium:** Full scope + extras (faster delivery, additional features, ongoing support, etc.).

2. If budget signals were found in notes → use them as anchors for pricing.
3. If no budget signals → use `[PRICE]` placeholders for all three tiers. Add a note below the pricing table: "💡 Tip: Base your rates on deliverable complexity, time required, and your market positioning. A common starting point: hourly rate × estimated hours."

### Step 4: Draft the Proposal Document

Generate the full proposal using the output format below. Fill all extracted fields. Use `[FILL IN]` for any section where data was not available in the notes.

Sections to generate:
1. Executive Summary (2–3 sentences: client problem + proposed solution)
2. Scope / Deliverables (bullet list of all deliverables)
3. Timeline (milestones or phases; use `[TIMELINE]` if unknown)
4. Pricing Packages (Basic / Standard / Premium table)
5. Next Steps (what happens after the client accepts)

### Step 5: Draft the Cover Letter

Write an email-ready cover letter (5–7 sentences, no markdown headings inside):
- Open by referencing the discovery call or brief
- State the main value proposition in 1 sentence
- Invite the client to review the proposal and ask questions
- Close with a specific call to action (e.g., "Let's schedule 30 minutes this week to go over the details")

Match the tone and language of the proposal.

### Step 6: Generate Human-Review Checklist

Append a review checklist with at least 4 items. The checklist must include:
- [ ] Verify all pricing figures are accurate and reflect your actual rates
- [ ] Verify client name and company name are spelled correctly
- [ ] Confirm timeline is realistic given your current workload
- [ ] Check that legal/contractual terms match your standard agreement

Add additional items if the notes contain specific risks (e.g., if the client mentioned a hard deadline, add a check for that date).

---

## Output Format

Respond with three labeled sections in this order:

```
## [Client name] — Proposal

**Client:** [name]
**Date:** [today's date]
**Project:** [project title]

---

### Executive Summary
[2–3 sentences: client problem + proposed solution]

### Scope / Deliverables
- [Deliverable 1]
- [Deliverable 2]
- ...

### Timeline
[Milestones or phases, or [TIMELINE] if unknown]

### Pricing Packages

| Package | Price | Includes |
|---------|-------|----------|
| Basic | [PRICE] | [core items] |
| Standard | [PRICE] | [full scope] |
| Premium | [PRICE] | [full scope + extras] |

### Next Steps
[What happens after the client accepts — e.g., "Sign the agreement and pay a 30% deposit to start"]

---

## Cover Letter

[Email-ready text, 5–7 sentences, no headers inside]

---

## ⚠️ Human Review Checklist
- [ ] Verify all pricing figures are accurate
- [ ] Verify client name and company name are spelled correctly
- [ ] Confirm timeline is realistic given your current workload
- [ ] Check legal/contractual terms match your standard agreement
- [ ] [Additional item if context warrants]
```

**Field rules:**
- Use `[FILL IN]` for missing required fields.
- Use `[PRICE]` for missing pricing with the rate-setting tip below the table.
- Cover letter must not contain markdown headings (it is email-ready text).
- Checklist must have ≥4 checkbox items; add more if context warrants.

---

## Negative Cases

- **Empty input (< 5 words):** Stop. Return: "Notes are too sparse to build a proposal. Describe at least: client name, project problem, and proposed solution."
- **Input is an existing proposal:** Flag and stop. Return: "This looks like an existing proposal. For revision, describe what needs to change. This skill generates from raw notes."
- **Input contains no identifiable project or client:** Generate with `[FILL IN]` placeholders for all unidentifiable fields; prepend a `⚠️` warning listing what is missing.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [KirKruglov](https://github.com/KirKruglov)
- **Source:** [KirKruglov/claude-skills-kit](https://github.com/KirKruglov/claude-skills-kit)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-kirkruglov-claude-skills-kit-proposal-and-quote-drafter
- Seller: https://agentstack.voostack.com/s/kirkruglov
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
