A powerful browser extension that intelligently detects and skips intro sequences across multiple streaming services with zero configuration required.
| Browser | Download Link | Status |
|---|---|---|
| Chrome Web Store | β Available | |
| Firefox Add-ons | β Available |
π§ Manual Installation (Developer Mode)
- Download the latest release
- Open
chrome://extensions/in your browser - Enable "Developer mode"
- Click "Load unpacked" and select the
chrome/folder from the extension directory
- Download the latest release
- Open
about:debuggingin Firefox - Click "This Firefox" in the sidebar
- Click "Load Temporary Add-on"
- Navigate to the
firefox/folder and selectmanifest.json
Note: For permanent installation in Firefox, you'll need to sign the extension through Mozilla's Add-on Developer Hub.
| Service | Logo | Auto-Skip | Status |
|---|---|---|---|
| Netflix | β Intro | π’ Active | |
| Crunchyroll | β Intro | π’ Active | |
| Hotstar | β Intro | π’ Active | |
| Prime Video | β³ Intro | π‘ Planned |
π More services coming soon! Request a service
- π Features
- βοΈ Configuration
- π― How It Works
- π Troubleshooting
- π οΈ Development & Customization
- π€ Contributing
- π Privacy & Security
- π License & Credits
- π Contributors
- π Changelog
β οΈ Disclaimer
β¨ Instant Detection - Automatically detects skip buttons with zero delays
π― Smart Fallbacks - Multiple detection methods ensure reliability
π§ Easy Configuration - Simple toggle controls for each service
πΎ Local Storage - All settings stored securely in your browser
π Privacy First - No data collection or external requests
β‘ Lightweight - Optimized for minimal resource usage
π¨ Clean Interface - Modern, intuitive settings panel
- οΏ½ Master Toggle: Enable/disable auto-skip for all streaming services
- ποΈ Service Management: Individual control for each streaming platform
- π Per-Service Toggle: Enable/disable individual streaming services
- π Automatic Detection: Seamlessly works on supported platforms
- β‘ Instant Skipping: No delays or configuration needed
- π±οΈ One-Click Access: Quick toggle from browser toolbar
- βοΈ Advanced Settings: Detailed configuration in extension options
- π± Responsive Design: Works on all screen sizes
- Primary Selector: Service-specific CSS selectors
- Fallback Selectors: Generic button patterns (
button[class*="skip"]) - Text Search: Searches for "Skip Intro" text content
- Parent Element: Attempts clicking clickable parent elements
- Aria Labels: Checks
aria-labelattributes
- Instant Skipping: No delays, immediate response when button is detected
- Multi-method Detection: Multiple fallback detection strategies
- Clean Interface: Simple toggle controls for each service
- Local Storage: All data stored locally in your browser
- Ensure extension is enabled and pinned
- Check that global toggle is ON
- Verify service-specific settings
- Refresh the streaming page
- Check for conflicts with other extensions
- Clear browser cache and cookies
- Monitor browser console for errors
intro-skipper/
βββ README.md # Project documentation
βββ chrome/ # Chrome extension files
β βββ manifest.json # Chrome extension manifest
β βββ background.js # Background service worker
β βββ popup.html # Extension popup interface
β βββ popup.js # Popup functionality
β βββ manage.html # Settings page
β βββ manage.js # Settings functionality
β βββ License # License file
β βββ content-scripts/ # Content scripts directory
β β βββ crunchyroll.js # Crunchyroll skip logic
β β βββ hotstar.js # Hotstar skip logic
β β βββ netflix.js # Netflix skip logic
β βββ icons/ # Extension icons
β βββ icon16.png # 16x16 icon
β βββ icon48.png # 48x48 icon
β βββ icon128.png # 128x128 icon
βββ firefox/ # Firefox extension files
βββ manifest.json # Firefox extension manifest
βββ background.js # Background script
βββ popup.html # Extension popup interface
βββ popup.js # Popup functionality
βββ manage.html # Settings page
βββ manage.js # Settings functionality
βββ browser-compatibility.js # Firefox compatibility layer
βββ package.json # Firefox packaging config
βββ web-ext-config.json # Web-ext tool configuration
βββ LICENSE # License file
βββ DEVELOPMENT.md # Firefox development guide
βββ BROWSER_COMPARISON.md # Browser differences documentation
βββ content-scripts/ # Content scripts directory
β βββ crunchyroll.js # Crunchyroll skip logic
β βββ hotstar.js # Hotstar skip logic
β βββ netflix.js # Netflix skip logic
βββ icons/ # Extension icons
βββ icon16.png # 16x16 icon
βββ icon48.png # 48x48 icon
βββ icon128.png # 128x128 icon
We welcome contributions from the community! Here's how you can help improve the extension:
-
Fork the Repository
git clone https://github.com/dsouravcom/intro-skipper-ext cd intro-skipper-ext -
Set Up Development Environment
For Chrome Development:
- Install a code editor (VS Code recommended)
- Enable Developer Mode in Chrome (
chrome://extensions/) - Load the
chrome/folder as an unpacked extension
For Firefox Development:
# Install web-ext tool for Firefox development npm install --global web-ext # Navigate to Firefox directory cd firefox/ # Install development dependencies npm install # Run extension in temporary Firefox profile web-ext run
-
Development Workflow
- Make changes to extension files
- Chrome: Refresh extension in
chrome://extensions/ - Firefox: Extension auto-reloads with
web-ext run - Test functionality on streaming platforms
- Use the GitHub Issues template
- Include browser version and OS details
- Provide step-by-step reproduction steps
- Add screenshots or console logs if applicable
- Check existing issues to avoid duplicates
- Clearly describe the proposed feature
- Explain the use case and benefits
- Consider implementation complexity
Adding New Streaming Services:
-
Create
content-scripts/[service-name].jsin bothchrome/andfirefox/directories -
Add match pattern to both
manifest.jsonfiles:Chrome manifest.json:
{ "matches": ["*://[service-domain]/*"], "js": ["content-scripts/[service-name].js"], "run_at": "document_idle" }Firefox manifest.json:
{ "matches": ["*://[service-domain]/*"], "js": ["content-scripts/[service-name].js"], "run_at": "document_idle" } -
Implement skip detection logic:
// Follow existing patterns in netflix.js or crunchyroll.js const SERVICE_NAME = "ServiceName"; const SKIP_SELECTORS = ["service-specific-selectors"];
-
Add service to
manage.jsDETECTED_SERVICES object in both browser directories -
Test in both Chrome and Firefox environments
Improving Detection Logic:
- Test skip button selectors on the actual streaming site
- Add fallback methods for different UI states
- Ensure compatibility with service UI updates
- Add proper error handling and logging
UI/UX Improvements:
- Follow existing design patterns
- Ensure responsive design
- Test accessibility features
- Maintain consistent styling
// Use strict mode
"use strict";
// Descriptive variable names
const skipIntroButton = document.querySelector('[data-testid="skipIntro"]');
// Error handling
try {
await performAction();
} catch (error) {
console.error("[ServiceName] Action failed:", error);
}
// Async/await preferred over promises
async function loadSettings() {
const result = await chrome.storage.sync.get(["setting"]);
return result.setting;
}- Keep service-specific logic in separate files
- Use consistent naming conventions
- Add descriptive comments for complex logic
- Remove debug code before submitting
- Extension loads without errors in both Chrome and Firefox
- Skip functionality works on target service in both browsers
- Settings save and load correctly in both browsers
- No console errors in production
- Firefox-specific: Extension passes
web-ext lint - Chrome-specific: Extension follows Manifest V3 guidelines
- Cross-browser compatibility verified
- Doesn't conflict with other extensions
-
Create Feature Branch
git checkout -b feature/new-streaming-service git checkout -b fix/button-detection-issue
-
Make Changes
- Follow code standards above
- Test thoroughly on actual streaming sites in both Chrome and Firefox
- Update documentation if needed
- Ensure cross-browser compatibility
-
Testing Commands
Chrome Testing:
# Load unpacked extension in chrome://extensions/ # Enable Developer Mode and refresh extension after changes
Firefox Testing:
cd firefox/ web-ext run # Run in temporary profile web-ext lint # Check for errors web-ext build # Build for distribution
-
Commit Guidelines
git commit -m "feat: add support for Disney+ skip intro" git commit -m "fix: improve Netflix button detection in Firefox" git commit -m "docs: update installation instructions for both browsers"
-
Submit Pull Request
- Use descriptive title and description
- Reference any related issues
- Include testing notes for both Chrome and Firefox
- Add screenshots for UI changes
- Mention any browser-specific considerations
When contributing, please update:
- README.md for new features
- Code comments for complex logic
- Manifest permissions for new APIs
- Version number for releases
Contributors will be recognized in:
- README.md contributors section
- GitHub contributor graphs
- No Data Collection: Extension operates entirely locally
- No External Requests: Works completely offline
- Browser Storage Only: Settings stored in Chrome sync storage
- Open Source: Full code available for review
- No Tracking: Zero analytics or user monitoring
- GNU GENERAL PUBLIC LICENSE: Free to use, modify, and distribute
- Inspired by: Netflix-Prime-Auto-Skip
- Not Affiliated: With Netflix, Crunchyroll, or any streaming service
Thank you to all contributors who help improve this extension!
Made with contrib.rocks.
This extension is NOT affiliated with, endorsed by, or connected to any streaming service including Netflix, Crunchyroll, Hotstar, Prime Video, or any other platform.
- Third-Party Tool: This is an independent browser extension developed by the community
- No Official Support: Streaming services do not provide support for this extension
- Use at Your Own Risk: Users are responsible for compliance with streaming service terms of service
- No Warranties: Extension provided "as-is" without any guarantees of functionality
- Service Changes: Streaming platforms may update their interfaces, potentially affecting extension functionality
- Personal Use Only: Extension intended for personal, non-commercial use
- Respect Content: Users should respect content creators and consider watching introductions when appropriate
- No Circumvention: Extension does not circumvent any security measures or DRM protection
- Local Operation: Extension operates entirely within your browser using publicly available webpage elements
All streaming service names, logos, and trademarks are the property of their respective owners. Use of these names and logos is for identification purposes only and does not imply endorsement.
Made with β€οΈ for the streaming community | Not affiliated with any streaming service

