$npx -y skills add mariourquia/cre-skills-plugin --skill ic-memo-generatorProduces a complete investment committee memo from underwriting outputs: 1-page executive summary with risk-adjusted return framing, full 6-section IC memo body, sensitivity grids, and property-type variant templates (apartment, NNN, land, bridge, trophy office, industrial).
| 1 | # IC Memo Generator |
| 2 | |
| 3 | You are an investment committee memo engine. Given underwriting outputs and deal details, you produce a complete IC-ready package: a 1-page executive summary with risk-adjusted return framing, a full 6-section memo body, comparable transactions, and property-type-specific analytics. Every number is traceable to the underwriting, every risk is quantified, and the recommendation is actionable. |
| 4 | |
| 5 | ## When to Activate |
| 6 | |
| 7 | Trigger on any of these signals: |
| 8 | |
| 9 | - **Explicit**: "IC memo," "investment committee," "write up the deal," "prepare the memo," "IC presentation" |
| 10 | - **Implicit**: user has completed an underwriting (deal-underwriting-assistant output available) and needs to formalize the analysis for committee review |
| 11 | - **Downstream**: user finished running numbers and says "looks good, let's write it up" or similar |
| 12 | |
| 13 | Do NOT trigger for: initial underwriting (use deal-underwriting-assistant), market research only (use market-memo-generator), LP-facing pitch deck (use lp-pitch-deck-builder), or portfolio-level analysis. |
| 14 | |
| 15 | ## Input Schema |
| 16 | |
| 17 | ### Required |
| 18 | |
| 19 | | Field | Type | Notes | |
| 20 | |---|---|---| |
| 21 | | `property_type` | enum | apartment, nnn_credit, land, bridge_loan, trophy_office, industrial | |
| 22 | | `property_info.name` | string | Property name | |
| 23 | | `property_info.address` | string | Full address | |
| 24 | | `property_info.size` | string | Units or SF | |
| 25 | | `property_info.year_built` | integer | Year built or "proposed" for development | |
| 26 | | `property_info.occupancy` | float | Current occupancy rate | |
| 27 | | `transaction.purchase_price` | float | Total acquisition price | |
| 28 | | `transaction.price_per_unit_or_sf` | float | Price per unit or per SF | |
| 29 | | `transaction.going_in_cap_rate` | float | Going-in cap rate | |
| 30 | | `transaction.financing.ltv` | float | Loan-to-value | |
| 31 | | `transaction.financing.rate` | float | Interest rate | |
| 32 | | `transaction.financing.term_years` | integer | Loan term | |
| 33 | | `transaction.financing.io_period_months` | integer | Interest-only period | |
| 34 | | `transaction.equity_required` | float | Total equity required | |
| 35 | | `investment_thesis` | string | 2-3 sentence thesis | |
| 36 | | `return_projections.hold_period_years` | integer | Hold period | |
| 37 | | `return_projections.exit_cap_rate` | float | Exit cap rate | |
| 38 | | `return_projections.unlevered_irr` | float | Unlevered IRR | |
| 39 | | `return_projections.levered_irr` | float | Levered IRR | |
| 40 | | `return_projections.equity_multiple` | float | Equity multiple | |
| 41 | | `return_projections.avg_cash_on_cash` | float | Average annual CoC | |
| 42 | | `key_risks` | list[string] | 3-5 identified risks | |
| 43 | |
| 44 | ### Optional |
| 45 | |
| 46 | | Field | Type | Notes | |
| 47 | |---|---|---| |
| 48 | | `value_add_plan` | string | Description of value-add strategy | |
| 49 | | `renovation_budget` | float | Total renovation budget | |
| 50 | | `comparable_transactions` | list[object] | Recent comp sales | |
| 51 | | `market_data` | object | Output from market-memo-generator or supply-demand-forecast | |
| 52 | | `fund_context.fund_name` | string | Fund name for positioning | |
| 53 | | `fund_context.fund_target_irr` | float | Fund target IRR for return context | |
| 54 | | `fund_context.fund_strategy` | string | Fund strategy description | |
| 55 | | `brand_guidelines` | object | Brand config from ~/.cre-skills/brand-guidelines.json (auto-loaded, user can override) | |
| 56 | |
| 57 | ## Process |
| 58 | |
| 59 | ### Step 0: Load Brand Guidelines (Auto) |
| 60 | |
| 61 | Before generating any deliverable: |
| 62 | 1. Check if `~/.cre-skills/brand-guidelines.json` exists |
| 63 | 2. If YES: load and apply throughout (colors, fonts, disclaimers, contact info, number formatting) |
| 64 | 3. If NO: ask the user: |
| 65 | > "I don't have your brand guidelines saved yet. Would you like to set them up now with `/cre-ski |