This doesn’t entirely solve your problem, but I see one can download all Readwise highlights to a simple CSV file. When I dragged this into a new Tinderbox document, I got every highlight turned into a note, with highlight text in the text box and (and this is quite nice) some useful attributes (Book_Title, Author, etc) all populated and classified as User-created attributes.
Unfortunately each note’s name is also the full text of the highlight (not so useful). So I opened an Attribute Browser view in a new tab, and set it to sort using the “User Attribute” <Book_Title>. This creates an alphabetical list of all the books, and all highlights for a given book appear under its title. Here is the screenshot.
To get a list of all the books in the Tinderbox document, I guess I will create an agent that puts all variables of $Book_Title into the text of a new note. Or I guess I could set an agent to change each note’s name to the book it comes from, ie, $Name=$Book_Title. But that would produce a lot of lookalike notes and lose the preview aspect of the list in the screenshot. So, hmm. (IOW I am now in the moment when you step back and try to get clearer about what you’re using the Tinderbox document for, because there are a lot of possible next steps.)
The unsolved problem here is adding new highlights. The drag-and-drop also creates a new attribute called $Highlighted_at , which gives the date the highlight was made. I suppose that could be the basis for some sort of filter that prevents old highlights from being duplicated. But perhaps that would be too clunky? It’s also potentially confusing that Book_Title is a new “user attribute” which is different from Tinderbox’s built-in BookTitle, I suppose.
Btw this little experiment created more than 7,000 notes and Tinderbox didn’t hiccup or delay during import, creating different views, or running agents. Impressive!