browser-history-acset

Browser History ACSet

16 stars

Best use case

browser-history-acset is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Browser History ACSet

Teams using browser-history-acset should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/browser-history-acset/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/browser-history-acset/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/browser-history-acset/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How browser-history-acset Compares

Feature / Agentbrowser-history-acsetStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Browser History ACSet

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Browser History ACSet

**Trit**: 0 (ERGODIC - information coordination)  
**Foundation**: PyACSet ↔ ACSets.jl path equivalence verified

## Overview

Unified categorical structure for browser history across:
- ChatGPT Atlas (Chromium-based)
- Chrome, Arc, Brave, Firefox, Safari

Uses GF(3) trit classification for browsing behavior analysis.

## Schema

```
┌─────────────────────────────────────────────────────────────┐
│                  BrowserHistoryACSet Schema                  │
├─────────────────────────────────────────────────────────────┤
│  Objects:    Browser, URL, Visit, Domain, SearchQuery       │
│                                                             │
│  Morphisms:                                                 │
│    browser_of: URL → Browser                                │
│    domain_of:  URL → Domain                                 │
│    url_of:     Visit → URL                                  │
│    from_visit: Visit → Visit (reflexive, navigation chain)  │
│                                                             │
│  Attributes:                                                │
│    browser_name: Browser → String                           │
│    url_text:     URL → String                               │
│    visit_time:   Visit → Int                                │
│    domain_name:  Domain → String                            │
│    trit:         Domain → Int (-1, 0, +1)                   │
└─────────────────────────────────────────────────────────────┘
```

## Path Equivalence Tests

Verified cross-language compatibility between Python and Julia:

| Operation | Python (PyACSet) | Julia (ACSets.jl) | Match |
|-----------|------------------|-------------------|-------|
| nparts(A) | 2 | 2 | ✓ |
| subpart(1, :f) | 1 | 1 | ✓ |
| incident(1, :f) | [1] | [1] | ✓ |
| path 1→f→g | 1 | 1 | ✓ |

### Key Operations

```python
# Python (PyACSet)
url = acset.subpart(visit_id, "url_of")
domain = acset.path(visit_id, "url_of", "domain_of")
referrers = acset.incident(url_id, "url_of")
```

```julia
# Julia (ACSets.jl)
url = subpart(acs, visit_id, :url_of)
domain = subpart(acs, subpart(acs, visit_id, :url_of), :domain_of)
referrers = incident(acs, url_id, :url_of)
```

## GF(3) Domain Classification

| Trit | Category | Examples | Behavior |
|------|----------|----------|----------|
| +1 | PLUS (Creation) | github.com, ampcode.com, arxiv.org | Building, learning |
| 0 | ERGODIC (Info) | google.com, youtube.com, x.com | Coordination, info |
| -1 | MINUS (Consumption) | amazon.com, netflix.com, reddit.com | Consuming, extracting |

## Current Data (ChatGPT Atlas)

```
╔═══════════════════════════════════════════════════════════════╗
║              Browser History ACSet                            ║
╠═══════════════════════════════════════════════════════════════╣
║  Browser         :      3 parts                               ║
║  URL             :   4529 parts                               ║
║  Visit           :   8569 parts                               ║
║  Domain          :    511 parts                               ║
║  SearchQuery     :     36 parts                               ║
║  Download        :     41 parts                               ║
╠═══════════════════════════════════════════════════════════════╣
║  GF(3) Sum       :     13                                     ║
╚═══════════════════════════════════════════════════════════════╝

Top Domains:
  [+] github.com      : 1066 visits (creation)
  [○] mermaid.live    :  655 visits (coordination)
  [+] ampcode.com     :  453 visits (creation)
  [+] elevenlabs.io   :  268 visits (creation)
  [+] huggingface.co  :  188 visits (creation)
```

## Usage

```bash
# Extract browser history as ACSet
python3 browser_history_acset.py

# Run path equivalence tests
python3 path_equivalence_test.py

# Julia verification
julia path_equivalence_test.jl
```

## Integration Points

- **Tenderloin WEV**: Geographic browsing patterns → impact zones
- **OlmoEarth-MLX**: Location-aware embeddings for browsing
- **GeoACSet**: Spatial categorization of online activity
- **DuckDB**: Temporal queries on visit history

