记忆

apartment-scorecard

试用

Use when comparing apartments or rental homes and torn between options, when deciding if a listing is actually affordable, when touring rentals and needing to score them consistently instead of by vibes, when the advertised rent hides fees/parking/pet rent/utilities/commute, when preparing to negotiate rent or lease terms, or when defining what you actually need (bedrooms, pets, commute ceiling) before searching — applies hard constraints first (budget, commute, bedrooms, pets, move date) to kill unqualified listings, scores survivors on 16 weighted criteria YOU prioritize, computes the true all-in monthly cost with every fee amortized, runs affordability analysis (30/33/50% rules, 3x-income approval math), compares finalists side-by-side with the quality-vs-cost premium quantified, and generates a leverage-based negotiation script with anchoring targets.

它能做什么

Apartment Scorecard — Compare Rentals Like an Analyst

技能文档

Apartment Scorecard — Compare Rentals Like an Analyst

Overview

Apartment hunting corrupts judgment: you tour five places in a day, the one with the nice lobby light wins, and six months later you're paying $120/month in "amenity fees" for a gym you never use with a 50-minute commute you didn't count. The listing price is marketing; your actual cost and quality are computable.

This skill enforces the process your rational self would use: hard constraints first (no point scoring a place you can't afford, can't bring the cat to, or can't move into on time), then weighted scoring on 16 criteria with weights that reflect YOUR priorities (a remote worker weights light and noise; a commuter weights transit), then true monthly cost — every fee, amortized broker fee, parking, pet rent, utilities, insurance, deposit interest, and optionally your commute time valued in money — and finally negotiation prep: the market signals that justify asking for less, with anchoring numbers and a script.

When to Use

  • Comparing 2+ listings you've toured (or are about to) → screen, then compare the finalists
  • "Can I afford this rent?" → budget (the 30/33/50 rules + landlord 3×-income math)
  • Touring today: score each place on the 1-5 criteria sheet right after leaving (memory decays in hours)
  • About to sign: negotiate with the facts you gathered (days vacant, comparables, lease flexibility)
  • Defining the search itself: hard constraints (max commute, pets, budget) before you waste tours
  • Don't use for: buying property (mortgage/tax math differs — see job-offer-comparator style skills for offers), roommate conflict mediation, or short-term vacation rentals.

The 16 Criteria

CriterionDefault weight1 looks like5 looks like
price3over budgetat/below budget
commute390+ minunder 20 min
noise3constantsilent
safety3uncomfortableno thought
space2crampedgenerous
light2dark cavesunny all day
kitchen2can't cookjoy to cook
building2falling apartwell managed
neighbors2nightly basspeaceful
laundry2street tripin-unit
transit2car mandatorycar-free easy
pets_ok2bannedwelcome
storage1noneabundant
bathroom1grimspa
flex_space1nonededicated room
outdoor1noneprivate green

Edit weights in ~/.apartment-scorecard.json — set to 0 anything you don't care about. Score each listing 1-5 per criterion during/immediately after the tour; criteria prints this table.

Commands

# Affordability: 30/33/50% rules, 3×-income approval math, front costs
python3 scripts/apartment_scorecard.py budget

# See criteria + defaults
python3 scripts/apartment_scorecard.py criteria

# Screen & rank: hard constraints kill, survivors score, true cost ranks
python3 scripts/apartment_scorecard.py screen --file apartments.json

# Side-by-side of finalists + quality-vs-cost premium
python3 scripts/apartment_scorecard.py compare "Maple St 2BR" "Oak Rd Garden"

# Negotiation plan with your leverage facts
python3 scripts/apartment_scorecard.py negotiate "Maple St 2BR" \
    --vacant-days 30 --lease-offer 18 \
    --facts comparables move_in_speed

# Full demo: budget → screen → compare → negotiate
python3 scripts/apartment_scorecard.py example

Listings: JSON list (or CSV) — name, rent, bedrooms, commute_min, deposit, fees_monthly, parking_monthly, pet_rent_monthly, broker_fee, utilities_included, pets_ok, available (YYYY-MM-DD), lease_months, plus your 1-5 scores per criterion. See references/listing-format.md.

True Cost Model

true_monthly = rent + monthly fees + utilities (if not included)
             + renters insurance + parking + pet rent
             + deposit × 4% / 12        (interest your money loses)
             + (broker + move-in fees) / lease months
             + commute_min × 2 × days × 4.33 × $/min (optional, try 0.3-0.8)

The commute term is the sleeper: at $0.50/min, a place 20 minutes further costs ~$433/month — often more than the rent difference people agonize over. Report also shows %income so the 50% danger line is visible at a glance.

Workflow

  1. budget → know your real ceiling BEFORE touring (all-in, not rent).
  2. Set hard constraints in the weights file; don't tour what fails them.
  3. Tour with the criteria sheet; score 1-5 within an hour of each visit.
  4. screen → ranking with hard fails listed; compare the top 2 → the premium line asks the right question ("is $300/mo worth 9 score points?").
  5. negotiate the chosen one with real facts → anchor first, trade lease length/speed for dollars, get it in writing.

Common Pitfalls

  1. Comparing rent instead of true cost. A $1,690 place with no fees and included utilities can be cheaper than a $1,580 place with $150/month of parking + amenity + pet fees. The screen table's true $/mo column exists to prevent this.
  2. Scoring during the tour by vibes, then writing numbers later. Score within the hour; bring the criteria list; photograph everything (the photos double as deposit-dispute evidence later).
  3. Ignoring the commute because "it's fine." Value your time honestly (the $/min setting); 30 extra minutes daily is ~22 hours/month.
  4. Hard constraints as soft preferences. If pets are non-negotiable, they're a constraint, not a weight — mixed-up categories is how people end up heartbroken at lease signing.
  5. Negotiating by asking "is the rent flexible?" That invites a no. Anchor with a specific number and a trade (longer lease, fast move-in, auto-pay); negotiate prints the script.
  6. Forgetting front costs. Deposit + first + last + broker = 2.5-3.5× monthly rent due on signing day; budget it before you fall in love.
  7. Weighting everything 3. If everything matters, nothing does. Force yourself to 0-out at least five criteria.

Verification Checklist

  • python3 scripts/test_apartment_scorecard.py → ALL TESTS PASSED (29 assertions)
  • python3 scripts/apartment_scorecard.py example runs the full pipeline
  • Weights file edited to YOUR priorities (not defaults)
  • Every toured listing scored within an hour of the visit
  • Decision made on true $/mo + score, not advertised rent + vibes

相关技能

从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。

作者 fly0pants4.3k 次安装296 星标

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván855 次安装69 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai22 次安装8 星标

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván559 次安装18 星标

voronindenis5 的更多技能

浏览全部技能

Prepare salary negotiations with a structured toolkit: market-rate anchoring math, walk-away floor calculation, total-compensation evaluation (equity, bonuses, benefits), negotiation scripts for offers, raises, and counter-offers, and BATNA analysis. Use when the user has a job offer, is preparing a raise conversation, wants to know if their pay is competitive, or needs scripts and a strategy for negotiating compensation.

作者 voronindenis51 次安装

Use when your calendar is eating your week and you want to know exactly where the time goes, when planning recurring meetings for a team, before proposing a new recurring meeting, when someone says 'we should sync weekly' and you want data, or when auditing which meetings to kill — imports ICS calendar files, measures meeting hours per week/person/meeting-series (including double-bookings and fragmentation), computes focus-time destruction from meeting placement, scores the true cost of each series (hours × attendees × frequency), flags specific meetings to kill/shorten/make-async using explicit rules, and simulates the recovered hours before anyone has to argue about it.

作者 voronindenis52 次安装

Audit password vault exports (Bitwarden, 1Password, KeePass, Chrome, Firefox) for reuse, weakness, staleness, breach exposure, and 2FA gaps without ever storing or transmitting a plaintext password. Use when the user asks to audit passwords, check password strength/reuse, review vault health, or verify whether credentials appeared in breaches.

作者 voronindenis51 次安装

Turn flat resume bullets ('Responsible for X') into quantified STAR-method achievement narratives, score resumes against job descriptions for ATS keyword coverage and weak-phrase hazards, and expand each bullet into interview-ready stories with likely follow-up questions. Use when the user is writing or updating a resume/CV, preparing bullets for a job application, tailoring a resume to a specific job posting, or preparing interview stories from their experience.

作者 voronindenis51 次安装

Agent self-awareness of cognitive states — context fatigue, attention drift, memory debt, confidence erosion, and skill staleness. Detect, report, and mitigate degrading conditions before they cause failures.

作者 voronindenis5