Here is the aragonOSx SDK repo (https://github.com/aragon/sdk).
I'm wondering if every developer who develops a plugin and publishes it to the protocol (https://github.com/aragon/core) has to create their own clients and subgraphs?
The idea is that you inherit all the low level plumbing (already done for you, web3, IPFS, subgraph) and then you write your own handlers on top so that anyone uses your specific plugin client.
There are some common interfaces that Aragon wants to expose (like majority voting, governance, etc) but besides that, plugins are going to offer arbitrary methods that only you know how to handle. Hence, the inheritable SDK components.
You can see the full list of examples of all the operations that can be done with the SDK here: https://github.com/aragon/sdk/blob/develop/modules/client/examples.md
You will see that there are two types of operations/clients: