Agent Skills

Discrete AI capabilities that power the Windfield IO agent team -- each skill is a composable unit with defined triggers, behaviors, and outputs

16 skills
market-analysis.md
name:Market Analysis
category:Intelligence
trigger:"New property data ingested"
behavior:"Analyzes market comps, trends, and pricing"
output:"Structured market report with scoring"

Market Analysis

Intelligence

Analyzes comparable properties, market trends, and pricing dynamics from ingested data feeds. Produces structured market reports with confidence scoring and actionable recommendations for the Windfield team.

Example Interaction

Input
"Analyze comps for 200 Peachtree NW, Atlanta -- office, 45K SF"
Output
Market Report: 12 comps found | Avg rent $32.50/SF | Vacancy 14.2% | Trend: rising | Score: 76/100
skill.run("market-analysis", {
  address: "200 Peachtree NW",
  type: "office",
  sqft: 45000
})
compspricingtrendsreports
property-scoring.md
name:Property Scoring
category:Intelligence
trigger:"New property added or enrichment complete"
behavior:"Scores properties on 12 weighted criteria"
output:"Composite score with per-criterion breakdown"

Property Scoring

Intelligence

Evaluates commercial properties against a weighted 12-criterion model including location, financials, tenant quality, market position, zoning, environmental risk, and growth potential. Produces normalized scores for portfolio-wide comparison.

Steps

  1. Ingest property data and normalize fields
  2. Run each criterion through weighted scoring model
  3. Calculate composite score (0-100)
  4. Generate per-criterion breakdown with rationale
  5. Rank against existing portfolio benchmarks
criteria: [location, financials, tenant,
  market, zoning, environmental, growth,
  infrastructure, demographics, competition,
  regulatory, liquidity]
weights: adaptive | model: v3.2
scoringevaluationrankingcriteria
competitive-intel.md
name:Competitive Intelligence
category:Intelligence
trigger:"Daily scan or competitor alert"
behavior:"Monitors competitor listings and positioning"
output:"Competitive landscape report"

Competitive Intelligence

Intelligence

Monitors competitor listings, pricing strategies, and market positioning across target submarkets. Identifies new entrants, delisted properties, and pricing shifts that may impact Windfield portfolio strategy.

Example Interaction

Input
"What changed in the Buckhead office market this week?"
Output
3 new listings | 2 price reductions | 1 delisted | Avg asking rent down 1.2% WoW
competitorsmonitoringlistings
due-diligence.md
name:Due Diligence Review
category:Intelligence
trigger:"Deal enters diligence stage"
behavior:"Flags risks in transaction documents"
output:"Risk report with flagged items"

Due Diligence Review

Intelligence

Scans transaction documents, leases, environmental reports, and title records to flag potential risks. Generates a structured risk report with severity ratings and recommended follow-up actions for the deal team.

Steps

  1. Ingest and parse all deal documents
  2. Extract key terms, dates, and obligations
  3. Cross-reference against risk taxonomy
  4. Flag items with severity (low/medium/high/critical)
  5. Generate actionable risk summary with recommendations
riskdocumentscompliancelegal
trend-detection.md
name:Trend Detection
category:Analysis
trigger:"Weekly data refresh cycle"
behavior:"Identifies emerging patterns across market data"
output:"Trend signals with confidence intervals"

Trend Detection

Analysis

Identifies emerging patterns across vacancy rates, rental prices, absorption metrics, and construction pipeline data. Uses statistical models to distinguish signal from noise and assigns confidence intervals to each detected trend.

Example Interaction

Input
"Detect trends in Midtown Atlanta industrial over the last 90 days"
Output
3 trends detected: Vacancy declining (87% conf) | Rent acceleration (72% conf) | New construction surge (91% conf)
signal.detect({
  market: "midtown-atlanta",
  sector: "industrial",
  window: "90d",
  min_confidence: 0.70
})
trendspatternsstatisticssignals
portfolio-analysis.md
name:Portfolio Analysis
category:Analysis
trigger:"Monthly review or manual request"
behavior:"Evaluates portfolio performance and rebalancing"
output:"Portfolio health scorecard"

Portfolio Analysis

Analysis

