Ensures SDK changes do not crash or break apps upgrading from older SDK versions. Use when modifying SharedPreferences, Gson/cached models, DTOs, Storage, UserDataSource, cache migration, or any persisted SDK state. Use proactively before finishing SDK persistence or API model changes โ not only when the user mentions upgrades.
Creates atomic git commits for current changes โ analyzes diff, groups by context and creates commits in "branch-name: Description" format. Use when the user says "make a commit", "commit changes", "create commit", "split into commits". NOT for review fixups (fixup + autosquash). NOT for rebuilding branch history (/recommit).
Fully restructures branch commit history โ resets all commits to master, regroups changes and creates clean atomic history. Use when the user says "rebuild commit history", "regroup commits", "history is messy โ clean it up", "recommit", "split commits properly". DANGEROUS operation โ rewrites history, requires confirmation. NOT for single fixes (fixup). NOT for just adding a commit (/make-commit).
Writes or modifies unit tests following the project testing guide. Before writing tests, reads agentdocs/unitTest.md for patterns and conventions. Use when the user says "write tests", "add unit tests", "cover with tests", "create test class", "fix tests", "update tests". NOT for UI/instrumentation tests. NOT for integration tests.