Files
periscope/skills/extract-pintable/schema.json
T
micheleandCursor 21e2be1cd0 Strengthen pintable layout_rules skill and refresh empty extractions.
Treat PCB/application layout guidance as a first-class extract, keep those pages in PDF trim, and re-run IC extraction once when rules are still empty under older model_version.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 18:01:15 +02:00

87 lines
2.6 KiB
JSON

{
"type": "object",
"properties": {
"component_subtype": {
"type": "string",
"description": "Dotted taxonomy path, e.g. ic.mcu, ic.power.ldo"
},
"package_info": {
"type": "object",
"properties": {
"base_family": {"type": "string"},
"package": {"type": "string"},
"pin_count": {"type": "integer"},
"description": {"type": "string"}
},
"required": ["base_family", "package", "pin_count"]
},
"pintable": {
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {},
"name": {"type": "string"},
"description": {"type": "string"},
"functions": {
"type": "array",
"items": {"type": "string"}
}
},
"required": ["number", "name"]
}
},
"absolute_maximum_ratings": {
"type": "array",
"description": "Abs-max rows, plus Vrwm and polarity/topology for ESD/TVS ICs.",
"items": {
"type": "object",
"properties": {
"parameter": {"type": "string"},
"min": {"type": ["number", "null"]},
"max": {"type": ["number", "null"]},
"unit": {"type": "string"},
"source_page": {"type": "integer"}
},
"required": ["parameter", "unit", "source_page"]
}
},
"internal_features": {
"type": "object",
"properties": {
"esd_clamp_pins": {"type": "array", "items": {"type": "string"}},
"pullup_pins": {"type": "array", "items": {"type": "string"}},
"analog_switch": {"type": "array", "items": {"type": "string"}}
}
},
"layout_rules": {
"type": "array",
"description": "PCB layout constraints from typical-application / PCB layout pages. Empty if none stated.",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"decoupling_proximity",
"thermal_via",
"keepout",
"length_match"
]
},
"pin": {"type": ["string", "null"]},
"cap_value_hint": {"type": ["string", "null"]},
"max_distance_mm": {"type": ["number", "null"]},
"same_layer": {"type": ["boolean", "null"]},
"min_via_count": {"type": ["integer", "null"]},
"net_class": {"type": ["string", "null"]},
"note": {"type": ["string", "null"]},
"source_page": {"type": ["integer", "null"]}
},
"required": ["kind"]
}
}
},
"required": ["component_subtype", "package_info", "pintable"]
}