by dyascj
A clean, ad-free home screen for the Amazon Fire TV Stick. No root. Custom launcher with a glass app dock, plus one command that removes Fire TV ads, tracking and bloatware over adb. Works with Claude Code.
# Add to your Claude Code skills
git clone https://github.com/dyascj/FireFrameGuides for using ai agents skills like FireFrame.
See how FireFrame compares with popular alternatives.
FireFrame is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by dyascj. A clean, ad-free home screen for the Amazon Fire TV Stick. No root. Custom launcher with a glass app dock, plus one command that removes Fire TV ads, tracking and bloatware over adb. Works with Claude Code. It has 50 GitHub stars.
FireFrame's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/dyascj/FireFrame" and add it to your Claude Code skills directory (see the Installation section above).
FireFrame is primarily written in Java. It is open-source under dyascj on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh FireFrame against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Your apps, a photo and the time. Nothing else. Plus one command that turns off Amazon's ads, tracking and background bloat.
| Amazon's home screen | FireFrame |
|---|---|
![]() |
![]() |
The stock Fire TV home screen above was captured on the stick FireFrame was built on. It had a sportsbook ad in the middle of it.
All taken on a Fire TV Stick HD.
| App drawer | Moving an app on the dock |
|---|---|
![]() |
![]() |
The built-in wallpapers, all public domain photos from NASA:

