The docs for PRESKILL claim:
If you require multiples of a particular type of skill, you need to include a TYPE.Text sub-tag for each instance in the comma delimited list.
and give an example of:
PRESKILL:2,TYPE.Spy=2,TYPE.Spy=2
Character must have two "Spy" skills with at least two ranks in each of them.
This is completely back-to-front vs. PCGen 6.0 actual operation. Repeating the TYPE. sub-tag as indicated passes with only one skill at the ranks necessary; not repeating the tag works.
So to require two (different!) knowledge skills at rank 4, the tag required is in fact:
PRESKILL:2,TYPE.Knowledge=4
Of course, this may be a code "bug", as I note that the Lorewarden PrC in Core is data'd as though the docs are correct. I happen to think that the current behaviour is more intuitive (note to self: test & DATA bug the Lorewarden...).
WinXP
Once these Code issues are resolved the proper behavior can be documented.