Real Chrome profiles with site intelligence — already logged in, PII anonymization, sessions persist
Drift inferred · capture-to-capture
- HIGH code analysis flagged committed secret ×3 in Enreign/pagerunner
tools
-
attach_session
Attach to an existing Chrome instance via --remote-debugging-port
-
call_site_api
Execute a stored adapter in the browser tab
-
click
Click an element by CSS selector
-
close_session
Kill a Chrome session
-
close_tab
Close a specific tab
-
delete_session_checkpoint
Remove a checkpoint by ID
-
delete_snapshot
Delete a saved snapshot
-
evaluate
Run JavaScript in a tab, returns the result
-
fill
Set input value with React/Vue/Angular synthetic events
-
generate_adapter
Auto-generate a JS adapter from network traffic using Claude (requires ANTHROPIC_API_KEY)
-
get_console_log
Capture JavaScript console output from a tab
-
get_content
Get visible text content of a tab
-
get_network_log
Inspect HTTP requests captured in a session
-
get_site_knowledge
Inspect what Pagerunner has learned about a site (adapters, auth tokens, selector health)
-
kv_clear
Delete all keys in a namespace
-
kv_delete
Delete a key
-
kv_get
Retrieve a value by key
-
kv_list
List keys in a namespace (with optional prefix filter)
-
kv_set
Store a value in a persistent namespace
-
list_profiles
List configured Chrome profiles
-
list_session_checkpoints
List saved checkpoints for a profile
-
list_sessions
List active sessions
-
list_snapshots
List saved snapshots (optionally across all profiles)
-
list_tabs
List open tabs in a session
-
navigate
Navigate a tab to a URL
-
new_tab
Open a new tab, returns target_id
-
open_session
Launch Chrome for a profile, returns session_id
-
register_adapter
Store a JS adapter for direct API calls against a site
-
restore_session_checkpoint
Reopen all saved tabs and navigate to stored URLs
-
restore_snapshot
Restore a saved snapshot into the current tab
-
restore_tab_state
Reopen the previously saved tabs
-
save_session_checkpoint
Save full tab state (URLs + scroll positions) for all tabs in a session
-
save_snapshot
Save current page cookies/localStorage to the encrypted DB
-
save_tab_state
Save all open tab URLs to the DB
-
screenshot
Capture a tab as PNG (saved to temp file or inline base64)
-
scroll
Scroll the page by pixels or scroll an element into view
-
select
Choose a dropdown option by value
-
type_text
Type text at the focused element or a given selector
-
wait_for
Wait for a CSS selector, URL pattern, or fixed delay
analyzed commit ce3ead5 · analyzer v20 · 1d ago
skills & prompt files 3
filesystem 1
- fs Enreign-pagerunner-ce3ead5/npm/install.js :5
const { createWriteStream, chmodSync, existsSync, mkdirSync } = require("fs");
shell / exec 1
- shell Enreign-pagerunner-ce3ead5/npm/run.js :4
const { execFileSync } = require("child_process");
network 13
- net Enreign-pagerunner-ce3ead5/npm/install.js :6
const { get } = require("https"); - net Enreign-pagerunner-ce3ead5/src/adapters/github_create_issue.js :2
const res = await fetch( - net Enreign-pagerunner-ce3ead5/src/adapters/github_list_issues.js :4
const res = await fetch( - net Enreign-pagerunner-ce3ead5/src/adapters/github_search_issues.js :5
const res = await fetch( - net Enreign-pagerunner-ce3ead5/src/adapters/gmail_get_message.js :3
const res = await fetch( - net Enreign-pagerunner-ce3ead5/src/adapters/gmail_list_messages.js :4
const res = await fetch( - net Enreign-pagerunner-ce3ead5/src/adapters/jira_create_issue.js :3
const res = await fetch(`${baseUrl}/rest/api/3/issue`, { - net Enreign-pagerunner-ce3ead5/src/adapters/jira_transition_issue.js :3
const res = await fetch(`${baseUrl}/rest/api/3/issue/${params.issue_key}/transitions`, { - net Enreign-pagerunner-ce3ead5/src/adapters/linear_create_comment.js :2
const res = await fetch("https://api.linear.app/graphql", { - net Enreign-pagerunner-ce3ead5/src/adapters/linear_create_issue.js :2
const res = await fetch("https://api.linear.app/graphql", { - net Enreign-pagerunner-ce3ead5/src/adapters/linear_update_status.js :2
const res = await fetch("https://api.linear.app/graphql", { - net Enreign-pagerunner-ce3ead5/src/adapters/notion_append_block.js :2
const res = await fetch(`https://api.notion.com/v1/blocks/${params.page_id}/children`, { - net Enreign-pagerunner-ce3ead5/src/adapters/notion_create_page.js :2
const res = await fetch("https://api.notion.com/v1/pages", {
install hooks 1
- postinstall Enreign-pagerunner-ce3ead5/npm/package.json :17
node install.js