Skip to content
Back to skills

Web Reading

ASecurity

Router and protocol for reading and extracting web content. Decides first WHAT is needed (main text vs. structure vs. screenshot) and then WHICH tool available on the system delivers it. If nothing suitable is present, it recommends installing the web-scraper module.

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 4, 2026
ai-agentspythongobashgitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 7 files and shows the line behind each finding

Scanned September 4, 2026

npx -y skills add ellmos-ai/skills --skill web-reading --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Web Reading?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Web Reading
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ellmos-ai-web-reading/badge)](https://www.skillsdirectory.com/skills/ellmos-ai-web-reading)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: web-reading
version: 1.1.0
type: protocol
author: BACH Team
created: 2026-03-12
updated: 2026-07-05
description: Router and protocol for reading and extracting web content. Decides first WHAT is needed (main text vs. structure vs. screenshot) and then WHICH tool available on the system delivers it. If nothing suitable is present, it recommends installing the web-scraper module.

standalone: true
anthropic_compatible: true
bach_compatible: true
bach_origin: true
category: web
tags: [web-scraping, content-extraction, research, router]
language: de
status: active
visibility: public
dependencies: {'tools': [], 'services': [], 'protocols': [], 'python': ['requests', 'beautifulsoup4']}
provenance: {'origin': 'bach', 'origin_path': 'system/skills/workflows/webseiten-lesen.md', 'origin_version': '3.8.0', 'origin_repo': 'github.com/ellmos-ai/bach', 'last_sync_from_origin': '2026-03-12', 'last_sync_to_origin': None, 'local_changes_since_sync': True}
bach_integration: {'handler': 'web-parse, web-scrape', 'db_tables': [], 'hooks': [], 'bach_origin_path': 'system/skills/workflows/'}
---
<img src="banner.png" width="100%" alt="web-reading banner">

# Webseiten lesen (Router)

## Zweck

Webinhalte abrufen und verarbeiten — aber nicht blind ein Werkzeug wählen.
Dieser Skill routet: **erst der Zweck, dann das beste verfügbare Werkzeug.**
Die eigentliche Implementierung lebt im **`web-scraper`-Modul**; dieser Skill
zeigt nur, was gerade da ist und wie man es nutzt.

## Schritt 1 — Was wird gebraucht?

```
Webseite verarbeiten?
  |
  +-- Haupttext (Artikel/Fließtext) → "Content"      → Schritt 2A
  +-- Links / Formulare / Headers   → "Struktur"     → Schritt 2B
  +-- Gerendertes Bild der Seite    → "Screenshot"   → Schritt 2C
```

## Schritt 2 — Welches Werkzeug? (Router)

Nimm das **erste verfügbare** Werkzeug in der jeweiligen Liste. „Verfügbar"
heißt: das Tool/der Skill/das Modul ist in dieser Session tatsächlich vorhanden.

### 2A — Content (Haupttext, sauberes Markdown)

| Priorität | Werkzeug | Verfügbar, wenn … | Nutzung |
|---|---|---|---|
| 1 | **`defuddle`**-Skill | Skill `defuddle` gelistet | sauberes Markdown aus normalen Webseiten |
| 2 | Built-in **`WebFetch`** | Agent hat das WebFetch-Tool | schnelles Lesen/Zusammenfassen einer URL |
| 3 | **`fc_web_fetch`** (MCP) | FileCommander-MCP geladen | `mode: "extract"` |
| 4 | **`web-scraper`**-Modul | Modul installiert/importierbar | `web-scraper extract <url>` bzw. `extract(url)` |

> Hinweis: `.md`-URLs sind bereits Markdown → direkt `WebFetch`, kein Extractor.

### 2B — Struktur (Links, Formulare, Headers)

Hier taugen `WebFetch`/`defuddle` **nicht** (sie liefern aufbereiteten Text,
keine rohe Struktur). Nimm daher:

| Priorität | Werkzeug | Verfügbar, wenn … | Nutzung |
|---|---|---|---|
| 1 | **`fc_web_fetch`** (MCP) | FileCommander-MCP geladen | `mode: "links" \| "forms" \| "headers"` |
| 2 | **`web-scraper`**-Modul | Modul installiert/importierbar | `web-scraper links\|forms\|headers <url>` |

### 2C — Screenshot

| Priorität | Werkzeug | Verfügbar, wenn … | Nutzung |
|---|---|---|---|
| 1 | **`web-scraper`**-Modul | Modul mit `[screenshot]`-Extra | `web-scraper screenshot <url> --out bild.png` |
| 2 | Browser-Automations-Tool | z. B. Playwright/Computer-Use vorhanden | seiten-abhängig |

## Schritt 3 — Fallback: nichts Passendes gefunden?

Wenn für den Zweck **kein** Werkzeug verfügbar ist, empfiehl die Installation
des **`web-scraper`-Moduls** (vollwertig: get/links/forms/headers/extract/screenshot):

```bash
# aus dem lokalen Modulordner (.MODULES/.TOOLS/web-scraper)
pip install ".[http,extract]"          # + [screenshot] für Screenshots

# danach:
web-scraper extract <url>
```

Als Bibliothek:

```python
from web_scraper import WebScraper, extract
print(extract("https://example.com")["content"])
```

## Notnagel — Standalone-Snippet (ohne alles)

Wenn wirklich nur die Standardbibliothek + `requests`/`bs4` da sind:

```python
import requests
from bs4 import BeautifulSoup

def extract_content(url: str) -> str:
    """Einfache Content-Extraktion."""
    response = requests.get(url, timeout=30)
    response.raise_for_status()
    soup = BeautifulSoup(response.text, "html.parser")
    for tag in soup(["script", "style", "nav", "header", "footer", "aside"]):
        tag.decompose()
    return soup.get_text(separator="\n", strip=True)
```

## Changelog

### 1.1.0 (2026-07-05)
- Umbau von reinem Protokoll zu **Router**: erkennt vorhandene Web-Fähigkeiten
  (`defuddle`, `WebFetch`, `fc_web_fetch`, `web-scraper`-Modul) und routet nach
  Zweck (Content/Struktur/Screenshot); empfiehlt sonst das `web-scraper`-Modul.
- Name auf `web-reading` vereinheitlicht (vorher DE `webseiten-lesen`).
- BACH-CLI-Beispiele aus dem Body entfernt (standalone-konform; Herkunft bleibt
  im `bach_integration`-Frontmatter dokumentiert).

### 1.0.0 (2026-03-12)
- Export aus BACH v3.8.0 Workflow `webseiten-lesen.md`

Files in this skill

  • SKILL.en.md4.7 KB
  • SKILL.es.md5.2 KB
  • SKILL.fr.md5 KB
  • SKILL.ja.md5.9 KB
  • SKILL.md4.9 KB
  • SKILL.ru.md6.9 KB
  • SKILL.zh.md4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.