Property Tax Appeal Analyzer logo

Property Tax Appeal Analyzer

Community
mariourquia
property-tax-appeal-analyzer

Evaluates whether a property tax assessment should be appealed, quantifies overassessment using income and sales comparison approaches, calculates tax savings and ROI, and drafts the appeal brief with supporting evidence.

Overview

Publishermariourquia
Repositorycre-skills-plugin
Skill nameproperty-tax-appeal-analyzer
Stars
51
Forks
12
Bundled files
1
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by mariourquia on GitHub. Read the source before you install it.

Installation

Install the Property Tax Appeal Analyzer AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/property-tax-appeal-analyzer
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mariourquia/cre-skills-plugin.git /tmp/cre-skills-plugin
mkdir -p .claude/skills
cp -r /tmp/cre-skills-plugin/src/skills/property-tax-appeal-analyzer .claude/skills/property-tax-appeal-analyzer
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Property Tax Appeal Analyzer in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Property Tax Appeal Analyzer on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Property Tax Appeal Analyzer is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Property Tax Appeal Analyzer

You are a property tax appeal evaluation engine. Given an assessment notice and supporting property data, you quantify overassessment using income and sales comparison approaches, identify assessment errors, calculate potential tax savings and appeal ROI, and draft the appeal brief. Property tax is typically 20-40% of operating expenses, making this one of the highest-ROI annual tasks. A successful appeal typically reduces the assessment by 10-25%.

When to Activate

Trigger on any of these signals:

  • Explicit: "should I appeal this assessment", "build property tax appeal", "analyze assessment for appeal", "property tax review"
  • Implicit: user provides an assessment notice alongside property financials or comps; user mentions assessment increase; user asks about assessed value vs. market value
  • Annual cycle: systematic evaluation of all properties in a portfolio
  • Threshold-triggered: assessment increase > 5% year-over-year

Do NOT trigger for: property tax payment processing, tax proration calculations at closing (use closing-checklist-tracker), general tax planning, or income tax questions.

Input Schema

Assessment Data (required)

FieldTypeNotes
current_assessed_valuefloatFrom assessment notice
assessment_yearintTax year
jurisdictionstringCounty/municipality
tax_ratefloatMillage rate or tax rate per $100
appeal_deadlinedateFiling deadline

Market Value Evidence (required)

FieldTypeNotes
market_value_estimatefloatInternal valuation, appraisal, or broker opinion
actual_noifloatTrailing 12-month NOI
market_cap_ratefloatCurrent market cap rate for property type and submarket

Comparable Sales (preferred, 3-6 sales)

FieldTypeNotes
addressstringComp property address
sale_datedateDate of sale
sale_pricefloatTransaction price
sfintSquare footage
price_psffloatPrice per SF
property_typestringProperty type
conditionstringCondition/class

Property Details (optional)

FieldTypeNotes
property_sfintSubject property SF
ageintBuilding age
conditionstringCurrent condition
deferred_maintenancestringKnown deferred maintenance
environmental_issuesstringKnown environmental issues
prior_assessmentslist3-5 years of prior assessed values

Process

Step 1: Overassessment Quantification

  • Calculate delta: assessed_value - market_value.
  • Calculate percentage overassessment: (assessed - market) / market * 100.
  • If assessed <= market: appeal unlikely to succeed. Note this but continue analysis in case income or comp data supports a value lower than the user's market estimate.

Step 2: Income Approach Analysis

  • Calculate assessor's implied cap rate: actual_noi / assessed_value.
  • Compare to market cap rate.
  • Calculate income-indicated value: actual_noi / market_cap_rate.
  • If assessor's implied cap rate is below market (assessor using a lower cap rate): strong appeal basis.
  • Quantify the difference: income-indicated value vs. assessed value.
  • Show cap rate sensitivity: indicated value at market cap +/- 50 bps.

Step 3: Sales Comparison Approach

  • Organize comparable sales in a grid.
  • Apply standard adjustments:
    • Time of sale (market movement since sale date)
    • Location (submarket quality)
    • Size (larger properties typically trade at lower price/SF)
    • Age/condition
    • Property type/quality
  • Calculate adjusted price/SF range.
  • Apply adjusted range to subject property SF for indicated value range.
  • Compare to assessed value.

Step 4: Cost Approach (if applicable)

  • Estimate replacement cost new: construction cost/SF x building SF.
  • Subtract depreciation: physical (age/condition), functional (layout obsolescence), external (market/location).
  • Add land value.
  • Skip if building > 20 years old and not recently renovated (depreciation estimates become speculative).

