As for me, I first took a script and added some stuff to it for myself here and there. I think a good script to start doing that with is Kumirei’s Bottled WaniMekani script. Very easy to see the results of what you’re doing, so easy feedback. Just experiment with some settings (especially the first part of the script).
Then I tried to add a full fledged big feature to another script, which for me was extending the functionality of an obsolete script I found somewhere.
Then I wrote something new, and looked for functionality tips here and there by looking at other people’s implementation of those functions. I mostly deduced whether those scripts had those functionalities, based on guessing how they worked internally.
It also helps to have a look at how the API and Wanikani Open Framework work.