I agree, though it's not as simple as it might first appear, and would take a lot of trawling through shield documentation to get it right.
You'd need a nomenclature to describe whether each pin is:
- Fixed use (always required for function of board)
- Optional (e.g. jumper to enable use of a particular feature, such as contrast on a display)
- Mappable, where a function can be mapped to a number of pins via jumpers or solder pads
- SPI would require special treatment. Some boards only support D11-D13 for SPI. Some also support the relocated SPI pins in the "middle" of a Mega2560 board, but do they leave the D11-D13 available in that situation?
It'd also be handy to know whether each pin is:
- passed through on a stackable header
- passed through to a non-stackable header or jumper pin