@danlyke I recommend the W3C’s feed validator (hosted on their site and also available on GitHub as a maintained fork of an old project), xmllint (part of libxml), and a couple feed readers to test (Liferea and NewsBlur should be good for testing media handling). You can ignore any of the namespaces I import. You can especially ignore the OStatus, poco, and ActivityStreams namespaces in my feed; I mainly included those out of sentimental nostalgia for the classic OStatus-based pre-ActivityPub Fediverse.
Some of my posts are replies to other posts, which is why I use the threading extension. The “webfeeds” namespace is basically Open Graph metadata for feeds. “slash” comes from classic Slashdot, and annotates the number of comments (webmentions) a post has; barely any readers display that information.
The only extension that’s actually useful today in Atom feeds is the Media extension. It gives you a nice way to include featured images for entries, or to delegate a media enclosure. The latter is common for podcasts, but podcasting never made the jump to Atom; it’s still mostly RSS-only.