I'm using a shorthand when designing robots, a shorthand that's not yet complete, but effective.  This format lets me record most of the features of a given robot design using a line of (graph) paper -- in landscape.
The record is field-position-based, and uses letter codes of course. An example:
	
	
	
		
Field 1: name
Field 2: brain
Field 3: senses (very compressed, and needs to be expanded into fuller sense strings)
Field 4: body structure (skeleton and muscles)
Field 5: limb group 1 (arms)
Field 6: limb group 2 (arms)
Field 7: limb groups 3 and 4 (legs) (probably need to break this into two groups)
Field 8: antennae etc
Field 9: enhancements - a string of single-letter codes
Field 10: connectors - a string of single-letter codes
Field 11: skin - a string of single-letter codes
Field 12: additions - a string of single-letter codes
Field 13: UPP (minus SOC)
Field 14: power
Field 15: size, in liters (72 = human)
A field may end with a volume, which is noted by an equals sign and the volume in liters ("units"). This helps me check my numbers.
Cost will be calculable, once I account for full sense data.
The above example translates into this pseudo-YAML record:
	
	
	
		
...and, could be programmatically expanded into a text description, although the actual FUNCTION and details about the robot perhaps cannot be "coded" into a record, so much as written.
				
			The record is field-position-based, and uses letter codes of course. An example:
		Code:
	
	[FONT=-1]
[SIZE=1][SIZE=2] [FONT=Arial]Cargo Handler, PD=2, V+RF, HE+s1=19, 3L+T=27, -, -, -, -, L=30, -, -, L7742, FP=20, 120[/FONT][/SIZE]
[/SIZE][/FONT]
	Field 2: brain
Field 3: senses (very compressed, and needs to be expanded into fuller sense strings)
Field 4: body structure (skeleton and muscles)
Field 5: limb group 1 (arms)
Field 6: limb group 2 (arms)
Field 7: limb groups 3 and 4 (legs) (probably need to break this into two groups)
Field 8: antennae etc
Field 9: enhancements - a string of single-letter codes
Field 10: connectors - a string of single-letter codes
Field 11: skin - a string of single-letter codes
Field 12: additions - a string of single-letter codes
Field 13: UPP (minus SOC)
Field 14: power
Field 15: size, in liters (72 = human)
A field may end with a volume, which is noted by an equals sign and the volume in liters ("units"). This helps me check my numbers.
Cost will be calculable, once I account for full sense data.
The above example translates into this pseudo-YAML record:
		Code:
	
	--- 
Cargo Handler, Size 120, UPP L7742R
- Brain: Positronic D=2
- Senses: V+RF
- Body: Heavy Exoskeleton, Strong=19
- Limbs: Arms 1(3Large+Tentacles=27), Arms 2(None) Legs(None) -
- Enhancements: 
- Connectors: Lift Baseplate=30
- Skin: -
- Additions: 
- Power: Fusion+=20