## Specter-Style Navigation

```python
# Select all visits to github.com
github_visits = (
    SELECT(ALL("Visit"))
    >> FILTER(lambda v: acset.path(v, "url_of", "domain_of") 
              and acset.subpart(acset.path(v, "url_of", "domain_of"), "domain_name") == "github.com")
)

# Transform: add trit to all URLs in domain
TRANSFORM(
    SELECT(ALL("URL")) >> FILTER(lambda u: acset.subpart(u, "domain_of") == d1),
    lambda u: acset.set_subpart(u, "trit", 1)
)
```

## Canonical Triads

```
browser-history-acset (0) ⊗ olmoearth-mlx (+1) ⊗ tenderloin (-1) = 0 ✓
py-acset (0) ⊗ ACSets.jl (+1) ⊗ DuckDB (-1) = 0 ✓
```

## References

- [ACSets.jl](https://github.com/AlgebraicJulia/ACSets.jl)
- [plurigrid-asi-skillz/skills/acsets](file:///Users/bob/ies/plurigrid-asi-skillz/skills/acsets/SKILL.md)
- [zip_acset_skill/extract_agent_o_rama.py](file:///Users/bob/ies/zip_acset_skill/extract_agent_o_rama.py)



## Related Skills

- `coequalizers` (0) - Path equivalence via coequalizer quotients
- `acsets` (0) - ACSet foundations
- `temporal-coalgebra` (-1) - Time-based path analysis

## Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

### Annotated Data
- **anndata** [○] via bicomodule

### Bibliography References

- `general`: 734 citations in bib.duckdb

## Cat# Integration

This skill maps to **Cat# = Comod(P)** as a bicomodule in the equipment structure:

```
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
```

### GF(3) Naturality

The skill participates in triads satisfying:
```
(-1) + (0) + (+1) ≡ 0 (mod 3)
```

This ensures compositional coherence in the Cat# equipment structure.

Related Skills

unison-acset

16
from plurigrid/asi

Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.

tasks-acset

16
from plurigrid/asi

Google Tasks management via TasksACSet. Transforms task operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for task-zero-as-condensed-state.

specter-acset

16
from plurigrid/asi

Specter-style bidirectional navigation for Julia Collections, S-expressions, and ACSets with inline caching

rg-flow-acset

16
from plurigrid/asi

RG Flow ACSet Skill

protocol-acset

16
from plurigrid/asi

Model decentralized protocols as attributed C-sets for compositional analysis, interoperability design, and protocol evolution. Apply categorical mathematics to P2P infrastructure.

nix-acset-worlding

16
from plurigrid/asi

Model Nix store as Attributed C-Set for dependency verification, GC analysis,

markov-game-acset

16
from plurigrid/asi

markov-game-acset skill

implementing-browser-isolation-for-zero-trust

16
from plurigrid/asi

Deploys remote browser isolation (RBI) as a core component of a Zero Trust architecture. Implements isolation policies with URL categorization and risk-based routing, content disarming and reconstruction (CDR) for file sanitization, data loss prevention controls within isolated sessions, and integration with Secure Web Gateway and ZTNA platforms. Based on Cloudflare Browser Isolation, Menlo Security, and Zscaler RBI approaches. Use when hardening web access against zero-day exploits, phishing, credential theft, and browser-based data exfiltration.

extracting-browser-history-artifacts

16
from plurigrid/asi

Extract and analyze browser history, cookies, cache, downloads, and bookmarks from Chrome, Firefox, and Edge for forensic evidence of user web activity.

drive-acset

16
from plurigrid/asi

Google Drive management via DriveACSet schema with GF(3) triadic routing. Transforms files/folders into typed Interactions, routes to queue fibers, detects saturation for organized-drive-as-condensed-state.

docs-acset

16
from plurigrid/asi

Google Docs/Sheets management via ACSet condensation. Transforms documents into GF(3)-typed Interactions, tracks comments/cells, detects saturation when all comments resolved. Use for document workflows, spreadsheet automation, or applying ANIMA principles to Workspace documents.

calendar-acset

16
from plurigrid/asi

Google Calendar management via CalendarACSet. Transforms scheduling operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for balanced-calendar-as-condensed-state.