X Reader

ReviewAudited by ClawScan on May 1, 2026.

Overview

X Reader appears to be a coherent content-reading and transcription tool, but users should notice that it can rely on saved login sessions, third-party services, local subprocess tools, and persistent saved content.

Before installing, verify the GitHub source, pin the version if possible, and decide whether you are comfortable with third-party services such as Jina/Groq, local yt-dlp processing, saved browser login sessions, and persistent inbox or Obsidian storage. Avoid using saved sessions or MCP access for workflows you do not fully trust.

Findings (6)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If you log in through this tool, future fetches may use that saved session to read pages as your account.

Why it was flagged

The tool can reuse saved browser cookies/localStorage for authenticated fetching on supported platforms. This is disclosed and purpose-aligned, but it gives the reader access to account-gated content.

Skill content
storage_state: Path to a Playwright storage state JSON file (cookies/localStorage). If provided, the browser context will load this session.
Recommendation

Only log in to accounts you are comfortable using for this tool, protect or delete files under ~/.x-reader/sessions when no longer needed, and avoid enabling session-backed fetching for untrusted workflows.

What this means

Audio from videos you process may be sent to Groq for transcription, and submitted URLs may also be handled by external reader services.

Why it was flagged

For Whisper fallback, downloaded audio is uploaded to Groq with the user's API key. This is consistent with the stated transcription purpose, but it is a sensitive third-party data flow.

Skill content
response = requests.post("https://api.groq.com/openai/v1/audio/transcriptions", headers={"Authorization": f"Bearer {api_key}"}, files={"file": (os.path.basename(audio_path), f, "audio/mp4")}
Recommendation

Do not use the transcription path for private or confidential media unless you accept the provider's data handling terms; keep API keys scoped and rotate them if exposed.

What this means

Using YouTube transcription depends on locally installed media tooling and may download temporary subtitle or audio files.

Why it was flagged

The skill runs the local yt-dlp binary to extract subtitles or audio. The command is passed as an argument list and the URL is validated elsewhere in the function, so this is expected for the transcription feature rather than hidden execution.

Skill content
cmd = ["yt-dlp", "--write-auto-sub", "--write-sub", "--sub-lang", lang, "--sub-format", "srt", "--skip-download", "-o", output_path, url]
subprocess.run(cmd, capture_output=True, text=True, timeout=60)
Recommendation

Install yt-dlp and ffmpeg only from trusted sources and keep them updated.

What this means

Installing from a moving GitHub branch can change what code is installed over time.

Why it was flagged

The documented install path pulls from a GitHub repository without pinning a commit or release tag. This is user-directed and central to the package workflow, but users should verify the source.

Skill content
pip install git+https://github.com/runesleo/x-reader.git
Recommendation

Prefer a pinned release, tag, or commit when installing, and verify the repository before installing optional extras.

What this means

URLs, transcripts, summaries, or fetched text may remain on disk and be visible to later tools or users of the same environment.

Why it was flagged

Fetched content can be stored persistently in an inbox file or an Obsidian vault. This is useful for the reader workflow but may retain private content beyond the current task.

Skill content
`INBOX_FILE` | No | Path to inbox JSON (default: `./unified_inbox.json`)
`OBSIDIAN_VAULT` | No | Path to Obsidian vault (writes to `01-收集箱/x-reader-inbox.md`)
Recommendation

Choose storage paths intentionally, avoid processing confidential content unless local persistence is acceptable, and clear the inbox when needed.

What this means

If you enable the MCP server, an attached agent may be able to fetch URLs or view the stored inbox through these tools.

Why it was flagged

The optional MCP server exposes URL-reading and inbox-access tools to an agent boundary. This is disclosed and purpose-aligned, but it can make saved content and configured fetching capabilities available to any trusted MCP client.

Skill content
Tools exposed:
- `read_url(url)` — fetch any URL
- `read_batch(urls)` — fetch multiple URLs concurrently
- `list_inbox()` — view previously fetched content
Recommendation

Enable the MCP server only for trusted clients and be cautious combining it with saved platform sessions or sensitive inbox content.