# eze-is/web-access architecture

> Architecture diagram of the GitHub repository eze-is/web-access, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/eze-is/web-access
- Repository: https://github.com/eze-is/web-access

## Overview

Web Access is an Agent skill for choosing web-retrieval strategies and operating the user’s logged-in browser. The main flow is an Agent receiving a web task, applying the skill’s guidance, then using search/fetch tools or the CDP proxy to inspect and interact with pages; local browser history and saved site patterns support discovery and reuse. The graph includes the sampled runtime scripts and README-documented capabilities. Some strategy and integration details are documented but not shown in source excerpts, so those links are cited to the README.

Main entry points: [`SKILL.md`](https://github.com/eze-is/web-access/blob/main/SKILL.md) (Web Access skill), [`scripts/check-deps.mjs`](https://github.com/eze-is/web-access/blob/main/scripts/check-deps.mjs) (Runtime readiness), [`scripts/cdp-proxy.mjs`](https://github.com/eze-is/web-access/blob/main/scripts/cdp-proxy.mjs) (CDP proxy), [`scripts/find-url.mjs`](https://github.com/eze-is/web-access/blob/main/scripts/find-url.mjs) (Local URL search)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_agent["Agent workflow"]
  node_skill["Web Access skill<br/>[SKILL.md]"]
  node_webtools["Web retrieval tools"]
end

subgraph group_browser["Browser access"]
  node_checkdeps["Runtime readiness<br/>[check-deps.mjs]"]
  node_discovery["Browser discovery"]
  node_proxy["CDP proxy<br/>[cdp-proxy.mjs]"]
  node_configtemplate["Browser config template"]
end

subgraph group_memory["Discovery and memory"]
  node_urlsearch["Local URL search<br/>[find-url.mjs]"]
  node_sitematch["Site pattern matching<br/>[match-site.mjs]"]
  node_patterns["Site patterns"]
end

node_user(("User"))
node_browserapp["User browser"]

node_user -->|"requests task"| node_skill
node_skill -->|"chooses retrieval"| node_webtools
node_skill -->|"checks readiness"| node_checkdeps
node_checkdeps -->|"selects browser"| node_discovery
node_checkdeps -->|"creates config from"| node_configtemplate
node_checkdeps -->|"starts and checks"| node_proxy
node_proxy -->|"discovers connection"| node_discovery
node_proxy -->|"sends CDP commands"| node_browserapp
node_skill -->|"operates pages via"| node_proxy
node_skill -->|"locates visited URLs"| node_urlsearch
node_urlsearch -->|"reads local history"| node_browserapp
node_skill -->|"loads site guidance"| node_sitematch
node_sitematch -->|"reads matching files"| node_patterns
node_skill -.->|"reuses site knowledge"| node_patterns

click node_skill "https://github.com/eze-is/web-access/blob/main/SKILL.md"
click node_checkdeps "https://github.com/eze-is/web-access/blob/main/scripts/check-deps.mjs"
click node_discovery "https://github.com/eze-is/web-access/blob/main/scripts/browser-discovery.mjs"
click node_proxy "https://github.com/eze-is/web-access/blob/main/scripts/cdp-proxy.mjs"
click node_urlsearch "https://github.com/eze-is/web-access/blob/main/scripts/find-url.mjs"
click node_sitematch "https://github.com/eze-is/web-access/blob/main/scripts/match-site.mjs"
click node_patterns "https://github.com/eze-is/web-access/tree/main/references/site-patterns"
click node_configtemplate "https://github.com/eze-is/web-access/blob/main/templates/config.env.template"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_skill,node_webtools,node_user,node_browserapp toneBlue
class node_checkdeps,node_discovery,node_proxy,node_configtemplate toneAmber
class node_urlsearch,node_sitematch,node_patterns toneMint
```

## Components

### Agent workflow

- [Web Access skill](https://github.com/eze-is/web-access/blob/main/SKILL.md): `SKILL.md`
- **Web retrieval tools**

### Browser access

- [Runtime readiness](https://github.com/eze-is/web-access/blob/main/scripts/check-deps.mjs): `scripts/check-deps.mjs`
- [Browser discovery](https://github.com/eze-is/web-access/blob/main/scripts/browser-discovery.mjs): `scripts/browser-discovery.mjs`
- [CDP proxy](https://github.com/eze-is/web-access/blob/main/scripts/cdp-proxy.mjs): `scripts/cdp-proxy.mjs`
- [Browser config template](https://github.com/eze-is/web-access/blob/main/templates/config.env.template): `templates/config.env.template`

### Discovery and memory

- [Local URL search](https://github.com/eze-is/web-access/blob/main/scripts/find-url.mjs): `scripts/find-url.mjs`
- [Site pattern matching](https://github.com/eze-is/web-access/blob/main/scripts/match-site.mjs): `scripts/match-site.mjs`
- [Site patterns](https://github.com/eze-is/web-access/tree/main/references/site-patterns): `references/site-patterns`

### Other components

- **User**
- **User browser**

## Connections

- User → Web Access skill: requests task (evidence: `README.md`)
- Web Access skill → Web retrieval tools: chooses retrieval (evidence: `README.md`)
- Web Access skill → Runtime readiness: checks readiness (evidence: `README.md`)
- Runtime readiness → Browser discovery: selects browser (evidence: `scripts/check-deps.mjs`)
- Runtime readiness → Browser config template: creates config from (evidence: `scripts/check-deps.mjs`)
- Runtime readiness → CDP proxy: starts and checks (evidence: `scripts/check-deps.mjs`)
- CDP proxy → Browser discovery: discovers connection (evidence: `scripts/cdp-proxy.mjs`)
- CDP proxy → User browser: sends CDP commands (evidence: `README.md`)
- Web Access skill → CDP proxy: operates pages via (evidence: `README.md`)
- Web Access skill → Local URL search: locates visited URLs (evidence: `README.md`)
- Local URL search → User browser: reads local history (evidence: `scripts/find-url.mjs`)
- Web Access skill → Site pattern matching: loads site guidance (evidence: `README.md`)
- Site pattern matching → Site patterns: reads matching files (evidence: `scripts/match-site.mjs`)
- Web Access skill → Site patterns: reuses site knowledge (evidence: `README.md`)
