GitHub Code Review Checklist Overlay
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script adds a floating checklist overlay to GitHub pull request pages, helping you track code review tasks without switching contexts. The overlay appears in the bottom-right corner of the screen and displays a customizable checklist of review items. As you review the code, you can check off items like "Code compiles," "Tests pass," "Documentation updated," "No commented-out code," "Follows style guide," and "Security reviewed." A progress bar shows your completion status (e.g., "3/6 completed"). The checklist state is saved per PR, so you can close and reopen the page without losing your progress. The script supports multiple checklist templates—"General," "Frontend," "Backend," "Security"—and you can switch between them to match the type of code you're reviewing. You can also create your own templates and edit or reorder items.
WHERE IT RUNS
The script runs on GitHub pull request pages (github.com/*/*/pull/*) and diff views (github.com/*/*/pull/*/files). It supports both desktop and mobile views.
HOW TO USE
After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:
- The "Show checklist overlay" toggle enables or disables the overlay.
- In the "Templates" section, you can edit existing templates, add new ones, or delete templates. Click on any item to edit its text, or use the "+ Add item" button to add new items.
- Click "+ Add Template" to create a new checklist template.
The overlay appears automatically on any pull request page. Check items as you complete them. Click the ↻ button to reset all items. Click the ✕ button to hide the overlay for the current session.
TECHNICAL SECTION — REAL MECHANISM
The script detects PR pages by checking the URL for /pull/. It extracts the PR number using a regex match on the URL. The checklist state is stored using GM_setValue with a key format of 'checklist_' + prId + '_' + templateName, storing a JSON object mapping item text to boolean values. The overlay is created as a fixed-position container with a glassmorphism style. Each checklist item is rendered as a checkbox with a label. When a checkbox is toggled, the state is saved and the overlay is re-rendered. The progress bar is updated by calculating the ratio of checked items to total items. Template data is stored as an object mapping template names to arrays of item strings. The settings panel provides a template editor where users can add, remove, and edit items. The active template is stored separately and used to determine which checklist to display. The overlay updates dynamically when the user switches templates or navigates to a different PR.
THE PANEL
The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or actions are performed. All settings and checklist data save automatically via GM_setValue.
PLEASE NOTE
This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. GitHub frequently updates its PR page structure, which may affect the script's ability to detect PR numbers. If the overlay stops appearing, please check for script updates. The checklist state is stored locally per PR and per template using GM_setValue. No data is sent externally—all data is stored locally in your browser. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, textContent, appendChild) and never use innerHTML. The script does not interact with GitHub's API or modify the PR page beyond adding the overlay.