A very good idea, but according to the most popular practice at present, Skills can be added between SubAgent and Tool.
Many people ignore the code execution environment that Skill relies on.
This is not just a purely theoretical architecture concept, but also provides specific solutions at a truly operational level.
When this solution is actually implemented, the upper-layer manager agent and subAgent can be implemented and defined purely with logic.
However, when it comes to the tool layer, it will involve a lot of calls, data transfer, tool adaptation, environment processing, and runtime issues.
Therefore, if you really want to implement and maintain a pure AI Native architecture, add a layer of SKills as a bridge between SubAgent and Tool.
Do not let SubAgent operate Tools.
SubAgent only focuses on Agent logic.
This is also a common decoupling design.