I noticed that too. The one-way street of /app/add yaml= is already kinda odd in that you cannot do a /app/set yaml=, and in many cases YAML is the only way to set some /app RouterOS attributes...
IDK yet... but feel like the entire /app catalog should be loaded via URLs (or file paths) set in /app/settings that downloads the /app YAML defination. With nothing populated unless you run /app/setup. Having YAML definations stored in NPKs, only add bloat to packages. And the /app catelog should be de-coupled from RouterOS upgrades, since /app YAML may need to be updated as bugs in the container apps are found between releases. Given 80+ /app, odds are some need updating well before the next release.
Basically thinking some future option like this:
/app/settings/app-repos=("https://apps.mt.lv","https://custom.example.com","disk1/custom-apps.yaml")
With the URL (or file) providing the /app YAML, with multiple ones seperated by YAML's typical --- separator. The scheme allow flexibility and updates outside of RouterOS, as well as allow easy way to disable MikroTik's built-in catalog. And then the export be just the URL settings, unless you enabled an /app (at which point it should be :export).
The only downside of not using /app/add yaml= is you'd lose access to RouterOS variables when importing /app YAML.‡ Now the CLI /app/add should still work to "force" an new /app, and address the corner cases when static YAML is too limited (like when direct access to RouterOS command/svariables via string interpolation be desirable).
‡ But you do avoid needing to escape " in /app/add yaml=, which is actually a benefit of using downloading YAML from files/urls since no escaping is needed. Now since YAML allows ' for strings, there is less need than JSON. But the need for "escaping" can create subtle bugs in defining apps (since the YAML can then define a file content to add to container).
NOTE I did write up post on using
/app, and comparison withdocker-compose, and has some context on my commentary here. I also created a schema for/appYAML that can validate the YAML used in/app/add yaml=in editors like VSCode/etc. So the complaints here do come from testing this