まずは、thejameskyle先生のBabel Handbookに目を通すのがよいと思います。
日本語訳は途中まで書かれているのがあります。
https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md
ASTの確認はastexplorerを使うと非常に直感的に理解ができてよいです。
https://astexplorer.net/
Babel Pluginのテストは、babel-plugin-testerを使うとよいです。
snapshotテストで簡単にテストできます。
https://github.com/babel-utils/babel-plugin-tester
また、consoleでASTを確認するのにbabel-logを使うと便利です。
https://github.com/babel-utils/babel-log
他の知見としては、BabelのレポジトリからFlowtypeの型定義ファイルを持ってくると開発がスムーズです。
https://github.com/babel/babel/blob/7.0/lib/types.js
babel公式のAPIについてのドキュメントも必須です。
こちらをにらめっこしながら書くことになると思います。
しかし、コメントまわりなどの処理を書こうとするとここに載っていないAPIを使うことになり、Babelのコードの読みに行く必要があります。
https://babeljs.io/docs/core-packages/babel-types/
Tips
Pluginを書いていてよくわからないエラーに遭遇した際、デバッガで追っても全然追えないことがあります。
そのような場合は基本的にNodeとPathを取り違えているので、確認するとよいです。