Some feedback: First, I would stress that having an action on the Intent for static shortcuts is MANDATORY. Failing to provide an action will result in a crash. The same also goes for dynamic shortcuts. Every Intent associated with an App Shortcut needs an action.

Second, you may have put the shortcut disabled message in the XML for teaching purposes, but it should be noted that this is actually pointless because the static shortcut will never be disabled with that version of the app. Therefore, the shortcut disabled message will never be shown.

In your limitations section, you should also mention that Android rate limits how often you can update your dynamic app shortcuts if your app is backgrounded. This limit is reset when the app comes to the foreground, and can also be manually reset with an ADB command as well as through a setting in Developer Options.

Finally, although you are technically correct that the static shortcuts XML should go in res/xml-25, many launchers now attempt to backport App Shortcuts to API level 22. In order to support this backporting, you should put your XML in res/xml-22. You should also make sure that the corresponding Activity for the shortcut is exported and no permissions are required to start it.