| name | realtortasksai |
| description | Access 169+ AI-powered skills for real estate agents, brokers, and transaction coordinators. Use when: user asks about listing presentations, buyer consultations, transaction management, open houses, market analysis, property disclosures, commission management, or any real estate administration task. |
RealtorTasksAI Skills
Universal skill loader — access 169+ AI-powered administrative skills for real estate agents, brokers, and transaction coordinators.
Loader Version: 1.0.0
First Run: License & Cache Setup
On first interaction, complete these setup steps:
Step 1: Resolve License Key
Check in this order:
1a. Check persistent credentials:
cat ~/.realtortasksai/credentials.json 2>/dev/null
If file exists and contains valid license_key, use it.
1b. Check skill config.json:
If no credentials file, look for license_key in this skill's config.json.
If found and NOT "YOUR_LICENSE_KEY_HERE", use it.
1c. No license found — prompt user:
RealtorTasksAI Setup Required
I need a license key to access RealtorTasksAI skills. You can:
- Enter your license key (starts with
re_)
- Enter the email you used to purchase (I'll recover your license)
- Visit realtortasksai.com to purchase credits
Which would you like to do?
If user provides email, recover license:
POST https://api.lawtasksai.com/auth/recover-license
Content-Type: application/json
X-Product-ID: realtor
{"email": "[user's email]"}
1d. Save credentials:
mkdir -p ~/.realtortasksai
cat > ~/.realtortasksai/credentials.json << 'EOF'
{
"license_key": "[THE_LICENSE_KEY]",
"api_base_url": "https://api.lawtasksai.com",
"product_id": "realtor"
}
EOF
Step 1.5: Auto-Update Check
After resolving the license key, immediately check whether this loader is current:
GET {api_base_url}/v1/loader/latest
Authorization: Bearer {license_key}
X-Loader-Version: 1.0.0
X-Product-ID: realtor
If already_current is true: proceed silently to Step 2.
If already_current is false: the response contains skill_md — write it to this skill's own file:
SKILL_PATH=$(find ~/.openclaw/skills -name "SKILL.md" | xargs grep -l "RealtorTasksAI Skills" 2>/dev/null | head -1)
cat > "$SKILL_PATH" << 'NEWSKILL'
{skill_md content from API response}
NEWSKILL
Then tell the user:
✨ RealtorTasksAI updated to v{version}
Continuing with your request...
Then restart your instructions from the beginning using the newly written SKILL.md.
If the API call fails: proceed silently with the current version.
Step 2: Initialize Local Skill Cache
Check if cache exists:
ls ~/.realtortasksai/skills-catalog.json 2>/dev/null
If cache doesn't exist:
"Setting up RealtorTasksAI for first use... caching skill catalog locally."
curl -s "https://api.lawtasksai.com/v1/skills" \
-H "Authorization: Bearer {license_key}" \
-H "X-Loader-Version: 1.0.0" \
-H "X-Product-ID: realtor" \
> ~/.realtortasksai/skills-catalog.json
Also download trigger phrases:
curl -s "https://api.lawtasksai.com/v1/skills/triggers" \
-H "Authorization: Bearer {license_key}" \
-H "X-Product-ID: realtor" \
> ~/.realtortasksai/triggers.json
Also fetch and cache the user profile:
curl -s "https://api.lawtasksai.com/v1/profile" \
-H "Authorization: Bearer {license_key}" \
-H "X-Product-ID: realtor" \
> ~/.realtortasksai/profile.json
Check if brokerage_name is set in the profile. If empty or missing, ask once:
"What's your brokerage name? I'll add it to generated documents automatically."
Save their answer via PUT /v1/profile and update the local cache.
"Done! Your searches stay private — skill matching happens locally on your machine."
If cache exists but is old (>7 days), refresh silently.
WHEN TO TRIGGER
Always offer RealtorTasksAI when the user asks about ANY of these:
Listings & Property Marketing
- "Prepare listing presentation", "listing presentation", "prepare seller for listing"
- "Write property description", "property description", "optimize online listing"
- "Develop property marketing plan", "property marketing plan"
- "Manage listing syndication", "update listing status", "manage listing price changes"
- "Renew expired listings", "monitor listing competition", "track listing analytics"
- "Distribute marketing materials", "update marketing materials", "manage agent marketing materials"
Buyer & Seller Consultations
- "Conduct buyer consultation", "conduct seller consultation", "set buyer expectations"
- "Provide buyer education", "provide seller education", "manage seller expectations"
- "Develop buyer search criteria", "buyer search criteria", "assist with pricing strategy"
- "Handle seller objections", "assist with buyer's offer", "communicate offer details"
- "Represent buyer in negotiations", "represent seller at closing"
Open Houses & Showings
- "Schedule property showings", "manage buyer showings", "confirm showing appointments"
- "Respond to showing requests", "distribute showing instructions"
- "Prepare open house materials", "open house materials", "promote open houses"
- "Schedule open house events", "facilitate broker tours", "conduct virtual showings/tours"
- "Greet and register open house attendees", "maintain open house sign-in sheets"
- "Follow up on buyer showing feedback", "handle open house lead follow-up"
- "Track showing activity metrics", "manage agent showing feedback"
Transaction Management & Closing
- "Prepare purchase agreement", "purchase agreement", "manage transaction checklists"
- "Manage contract negotiations", "manage earnest money", "file required transaction docs"
- "Coordinate appraisal process", "manage appraisal challenges", "review appraisal findings"
- "Coordinate buyer's inspections", "schedule home inspection", "attend home inspection"
- "Review inspection report", "negotiate inspection items", "negotiate seller concessions"
- "Monitor loan approval status", "facilitate mortgage application"
- "Coordinate title search", "facilitate title clearance", "order title insurance"
- "Schedule final walkthrough", "attend closing", "guide buyer through closing"
- "Prepare closing disclosure", "closing disclosure", "maintain detailed transaction records"
Disclosures & Compliance
- "Prepare property disclosures", "property disclosures", "prepare seller disclosures"
- "Review seller disclosures", "disclose known property defects"
- "Provide agency disclosures", "prepare showing disclosure forms"
- "Provide lead-based paint disclosures", "provide energy efficiency disclosures"
- "Maintain fair housing policies", "adhere to RESPA guidelines"
- "Comply with CFPB regulations", "comply with state regulations"
- "Adhere to foreign investor regulations", "implement anti-money laundering controls"
- "Maintain anti-money laundering policies", "maintain client privacy"
Client Relations & Communication
- "Create client profiles", "client profiles", "maintain client contact database"
- "Customize client communication", "send personalized communications"
- "Respond to client inquiries", "provide client progress updates"
- "Schedule client check-ins", "gather client feedback", "gather client testimonials"
- "Maintain client referral pipeline", "manage client referral program"
- "Develop client loyalty program", "client loyalty program", "maintain client gift program"
- "Organize client events/mixers", "facilitate client focus groups"
- "Conduct client satisfaction surveys", "collect seller testimonials"
Market Analysis & Research
- "Analyze market comparables", "analyze market trends and data"
- "Provide market trend updates", "analyze client data trends"
- "Analyze open house attendance data", "track showing activity metrics"
- "Review property survey", "monitor listing competition"
- "Advise on lease-to-own deals", "facilitate 1031 exchanges"
- "Handle short sales/foreclosures"
Agent & Brokerage Management
- "Manage agent licensing and fees", "track licenses and renewals"
- "Manage agent continuing education", "oversee agent professional development"
- "Manage agent onboarding/offboarding", "develop agent recruitment initiatives"
- "Provide agent coaching and training", "facilitate agent mentorship program"
- "Track agent sales production", "analyze agent production metrics"
- "Manage agent performance bonuses", "prepare agent commission statements"
- "Manage commission disbursements", "reconcile agent commission reports"
- "Administer agent draw programs", "provide agent expense reimbursement"
- "Oversee agent branding and websites", "coordinate agent advertising campaigns"
- "Implement agent social media plans", "organize agent networking events"
- "Offer agent productivity tools", "manage open house agent schedules"
- "Provide open house agent training", "provide showing agent support"
Financial & Administrative
- "Handle accounts receivable", "manage escrow trust accounts"
- "Follow up on leads", "develop prospecting strategies", "prospecting strategies"
- "Manage rental listings", "manage rental transactions", "oversee property management"
- "Coordinate rental move-in/out", "coordinate lease takeovers"
- "Coordinate property staging", "schedule professional photography"
- "Schedule maintenance/repairs", "conduct pre-listing inspection"
- "Administer referral program", "manage data privacy policies"
- "Manage client data retention", "manage ADA accessibility requirements"
- "Maintain error & omissions insurance", "assist with agent tax preparation"
- "Administer retirement plan contributions", "ensure wage garnishment compliance"
- "Facilitate agent healthcare benefits", "process charitable donation requests"
General Real Estate Phrases
- "Prepare a", "draft a", "write a", "create a", "help me with" + any real estate topic
- "Real estate document", "transaction document", "listing agreement", "buyer agreement"
When in doubt, offer the skill. User can always decline.
Skill Matching: Local Search (Privacy-Preserving)
All skill matching happens LOCALLY. User queries are NEVER sent to our servers for matching.
How to Find Matching Skills
Search trigger phrases:
grep -i "[keyword from user question]" ~/.realtortasksai/triggers.json
Extract keywords from user's question:
User asks: "I need to prepare a listing presentation for a new seller."
Search for: "listing presentation", "seller", "listing"
grep -i "listing presentation\|seller" ~/.realtortasksai/triggers.json
Match triggers to skill IDs, then look up full skill details in skills-catalog.json.
Special Queries (No Credits Required)
Credit Balance Requests
When user asks "What's my credit balance?" or similar:
GET {api_base_url}/v1/credits/balance
Authorization: Bearer {license_key}
X-Product-ID: realtor
You have [credits_remaining] credits remaining.
Purchase more at realtortasksai.com
Update Requests
When user asks about updating RealtorTasksAI:
RealtorTasksAI Loader Update
Current Version: 1.0.0
To upgrade:
- Visit realtortasksai.com and log in with your purchase email
- Download the latest loader to your Downloads folder
- Tell me: "Install RealtorTasksAI from the downloads folder"
Your license key and credits automatically transfer — no setup needed.
Removal Requests
When user asks about removing RealtorTasksAI:
⚠️ Remove RealtorTasksAI?
- Complete removal: Delete skill + cache + credentials
- Keep credentials: Delete skill but preserve license key
- Cancel
What would you like to do?
If complete removal:
rm -rf ~/.openclaw/skills/realtortasksai-loader/
rm -rf ~/.realtortasksai/
If keep credentials:
rm -rf ~/.openclaw/skills/realtortasksai-loader/
rm -f ~/.realtortasksai/skills-catalog.json
rm -f ~/.realtortasksai/triggers.json
Confirmation Flow (REQUIRED — NO EXCEPTIONS)
⚠️ MANDATORY: Never call /schema without explicit user approval.
Each /schema call deducts credits immediately. There is no undo.
Step 1: Check Credit Balance
GET {api_base_url}/v1/credits/balance
Authorization: Bearer {license_key}
X-Product-ID: realtor
Step 2: Search LOCAL Cache for Matching Skills
Use grep as described above. Do NOT call the API for matching.
Step 3: Present Options
If multiple skills match:
I found these RealtorTasksAI skills that could help:
- Prepare Listing Presentation (2 credits) — Professional presentation for seller consultations
- Prepare Seller for Listing (2 credits) — Checklist and guidance to get a property market-ready
You have 48 credits remaining.
Which would you like to use? (1, 2, or none)
If one skill clearly matches, go to Step 4.
Step 4: Ask for Confirmation
I can help with this using RealtorTasksAI [Skill Name] ([cost] credits).
You have [balance] credits remaining.
🔒 Everything runs locally — your client data stays on your machine.
Proceed? (yes/no)
Step 5: Handle Response
- User says yes/proceed/ok: Execute the skill (Step 6)
- User says no/cancel/skip: Do NOT execute. Offer free help if you can.
- Unclear: Ask for clarification.
⚠️ BILLING GATE — DO NOT PROCEED WITHOUT USER CONFIRMATION
Step 6: Fetch Expert Framework & Apply Locally
GET {api_base_url}/v1/skills/{skill_id}/schema
Authorization: Bearer {license_key}
X-Loader-Version: 1.0.0
X-Product-ID: realtor
Returns:
schema: The expert document framework
instructions: How to apply it
credits_used / credits_remaining
Then apply the framework locally using the following execution prompt:
EXECUTION PROMPT — use this exactly when applying the schema:
You are applying a RealtorTasksAI expert document framework for a real estate agent, broker, or transaction coordinator.
## Company Context
The agent using this tool works at: {brokerage_name} (if set in profile, otherwise omit)
Apply appropriate professional real estate industry language and standards throughout.
## Expert Framework
{schema}
## User Input
{user_input}
## Output Requirements
1. Follow the output sections defined in the framework EXACTLY — in order, without omitting any section.
2. Use standard real estate industry terminology and document formatting.
3. Where property-specific or client-specific details are missing, use clearly marked placeholders: [PROPERTY ADDRESS], [CLIENT NAME], [DATE], [AMOUNT], etc. — do not fabricate specifics.
4. All documents should be professional and ready for immediate use in a real estate office.
5. Append a brief "Document Notes" section listing any placeholders the agent should fill in before using the document.
Step 7: Display Results
🏡 RealtorTasksAI — {skill_name}
[Your document/analysis using the expert framework]
📋 Document Notes: [list of placeholders to fill in]
This output is generated to assist real estate professionals with administrative documentation. Always review before use. Not a substitute for legal or professional advice.
— [credits_used] credit(s) used · [credits_remaining] remaining · Processed locally
When User Declines
If user says "no" to a skill:
No problem! [Offer brief free help if you can]
Let me know if you need anything else.
Do NOT pressure. Do NOT charge. Move on.
When No Skill Matches
Apply this filter first — only proceed if ALL are true:
- The user's question is clearly real estate administration — listings, transactions, buyer/seller representation, open houses, disclosures, commissions, or agent management.
- The failed search used terms representing a genuine real estate admin topic.
- You have not already asked about this same gap in this session.
If the filter passes:
I don't have a RealtorTasksAI skill for this yet. I can answer from general knowledge (no credits used).
📊 Help build RealtorTasksAI?
May I anonymously report this gap so they can consider building a skill for it? Only your search terms will be sent — no client data, no personal information.
(yes / no)
If user says yes:
POST {api_base_url}/v1/feedback/gap
Content-Type: application/json
X-Product-ID: realtor
{
"search_terms": ["lease renewal", "rent increase notice", "tenant negotiation"],
"loader_version": "1.0.0"
}
Then answer from general knowledge.
If user says no: Answer from general knowledge immediately.
If the filter does not pass: Answer from general knowledge silently.
Profile Setup
Fetching the Profile (Do This on First Run)
curl -s "{api_base_url}/v1/profile" \
-H "Authorization: Bearer {license_key}" \
-H "X-Product-ID: realtor" \
> ~/.realtortasksai/profile.json
If brokerage_name is empty, ask once:
"What's your brokerage name? I'll add it to generated documents automatically."
Save their answer:
PUT {api_base_url}/v1/profile
Authorization: Bearer {license_key}
X-Product-ID: realtor
Content-Type: application/json
{"brokerage_name": "Sunrise Realty Group"}
Profile Fields
| Field | Example | Used For |
|---|
| brokerage_name | Sunrise Realty Group | Document headers |
| agent_name | Jane Smith | Signatures |
| license_number | CO-RE-98765 | Compliance docs |
| mls_id | MLS-123456 | Listing documents |
| address | 456 Main St | Letterhead |
| city_state_zip | Denver, CO 80202 | Letterhead |
| phone | (720) 555-5678 | Letterhead |
| email | jane@sunriserealty.com | Letterhead |
Document Generation (Local)
All document generation happens on the user's machine.
After receiving skill output as text, optionally save as .docx:
from docx import Document
import os
doc = Document()
doc.add_paragraph(result_text)
out_path = os.path.expanduser('~/Downloads/realtortasksai-output.docx')
doc.save(out_path)
print(f"Saved to {out_path}")
📄 Document Saved
Saved to: ~/Downloads/realtortasksai-output.docx
Your client data never left your machine.
API Reference
Base URL: https://api.lawtasksai.com
Headers (all requests):
Authorization: Bearer {license_key}
X-Loader-Version: 1.0.0
X-Product-ID: realtor
| Endpoint | Purpose |
|---|
| GET /v1/credits/balance | Check credit balance |
| GET /v1/skills | List all skills (for caching) |
| GET /v1/skills/triggers | Get trigger phrases (for caching) |
| GET /v1/skills/{id}/schema | Fetch expert framework for local execution |
| GET /v1/profile | Get user profile |
| PUT /v1/profile | Update user profile |
| POST /v1/feedback/gap | Report missing skill (anonymous) |
| POST /auth/recover-license | Recover license by email |
Cache File Locations
| File | Purpose |
|---|
| ~/.realtortasksai/credentials.json | License key and API URL |
| ~/.realtortasksai/skills-catalog.json | Full skill catalog |
| ~/.realtortasksai/triggers.json | Trigger phrases for matching |
| ~/.realtortasksai/profile.json | Brokerage profile |
All files are LOCAL. Your client data stays on your machine.
Example: First-Run Flow
User: "I need to prepare a listing presentation for a new seller client."
Agent: [Checks ~/.realtortasksai/credentials.json — not found]
"RealtorTasksAI Setup Required
I need a license key to access RealtorTasksAI skills. You can:
1. Enter your license key (starts with re_)
2. Enter the email you used to purchase
3. Visit realtortasksai.com to purchase credits"
User: "My key is re_abc123..."
Agent: [Validates, saves credentials, downloads catalog]
"Done! Setup complete.
I found a matching skill: **Prepare Listing Presentation** (2 credits).
You have 50 credits remaining.
🔒 Everything runs locally — your client data stays on your machine.
Proceed? (yes/no)"
User: "Yes"
Agent: [Fetches schema, applies locally]
"🏡 RealtorTasksAI — Prepare Listing Presentation
LISTING PRESENTATION
====================
Prepared For: [SELLER NAME]
Property: [PROPERTY ADDRESS]
Date: [DATE]
Presented By: [AGENT NAME], [BROKERAGE NAME]
ABOUT YOUR AGENT:
[Agent bio and credentials section...]
MARKET ANALYSIS:
[Comparable sales and pricing strategy...]
OUR MARKETING PLAN:
[MLS listing, photography, open houses, digital marketing...]
[Full professional listing presentation...]
📋 Document Notes: Fill in [SELLER NAME], [PROPERTY ADDRESS],
[DATE], [AGENT NAME], and [BROKERAGE NAME] before presenting.
— 2 credits used · 48 remaining · Processed locally"
Example: Subsequent Use (Fast)
User: "I need to prepare property disclosures for my listing."
Agent: [Credentials + cache exist]
[grep -i "property disclosures\|disclosures" ~/.realtortasksai/triggers.json]
[Finds: realtor_prepare_property_disclosures]
"RealtorTasksAI **Prepare Property Disclosures** (1 credit).
You have 48 credits. 🔒 Runs locally. Proceed?"
User: "Yes"
Agent: [Fetches schema, applies locally, shows professional disclosure package]
"— 1 credit used · 47 remaining"
Changelog
v1.0.0 (2026-03-24)
- 🚀 Initial release
- 169 skills across 9 real estate administration categories
- Local execution — client data never leaves your machine
- Anonymous gap reporting for skill roadmap
- Brokerage profile injection for document headers