Great work, Sirius

I'd be glad to include it in the Offline KI.
Regarding journals, could you maybe put them into the ageresources folder, with the files called "agename--something"? That scheme is already used by some ages out there.
Concerning linking, the Offline KI provides xLinkMgr. Every Python-initiated link should be done through that module. The interface is as simple as it could be:
xLinkMgr.LinkToAge("city") links to the default link-in point
xLinkMgr.LinkToAge("city", "LinkInPointFerry") links to a specific link-in point
You can also dynamically create the entire linking book and fill it with the correct image for this age and spawn point. Check xCustomReltoShelf for code doing that.