Agent SkillsAgent Skills
samhvw8

browser-history

@samhvw8/browser-history
samhvw8
12
3 forks
Updated 3/31/2026
View on GitHub

Search local browser history. Use when user asks about visited pages, forgotten URLs, or time spent on sites.

Installation

$npx agent-skills-cli install @samhvw8/browser-history
Claude Code
Cursor
Copilot
Codex
Antigravity

Details

Pathdot_claude/skills/browser-history/SKILL.md
Branchmaster
Scoped Name@samhvw8/browser-history

Usage

After installing, this skill will be available to your AI coding assistant.

Verify installation:

npx agent-skills-cli list

Skill Instructions


name: browser-history description: Search local browser history. Use when user asks about visited pages, forgotten URLs, or time spent on sites.

Browser History Search

Search the user's browser history to find visited pages, analyze browsing patterns, and retrieve forgotten information.

When to use

  • User asks about pages they visited ("what github repos did I look at last week?")
  • User wants to find a forgotten page ("find that article about LLMs I read")
  • User asks about browsing habits ("how much time did I spend on Twitter?")
  • User wants browsing statistics ("show my most visited sites")

Requirements

  • sqlite3 CLI

Setup

First, detect available browsers by running:

./find-browser.sh
  • Output: PATH,TYPE,BROWSER,LAST_MODIFIED
  • TYPE: firefox or chromium (determines SQL syntax)
  • Use the first result (most recently used browser) by default
  • If multiple browsers were used recently (within last 24h), ask the user which one to search

Querying the database

Use ?immutable=1 in the SQLite URI to read the database even when the browser is open:

sqlite3 "file:///path/to/history.db?immutable=1" "SELECT ..."

Firefox databases (places.sqlite)

Search by keyword:

SELECT
    title,
    url,
    datetime(last_visit_date/1000000, 'unixepoch', 'localtime') as visit_date
FROM moz_places
WHERE url LIKE '%keyword%' OR title LIKE '%keyword%'
ORDER BY last_visit_date DESC
LIMIT 50;

Search by date range:

SELECT url, title, datetime(last_visit_date/1000000, 'unixepoch', 'localtime') as visit_date
FROM moz_places
WHERE last_visit_date > strftime('%s', '2025-01-01') * 1000000
  AND last_visit_date < strftime('%s', '2025-01-31') * 1000000
ORDER BY last_visit_date DESC;

Time spent analysis (uses moz_places_metadata):

SELECT
    SUM(m.total_view_time) / 1000 / 60 as minutes,
    COUNT(*) as sessions
FROM moz_places_metadata m
JOIN moz_places p ON m.place_id = p.id
WHERE p.url LIKE '%example.com%'
  AND m.created_at > strftime('%s', '2025-01-01') * 1000;

Note: created_at is in milliseconds, last_visit_date is in microseconds.

Most visited sites:

SELECT
    SUBSTR(url, INSTR(url, '://') + 3,
           INSTR(SUBSTR(url, INSTR(url, '://') + 3), '/') - 1) as domain,
    SUM(visit_count) as visits
FROM moz_places
WHERE url LIKE 'http%'
GROUP BY domain
ORDER BY visits DESC
LIMIT 20;

Chromium databases (History)

Important: Chromium timestamps are microseconds since January 1, 1601 (Windows epoch).

Conversion: (timestamp/1000000) - 11644473600 gives Unix epoch.

Search by keyword:

SELECT
    title,
    url,
    datetime((last_visit_time/1000000)-11644473600, 'unixepoch', 'localtime') as visit_date
FROM urls
WHERE url LIKE '%keyword%' OR title LIKE '%keyword%'
ORDER BY last_visit_time DESC
LIMIT 50;

Search by date range:

SELECT url, title, datetime((last_visit_time/1000000)-11644473600, 'unixepoch', 'localtime') as visit_date
FROM urls
WHERE last_visit_time > (strftime('%s', '2025-01-01') + 11644473600) * 1000000
  AND last_visit_time < (strftime('%s', '2025-01-31') + 11644473600) * 1000000
