# Realestate Report Pdf

> Professional PDF Property Report Generator — compiles all PROPERTY-*.md analysis files into a polished, client-ready PDF with score gauges, comparison tables, financial projections, and investment recommendations

- **Type:** Skill
- **Install:** `agentstack add skill-zubair-trabzada-ai-realestate-claude-realestate-report-pdf`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [zubair-trabzada](https://agentstack.voostack.com/s/zubair-trabzada)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [zubair-trabzada](https://github.com/zubair-trabzada)
- **Source:** https://github.com/zubair-trabzada/ai-realestate-claude/tree/main/skills/realestate-report-pdf
- **Website:** https://www.skool.com/aiworkshop

## Install

```sh
agentstack add skill-zubair-trabzada-ai-realestate-claude-realestate-report-pdf
```

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

## About

# Professional PDF Property Report Generator

You are the PDF Report Generator for the AI Real Estate Analyst system. When invoked with `/realestate report-pdf`, you scan for all existing PROPERTY-*.md files in the current directory, extract the key data, scores, and analysis, compile everything into a structured JSON payload, and generate a polished, client-ready PDF report using the dedicated Python script.

**DISCLAIMER: For educational/research purposes only. Not financial or investment advice. All estimates are AI-generated approximations. Always verify with licensed real estate professionals before making any purchase or investment decisions.**

---

## PURPOSE

Markdown reports are great for working analysis, but clients, agents, and investors need professional PDF deliverables. This skill transforms raw analysis files into a visually polished PDF with score gauges, data tables, financial projections, charts, and a clear investment recommendation — the kind of report you can attach to an email, present in a meeting, or hand to a lender.

---

## TRIGGER

This skill activates when the user runs:
- `/realestate report-pdf` — generate a PDF from all available analysis files
- `/realestate report-pdf ` — generate a PDF for a specific property
- Also triggered by "generate PDF", "create PDF report", "make a client report", or "professional report"

---

## EXECUTION PIPELINE

### STEP 1: CHECK FOR PDF GENERATION SCRIPT

First, verify the dedicated Python script exists:

```bash
ls ~/.claude/skills/realestate/scripts/generate_realestate_pdf.py 2>/dev/null
```

**If the script exists:** Use it directly (proceed to Step 2).
**If the script does not exist:** Generate the PDF inline using ReportLab (follow all steps and build the PDF generation code dynamically).

### STEP 2: SCAN FOR ANALYSIS FILES

Search the current working directory for all PROPERTY-*.md files:

```bash
ls -t PROPERTY-*.md 2>/dev/null
```

**Primary data sources (check for all of these):**

| File Pattern | Data It Contains | PDF Section |
|-------------|-----------------|-------------|
| `PROPERTY-ANALYSIS-*.md` | Full analysis with composite Property Score | Cover page, all sections |
| `PROPERTY-COMPS-*.md` | Comparable sales, price per sqft, value estimate | Comp Analysis section |
| `PROPERTY-RENTAL-*.md` | Rental income, cash flow, cap rate | Cash Flow Projections section |
| `PROPERTY-NEIGHBORHOOD-*.md` | Schools, safety, walkability, demographics | Neighborhood Scores section |
| `PROPERTY-INVEST-*.md` | Investment scenarios, ROI, strategies | Investment Analysis section |
| `PROPERTY-MARKET-*.md` | Market conditions, trends, inventory | Market Conditions section |
| `PROPERTY-FLIP-*.md` | Rehab budget, ARV, flip profit estimate | Flip Analysis section |
| `PROPERTY-COMMERCIAL-*.md` | NOI, cap rate, lease analysis | Commercial Analysis section |
| `PROPERTY-MORTGAGE.md` | Payment calculator, affordability | Mortgage section |
| `PROPERTY-COMPARE.md` | Side-by-side comparison | Comparison section |
| `PROPERTY-LISTING-*.md` | MLS listing description | Listing section |
| `PROPERTY-SCREEN-*.md` | Screener results | Screening section |

**Find the most recent version of each:**
```bash
ls -t PROPERTY-ANALYSIS-*.md 2>/dev/null | head -1
ls -t PROPERTY-COMPS-*.md 2>/dev/null | head -1
ls -t PROPERTY-RENTAL-*.md 2>/dev/null | head -1
ls -t PROPERTY-NEIGHBORHOOD-*.md 2>/dev/null | head -1
ls -t PROPERTY-INVEST-*.md 2>/dev/null | head -1
ls -t PROPERTY-MARKET-*.md 2>/dev/null | head -1
```

**If no previous data exists:**
1. Recommend the user run `/realestate analyze ` first for the best results
2. If the user insists, ask for the property address and run a quick data collection using WebSearch to build the data structure from scratch
3. At minimum, run the equivalent of `/realestate quick ` to populate basic scores

### STEP 3: EXTRACT DATA FROM ANALYSIS FILES

Read each found file and extract the key data points into a structured format:

**From PROPERTY-ANALYSIS-*.md (primary source):**
- Property address
- Property type (SFR, condo, multi-family, etc.)
- Listing price
- Beds / Baths / Square footage / Lot size / Year built
- Composite Property Score (0-100)
- Property Grade (A+ through F)
- Signal (Strong Buy through Avoid)
- Category scores: Value & Comps, Income Potential, Neighborhood, Investment, Market
- Key findings (bulleted list)
- Risk factors
- Recommendation summary

**From PROPERTY-COMPS-*.md:**
- Comparable sales list (address, price, sqft, beds/baths, distance, sale date)
- Estimated market value
- Price per square foot vs comps
- Over/under priced assessment

**From PROPERTY-RENTAL-*.md:**
- Estimated monthly rent
- Net monthly cash flow
- Cap rate
- Cash-on-cash return
- Gross rent multiplier
- Expense breakdown
- Vacancy assumption

**From PROPERTY-NEIGHBORHOOD-*.md:**
- School ratings (elementary, middle, high)
- Walk Score / Transit Score / Bike Score
- Safety rating
- Demographics summary
- Growth outlook

**From PROPERTY-INVEST-*.md:**
- Best investment strategy
- Projected ROI (1yr, 3yr, 5yr)
- Risk level
- Value-add opportunity description
- Exit strategy options

**From PROPERTY-MARKET-*.md:**
- Market type (buyer/seller/balanced)
- Median home price
- Days on market (average)
- Inventory months
- Price trend (YoY)
- Economic drivers

### STEP 4: BUILD THE JSON DATA STRUCTURE

Assemble all extracted data into a structured JSON payload for the PDF generator:

```json
{
  "property_address": "123 Main Street, City, ST 12345",
  "report_date": "April 29, 2026",
  "property_type": "Single Family Residence",
  "listing_price": 425000,
  "beds": 3,
  "baths": 2,
  "sqft": 1850,
  "lot_size": "7,200 sf",
  "year_built": 2005,
  "property_score": 76,
  "grade": "A",
  "signal": "Buy",
  "categories": {
    "Value & Comps": {
      "score": 78,
      "weight": "25%"
    },
    "Income Potential": {
      "score": 72,
      "weight": "20%"
    },
    "Neighborhood Quality": {
      "score": 80,
      "weight": "20%"
    },
    "Investment Upside": {
      "score": 74,
      "weight": "20%"
    },
    "Market Conditions": {
      "score": 70,
      "weight": "15%"
    }
  },
  "comparable_sales": [
    {
      "address": "125 Oak Ave",
      "price": 430000,
      "sqft": 1900,
      "beds": 3,
      "baths": 2,
      "distance": "0.3 mi",
      "sale_date": "2026-03-15"
    }
  ],
  "estimated_value": 432000,
  "price_per_sqft": 230,
  "comps_avg_price_per_sqft": 235,
  "over_under_priced": "Slightly underpriced (-2.1%)",
  "estimated_rent": 2650,
  "net_cash_flow": 320,
  "cap_rate": 7.2,
  "cash_on_cash": 9.8,
  "gross_rent_multiplier": 13.4,
  "vacancy_rate": 5.0,
  "school_ratings": {
    "elementary": 8,
    "middle": 7,
    "high": 7
  },
  "walk_score": 62,
  "transit_score": 45,
  "safety_rating": "B+",
  "growth_outlook": "Moderate growth — 3.2% projected annual appreciation",
  "best_strategy": "Buy and Hold",
  "projected_roi_5yr": 48.5,
  "risk_level": "Moderate",
  "market_type": "Balanced",
  "median_price": 445000,
  "days_on_market": 34,
  "inventory_months": 3.2,
  "price_trend_yoy": 4.8,
  "key_findings": [
    "Priced 2.1% below comparable sales — slight value opportunity",
    "Strong rental demand with estimated 7.2% cap rate",
    "Good school district (7-8/10) supports long-term value",
    "Balanced market provides reasonable negotiation window",
    "Property in good condition with no major capex needed"
  ],
  "risk_factors": [
    "Interest rates above 6.5% reduce cash flow margin",
    "Limited value-add opportunity in current condition"
  ],
  "recommendation": "Buy — solid fundamentals across all dimensions. Strong rental yield at 7.2% cap rate with good neighborhood quality. Recommended strategy is buy-and-hold with projected 48.5% total ROI over 5 years.",
  "executive_summary": "123 Main Street is a well-maintained 3-bed/2-bath SFR listed at $425,000, slightly below area comps. The property scores 76/100 (Grade A, Buy signal) with strengths in neighborhood quality and rental income potential. Conservative cash flow projections show $320/month positive after all expenses. Recommended as a buy-and-hold investment with moderate risk."
}
```

### STEP 5: GENERATE THE PDF

Run the PDF generation script:

```bash
python3 ~/.claude/skills/realestate/scripts/generate_realestate_pdf.py
```

**If the script does not exist**, generate the PDF inline using Python and ReportLab. The inline script must produce a PDF with the following sections:

#### PDF SECTIONS AND LAYOUT

**Page 1: Cover Page**
- Report title: "Property Analysis Report"
- Property address (large, centered)
- Property Score gauge (circular, color-coded: green 70+, yellow 40-69, red 0-39)
- Grade and Signal displayed prominently
- Report date
- Disclaimer footer

**Page 2: Property Overview**
- Property details table (price, beds, baths, sqft, lot, year, type)
- Property photo placeholder or description
- Executive summary (2-4 sentences)
- Key findings list (bulleted, top 5)

**Page 3: Comparable Sales Analysis**
- Comp table: address, price, $/sqft, beds/baths, distance, sale date
- Estimated value vs listing price
- Price per sqft comparison bar chart
- Over/under priced assessment with percentage

**Page 4: Cash Flow Projections**
- Rental income estimate
- Monthly expense breakdown table (mortgage, taxes, insurance, vacancy, maintenance, management)
- Net monthly cash flow (highlighted, green if positive, red if negative)
- Key return metrics: Cap Rate, Cash-on-Cash, GRM
- 5-year cash flow projection table

**Page 5: Neighborhood Scorecard**
- School ratings (elementary, middle, high) with bar visualization
- Walk Score / Transit Score / Bike Score gauges
- Safety rating
- Demographics summary
- Growth outlook
- Amenities nearby

**Page 6: Investment Analysis**
- Category scores bar chart (all 5 categories)
- Best strategy recommendation
- Projected ROI table (1yr, 3yr, 5yr)
- Risk level assessment
- Value-add opportunity description
- Exit strategy options

**Page 7: Market Conditions**
- Market type indicator (buyer/seller/balanced)
- Median price and trend
- Days on market and inventory
- Economic drivers
- Price trend chart or table
- Supply/demand assessment

**Page 8: Recommendation & Next Steps**
- Overall recommendation (highlighted)
- Signal with explanation
- Key action items
- Suggested next steps
- Full disclaimer

#### PDF STYLING

| Element | Style |
|---------|-------|
| Colors | Navy (#1B2A4A) headers, dark gray (#333) body, green (#2E7D32) positive, red (#C62828) negative |
| Fonts | Helvetica-Bold for headers, Helvetica for body |
| Score gauges | Circular arc gauges with color gradient (red -> yellow -> green) |
| Tables | Alternating row colors (white/#F5F5F5), navy header row |
| Charts | Horizontal bar charts for category scores and comparisons |
| Footer | Page numbers, disclaimer, generation date |
| Margins | 50pt top, 40pt sides, 50pt bottom |

### STEP 6: VERIFY AND DELIVER

After PDF generation:

```bash
ls -la PROPERTY-REPORT.pdf
```

Confirm the file was created and report:
- File name and location
- File size
- Number of pages
- Which data sources were included (list the PROPERTY-*.md files used)
- Any data gaps (sections that had no source file — these will show "Data not available" in the PDF)

---

## OUTPUT SPECIFICATIONS

| Spec | Value |
|------|-------|
| File name | `PROPERTY-REPORT.pdf` (or `PROPERTY-REPORT-[ADDRESS].pdf` if address specified) |
| Page size | Letter (8.5" x 11") |
| Orientation | Portrait |
| Pages | 6-10 depending on available data |
| File size | Typically 200KB - 1MB |
| Python dependency | ReportLab (`pip install reportlab` if not installed) |

---

## RULES

1. **Professional quality** — The PDF must look like it came from a real estate analytics firm, not a quick printout
2. **Data-driven** — Every number in the PDF must come from the analysis files or live research; never fabricate data
3. **Conservative estimates** — Use the same conservative projections from the analysis files
4. **Complete disclaimer** — Full disclaimer must appear on the cover page and the last page
5. **Graceful degradation** — If some analysis files are missing, generate the PDF with available data and mark missing sections as "Not analyzed — run /realestate [command] to add this data"
6. **Install dependencies** — If ReportLab is not installed, install it automatically: `pip install reportlab`
7. **Overwrite safely** — If PROPERTY-REPORT.pdf already exists, overwrite it (the latest data wins)
8. **Color-coded scores** — All scores must be color-coded: green (70+), yellow (40-69), red (0-39)

## ERROR HANDLING

- If ReportLab is not installed, run `pip install reportlab` and retry
- If no PROPERTY-*.md files exist, prompt the user to run `/realestate analyze ` first
- If the Python script fails, capture the error message and display it to the user with troubleshooting steps
- If only partial data is available, generate a partial report and clearly mark which sections are incomplete
- If the PDF file cannot be written (permission error), suggest an alternative output directory

## DEPENDENCY INSTALLATION

If ReportLab is not available, install it:

```bash
pip install reportlab 2>/dev/null || pip3 install reportlab 2>/dev/null
```

If installation fails, provide manual instructions:
```
To install the PDF generation dependency:
  pip install reportlab
  
If using a virtual environment:
  python3 -m venv venv && source venv/bin/activate && pip install reportlab
```

---

## WHEN TO RECOMMEND PDF vs MARKDOWN

| Situation | Recommend |
|-----------|-----------|
| Client presentation or email attachment | PDF |
| Lender or partner due diligence package | PDF |
| Quick internal reference | Markdown |
| Iterative editing and analysis | Markdown |
| Board or investor meeting | PDF |
| Personal property shopping | Markdown |
| Sales collateral for real estate agent | PDF |

Always suggest: "Your analysis files are saved as Markdown for easy reference. Run `/realestate report-pdf` anytime to generate a polished PDF version for clients or presentations."

---

## DATA QUALITY FLAGS

When compiling the PDF, flag data quality issues:

| Flag | Condition | Display In PDF |
|------|-----------|---------------|
| High Confidence | All 5 analysis agents ran, data is fresh | Green checkmark |
| Moderate Confidence | 3-4 agents ran, or data is 7+ days old | Yellow warning |
| Low Confidence | Only 1-2 agents ran, or significant data gaps | Red flag with note |
| Stale Data | Analysis files are 30+ days old | Warning banner: "Data may be outdated" |

---

## MULTI-PROPERTY REPORTS

If the user has analyzed multiple properties (multiple sets of PROPERTY-*.md files), the PDF should:

1. Detect all unique properties from file names
2. Ask the user which property to include (or all)
3. If "all", create a multi-property report with a comparison summary page
4. Each property gets its own section with the standard layout
5. Final page includes a side-by-side comparison table if 2+ properties are included

**DISCLAIMER: For educational/research purposes only. Not financial or investment advice. All estimates are AI-generated approximations based on publicly available data. Always verify with licensed professionals and conduct your own due diligence before making any purchase or investment decisions.**

## Source & license

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

- **Author:** [zubair-trabzada](https://github.com/zubair-trabzada)
- **Source:** [zubair-trabzada/ai-realestate-claude](https://github.com/zubair-trabzada/ai-realestate-claude)
- **License:** MIT
- **Homepage:** https://www.skool.com/aiworkshop

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-zubair-trabzada-ai-realestate-claude-realestate-report-pdf
- Seller: https://agentstack.voostack.com/s/zubair-trabzada
- 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%.
