I dont think you can do that with proguard only and I really doubt there is a straightforward solution (plugin you can use) with mvn\gradle\sbt\whatever for this.
If you're ok with running code or shell commands during your build I can recommend you some building blocks but, since putting them together really depend on how you build your project I can only give basic suggestions on how to glue them together.
The general idea is:
(1) Use jdeps (part of and distributed with jdk) to fetch dependencies (including transitive) from compiled .class files of interest.
In your case outputting recursive dependencies of some.class (limited to root_package) should be something like:
jdeps -v -R -e "root_package.*" some.class
(2) grab jdeps output and transform it into proguard config (list of classes to -keep).
(3) In your main proguard config file include config file you generated in (2).
Step (2) requires most legwork and can be approached differently.
My suggestion is to use whatever scripting capabilities your build system has to run jdeps and do output transformation.
Maven, for example, has plugin that allows groovy scripts to be executed during build.
If you are more comfortable with running shell scripts you can do the following:
pipe jdeps output into something like:
grep -Po classname_regex
... to keep only class names you want to keep (you can use zero-length assertions to build classname_regex).
pipe output of grep into something like:
awk '{print "-keep class " $0}
... to get proguard config and save output to file.