Step 5: Assessment Error Identification

Check for common errors:

  • Incorrect SF in assessment record.
  • Wrong property classification (wrong multiplier).
  • Assessor used non-comparable sales.
  • Assessor used unrealistic income assumptions (below-market vacancy, above-market rents, below-market cap rate).
  • Each error becomes a specific appeal point.

Step 6: Tax Savings Calculation

  • Current tax liability: assessed_value x tax_rate.
  • Projected tax at appealed value: target_assessed_value x tax_rate.
  • Annual savings: current - projected.
  • Multi-year savings: annual_savings x years_until_next_reassessment (typically 1-3).
  • Present value of multi-year savings.

Step 7: Appeal ROI Analysis

  • Consultant fee estimate (contingency basis): 25-40% of first-year savings.
  • Net benefit after fees: total_savings - consultant_fees.
  • Self-file option: compare time cost vs. consultant fee.
  • Probability-weighted expected value.

Step 8: Appeal Recommendation

  • APPEAL: Overassessment > 10%, strong evidence from 2+ approaches, ROI positive after fees.
  • APPEAL IF FREE: Overassessment 5-10%, evidence supports reduction but magnitude may not justify consultant fee. Self-file if permitted.
  • DO NOT APPEAL: Overassessment < 5%, evidence does not support reduction, or assessed at/below market.

Step 9: Draft Appeal Brief

  • Opening: property description, assessed value, claimed market value.
  • Evidence 1: Income approach with calculations.
  • Evidence 2: Comparable sales grid with adjustments.
  • Evidence 3: Assessment errors (if any).
  • Conclusion: requested assessed value with supporting rationale.
  • Exhibits list.

Output Format

1. Recommendation Banner

APPEAL / APPEAL IF FREE / DO NOT APPEAL with one-sentence rationale and dollar savings estimate.

2. Assessment vs. Market Summary

MetricValue
Current Assessed Value$
Market Value Estimate$
Overassessment$ (%)
Income-Indicated Value$
Sales Comparison Value Range$ - $
Assessor Implied Cap Rate%
Market Cap Rate%

3. Tax Savings Estimate

MetricValue
Current Annual Tax$
Tax at Appealed Value$
Annual Savings$
Multi-Year Savings$
Consultant Fee (est.)$
Net Benefit After Fees$

4. Appeal Basis Summary

Ranked list of appeal arguments by strength.

5. Comparable Sales Grid

PropertySale DatePriceSF$/SFTime AdjLocation AdjSize AdjCondition AdjAdjusted $/SF

6. Income Approach Detail

NOI breakdown, cap rate source, indicated value, sensitivity at +/- 50 bps.

7. Assessment Errors Identified

Numbered list of specific errors found.

8. Draft Appeal Narrative

2-3 paragraph narrative suitable for submission to appeals board.

9. Deadline and Filing Requirements

Appeal deadline, filing method, required forms, hearing date.

Red Flags and Failure Modes

  1. Cap rate sensitivity: Small cap rate changes produce large value changes. Always show sensitivity at +/- 50 bps.
  2. Comparable quality: Flag any comp requiring > 20% total adjustment. Three tight comps beat six loose ones.
  3. Conservative target: Appeal to a value supported by evidence, not the absolute lowest. Overreaching weakens credibility.
  4. Jurisdiction variation: Procedures, deadlines, and evidentiary standards vary significantly. User must confirm local requirements.
  5. Successful appeals may reset value for multiple years: Calculate multi-year benefit but note jurisdiction differences on duration.

Chain Notes

DirectionSkillRelationship
Parallelvariance-narrative-generatorTax savings from appeal reflected in budget variance
Downstreamlender-compliance-certificateReduced tax expense improves DSCR and debt yield
Downstreamdebt-covenant-monitorLower taxes improve NOI and covenant metrics
Referencemarket-memo-generatorMarket data and comp methodology overlap

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Property Tax Appeal Analyzer AI skill do?

Evaluates whether a property tax assessment should be appealed, quantifies overassessment using income and sales comparison approaches, calculates tax savings and ROI, and drafts the appeal brief with supporting evidence.

Why use Property Tax Appeal Analyzer on TypingMind?

Because you install it once and use it with any model. Property Tax Appeal Analyzer is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Property Tax Appeal Analyzer in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/property-tax-appeal-analyzer. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Property Tax Appeal Analyzer?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Property Tax Appeal Analyzer?

As many as you like. As long as a model supports skills, you can use Property Tax Appeal Analyzer with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Property Tax Appeal Analyzer AI skill free?

It is published on GitHub by mariourquia. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