Open source · ADB · Reversible

Your phone,
minus the bloat.

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.

  • No root
  • No telemetry
  • MIT license
  • 157 profiles
Review the plan. Then apply.
9:41
Home 9 apps
Phone
Messages
Camera
Photos
Maps
Clock
WhatsApp
Bank
Settings
Samsung Free
TV Plus
Bixby
Tips
Themes
Games
Cloud
plan.jsonreview before apply
DISABLE5 packagesone batch
ASK2 packagesyour call
BLOCKED0 packagesprotected

Only preinstalled OEM apps enter the plan. WhatsApp, banking and your photos stay.

The problem

You bought the phone.
Not the catalogue.

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.

01

Preinstalled, not optional

Games, shopping apps, cloud trials and duplicate galleries take space, notifications and battery. The uninstall button is often disabled.

02

Advice is a coin flip

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.

03

The useful stuff gets buried

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

Three steps.
Your agent does the typing.

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.

1

Connect

Enable USB debugging, connect the phone and run doctor. The CLI checks ADB, the device, the backup and the profile match.

2

Review

The agent backs up the package list, roles and settings, then shows a table with why and what breaks. Nothing changes yet.

3

Disable

Packages are disabled in small batches, five at a time, followed by a reboot and verification. restore undoes everything.

local terminal · no account
$ 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

From zero to a plan
in three commands.

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.

1

Install Platform-Tools

Download the official Android SDK Platform-Tools for Windows, macOS or Linux and add adb to your PATH.

2

Prepare the phone

Enable Developer options, turn on USB debugging, connect by USB and accept the authorization prompt.

3

Give the skill to your agent

Clone the repo and open your agent there, or copy SKILL.md into its skills folder.

quick start
$ 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

Safe by design.
Boring on purpose.

The phone is a daily driver: calls, SMS, banking, alarms, work, photos. The guardrails are the product, not a disclaimer.

01

Disable, never uninstall

Only pm disable-user --user 0. No uninstall, no hide, no clear. pm enable is the undo.

02

Back up first

Package lists, roles, IMEs, settings and getprop are saved before the first change. No backup, no changes.

03

Protected list and roles

Telephony, Play Services, WebView, permission controller, emergency alerts, dialer, SMS, Home and keyboard are refused or checked.

04

Small batches

Five packages, reboot, verify. If something fails, the batch stops and the undo path is already known.

05

No root, no ROM

No bootloader unlock, no flashing, no Magisk, no Shizuku requirement. Just ADB and the package manager.

06

No telemetry

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 →

157profiles in the catalog
6brands covered
0root or ROM required
1command to undo

Profiles

Start from evidence.
Not a forum post.

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.

5 profiles · Pixel 8 device-tested

Google Pixel

The Pixel 8 profile was tested on Android 16. Pixel 7, 7a, 6 and 6 Pro are documented from primary firmware dumps.

DevicePixel 8 · Android 16DocumentedPixel 7, 7a, 6, 6 ProAndroid12–16

Only a device profile on a tested build can auto-apply. Everything else is a reviewable starting point. Browse the 157 profiles →

Agents

Works with the agent
you already use.

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

A different kind of debloater.

FeatureRandom ADB scriptRoot debloaterCleanYourPhone
Needs root or a ROMUsuallyYesNo
Uninstalls packagesSometimesYesNever
UndoRe-flashBackup or ROMOne command
Protected appsHopeManualEnforced
Per-model evidenceNoneForum lists157 profiles
Telemetry or accountUnknownUnknownNone

General comparison with common debloat approaches. Check each tool and your OEM's warranty terms.

FAQ

The questions people ask.

Is it safe?

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.

Does it void the warranty?

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.

What if I need an app back?

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.

Does it uninstall anything?

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.

Does it work on tablets?

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.

Do I need Python?

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.

Is it free?

Yes. MIT license. No account, no subscription, no telemetry and no hosted service.

Make the phone yours again.

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+.