Claude Skills Guide

Claude Code Skills for Real Estate Listing Platforms

Building a real estate listing platform involves managing property data, integrating maps, implementing search filters, and handling media assets. Claude Code provides skills that accelerate development across these areas. This guide covers practical skills for real estate developers.

xlsx: Property Data Management

Real estate platforms rely heavily on structured data—property listings, agent information, pricing history, and neighborhood statistics. The xlsx skill handles spreadsheet operations that power your backend data pipeline.

# Generate property listings from spreadsheet data
import openpyxl

wb = openpyxl.load_workbook('listings.xlsx')
sheet = wb.active

properties = []
for row in sheet.iter_rows(min_row=2, values_only=True):
    properties.append({
        'address': row[0],
        'price': row[1],
        'bedrooms': row[2],
        'sqft': row[3],
        'listing_agent': row[4]
    })

Use this skill to import bulk property data, generate CSV exports for listing feeds, or create dynamic pricing reports. The skill supports formulas, so you can calculate metrics like price-per-square-foot automatically:

=A2/B2  // Price per sqft for each listing
=AVERAGE(C2:C100)  // Average property price

pdf: Property Document Generation

Real estate transactions require documents—listing agreements, disclosure forms, and marketing flyers. The pdf skill automates PDF creation from property data.

from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer

def generate_listing_sheet(property_data):
    doc = SimpleDocTemplate(f"listing_{property_data['id']}.pdf", pagesize=letter)
    story = []
    
    story.append(Paragraph(f"<b>{property_data['address']}</b>", "Title"))
    story.append(Spacer(1, 12))
    story.append(Paragraph(f"Price: ${property_data['price']:,}", "Normal"))
    story.append(Paragraph(f"Beds: {property_data['bedrooms']} | Baths: {property_data['bathrooms']}", "Normal"))
    story.append(Paragraph(f"SQFT: {property_data['sqft']}", "Normal"))
    
    doc.build(story)

This approach generates consistent marketing materials for each listing. You can also merge multiple PDFs into a neighborhood guide or annual report.

docx: Listing Descriptions and Marketing Copy

The docx skill creates and edits Word documents for listing descriptions, agent contracts, and client communications. For real estate platforms, this skill helps maintain consistent branding across documents.

/docx
Create a listing description document for this property:
- Address: 123 Oak Street
- Type: Single-family home, 3 bed / 2 bath, 1,850 sqft
- Features: Updated kitchen, hardwood floors, attached garage, private backyard
- Price: $485,000

Include a professional description paragraph, feature highlights list,
and a section with neighborhood amenities.

Invoke the docx skill whenever you add a new property to auto-generate listing content from your property data.

canvas-design: Property Visualization

Visual marketing drives real estate engagement. The canvas-design skill generates promotional graphics, social media images, and email campaign banners without leaving your development environment.

# Create a property highlight image
"Generate a 1200x630px listing card showing a modern home with price tag,
bed/bath count, and 'View Details' button in the bottom right"

This skill produces PNG or PDF outputs that you can directly embed in your platform’s marketing emails or social posts. Use it for:

Map Integration: Location-Based Features

Real estate platforms require map integrations. While Claude Code doesn’t directly handle map APIs, the skills here support the coordinate data that drives mapping libraries.

// Transform property coordinates for map display
const properties = [
  { address: "123 Main St", lat: 40.7128, lng: -74.0060, price: 850000 },
  { address: "456 Oak Ave", lat: 40.7580, lng: -73.9855, price: 1200000 }
];

// Filter properties within map viewport
function getVisibleProperties(bounds, properties) {
  return properties.filter(p => 
    p.lat >= bounds.south && p.lat <= bounds.north &&
    p.lng >= bounds.west && p.lng <= bounds.east
  );
}

Combine coordinate data with the xlsx skill to manage neighborhood boundaries and school district zones stored in spreadsheets.

Data Visualization

Claude Code generates visualization code for market trends, price histories, and neighborhood statistics. Describe what you need and Claude will implement the chart or dashboard component.

"Create a line chart showing median home prices over 12 months,
using a gradient from blue to orange, clean minimal style"

Generate custom visualizations for:

Search and Filtering Implementation

Effective search functionality separates professional platforms from basic listings. Here’s how to structure property search:

from typing import List, Dict, Optional

def filter_properties(
    properties: List[Dict],
    min_price: Optional[int] = None,
    max_price: Optional[int] = None,
    min_beds: Optional[int] = None,
    max_beds: Optional[int] = None,
    property_type: Optional[str] = None,
    min_sqft: Optional[int] = None
) -> List[Dict]:
    results = properties
    
    if min_price:
        results = [p for p in results if p['price'] >= min_price]
    if max_price:
        results = [p for p in results if p['price'] <= max_price]
    if min_beds:
        results = [p for p in results if p['bedrooms'] >= min_beds]
    if property_type:
        results = [p for p in results if p['property_type'] == property_type]
    if min_sqft:
        results = [p for p in results if p['sqft'] >= min_sqft]
    
    return results

Add geospatial filtering for proximity to schools, transit, or amenities. Storeamenity locations in your database and query within radius thresholds.

Automated Testing with TDD

Quality real estate platforms require rigorous testing. Use the TDD skill to write tests first:

"Write tests for property search filtering function covering
price ranges, bedroom counts, property types, and square footage"

This generates comprehensive test suites covering edge cases like zero results, invalid inputs, and boundary conditions.

Putting It Together

A production real estate platform combines these skills:

  1. Ingest listing data via xlsx imports
  2. Generate marketing materials using pdf and canvas-design
  3. Create listing descriptions through docx automation
  4. Visualize market data through direct Claude prompting
  5. Build search functionality with coordinate-aware filtering
  6. Test everything using TDD workflows

Each skill handles a specific domain, reducing context switching and maintaining consistency across your codebase.


Built by theluckystrike — More at zovo.one