Install
$ agentstack add skill-bettyguo-browser-skills-extract-table-pagination ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Extract Table Pagination
When to invoke
When the user task involves reading structured data from an HTML table — the page either shows a ` element, or a role="table" ARIA structure. If the table is paginated, the skill walks pages via a "next" link/button until either the next link is absent, the row count stops growing, or a configurable max_pages` is reached.
The matcher gives this a high score when the DOM summary contains `-grid layout (card grid, masonry, etc.) — use the future extract-card-grid` skill, or vision fallback.
- The table is virtualized (only renders visible rows on scroll, e.g., AG Grid, MUI DataGrid). Use
handle-infinite-scrollwith row-extraction inside the scroll loop instead. - The "table" is actually a layout `
from 2003-era HTML (no`, no semantic structure). The extractor will produce noisy results; better to extract by text-selector and structure manually.
Known failures
- Virtualized tables (~5% of modern web apps): only the visible rows are in the DOM at any time. The extractor returns just those. Workaround: combine with
handle-infinite-scrollor scroll-and-extract. - Tables with rowspan/colspan (~3%): the naive header-zip extractor mis-aligns columns. Vision fallback handles for now; v0.2.0 will support
extract_table mode="rowspan-aware". - **No `
, no(~5% of legacy sites):** the extractor uses the first row as headers; if that row is data, the first record is lost. Workaround: passheaders=[...]` arg (planned v0.2.0). - Server-side-rendered "infinite scroll" disguised as pagination: the next-page link returns the SAME rows on click. Detection logic in
pagination-next-pageaborts when row hashes match.
Example usage
Agent task: "Get the latest cs.AI papers from arxiv."
→ invoke_skill("verify-page-loaded") → success
→ invoke_skill("extract-table-pagination") → success, $rows_page_1 = [{title, authors, abstract}, ...]
→ agent inspects $rows_page_1 and reports
Related skills
verify-page-loaded— run first; tables on slow-rendering pages need readiness checkpagination-next-page— chain to walk multiple pageshandle-infinite-scroll— alternative when content lazy-loads instead of paginatingdismiss-cookie-banner— usually run before any extraction
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bettyguo
- Source: bettyguo/browser-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.