agentleFS
c-monganc-mongan/ireland-mcp/skills/housing-supply-tracker/SKILL.md

housing-supply-tracker

Skill2 starsChanged 19 days agoMITView on GitHub

Tracks housing supply and affordability for an Irish local authority or local electoral area by combining CSO new dwelling completions (by local authority and LEA), CSO/ESB vacancy rates, RTB average rents, Property Price Register sale prices including new homes, and recent planning applications, via the Ireland MCP server. Use when someone asks how many homes were built in their council area, whether completions are keeping up, how rents and prices moved alongside supply, or which LEAs had the most or fewest completions.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If an argument shape is unclear, call ireland_describe with { "source", "operation" } first.

    line 25
  2. Very specific:

    Name the area: Call ireland_resolve_place with the place, a council, an LEA, or lat/lon for an address.

    line 41
  3. Very specific:

    Codes: Call cso/cso_get_table_metadata for each table and note the area's category code (local authority codes look like "2ae19629-...") …

    line 45
  4. Distinctive:

    Follow ../_shared/citations.md and its PPR caveats.

    line 93
  5. Distinctive:

    No statements that an area "needs" a number of homes.

    line 96

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Housing supply tracker

Line up supply (completions, vacancy, planning) against prices and rents for one area over the same years. It reports indicators side by side; it does not model demand or need.

Related projects: One Million Homes (Rob Cass, Edward Dixon), House Price Ireland (Unknown), EireEstate (Evegny Koltsov). Not affiliated; see ../_shared/inspirations.md.

Calling the tools

Steps name each operation as source/operation (e.g. cso/cso_get_data), using the typed tool name as the operation. On the default surface, run it with ireland_call, for example:

{ "source": "cso", "operation": "cso_get_data", "args": { "table_code": "NDQ05", "filters": { "TLIST(Q1)": ["20251", "20252"] } } }

If an argument shape is unclear, call ireland_describe with { "source", "operation" } first; it returns the schema and an example. search, fetch and nearby are top-level tools. If the server was added with ?toolsets=<ids> or ?toolsets=all, the typed tool can be called directly with the same args.

Tables

IndicatorTableGeographyTime
New dwelling completionsNDQ05 (by house type: NDQ06)Local authorityQuarter
New dwelling completionsNDA05 / NDQ09Local electoral areaYear / Quarter
Vacant dwellings and vacancy rateVAC14 / VAC15Local authority / LEAQ4 each year
RTB average monthly rentRIQ02County, town, Dublin areaQuarter

Steps

  1. Name the area. Call ireland_resolve_place with the place, a council, an LEA, or lat/lon for an address. Keep the exact local authority and LEA names (e.g. "Galway City Council", "Galway City West"). NDA05 labels LEAs as "<LEA>, <council>" (e.g. "Galway City West, Galway City"); ireland_resolve_place accepts that form too. To list a council's LEAs, pass "list": "lea".
  2. Codes. Call cso/cso_get_table_metadata for each table and note the area's category code (local authority codes look like "2ae19629-...") and the latest periods.
  3. Completions. cso/cso_get_data on NDQ05 (or NDA05 for an LEA) filtered to the area and the last 8 quarters or 5 years. Sum quarters into calendar years only when all four are present.
  4. Vacancy. cso/cso_get_data on VAC14 (or VAC15) for the area: vacant dwellings, dwelling stock and vacancy rate.
  5. Rents. cso/cso_get_data on RIQ02 with all bedrooms ("-"), all property types ("-") and the area's Location code, for the same years.
  6. Prices. ppr/ppr_price_stats for each year (from/to), once with "property": "new" and once with "property": "second-hand". Each result also reports new_count and second_hand_count.
  7. Pipeline (optional). planning/planning_stats with { "council", "from", "to", "min_units": 1 } gives the exact number of applications proposing homes and the units they propose, computed by the planning service. units_recorded shows how many applications filled in the unit count. Some councils leave it blank or enter 0 for every application, so report a total of 0 units as unknown. planning/planning_search lists individual applications. These are applications, not permissions or homes.
  8. Ranking across LEAs (optional). Let ireland_query do the ranking on the server instead of pulling every row. For example, completions per 1,000 residents for each LEA in a council:

    { "tables": [
        { "alias": "leas", "source": "cross", "operation": "ireland_resolve_place", "args": { "place": "Galway County Council", "list": "lea" } },
        { "alias": "done", "source": "cso", "operation": "cso_get_data", "args": { "table_code": "NDA05", "filters": { "TLIST(A1)": ["2024"] } },
          "steps": [{ "filter": ["Local Electoral Area", "contains", ", Galway County"] },
                    { "derive": { "lea": "trim(split_part([Local Electoral Area], ',', 1))" } }] } ],
      "steps": [{ "join": "done", "on": ["name", "lea"], "normalize": true },
                { "derive": { "per_1000": "round(value / population_2022 * 1000, 2)" } },
                { "select": ["name", "value", "population_2022", "per_1000"] }, { "sort": "-per_1000" }] }

    Show the full list, not just the top or bottom. To roll LEAs up to a county, list the county's LEAs with ireland_resolve_place ("list": "lea") rather than guessing from council names.

  9. Rents by LEA are not available. RTB rents in CSO (RIQ02/RIA02) are by county, town and neighbourhood, not LEA. Report the town or county rent and say it is not an LEA figure.

Output format

Illustrative layout; the values are examples, not data.

## Galway City Council: supply and prices
| Year | Completions (NDQ05) | Vacancy rate Q4 (VAC14) | Avg rent (RIQ02) | Median sale (PPR) |
|---|---|---|---|---|
Sources
- CSO tables NDQ05, VAC14, RIQ02 (CC BY 4.0; RTB data hosted by CSO); PPR data as of DATE

Rules

  • Follow ../_shared/citations.md and its PPR caveats.
  • Completions are ESB connections, not planning permissions or commencements; vacancy is based on low electricity use. Say both once.
  • No statements that an area "needs" a number of homes; that is outside these data.
  • PPR new-home prices exclude VAT.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.