Evaluates portfolio-wide performance including occupancy, NOI, cap rate trends, and concentration risk. Recommends rebalancing actions based on target allocation models and current market conditions.

Steps

  1. Aggregate performance data across all holdings
  2. Calculate KPIs: occupancy, NOI, cap rate, DSCR
  3. Assess concentration risk by geography and sector
  4. Compare against target allocation model
  5. Generate rebalancing recommendations
portfolioperformancerebalancing
risk-assessment.md
name:Risk Assessment
category:Analysis
trigger:"Deal submitted for review"
behavior:"Quantifies deal risk on a 1-10 scale"
output:"Risk score with breakdown by category"

Risk Assessment

Analysis

Quantifies deal risk across market, credit, operational, environmental, and regulatory dimensions. Produces a composite 1-10 risk score with per-category breakdowns and mitigation recommendations.

Example Interaction

Input
"Assess risk for the Marietta Street warehouse acquisition"
Output
Risk: 4.2/10 | Market: 3 | Credit: 5 | Operational: 4 | Environmental: 6 | Regulatory: 3
risk.assess({
  deal_id: "marietta-warehouse-01",
  dimensions: ["market", "credit",
    "operational", "environmental",
    "regulatory"]
})
riskscoringmitigationdeals
roi-calculation.md
name:ROI Calculation
category:Analysis
trigger:"Deal parameters entered"
behavior:"Projects returns based on deal parameters"
output:"ROI projection with scenario modeling"

ROI Calculation

Analysis

Projects investment returns using deal parameters including purchase price, financing terms, projected NOI, cap rate assumptions, and hold period. Runs base, optimistic, and pessimistic scenarios with sensitivity analysis.

Steps

  1. Ingest deal parameters and financing structure
  2. Model cash flows across hold period
  3. Calculate IRR, cash-on-cash, equity multiple
  4. Run 3-scenario sensitivity analysis
  5. Output projection table with key metrics
roi.project({
  purchase: 12500000,
  noi: 875000,
  cap_rate: 0.07,
  hold_years: 7,
  scenarios: ["base", "bull", "bear"]
})
roiprojectionsscenariosirr
client-briefing.md
name:Client Briefing
category:Communication
trigger:"Client meeting scheduled or weekly cycle"
behavior:"Generates personalized market updates for clients"
output:"Tailored briefing document"

Client Briefing

Communication

Generates personalized market updates tailored to each client's portfolio, interests, and investment criteria. Pulls from the latest market intelligence, deal pipeline, and relevant signals to create context-rich briefing documents.

Example Interaction

Input
"Prepare weekly briefing for Meridian Capital -- they focus on Class A office in Southeast markets"
Output
Briefing: 4 market updates | 2 new opportunities matching criteria | 1 deal status update | 3 trend signals
clientsbriefingspersonalization
stakeholder-update.md
name:Stakeholder Updates
category:Communication
trigger:"Weekly cron or milestone reached"
behavior:"Compiles weekly progress reports"
output:"Formatted progress report"

Stakeholder Updates

Communication

Compiles weekly progress reports by aggregating deal activity, pipeline changes, team actions, and key metrics. Formats output for different stakeholder audiences -- executives get summaries, operators get details.

Steps

  1. Aggregate activity logs from all agents and deals
  2. Categorize updates by priority and audience
  3. Generate executive summary (3-5 bullets)
  4. Attach detailed appendix for operational teams
  5. Route to appropriate distribution lists
reportsstakeholdersweekly
tour-scheduling.md
name:Tour Scheduling
category:Communication
trigger:"Tour request received"
behavior:"Coordinates property tours with availability"
output:"Calendar event + confirmation email"

Tour Scheduling

Communication

Coordinates property tours by matching prospect availability with team calendars and property access windows. Handles multi-party scheduling, sends confirmations, and prepares pre-tour briefing packets with property details.

Example Interaction

Input
"Schedule a tour of the Ponce City Market space for Sarah Chen, next Tuesday or Wednesday afternoon"
Output
Tour confirmed: Wed 2:00 PM | Attendees: Sarah Chen, James W. | Briefing packet sent | Reminder set for 24h prior
schedulingtourscalendarcoordination
report-formatting.md
name:Report Formatting
category:Content
trigger:"Raw report data ready"
behavior:"Structures raw data into presentation-ready reports"
output:"Formatted report (PDF, HTML, Markdown)"

