ワンクリックで
zoning-analysis-nyc
Analyze zoning envelope rules for lots in New York City using PLUTO data and the NYC Zoning Resolution
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Analyze zoning envelope rules for lots in New York City using PLUTO data and the NYC Zoning Resolution
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Look up ACRIS property transaction records for any NYC property — deeds, mortgages, satisfactions, liens, and ownership history. Use when the user asks who owns a building, when it last sold or for how much, or whether there are mortgages or liens against it. NYC only; for permits or violations use the DOB skills.
Look up Board of Standards and Appeals (BSA) variances and special permits for any NYC property. Use when checking whether a lot carries zoning relief — variances, special permits, appeals — that modifies its as-of-right envelope. NYC only; for base zoning controls use /zoning-analysis-nyc.
Look up DOB permit and job filing history for any NYC building — new-building, alteration, and demolition filings with status and dates. Use when the user asks what work was filed or permitted at an address, or to gauge renovation history during due diligence. NYC only; for open violations use /nyc-dob-violations.
Look up open and resolved DOB and ECB violations for any NYC building, with class, status, and penalty detail. Use when the user asks whether a building has violations, stop-work orders, or outstanding ECB penalties. NYC only; for housing-code violations use /nyc-hpd.
Look up HPD violations, complaints, and building registration for residential buildings.
Check if a NYC building is landmarked or in a historic district using LPC data.
| name | zoning-analysis-nyc |
| description | Analyze zoning envelope rules for lots in New York City using PLUTO data and the NYC Zoning Resolution |
| allowed-tools | ["Read","Write","Edit","WebFetch","AskUserQuestion","Bash","Glob","Grep"] |
Analyze building envelope rules for any lot in New York City using the PLUTO database (NYC Open Data) and the NYC Zoning Resolution.
If PROJECT.md exists in the working directory, read it before fetching — the BBL, district, and prior envelope results may already be on file. After completing, append the zoning district, FAR set, envelope results, overlays/special districts, and landmark status to its Zoning section. Update values in place (the dossier holds current state, not history), every entry with a source and date. If the analysis surfaces a choice between development paths (as-of-right vs. a City of Yes / UAP bonus scheme), propose recording it with /decision. No PROJECT.md? Skip silently — or mention /project-dossier init if the user is clearly starting a project.
Accept one of the following identifiers:
Normalize to BBL format: [borough 1 digit][block 5 digits][lot 4 digits]
Borough codes:
| Code | Borough |
|---|---|
| 1 | Manhattan |
| 2 | Bronx |
| 3 | Brooklyn |
| 4 | Queens |
| 5 | Staten Island |
Fetch lot data from two NYC APIs in parallel:
Endpoint: https://data.cityofnewyork.us/resource/64uk-42ks.json
Query by BBL:
https://data.cityofnewyork.us/resource/64uk-42ks.json?bbl=XXXXXXXXXX
Query by address (fallback):
https://data.cityofnewyork.us/resource/64uk-42ks.json?$where=address='123 MAIN STREET' AND zipcode='10001'
No authentication required for basic queries.
Read zoning-rules/pluto-fields.md for the full field reference.
Extract these key fields:
bbl — Borough-Block-Lotaddress, zipcode — street addresszonedist1 through zonedist4 — zoning district(s)overlay1, overlay2 — commercial overlay districtsspdist1, spdist2, spdist3 — special purpose districtsltdheight — limited height districtsplitzone — Y if lot is split across zoneslotarea — lot area in SFbldgarea — total building area in SFbuiltfar — as-built FARresidfar — maximum residential FARcommfar — maximum commercial FARfacilfar — maximum community facility FARnumfloors — existing number of floorslanduse — current land use categoryzonemap — zoning map numberlandmark — landmark designationhistdist — historic district nameborocode, block, lot — parsed BBL componentsEndpoint: https://a841-dotweb01.nyc.gov/arcgis/rest/services/GAZETTEER/MapPLUTO/MapServer/0/query
Query by BBL:
https://a841-dotweb01.nyc.gov/arcgis/rest/services/GAZETTEER/MapPLUTO/MapServer/0/query?where=BBL='XXXXXXXXXX'&outFields=BBL&f=json&outSR=4326
This returns the exact tax lot polygon in WGS84 (lat/lon). No authentication required.
Convert to local feet:
features[0].geometry.rings[0] coordinate array (pairs of [lon, lat])cos(lat)x_ft = (lon - lon_min) × 111320 × cos(lat) × 3.28084y_ft = (lat - lat_min) × 111320 × 3.28084LOT_POLY array of [x, y] pairs in feetlotarea (expect ±5% due to projection)Always use the real polygon for the 3D envelope viewer. Never fall back to a lotfront × lotdepth rectangle when polygon data is available.
If either query returns no results, inform the user and ask them to verify the address or BBL.
Map the zonedist1 value to its district type:
| Prefix | Type | Rules File |
|---|---|---|
| R | Residential | zoning-rules/residential.md |
| C | Commercial | zoning-rules/commercial.md |
| M | Manufacturing | zoning-rules/manufacturing.md |
Check for:
splitzone = Y): Analyze each zonedist1–zonedist4 separately. Pro-rate FAR by estimated area in each zone if lot dimensions are available, otherwise present both sets of controls.zoning-rules/contextual-districts.md.overlay1/overlay2): If present (e.g., C1-4, C2-5), load zoning-rules/commercial.md for overlay rules.spdist1–spdist3): If present, load zoning-rules/special-districts.md.ltdheight): Note the height cap.State your district identification and reasoning clearly.
Read the relevant regulation files from the skill's zoning-rules/ directory:
zoning-rules/overview.md — system primerresidential.md, commercial.md, or manufacturing.mdzoning-rules/contextual-districts.md — if district has A/B/D/X suffixzoning-rules/special-districts.md — if spdist1–spdist3 are populatedzoning-rules/use-groups.md — for permitted use analysiszoning-rules/parking.md — for parking requirementszoning-rules/city-of-yes.md — for recent reform impactsCalculate the building envelope for the lot:
Floor Area Ratio (FAR):
residfar or district table)commfar or district table)facilfar or district table)Building Height:
Setbacks:
Lot Coverage:
Yards:
Apply contextual district rules when suffix is present — these override standard height/setback rules with mandatory streetwall, base height, and setback requirements.
Layer additional regulations on top of base district controls:
Commercial overlays (C1-1 through C2-5 in residential districts):
Special purpose districts:
zoning-rules/special-districts.md for the specific districtInclusionary Housing:
Landmark / Historic District:
landmark or histdist is populated, note that Landmarks Preservation Commission (LPC) review is requiredCity of Yes reforms:
zoning-rules/city-of-yes.md for applicable changesUse the output format below to present a structured, comprehensive analysis.
Write the analysis to a markdown file in the current working directory:
zoning-analysis-[address-slug].mdzoning-analysis-123-main-st-brooklyn.md# Zoning Analysis — [Address], [Borough]
## Lot Summary
| Parameter | Value |
|-----------|-------|
| BBL | X-XXXXX-XXXX |
| Address | ... |
| Borough | ... |
| Lot Area | ... SF |
| Current Building Area | ... SF |
| Current FAR (built) | ... |
| Current Use | ... |
| Zoning Map | ... |
## Zoning Classification
| Parameter | Value |
|-----------|-------|
| Primary District | ... |
| Secondary District(s) | ... (or None) |
| Commercial Overlay | ... (or None) |
| Special District | ... (or None) |
| Limited Height | ... (or None) |
| Contextual | Yes/No |
| Split Zone | Yes/No |
| Landmark | ... (or None) |
| Historic District | ... (or None) |
## Bulk Parameters
### Floor Area
| Use | Max FAR | Max Floor Area (SF) |
|-----|---------|---------------------|
| Residential | ... | ... |
| Commercial | ... | ... |
| Community Facility | ... | ... |
### Height & Setback
| Parameter | Value |
|-----------|-------|
| Max Building Height | ... ft |
| Base Height (min–max) | ... ft (contextual only) |
| Sky Exposure Plane | starts at ... ft, ratio .../1 |
| Street Wall | required/not required |
### Yards & Coverage
| Parameter | Value |
|-----------|-------|
| Front Yard | ... ft |
| Rear Yard | ... ft |
| Side Yards | ... |
| Max Lot Coverage | ...% |
| Open Space Ratio | ... (if applicable) |
## Permitted Uses
Key permitted uses by Use Group for this district. Highlight the most relevant:
- Residential: ...
- Commercial: ...
- Community Facility: ...
- Manufacturing: ... (if applicable)
## Parking Requirements
Based on current rules (post-City of Yes where applicable):
| Use | Requirement |
|-----|-------------|
| Residential | ... |
| Commercial | ... |
| Other | ... |
## Bonuses & Incentives
- Inclusionary Housing bonus: ...
- UAP (City of Yes): ...
- Other applicable bonuses: ...
## Restrictions & Special Conditions
- Landmark/LPC review: ...
- Special district requirements: ...
- Environmental: ...
- Other: ...
## Development Potential
| Scenario | FAR | Floor Area (SF) | Est. Floors |
|----------|-----|------------------|-------------|
| As-of-right residential | ... | ... | ... |
| As-of-right commercial | ... | ... | ... |
| With IH bonus | ... | ... | ... |
| With UAP bonus | ... | ... | ... |
## Buildable Envelope
### Plan View
ASCII diagram showing the lot boundary with setbacks and buildable zone. Orient with the primary street frontage at the bottom. Label dimensions, setback distances, and buildable area. Use PLUTO lot dimensions (lotfront, lotdepth) where available.
Example:
← 170 ft →
┌────────────────────────────┐
│ 20 ft rear yard │ ↑
│ ┌──────────────────────┐ │ |
│ │ │ │ |
│ │ BUILDABLE ZONE │ │ 130 ft
│ │ ~150 ft × 170 ft │ │ |
│ │ │ │ |
│ │ │ │ |
│ └──────────────────────┘ │ ↓
└────────────────────────────┘
HUDSON ST (wide street)
← no front setback →
### Section View
ASCII cross-section showing the height and setback envelope from street level. Include base height, setback, sky exposure plane, and maximum height. For contextual districts, show the mandatory streetwall height range.
Example:
290 ft ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ max height │ ╱ │ ╱ sky exposure │ ╱ plane (5.6:1) │ ╱ 85 ft ├──────┤ ← setback line │ │ │ │ base / streetwall │ │ (60–85 ft) │ │ ───────┴──────┴──────────────── street HUDSON ST (wide)
Adapt both diagrams to the specific lot. Use actual dimensions and controls from the analysis. If the lot is irregular or split-zone, note the complexity and simplify where needed.
## Envelope Data
Machine-readable data for `/zoning-envelope`. Include the exact lot polygon from Step 2b (MapPLUTO ArcGIS) converted to local feet, plus all computed envelope parameters.
```json
{
"lot_poly": [[x, y], ...],
"unit": "ft",
"setbacks": { "front": 0, "rear": 20, "lateral1": 0, "lateral2": 0 },
"volumes": [
{ "type": "base", "inset": 20, "h_bottom": 0, "h_top": 85, "label": "base (streetwall)" },
{ "type": "tower", "inset": 10, "h_bottom": 85, "h_top": 290, "label": "tower" }
],
"height_cap": 290,
"info": { "title": "...", "zone": "...", "id": "BBL ...", "area": "... SF" },
"stats": { "Commercial FAR": "10.0", "Max Floor Area": "218,620 SF", ... }
}
Adapt the volumes array to the district type:
setbacksTo generate an interactive 3D viewer from this data, run: /zoning-envelope path/to/this-report.md
## Notes
- The NYC Zoning Resolution is maintained by the Department of City Planning
- PLUTO data is updated quarterly — verify currency for critical decisions
- Contextual districts (with letter suffixes) have mandatory streetwall and height rules that override standard bulk controls
- City of Yes for Housing Opportunity was adopted December 2024 — some provisions phase in over time
- When in doubt about district classification or applicable rules, always ask the user
- For split-zone lots, analyze each zone separately and note the complexity
- ZoLa (zola.planning.nyc.gov) is the authoritative visual reference — recommend users verify there