← Files Brokerage Screenshot ParserARCHIVED FILE
skills/parse-brokerage-screenshots/references/output-schema.json
6.28 KB · Oct 4, 2026 · 12:31 UTC
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/sizheng/prof/skills/parse-brokerage-screenshots/references/output-schema.json",
"title": "Brokerage Screenshot Extraction",
"type": "object",
"additionalProperties": false,
"required": [
"broker",
"screen_type",
"account_type",
"account_identifier",
"currency",
"positions",
"transactions",
"warnings",
"source_screenshots"
],
"properties": {
"broker": {
"type": ["string", "null"]
},
"screen_type": {
"enum": [
"portfolio_positions",
"transaction_history",
"order_history",
"balances",
"unknown"
]
},
"account_type": {
"type": ["string", "null"]
},
"account_identifier": {
"type": ["string", "null"],
"description": "Use [REDACTED] unless the user explicitly requests inclusion."
},
"currency": {
"type": ["string", "null"],
"description": "ISO 4217 currency code when visible or unambiguous."
},
"positions": {
"type": "array",
"items": {
"$ref": "#/$defs/position"
}
},
"transactions": {
"type": "array",
"items": {
"$ref": "#/$defs/transaction"
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"source_screenshots": {
"type": "array",
"items": {
"$ref": "#/$defs/sourceScreenshot"
}
}
},
"$defs": {
"nullableNumber": {
"type": ["number", "null"]
},
"warningList": {
"type": "array",
"items": {
"type": "string"
}
},
"instrumentType": {
"enum": [
"stock",
"option",
"etf",
"cash",
"cryptocurrency",
"unknown"
]
},
"position": {
"type": "object",
"additionalProperties": false,
"required": [
"symbol",
"description",
"instrument_type",
"expiration",
"expiration_displayed",
"strike",
"option_type",
"quantity",
"last_price",
"average_price",
"cost_basis",
"market_value",
"day_gain",
"day_gain_percent",
"total_gain",
"total_gain_percent",
"confidence",
"warnings"
],
"properties": {
"symbol": {
"type": ["string", "null"]
},
"description": {
"type": ["string", "null"]
},
"instrument_type": {
"$ref": "#/$defs/instrumentType"
},
"expiration": {
"type": ["string", "null"],
"format": "date"
},
"expiration_displayed": {
"type": ["string", "null"]
},
"strike": {
"$ref": "#/$defs/nullableNumber"
},
"option_type": {
"enum": ["call", "put", null]
},
"quantity": {
"$ref": "#/$defs/nullableNumber"
},
"last_price": {
"$ref": "#/$defs/nullableNumber"
},
"average_price": {
"$ref": "#/$defs/nullableNumber"
},
"cost_basis": {
"$ref": "#/$defs/nullableNumber"
},
"market_value": {
"$ref": "#/$defs/nullableNumber"
},
"day_gain": {
"$ref": "#/$defs/nullableNumber"
},
"day_gain_percent": {
"$ref": "#/$defs/nullableNumber"
},
"total_gain": {
"$ref": "#/$defs/nullableNumber"
},
"total_gain_percent": {
"$ref": "#/$defs/nullableNumber"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"warnings": {
"$ref": "#/$defs/warningList"
}
}
},
"transaction": {
"type": "object",
"additionalProperties": false,
"required": [
"date",
"date_displayed",
"settlement_date",
"symbol",
"description",
"instrument_type",
"action",
"quantity",
"price",
"amount",
"fees",
"status",
"order_type",
"expiration",
"strike",
"option_type",
"confidence",
"warnings"
],
"properties": {
"date": {
"type": ["string", "null"],
"format": "date"
},
"date_displayed": {
"type": ["string", "null"]
},
"settlement_date": {
"type": ["string", "null"],
"format": "date"
},
"symbol": {
"type": ["string", "null"]
},
"description": {
"type": ["string", "null"]
},
"instrument_type": {
"$ref": "#/$defs/instrumentType"
},
"action": {
"type": ["string", "null"]
},
"quantity": {
"$ref": "#/$defs/nullableNumber"
},
"price": {
"$ref": "#/$defs/nullableNumber"
},
"amount": {
"$ref": "#/$defs/nullableNumber"
},
"fees": {
"$ref": "#/$defs/nullableNumber"
},
"status": {
"type": ["string", "null"]
},
"order_type": {
"type": ["string", "null"]
},
"expiration": {
"type": ["string", "null"],
"format": "date"
},
"strike": {
"$ref": "#/$defs/nullableNumber"
},
"option_type": {
"enum": ["call", "put", null]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"warnings": {
"$ref": "#/$defs/warningList"
}
}
},
"sourceScreenshot": {
"type": "object",
"additionalProperties": false,
"required": ["sequence", "screen_type", "notes"],
"properties": {
"sequence": {
"type": "integer",
"minimum": 1
},
"screen_type": {
"enum": [
"portfolio_positions",
"transaction_history",
"order_history",
"balances",
"unknown"
]
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
SHA-256: e75e9b54bd308693a1549c426a4b960f274c8972acba51fed6124c7ad7f6bcbe