Measured on a Fire TV Stick HD (AFTSS), Fire OS 7.7.1.4, which has 900 MB of usable memory.
| Before | After | |
|---|---|---|
| Free memory, idle on the home screen | 222 MB | 284 MB, with YouTube playing |
| Amazon's home screen in memory | 140 MB | 34 MB, sitting in the background |
| Prime Video in memory, never opened | 192 MB | off |
| Alexa in memory | 95 MB | off (optional) |
| Apps Amazon wakes up in the background | Tubi, Fubo, Netflix | none |
| Ads on the home screen | sports betting, trailers | none |
| Device | Fire OS | Works? |
|---|---|---|
| Fire TV Stick HD, Lite, 3rd gen, 4K (1st gen), 4K Max (1st gen), Cube | Fire OS 7 | Yes. Tested on Fire TV Stick HD, Fire OS 7.7.1.4, and reported working on 4K Max (1st gen), Fire OS 7.7.1.3. |
| Fire TV Stick 4K (2nd gen), 4K Max (2nd gen), newer Cubes | Fire OS 8 | Should work. Not tested yet, reports welcome. |
| Fire TV Stick 4K Select and other Vega OS devices | Vega OS | No. Vega OS can't install Android apps. |
| Android TV, Google TV, Chromecast with Google TV | Android | Yes, as a normal launcher. Pick it as the default home screen. |
Not sure which you have? Settings > My Fire TV > About shows the device and its Fire OS version.
The easy way. Claude Code does the setup, and you press OK on the remote when the TV asks.
1. Turn on developer mode on the Fire TV. Settings > My Fire TV > About. Highlight the device name and press OK 7 times. Go back, open Developer Options and turn on ADB debugging. Your Fire TV's IP address is under Settings > My Fire TV > About > Network.
2. Open Claude Code on a computer on the same Wi-Fi. Then paste this:
Install FireFrame on my Fire TV: https://github.com/dyascj/FireFrame
My Fire TV's IP address is <ip address>. It's a <model, from Settings > My Fire TV > About>.
1. Clone the repo. Read README.md, fireframe.sh and debloat.txt before running anything.
2. Install what's missing to build it (Java 17, Android SDK, adb), as build.sh describes.
3. Run ./fireframe.sh install <ip>. Tell me when to accept the debugging prompt on the TV.
4. Run ./fireframe.sh debloat <ip> --dry-run and explain each group in debloat.txt in plain
words. Ask me which groups I want before turning anything off.
5. Run ./fireframe.sh debloat with the groups I chose, then restart the TV and show me
free memory before and after.
6. Check that pressing Home opens FireFrame, and tell me how to undo everything.
You need adb and, to build it yourself, Java 17 and the Android SDK. On a Mac:
brew install --cask android-platform-tools android-commandlinetools
brew install openjdk@17
sdkmanager "platforms;android-34" "build-tools;34.0.0"
Then:
git clone https://github.com/dyascj/FireFrame.git
cd FireFrame
./fireframe.sh install 192.168.1.50 # your Fire TV's IP address
The first time, the TV asks to allow debugging from your computer. Pick "Always allow" and press OK.
Prefer not to build? Download the APK from Releases, copy it to out/fireframe.apk in your clone, and run ./fireframe.sh install <ip>. The script installs it and turns on the Home button service.
./fireframe.sh debloat 192.168.1.50 --dry-run # see what would change
./fireframe.sh debloat 192.168.1.50 # ads, tracking and junk
./fireframe.sh debloat 192.168.1.50 --also alexa,primevideo,livetv
./fireframe.sh debloat 192.168.1.50 --all # every group
Apps are disabled, not deleted. debloat.txt lists every package with a note on what it is.
| Group | What turns off | What you lose |
|---|---|---|
safe (always) |
ads, automatic content recognition, recommendations, shopping, News, telemetry, demo mode, tutorials, Amazon Kids, Luna, Wi-Fi password sync, coral reef and jellyfish screensaver apps that ship a proxy SDK | nothing you'd use |
alexa |
Alexa and its media, calling and multi-room audio services | voice search on the mic button |
primevideo |
Prime Video | Prime Video |
livetv |
Amazon's Live TV guide | the guide. Channel apps like Tubi and Fubo still work on their own. |
amazonapps |
Amazon Music, Amazon Photos, Silk Browser | those apps |
casting |
Fire TV's screen mirroring and Amazon's cast receiver | mirroring a phone or PC. Casting from the Netflix and YouTube apps keeps working. |
updates |
Amazon's forced updater | forced updates. Regular updates are protected and stay on. |
Fire OS protects some packages, like crash reporting and the main metrics service. The script says "Fire OS refused" for those and moves on. Restart the TV afterwards to free the memory.
Fire OS won't let you change the home screen, and it refuses to disable, uninstall, hide or suspend Amazon's launcher without root. I tried all four.
So FireFrame works around it. A small accessibility service keeps a hidden, ready-to-show copy of the home screen in an overlay window. It covers Amazon's launcher the instant that launcher starts to open, before it paints. Two signals trigger it: Amazon's own launcher sends an unguarded com.amazon.tv.launcher.HOME_PRESSED broadcast that FireFrame listens for, which lands about half a second sooner than the accessibility window event that acts as the backup. Behind the overlay, FireFrame opens as a normal app, which Fire OS holds back for 5 seconds after Home, and once it has drawn its first frame the overlay steps aside. It's the same screen, so you can't see the handoff.
If you pick an app in those 5 seconds, FireFrame can't start it directly (Fire OS holds it), so it presses that app's tile on Amazon's launcher behind the overlay instead. Amazon's own launches aren't held, so the app opens right away. At boot, FireFrame opens itself as soon as the TV has started.
This reliably keeps Amazon's home screen off the screen in testing, but it's a reaction, not a block: on a slow frame you might catch a flicker. The only way to remove Amazon's launcher outright is root, which this project does not do.
Amazon's launcher still runs in the background, using about 35 MB instead of 140 MB. To get to it, open Settings on FireFrame's top right and pick "Amazon home screen".
./fireframe.sh wallpaper 192.168.1.50 ~/Pictures/beach.jpg
The photo is resized to 1080p and becomes the wallpaper. The picture button on FireFrame cycles through it and the built-in ones.
FireFrame checks this repo for a new release once a day. When there is one, it tells you on the home screen, and Update to FireFrame x.y.z shows up in Settings at the top right. Pick it, then choose Install when the TV asks. Amazon's home screen shows for a couple of seconds while Android swaps the app, then FireFrame comes back on its own with your dock, wallpaper and Home button as they were.
Fire OS asks for that one OK on every app install outside Amazon's Appstore, so updates can't be fully silent without root.
On FireFrame 1.0.0 or 1.0.1, which came before the updater, update by hand once:
git pull
./fireframe.sh install 192.168.1.50
./fireframe.sh undo 192.168.1.50 # turn every app back on, give Home back to Amazon
./fireframe.sh undo 192.168.1.50 --uninstall # and remove FireFrame
The list of what was turned off is saved on the TV as well as in this folder, so undo works from any computer. When you're done, turn ADB debugging off in Developer Options.
| Remote | Does |
|---|---|
| Left, Right | move along the dock |
| Up | reach the wallpaper, apps and settings buttons |
| OK | open an app |
| Hold OK, or press Menu (☰) | move an app, take |