Report Formatting

Content

Transforms raw analysis data into polished, presentation-ready reports with consistent branding, clear data tables, and executive summaries. Supports multiple output formats including PDF, HTML, and Markdown.

Steps

  1. Receive raw data payload from analysis skills
  2. Apply report template based on type (market, deal, portfolio)
  3. Format tables, charts, and key metrics callouts
  4. Apply Windfield brand styling and headers
  5. Export to requested format(s)
report.format({
  source: "market-analysis-output",
  template: "quarterly-market",
  format: ["pdf", "html"],
  brand: "windfield-v2"
})
formattingreportspdftemplates
data-visualization.md
name:Data Visualization
category:Content
trigger:"Analysis complete or dashboard refresh"
behavior:"Generates charts and visual summaries"
output:"Chart assets and visual components"

Data Visualization

Content

Generates charts, heatmaps, and visual summaries from market data, portfolio metrics, and deal pipeline information. Produces brand-consistent visual assets ready for reports, dashboards, and presentations.

Example Interaction

Input
"Create a vacancy trend chart for Atlanta submarkets, Q1-Q4 2026"
Output
Line chart generated: 6 submarkets | 4 quarters | Exported as SVG + PNG | Brand palette applied
chartsvisualizationdashboards
brand-voice.md
name:Brand Voice Enforcement
category:Content
trigger:"Content submitted for review"
behavior:"Ensures all content matches Windfield tone"
output:"Revised content with voice compliance score"

Brand Voice Enforcement

Content

Reviews all outgoing content against the Windfield brand voice guidelines. Checks tone, terminology, formatting conventions, and messaging consistency. Returns a compliance score with specific revision suggestions.

Steps

  1. Receive content draft for review
  2. Analyze against voice fingerprint model
  3. Flag deviations in tone, jargon, or style
  4. Generate revised version with corrections
  5. Return compliance score (0-100) with changelog
voice.enforce({
  content: draft_text,
  profile: "windfield-professional",
  strictness: "high",
  auto_revise: true
})
brandvoicecomplianceediting
lead-routing.md
name:Lead Routing
category:Workflow
trigger:"New lead qualified"
behavior:"Assigns incoming leads to the right agent/broker"
output:"Routing decision + CRM assignment"

Lead Routing

Workflow

Assigns incoming qualified leads to the most appropriate agent or broker based on expertise, capacity, geographic coverage, and historical close rates. Ensures balanced workload distribution and fastest response times.

Example Interaction

Input
"Route new lead: Apex Capital, looking for 20K SF industrial in Marietta"
Output
Routed to: James Wallace | Reason: industrial specialist, Marietta coverage, 3 open slots | CRM updated | Notification sent
lead.route({
  company: "Apex Capital",
  need: "industrial",
  size: "20000sf",
  location: "marietta",
  urgency: "standard"
})
leadsroutingassignmentcrm
deal-tracking.md
name:Deal Tracking
category:Workflow
trigger:"Deal stage change or daily check"
behavior:"Monitors deal stages and flags stalled opportunities"
output:"Deal status report + stall alerts"

Deal Tracking

Workflow

Monitors all active deals across pipeline stages, tracking time-in-stage, next actions, and blockers. Automatically flags stalled opportunities when deals exceed expected stage duration and escalates to the responsible team member.

Steps

  1. Scan all active deals in pipeline daily
  2. Calculate time-in-stage vs. expected duration
  3. Identify stalled deals (exceeding threshold by 2x)
  4. Generate stall alerts with context and suggested actions
  5. Escalate to deal owner and log in activity feed
deals.track({
  pipeline: "active",
  stall_threshold: "2x",
  alert_channels: ["slack", "email"],
  daily_summary: true
})
dealspipelinetrackingalerts

Skill Composability

Every skill is a composable unit designed to chain with other skills. Agents orchestrate skills into workflows -- no skill operates in isolation on production-critical paths. All outputs are structured for downstream consumption.