Extracts and normalizes parcel, zoning, Official Plan, and overlay facts from a previously discovered Ontario source bundle. This skill should be used when `source_bundle.json` exists and the pipeline needs a source-backed `normalized_data.json` for downstream analysis.
Convert a discovered source inventory into one normalized, source-backed parcel record. This skill performs extraction and normalization. It does not render a feasibility verdict.
Default operating assumption:
source_bundle.json already existsnormalized_data.json{
"project_id": "uuid",
"source_bundle_path": "source_bundle.json",
"address_input": "123 Main St, Toronto ON",
"project_concept": {
"project_type": "multiplex"
}
}
Required:
source_bundle_pathaddress_input or a parcel identifier present in the source bundleProduce normalized_data.json.
{
"project_id": "uuid",
"normalized_timestamp": "ISO datetime",
"parcel": {},
"zoning": {},
"official_plan": {},
"overlays": [],
"applications_context": {},
"unresolved_fields": [],
"facts": [],
"inferences": [],
"assumptions": [],
"unknowns": [],
"overall_data_confidence": 0.0
}
Use this contract for zoning so downstream skills read consistent paths:
{
"zoning": {
"zone_code": "RD",
"zone_label": "Residential Detached",
"bylaw_name": "Zoning By-law 569-2013",
"is_hatched_area": false,
"legacy_bylaw": null,
"chapter_900_status": "unverified | not_applicable | confirmed",
"active_amendment_context": [],
"development_standards": {
"max_height_m": 10,
"max_lot_coverage_pct": 33,
"fsi": null,
"min_front_setback_m": 3,
"min_rear_setback_m": 7.5,
"min_side_setback_m": 0.9,
"parking_min_spaces": 1,
"permitted_uses": [],
"sources": []
}
}
}
Load only the references relevant to the task:
| Topic | Load This Reference |
|---|---|
| Provincial override logic (O.Reg 462/24, housing rules) | references/ontario-policy-framework.md |
| Toronto zone extraction (569-2013, hatched areas, Chapter 900) | references/toronto-zoning-guide.md |
| Non-Toronto Ontario municipality | references/ontario-policy-framework.md only — Toronto guide does not apply |
| Both Toronto zoning + provincial override | Both files |
source_bundle.jsonFor Toronto:
If multiple official sources disagree:
Check independently for:
For each overlay entry, record:
{
"type": "Heritage | TRCA Regulated Area | Floodplain | Active ZBA | Active OPA",
"applies": true,
"severity": "low | medium | high | unknown",
"source_url": "https://...",
"notes": "Short explanation",
"confidence": "confirmed | inferred | unknown"
}
If the project concept depends on provincial override logic, such as recent Ontario housing rules:
facts, inferences, assumptions, unknownsunresolved_fieldsRun the full workflow using Toronto-specific sources and references.
Run the same output contract, but:
development_standards.* paths consistently for all numeric zoning valuesStop and return a partial artifact when:
| File | Description | Key Topics |
|---|---|---|
references/ontario-policy-framework.md | Provincial hierarchy and override concepts | PPS 2024, O.Reg 462/24, provincial preemption |
references/toronto-zoning-guide.md | Toronto zoning conventions and standard extraction notes | 569-2013 structure, hatched areas, Chapter 900, zone codes |
| Source | URL | Use |
|---|---|---|
| Provincial Planning Statement, 2024 | https://www.ontario.ca/page/provincial-planning-statement-2024 | Provincial policy hierarchy |
| Toronto Official Plan | https://www.toronto.ca/city-government/planning-development/official-plan-guidelines/official-plan/ | OP designation verification |
| Toronto Zoning By-law 569-2013 | https://www.toronto.ca/zoning/bylaw_amendments/ZBL_NewProvision_Chapter1.htm | By-law text |
| Toronto Zoning Overview | https://www.toronto.ca/city-government/planning-development/zoning-by-law-preliminary-zoning-reviews/ | Interactive map and zone lookup |
| Heritage Register | https://www.toronto.ca/city-government/planning-development/heritage-preservation/heritage-register/ | Heritage status check |