# Plex Auto Skip A small Chrome extension that automatically clicks "Skip Intro" and "Skip Credits" on Plex Web, so you don't have to reach for the mouse every time. ## Features - Watches the Plex Web player and clicks "Skip Intro" / "Skip Credits" the instant either button appears. - Works on `app.plex.tv` by default, or point it at your own server address (local IP, custom domain, whatever you use). - Toggle Skip Intro and Skip Credits independently — both on by default. - Optional delay (0-30s) before each is clicked, in case a show needs a few extra seconds before the credits skip feels right. - Settings save instantly and apply live, no reload required for toggle or delay changes. - The settings popup follows your browser/OS dark mode setting automatically. ## Install 1. Download or clone this repo. 2. Open `chrome://extensions` in Chrome. 3. Turn on **Developer mode** (top right toggle). 4. Click **Load unpacked** and select this project's folder. 5. Click the extension's icon in the toolbar to open its settings. ## Settings - **Plex URL** — defaults to `app.plex.tv`. Choose "Custom URL" and enter your own server address (e.g. `192.168.1.50:32400/web` or a custom domain) if you watch there instead. - **Skip Intro** / **Skip Credits** — both on by default. Uncheck either one if you'd rather click it yourself sometimes. - **Delay before clicking** — a 0-30 second slider under each toggle. Leave at 0 to click the instant the button appears (the original behavior), or add a few seconds if a particular show's Skip Credits button shows up before you're actually ready for it to fire. Each slider is disabled while its skip toggle is off, since a delay for a skip that isn't happening doesn't do anything. Changing the Plex URL takes effect on your next page load — refresh your Plex tab after saving a new one. Toggle and delay changes apply immediately, no refresh needed. Clicking **Save** closes the popup automatically shortly after confirming the save, so you don't have to click elsewhere to dismiss it. If something's wrong with what you entered (like a blank or invalid custom URL), the popup shows an error and stays open instead. ## How it works The extension's content script runs on every page but only activates once the page's hostname matches your configured Plex URL. From there it uses a `MutationObserver` to watch the page for any `