ORDER BY last_visit_time DESC;

Database schema

Firefox (moz_places)

ColumnDescription
urlFull URL
titlePage title
last_visit_dateMicroseconds since Unix epoch
visit_countNumber of visits
frecencyFrequency + recency score

Firefox (moz_places_metadata)

ColumnDescription
place_idForeign key to moz_places
total_view_timeMilliseconds spent on page
created_atMilliseconds since Unix epoch
scrolling_timeTime spent scrolling
key_pressesNumber of key presses

Chromium (urls)

ColumnDescription
urlFull URL
titlePage title
last_visit_timeMicroseconds since 1601-01-01
visit_countNumber of visits

Output guidelines

  • Present results in a readable format, grouped by domain when relevant
  • For time analysis, show hours/minutes, not raw milliseconds
  • When showing history, include the date and a clickable link
  • If results are numerous, summarize by domain or time period
  • You might include a small ASCII/Unicode chart (daily breakdown, histogram) if relevant

See @README.md for output examples.

More by samhvw8

View all
frontend-development
12

Multi-framework frontend development. Frameworks: React 18+ (Suspense, hooks, TanStack), Vue 3 (Composition API, Pinia, Nuxt), Svelte 5 (Runes, SvelteKit), Angular (Signals, standalone). Common: TypeScript, state management, routing, data fetching, performance optimization, component patterns. Actions: create, build, implement, style, optimize, refactor components/pages/features. Keywords: React, Vue, Svelte, Angular, component, TypeScript, hooks, Composition API, runes, signals, useSuspenseQuery, Pinia, stores, state management, routing, lazy loading, Suspense, performance, bundle size, code splitting, reactivity, props, events. Use when: creating components in any framework, building pages, fetching data, implementing routing, state management, optimizing performance, organizing frontend code, choosing between frameworks.

3d-graphics
12

3D web graphics with Three.js (WebGL/WebGPU). Capabilities: scenes, cameras, geometries, materials, lights, animations, model loading (GLTF/FBX), PBR materials, shadows, post-processing (bloom, SSAO, SSR), custom shaders, instancing, LOD, physics, VR/XR. Actions: create, build, animate, render 3D scenes/models. Keywords: Three.js, WebGL, WebGPU, 3D graphics, scene, camera, geometry, material, light, animation, GLTF, FBX, OrbitControls, PBR, shadow mapping, post-processing, bloom, SSAO, shader, instancing, LOD, WebXR, VR, AR, product configurator, data visualization, architectural walkthrough, interactive 3D, canvas. Use when: creating 3D visualizations, building WebGL/WebGPU apps, loading 3D models, adding animations, implementing VR/XR, creating interactive graphics, building product configurators.

design-principles
12

UI/UX design system for dashboards, admin panels, SaaS interfaces, and web apps. Stack: React, Tailwind, CSS, styled-components. Capabilities: spacing systems (4px grid), color palettes, typography hierarchy, shadows/elevation, card layouts, dark mode, component styling. Actions: design, style, beautify, fix, improve, refactor UI components. Keywords: ugly, inconsistent, cluttered, unprofessional, spacing, padding, margin, colors, fonts, shadows, cards, buttons, forms, navigation, sidebar, layout. Use when: building new UI, fixing ugly interfaces, making things look professional/modern/clean, implementing design systems, styling components, choosing colors/fonts/spacing.

sequential-thinking
12

Structured reflective problem-solving methodology. Process: decompose, analyze, hypothesize, verify, revise. Capabilities: complex problem decomposition, adaptive planning, course correction, hypothesis verification, multi-step analysis. Actions: decompose, analyze, plan, revise, verify solutions step-by-step. Keywords: sequential thinking, problem decomposition, multi-step analysis, hypothesis verification, adaptive planning, course correction, reflective thinking, step-by-step, thought sequence, dynamic adjustment, unclear scope, complex problem, structured analysis. Use when: decomposing complex problems, planning with revision capability, analyzing unclear scope, verifying hypotheses, needing course correction, solving multi-step problems.