AI-powered automation for analyzing DLA (Defense Logistics Agency) solicitations and generating ready-to-submit quote packages. Built on Claude Code with multi-agent orchestration.
Parses a DLA solicitation PDF against your company's capability statement. Produces a full analysis with go/no-go recommendation, pricing strategy, vendor contacts, and draft outreach emails to send to manufacturers.
/analyze-solicitation
After a manufacturer responds with pricing, generates a formatted DOCX quote document ready for DIBBS submission. Handles compliance representations, pricing markup, delivery terms, and signature block.
/generate-quote results/<solicitation_number>/
- Python 3.10+
- Claude Code CLI
# Create virtual environment and install dependencies
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Drop your capability statement PDF into the
capability statement/folder - Drop your solicitation PDFs into the
solicitations/folder
- Analyze — Run
/analyze-solicitation, select a solicitation, review the recommendation and pricing - Outreach — Send the generated outreach emails (from
05_outreach_messages.md) to approved manufacturers - Quote — When a manufacturer responds, run
/generate-quote results/<solicitation_number>/and paste the manufacturer's email or enter pricing details interactively - Submit — Review the generated DOCX and submit via DIBBS or email to the DLA buyer
The /analyze-solicitation skill runs specialized AI agents in parallel:
| Agent | Model | Purpose |
|---|---|---|
| Extraction | Sonnet | Pulls all key data from the solicitation PDF into structured markdown |
| Capability Analysis | Opus | Cross-references solicitation requirements against your capability statement |
| Pricing | Sonnet | Analyzes procurement history, calculates markup, generates Excel spreadsheet |
| Vendor Research | Opus | Finds manufacturer contact info (emails, phones, RFQ portals) via web search |
| Outreach | Opus | Drafts tailored vendor messages with your company intro and RFQ details |
results/<solicitation_number>/
├── 01_solicitation_summary.md # All key points from the solicitation
├── 02_capability_analysis.md # Gap analysis, go/no-go recommendation, cert instructions
├── 03_pricing_analysis.md # Pricing narrative and bid recommendation
├── 03_pricing_analysis.xlsx # Formatted spreadsheet (3 sheets: history, analysis, bid)
├── 04_vendor_contacts.md # Manufacturer contact info table
├── 05_outreach_messages.md # Tailored outreach emails per vendor
└── 06_full_report.md # Combined Notion-ready summary
The /generate-quote skill takes a manufacturer's response and produces a submission-ready DOCX:
- Compliance check — Verifies your certifications against solicitation requirements, warns about blockers
- Manufacturer quote input — Paste the manufacturer's email/quote directly, or answer a few questions. Extracts unit price, lead time, domestic origin, and price validity
- Pricing calculation — Applies your markup (default 12%) to the manufacturer's unit price, cross-checks against procurement history
- DOCX generation — Produces a formatted quote document with:
- Company letterhead and contact info (from your capability statement)
- Solicitation reference table
- Pricing table with CLIN, unit price, and extended price
- Source information with FAR 19.505 non-manufacturer representation
- Delivery terms
- Compliance representations (Berry Amendment, Buy American, CMMC, SDVOSB)
- Terms and conditions
- Signature block
results/<solicitation_number>/
└── 08_quote.docx # Ready-to-submit quote document
- NMR Waiver Detection: Automatically flags when the Non-Manufacturer Rule is waived (source from any manufacturer regardless of size)
- NAICS Cross-Reference: Checks if your NAICS codes match; explains FAR 19.505 eligibility when they don't
- Certification Gap Analysis: Identifies missing certifications (JCP, CMMC, AS9120, NIST 800-171) with step-by-step instructions to obtain each one
- Surplus Filtering: Excludes surplus material entries from pricing analysis to avoid skewed bids
- Procurement History Trends: Analyzes price trends over time to inform bid strategy
- Quote from Email: Paste a manufacturer's response email and the pipeline extracts pricing automatically
- Generic Design: Works with any company's capability statement — company info is extracted dynamically from your PDF
gov-contracts/
├── solicitations/ # Input: DLA solicitation PDFs (gitignored)
├── capability statement/ # Input: Your capability statement PDF (gitignored)
├── results/ # Output: per-solicitation analysis + quotes (gitignored)
├── scripts/
│ ├── parse_solicitation.py # Solicitation PDF → JSON
│ ├── parse_capability.py # Capability statement PDF → JSON
│ ├── generate_excel.py # Pricing data → formatted Excel workbook
│ └── generate_quote_docx.py # Quote JSON → formatted DOCX document
├── templates/
│ ├── outreach_email.md # Vendor outreach message template
│ └── certification_guide.md # Certification how-to guide
├── .claude/commands/
│ ├── analyze-solicitation.md # Analysis pipeline skill definition
│ └── generate-quote.md # Quote generation skill definition
├── requirements.txt # Python dependencies
└── CLAUDE.md # Agent workflow guidelines
source .venv/bin/activate
# Parse a solicitation PDF → JSON
python3 scripts/parse_solicitation.py solicitations/YOUR_SOLICITATION.PDF > output.json
# Parse capability statement → JSON
python3 scripts/parse_capability.py "capability statement/your-capability-statement.pdf" > cap.json
# Generate pricing Excel (pipe pricing JSON)
echo '{"procurement_history": [...], "solicitation": {...}, "markup_percentage": 12.0}' | \
python3 scripts/generate_excel.py results/pricing.xlsx
# Generate quote DOCX (pipe quote JSON)
echo '{"bls_company": {...}, "solicitation": {...}, ...}' | \
python3 scripts/generate_quote_docx.py results/quote.docx- DLA SF-18 (Standard Form 18 — Request for Quotations)
- Adobe XML Form Module PDFs (standard for all DLA solicitations)