Available on Firefox Browser Add-ons
A lightweight Firefox extension that adds a single button on YouTube watch pages to copy:
- the video title
- the channel name
- the video URL
- a ready-to-paste ChatGPT summary prompt
- the full transcript
into your clipboard in one click.
This is intended as a fast, privacy-friendly workflow: no backend, no API key, no data sent anywhere.
- Adds a “Copy prompt + transcript” button directly on YouTube video pages
- Automatically includes contextual metadata:
- Title
- Channel
- URL
- Tries to:
- open the YouTube transcript panel automatically when needed
- fall back to YouTube caption tracks if the panel is not available
- Works with YouTube’s single-page navigation (SPA)
The clipboard content looks like this:
Title: …
Channel: …
URL: …
Please summarise this YouTube transcript.
Give me:
- a 6–10 bullet summary
- key takeaways
- any actionable items
Transcript:
<full transcript>
- Open Firefox
- Go to:
about:debugging#/runtime/this-firefox
- Click Load Temporary Add-on…
- Select the
manifest.jsonfile in this project
Open any YouTube video page and the button will appear near the action buttons (like, share, etc.).
The content script:
- Injects a small button into the YouTube watch page UI
- When clicked:
- attempts to open the transcript panel via the page UI
- reads transcript segments from the DOM if available
- otherwise fetches captions through YouTube’s internal caption track endpoint
- Builds a prompt that includes:
- video metadata
- a summary instruction
- the transcript
- Copies the result to the clipboard
All processing happens locally in the browser.
- Some videos genuinely have no transcript or captions
- YouTube frequently changes its internal DOM and UI structure
- The automatic “open transcript” step relies on heuristics and localisation-dependent labels
When YouTube changes its layout, selectors may need updating.
- Firefox
npm i -g web-ext
web-ext lint
web-ext build --overwrite-dest
To submit to AMO without retyping the listing text in the web form, use the checked-in amo-metadata.json file with web-ext.
For a single build/release command, run:
./scripts/release-firefox.sh patchThe script:
- increments the
manifest.jsonversion usingpatch,minor, ormajor - builds the extension into
web-ext-artifacts/ - uses
amo-metadata.jsonfor AMO listing translations - submits/signs automatically if
AMO_JWT_ISSUERandAMO_JWT_SECRETare set - uses
AMO_CHANNEL=listedby default; setAMO_CHANNEL=unlistedif needed
Example:
export AMO_JWT_ISSUER="your-amo-jwt-issuer"
export AMO_JWT_SECRET="your-amo-jwt-secret"
export AMO_CHANNEL="listed"
./scripts/release-firefox.sh minorPromptTube/
├─ manifest.json
├─ icon.png
├─ content-script.js
├─ styles.css
├─ LICENCE
└─ README.md