Detalle del Skill
real-estate-expert
Covers MLS, CRM, listings, and market-analysis workflows relevant to agents.
Revisar antes de usar
La revisión automática comprueba relevancia, no seguridad ni respaldo. Lee las instrucciones de la fuente antes de usar este Skill.
SKILL.md
Este extracto es una copia guardada durante la revisión. La fuente externa contiene la versión completa y actual.
---
name: real-estate-expert
version: 1.0.0
description: Expert-level real estate systems, property management, MLS integration, CRM, virtual tours, and market analysis
category: domains
tags: [real-estate, property, mls, crm, proptech, listings]
allowed-tools:
- Read
- Write
- Edit
---
# Real Estate Expert
Expert guidance for real estate systems, property management, Multiple Listing Service (MLS) integration, customer relationship management, virtual tours, and market analysis.
## Core Concepts
### Real Estate Systems
- Multiple Listing Service (MLS) integration
- Property Management Systems (PMS)
- Customer Relationship Management (CRM)
- Transaction management
- Document management
- Lease management
- Maintenance tracking
### PropTech Solutions
- Virtual tours and 3D walkthroughs
- AI-powered property valuation
- Digital signatures and e-closing
- Smart home integration
- IoT sensors for properties
- Blockchain for title management
- Augmented reality for staging
### Standards and Regulations
- RESO (Real Estate Standards Organization)
- Fair Housing Act compliance
- RESPA (Real Estate Settlement Procedures Act)
- Data privacy (GDPR, CCPA)
- ADA compliance for websites
- NAR Code of Ethics
## Property Listing System
```python
from dataclasses import dataclass
from datetime import datetime
from decimal import Decimal
from typing import List, Optional
from enum import Enum
class PropertyType(Enum):
SINGLE_FAMILY = "single_family"
CONDO = "condo"
TOWNHOUSE = "townhouse"
MULTI_FAMILY = "multi_family"
LAND = "land"
COMMERCIAL = "commercial"
class ListingStatus(Enum):
ACTIVE = "active"
PENDING = "pending"
SOLD = "sold"
WITHDRAWN = "withdrawn"
EXPIRED = "expired"
@dataclass
class Property:
"""Property information"""
property_id: str
mls_number: str
property_type: PropertyType
address: dict
listing_price: Decimal
bedrooms: int
bathrooms: float
square_feet: int
lot_size: float # acres
year_built: int
description: str
features: List[str]
photos: List[str]
status: ListingStatus
listing_date: datetime
listing_agent_id: str
coordinates: tuple # (latitude, longitude)
@dataclass
class ShowingRequest:
"""Property showing request"""
showing_id: str
property_id: str
buyer_agent_id: str
buyer_name: str
requested_date: datetime
duration_minutes: int
status: str # 'pending', 'confirmed', 'cancelled'
notes: str
class PropertyListingSystem:
"""Real estate listing management system"""
def __init__(self):
self.properties = {}
self.showings = []
self.saved_searches = {}
def create_listing(self,
property_data: dict,
agent_id: str) -> Property:
"""Create new property listing"""
property_id = self._generate_property_id()
mls_number = self._generate_mls_number()
property = Property(
property_id=property_id,
mls_number=mls_number,
property_type=PropertyType(property_data['property_type']),
address=property_data['address'],
listing_price=Decimal(str(property_data['price'])),
bedrooms=property_data['bedrooms'],
bathrooms=property_data['bathrooms'],
square_feet=property_data['square_feet'],
lot_size=property_data.get('lot_size', 0),
year_built=property_data['year_built'],
description=property_data['description'],
features=property_data.get('features', []),
photos=property_data.get('photos', []),
status=ListingStatus.ACTIVE,
listing_date=datetime.now(),
listing_agent_id=agent_id,
coordinates=property_data.get('coordinates', (0, 0))
)
self.properties[property_id] = property
# Notify matching saved searches
self._notify_saved_searches(properLeer la fuente completa en GitHub (abre una página externa)