Preinstalled, not optional
Games, shopping apps, cloud trials and duplicate galleries take space, notifications and battery. The uninstall button is often disabled.
Open source · ADB · Reversible
A skill for coding agents that disables preinstalled OEM apps over ADB. No root, no custom ROM, nothing uninstalled, and one command to undo every change. WhatsApp, banking and your own apps stay.
Only preinstalled OEM apps enter the plan. WhatsApp, banking and your photos stay.
The problem
A new Android phone can ship with dozens of preinstalled apps, services and “partners”. Some cannot be removed. Most debloat advice asks you to trust a random script, root the phone or install a custom ROM. None of that is necessary.
Games, shopping apps, cloud trials and duplicate galleries take space, notifications and battery. The uninstall button is often disabled.
Copy-pasted ADB lists can break calls, SMS, the keyboard or a banking app. They rarely tell you what each package does or how to undo it.
Your camera, wallet, work apps and photos end up next to someone else's promotions. The phone feels slower before you have installed anything.
How it works
CleanYourPhone is a skill, not an app. You give SKILL.md to your coding agent; the agent runs a small local CLI, shows a plan and asks before touching anything.
Enable USB debugging, connect the phone and run doctor. The CLI checks ADB, the device, the backup and the profile match.
The agent backs up the package list, roles and settings, then shows a table with why and what breaks. Nothing changes yet.
Packages are disabled in small batches, five at a time, followed by a reboot and verification. restore undoes everything.
$ python tools/phone.py doctor Device ...... Google Pixel 8 (shiba) Android ..... 16 · managed: no Profiles .... google-pixel-8 $ python tools/phone.py plan --profile google-pixel-8 DISABLE 5 packages ASK 3 packages BLOCKED 0 packages $ python tools/phone.py restore Restored. Every disabled package is enabled again.
Setup
The CLI has no third-party dependencies. Python 3.10+ and Android Platform-Tools are enough; the raw ADB procedure is in SKILL.md if you prefer no CLI.
Download the official Android SDK Platform-Tools for Windows, macOS or Linux and add adb to your PATH.
Enable Developer options, turn on USB debugging, connect by USB and accept the authorization prompt.
Clone the repo and open your agent there, or copy SKILL.md into its skills folder.
$ adb version ok Android Debug Bridge version 1.0.41 $ git clone https://github.com/jparedesDS/cleanyourphone $ cd cleanyourphone $ python tools/phone.py doctor Device ...... Google Pixel 8 (shiba) Profiles .... google-pixel-8 $ python tools/phone.py plan --profile google-pixel-8 Review the plan. Nothing has changed.
Safety
The phone is a daily driver: calls, SMS, banking, alarms, work, photos. The guardrails are the product, not a disclaimer.
Only pm disable-user --user 0. No uninstall, no hide, no clear. pm enable is the undo.
Package lists, roles, IMEs, settings and getprop are saved before the first change. No backup, no changes.
Telephony, Play Services, WebView, permission controller, emergency alerts, dialer, SMS, Home and keyboard are refused or checked.
Five packages, reboot, verify. If something fails, the batch stops and the undo path is already known.
No bootloader unlock, no flashing, no Magisk, no Shizuku requirement. Just ADB and the package manager.
The CLI runs locally and talks to adb only. No account, no analytics, no third-party API, no phone-home.
The one rule: if the phone loses the dialer, SMS, Home, keyboard, notifications or mobile data, stop and restore. Read the full safety rules →
Profiles
Each profile is a package list for one model and firmware. A device profile was tested on a real phone; a documented profile comes from a primary firmware dump and only ever asks.
The Pixel 8 profile was tested on Android 16. Pixel 7, 7a, 6 and 6 Pro are documented from primary firmware dumps.
S, A, M, F, Note, Z and Tab. The S23 Ultra profile is device-tested; the rest are documented from firmware dumps.
Mi 10, 11T, 12X, Civi, 15T, 15 Ultra, 17 Ultra and the HyperOS family profile.
Redmi Note 7–15, K20/K40, A-series, 9/10/12/13/15C and the Redmi Pad.
POCO F3/F5/F6/F9 Ultra, X3/X5/X6/X7/X8, M2/M3/M4 and C31.
OnePlus 5T, 6T, 7T Pro, 8, 11R, Nord, Nord CE and Nord CE5. The 6T is the device-tested OnePlus.
Only a device profile on a tested build can auto-apply. Everything else is a reviewable starting point. Browse the 157 profiles →
Agents
The skill is plain text plus a stdlib Python CLI. It does not depend on a model vendor, a browser extension or an OAuth broker.
Paste PROMPT.md, or copy SKILL.md into your agent's skills folder. The CLI is optional: the raw ADB commands are in the skill too.
Why this one
General comparison with common debloat approaches. Check each tool and your OEM's warranty terms.
FAQ
Safer than a copied package list, but not magic. It never uninstalls, backs up first, refuses protected packages and role holders, disables in small batches and can undo every change. You still review the plan and test calls, SMS, camera, keyboard, Home and notifications.
No root, no bootloader unlock, no flashing and no uninstall. Disabling a preinstalled package is reversible. Warranty rules vary by country and OEM; disabling software can still affect support in some cases. Read your terms.
Run python tools/phone.py enable <package> for one app, or restore to enable everything from the backup. The journal and backup are created before the first change.
No. The only state change is pm disable-user --user 0. No uninstall, no hide, no clear, no bare expunge. If the package is not installed, nothing happens.
Yes, on Android 8+ with ADB. Tablet profiles set form_factor: tablet; a missing dialer or SMS role is a warning, not a failure. Home and keyboard checks still apply.
No. The CLI is the safest path, but SKILL.md contains the raw adb procedure. If you use the CLI, Python 3.10+ and Platform-Tools are enough; there are no third-party dependencies.
Yes. MIT license. No account, no subscription, no telemetry and no hosted service.
Clone the repo, give SKILL.md to your agent, and review the first plan. The phone does the rest.
No account. No telemetry. MIT. Android 8+.