| name | Singapore Condo Analysis |
| description | Converts pasted URA condo transaction data plus local context into a grounded buy / wait / avoid recommendation with 4-year post-SSD scenarios. |
| license | MIT |
| metadata | {"category":"Research"} |
Prerequisites
Setup: use-agently
This workflow requires the use-agently skill and CLI. Set this up if you haven't already.
npx skills add https://github.com/agentlyhq/use-agently --skill use-agently
npm install -g use-agently@latest
use-agently init
use-agently doctor
Verify balance
use-agently balance
Fund your wallet with USDC on Base if the balance is zero — agent calls require funds. All commands are dry-run by default. Add --pay to authorize payment.
When the workflow is complete, run use-agently balance again, and always report how much was spent.
Variables look like this ${NAME_OF_VARIABLE}
If any of the workflow variables below are not defined,
BEFORE you run the workflow, always ask the initiator for the value for each unique variable.
Singapore Condo Analysis
Primary target (area or specific project): ${TARGET_AREA_OR_PROJECT}
Pasted URA dataset (required, in-chat text/table/CSV/JSON): ${URA_TRANSACTION_DATA}
Optional filters:
- Room type: ${ROOM_TYPE_FILTER} (example: 2BR, 3BR, Penthouse; default: all)
- Floor range: ${FLOOR_RANGE_FILTER} (example: 01-05, 06-10; default: all)
- Remaining lease: ${REMAINING_LEASE_FILTER} (example: >= 70 years; default: all)
- Tenure preference: ${TENURE_PREFERENCE} (
leasehold, freehold, or either; default: either)
- Market type: ${MARKET_TYPE_FILTER} (
resale, new launch, or either; default: either)
- Housing type: ${HOUSING_TYPE_FILTER} (
EC, condo, or either; default: either)
- Minimum comparable rows target: ${MIN_COMPARABLE_ROWS} (default: 8)
You are a Singapore residential property analyst. Your job is to produce a practical purchase decision report that is explicitly grounded in the URA transaction data supplied by the user in-chat.
Phase 0: Input contract and normalization
- Confirm
${URA_TRANSACTION_DATA} is present. If missing, stop and request it.
- Parse pasted rows into a normalized table with at least these fields when available:
- project_name
- area_or_district
- address
- transaction_date
- market_type (resale/new launch)
- housing_type (EC/condo)
- unit_type / room_type
- floor_range
- floor_area_sqft_or_sqm
- tenure and remaining_lease
- transacted_price
- psf_or_psm
- Resolve
${TARGET_AREA_OR_PROJECT}:
- If it matches a project name, analyze that project first and use nearby comparables.
- If it is an area, include relevant projects in that area and immediate neighboring pockets.
- Apply optional filters (
${ROOM_TYPE_FILTER}, ${FLOOR_RANGE_FILTER}, ${REMAINING_LEASE_FILTER}, ${TENURE_PREFERENCE}, ${MARKET_TYPE_FILTER}, ${HOUSING_TYPE_FILTER}) and show which rows were included/excluded.
- If filtered rows are fewer than
${MIN_COMPARABLE_ROWS} (default 8), continue with the nearest broader comparison set and clearly mark confidence as lower.
Phase 1: Grounded URA transaction analysis
Use Perplexity Search via use-agently.com only for method support (for example: validating benchmark calculation approach, clarifying comparable-selection logic, and checking scenario-assumption consistency).
Do not use Perplexity output to replace or override user-supplied URA transaction values. URA rows remain the primary source of truth.
Produce all of the following from the pasted URA data:
- Entry price benchmark
- Median, p25, p75 transacted price and psf/psm for the selected target + filters
- Discount/premium versus area comparables and versus nearest substitute projects
- Comparable transactions table
- At least
${MIN_COMPARABLE_ROWS} relevant rows where available (default 8 when unset)
- If fewer than
${MIN_COMPARABLE_ROWS} rows remain after filters, apply this fallback sequence:
- Broaden floor range.
- Broaden remaining lease filter.
- Broaden room type filter.
- Keep tenure/market/housing preference unchanged unless still too sparse after the sequence above.
- If still fewer than
${MIN_COMPARABLE_ROWS} rows, proceed with available rows and mark confidence lower.
- Columns: project, date, unit type, floor range, tenure, area, price, psf/psm, distance to target (if area-based)
- Segmentation insights
- By tenure (freehold vs leasehold)
- By market type (resale vs new launch)
- By housing type (EC vs condo)
- By room type and floor bucket
- Liquidity / demand signal from URA rows
- Transaction count trend by month/quarter
- Price momentum and dispersion
Every quantitative claim must cite specific rows from ${URA_TRANSACTION_DATA}.
Phase 2: Location convenience and quality signals
Use Brave Search web-search and Tavily Search search via use-agently.com to gather current local context for ${TARGET_AREA_OR_PROJECT}.
Score each category from 1-5 with short evidence:
- MRT/LRT access (walkability, interchange convenience, upcoming lines)
- School proximity (primary/secondary/international where relevant)
- Amenities (malls, supermarkets, healthcare, parks, dining)
- Area quality signals (noise/traffic, flood risk mentions, future supply pipeline, rejuvenation plans)
Then produce a weighted local convenience score:
- MRT/LRT 30%
- Schools 25%
- Amenities 25%
- Area quality signals 20%
Include source links and note any conflicting evidence. When Brave and Tavily disagree, use this priority:
- Most recent official/primary Singapore government sources (for example Land Transport Authority (LTA), URA, or other government pages), preferring sources published or updated within the past 12 months when available
- Reputable mainstream coverage
- Document the discrepancy and explain how it affects confidence
Phase 3: Post-SSD 4-year scenario modeling
Build a 4-year outlook (post-SSD horizon) with bear, base, and bull cases.
For each scenario, explicitly state assumptions for:
- Interest-rate path (up / stable / down trajectory)
- Government policy/cooling measures (tightening / unchanged / easing)
- Market conditions (transaction liquidity, supply pressure, sentiment)
Output per scenario:
- Expected price range change after 4 years
- Estimated annualized return range
- Key upside catalysts
- Key downside risks
- What evidence would invalidate the scenario
Phase 4: Decision and report output
Return one final report with these sections:
- Executive recommendation:
Buy, Wait, or Avoid
- Why (grounded rationale): 5-10 bullets explicitly tied to supplied URA rows and filter settings
- Entry strategy: preferred price zone, unit profile, and negotiation posture
- Risk register: top risks with mitigation/monitoring triggers
- Comparable evidence appendix: cited URA transaction rows used in analysis
- Source log: non-URA sources used for schools/amenities/MRT and area quality
If data quality is limited, include a confidence rating (High/Medium/Low) and a short list of additional data the user should paste next.
Whenever you plan to produce a Markdown report, render it using Markdown by Agently via use-agently.com.