
real-assets
Analyze real estate and infrastructure investments including REITs, direct property valuation, and infrastructure assets. Use when the user asks about real estate investing, REITs, cap rates, NOI, FFO, AFFO, property valuation, or infrastructure investments. Also trigger when users mention 'rental property analysis', 'cash-on-cash return', 'gross rent multiplier', 'REIT dividends', 'real estate sectors', 'cell towers', 'toll roads', 'LTV ratio', 'DSCR', or ask whether to invest in real estate directly or through REITs.
- Installs
- 687
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/joellewis/finance_skills --skill real-assets- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads real-assets automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Real Assets
Core Concepts
Property Income and Return Metrics
- NOI (Net Operating Income): effective gross rental income (after vacancy) minus operating expenses; excludes debt service, capex, and depreciation.
- Cap rate: NOI divided by property value — the unlevered property yield; lower cap rates mean higher valuations.
- Income-approach value: NOI divided by the prevailing cap rate for comparable properties.
- Cash-on-cash return: annual pre-tax cash flow (NOI minus debt service) divided by total cash invested — the levered equity yield.
- GRM (Gross Rent Multiplier): price divided by gross annual rent; a quick screen that ignores expenses, vacancy, and financing.
REITs and REIT Metrics
REITs must distribute 90%+ of taxable income as dividends and trade on exchanges like equities. Sectors include residential, office, retail, industrial, data center, healthcare, self-storage, and specialty.
- FFO (Funds From Operations): net income plus depreciation minus gains on property sales — the standard REIT earnings measure, since real estate depreciation overstates actual value decline.
- AFFO (Adjusted FFO): FFO minus maintenance capex and straight-line rent adjustments — the conservative measure of recurring distributable cash flow.
- P/FFO and P/AFFO: the REIT equivalents of P/E; compare within the same sector.
- NAV premium/discount: share price relative to per-share net asset value of the underlying properties; indicates market sentiment.
Infrastructure Investments
Infrastructure assets include toll roads, utilities, pipelines, cell towers, airports, and ports. Characteristics: long asset lives, high barriers to entry, regulated or contracted revenue streams, and inflation-linked cash flows (many contracts include CPI adjustments). Infrastructure provides stable, bond-like income with equity-like upside from traffic/usage growth.
Leverage in Real Estate
- LTV (Loan-to-Value): mortgage amount / property value. Higher LTV means more leverage and more risk. Typical commercial LTV is 60-75%.
- DSCR (Debt Service Coverage Ratio): NOI / annual debt service. Lenders typically require 1.20x-1.50x minimum. Higher DSCR means more cushion to service debt.
Direct Real Estate vs REITs: Decision Checklist
Work through these factors before recommending a vehicle:
| Factor | Direct ownership | REITs |
|---|---|---|
| Liquidity | Sales take months; high transaction costs | Trade intraday on exchanges |
| Management | Active management required, or pay a property manager | Passive; professional management included |
| Leverage access | Non-recourse mortgage leverage at attractive LTVs (60-75%), chosen by the investor | Entity-level leverage set by REIT management; investors cannot choose property-level leverage |
| 1031 exchange | Eligible — defer capital gains by exchanging into like-kind property | Not eligible — REIT shares do not qualify |
| Diversification | Concentrated in one or a few properties | A REIT fund spreads across hundreds of properties and multiple sectors |
| Minimum check size | Typically $50K+ equity (down payment plus closing costs) | From one share |
Mapping investor situations to the preferred vehicle:
| Investor situation | Preferred vehicle |
|---|---|
| May need the money within months, or rebalances regularly | REITs |
| Wants control over leverage, tenants, and improvements | Direct |
| Holds appreciated property and wants tax-deferred reinvestment | Direct (1031 exchange) |
| Allocation under ~$50K, or wants broad diversification immediately | REITs |
| Willing to manage tenants and repairs (or pay a manager from rent) | Direct |
| Wants passive, hands-off exposure with no operational involvement | REITs |
Key Formulas
| Formula | Expression | Use Case |
|---|---|---|
| NOI | Gross Rental Income - Operating Expenses | Property income measure |
| Cap Rate | NOI / Property Value | Unlevered property yield |
| Property Value | NOI / Cap Rate | Income-based valuation |
| Cash-on-Cash | Annual Cash Flow / Total Cash Invested | Levered equity return |
| GRM | Price / Gross Annual Rent | Quick screening metric |
| FFO | Net Income + Depreciation - Gains on Sales | REIT earnings measure |
| AFFO | FFO - Maintenance Capex - Straight-Line Rent Adj | Recurring cash flow |
| LTV | Loan Amount / Property Value | Leverage measure |
| DSCR | NOI / Annual Debt Service | Debt coverage measure |
Worked Examples
Example 1: Property Valuation Using Cap Rate
Given: NOI = $100,000 per year, prevailing cap rate for comparable properties = 6% Calculate: Property value Solution: Value = NOI / Cap Rate = $100,000 / 0.06 = $1,666,667
The property is valued at approximately $1,666,667. If the cap rate compressed to 5% (e.g., in a hot market), the value would rise to $2,000,000 — a 20% increase from a 100bp cap rate decline. This illustrates the sensitivity of real estate values to cap rate changes.
Example 2: Cash-on-Cash Return with Leverage
Given: Property value = $500,000, down payment = $200,000 (40%), mortgage = $300,000 at 6%, NOI = $35,000, annual debt service = $17,000 Calculate: Cash-on-cash return Solution: Annual pre-tax cash flow = NOI - Debt Service = $35,000 - $17,000 = $18,000 Cash-on-Cash Return = $18,000 / $200,000 = 9.0%
Compare to the unlevered cap rate: $35,000 / $500,000 = 7.0%. Leverage boosts the equity return from 7.0% to 9.0% because the cost of debt (6%) is below the cap rate (7.0%) — this is positive leverage. If the mortgage rate exceeded the cap rate, leverage would reduce returns (negative leverage).
Common Pitfalls
- Confusing cap rate with total return — cap rate ignores appreciation, leverage effects, and capital expenditures
- Using P/E instead of P/FFO for REITs — depreciation distorts net income, making P/E misleading for real estate companies
- Ignoring vacancy rates in NOI calculation — always use effective gross income (after vacancy allowance), not gross potential rent
- Overstating returns by ignoring maintenance capex — use AFFO rather than FFO for a realistic view of distributable cash flow
Cross-References
- time-value-of-money (core plugin): discounted cash flow analysis of property investments
- equities (wealth-management plugin): REIT stock analysis and equity market context
- fixed-income-structured (wealth-management plugin): MBS and the mortgage market underlying real estate
- asset-allocation (wealth-management plugin): real assets as a portfolio diversifier and inflation hedge
Running the script
uv run scripts/real_assets.py
The PEP 723 header resolves the numpy dependency automatically. Alternatively run python3 scripts/real_assets.py after pip install numpy.
- Bare run prints a demo covering property valuation, cash-on-cash and leverage analysis, REIT metrics, and inflation-adjusted returns.
--verifyre-runs the demo computations and asserts the outputs match this skill's worked examples (prints PASS/FAIL, nonzero exit on mismatch).--helplists the available classes.
The file is primarily meant to be imported as a module, e.g. from real_assets import PropertyValuation, LeverageMetrics, REITMetrics, RealReturn.
FAQ
What does the real-assets skill do?
Analyze real estate and infrastructure investments including REITs, direct property valuation, and infrastructure assets. Use when the user asks about real estate investing, REITs, cap rates, NOI, FFO, AFFO, property valuation, or infrastructure investments. Also trigger when users mention 'rental property analysis', 'cash-on-cash return', 'gross rent multiplier', 'REIT dividends', 'real estate sectors', 'cell towers', 'toll roads', 'LTV ratio', 'DSCR', or ask whether to invest in real estate directly or through REITs.
How do I install real-assets?
Run npx skills add https://github.com/joellewis/finance_skills --skill real-assets in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/real-assets/ (personal) or .claude/skills/real-assets/ (project).
Which AI agents can use real-assets?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is real-assets safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains real-assets?
It is published by joellewis in joellewis/finance_skills. It has 687 recorded installs.
More from joellewis/finance_skills
asset-allocation
joellewis/finance_skills
Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks. Use when the user asks about portfolio allocation, mean-variance optimization, Black-Litterman, risk parity, glide paths, or target-date strategies. Also trigger when users mention 'how much in stocks vs bonds', '60/40 portfolio', 'policy portfolio', 'core-satellite', 'liability-driven investing', 'asset-liability matching', or ask how to split their money across investments.
statistics-fundamentals
joellewis/finance_skills
Apply statistical methods to financial data including descriptive statistics, covariance estimation, regression, hypothesis testing, and resampling. Use when the user asks about return distributions, correlation between assets, building a covariance matrix, running a CAPM regression, testing whether alpha is significant, checking if returns are normal, or estimating confidence intervals. Also trigger when users mention 'volatility', 'how correlated are these', 'fat tails', 'skewness', 'R-squared', 'beta of a fund', 'bootstrap a Sharpe ratio', 'shrinkage estimator', 'Ledoit-Wolf', or ask why their optimizer produces unstable weights.
quantitative-valuation
joellewis/finance_skills
Estimate intrinsic value of stocks and companies using DCF, dividend discount models, comparable multiples, and residual income. Use when the user asks about discounted cash flow, DCF models, WACC, terminal value, dividend discount models, comparable multiples, or sum-of-the-parts valuation. Also trigger when users mention 'what is this stock worth', 'fair value estimate', 'Gordon growth model', 'free cash flow valuation', 'cost of equity', 'sensitivity analysis', 'exit multiple', or ask whether a stock is overvalued or undervalued.
finance-psychology
joellewis/finance_skills
Recognize and mitigate cognitive biases that impair financial decisions, and coach clients toward values-driven financial lives. Use when the user asks about behavioral finance, money psychology, loss aversion, overconfidence, herd behavior, or emotional investing. Also trigger when users mention 'why do I panic sell', 'money fights with my spouse', 'I can never save enough', 'fear of investing', 'lifestyle creep', 'keeping up with the Joneses', 'Rich Life', 'money scripts', or ask how emotions affect financial decisions.
commodities
joellewis/finance_skills
Analyze commodity markets including futures curve dynamics, roll yield, and supply/demand fundamentals. Use when the user asks about commodity investing, commodity ETFs, contango, backwardation, roll yield, commodity indices (GSCI, BCOM), or commodities as an inflation hedge. Also trigger when users mention 'oil prices', 'gold as a safe haven', 'agricultural futures', 'convenience yield', 'storage costs', 'natural gas', 'copper demand', or ask why commodity ETF returns differ from spot price changes.
investment-policy
joellewis/finance_skills
Construct comprehensive Investment Policy Statements governing return objectives, risk tolerance, and portfolio constraints. Use when the user asks about building an IPS, setting return objectives, assessing risk tolerance, defining investment constraints, or establishing rebalancing and benchmark policies. Also trigger when users mention 'investment plan', 'policy portfolio', 'risk capacity vs willingness', 'spending rate for an endowment', 'foundation payout', 'manager selection criteria', or ask how to document their investment strategy.
Popular devops & cloud skills
microsoft-foundry
microsoft/azure-skills
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure
azure-diagnostics
microsoft/azure-skills
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.
azure-prepare
microsoft/azure-skills
Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.
azure-ai
microsoft/azure-skills
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
azure-deploy
microsoft/azure-skills
Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.
azure-validate
microsoft/azure-skills
Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.