Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

screen reviewer

v1.0.0

Monitor computer activities via periodic screenshots, extract text with OCR, and generate daily review reports with ROI analysis. Use when the user asks abou...

0· 87·0 current·0 all-time
byDoris P@drpris

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for drpris/screen-reviewer.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "screen reviewer" (drpris/screen-reviewer) from ClawHub.
Skill page: https://clawhub.ai/drpris/screen-reviewer
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install screen-reviewer

ClawHub CLI

Package manager switcher

npx clawhub@latest install screen-reviewer
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The code (capture daemon, OCR, report generator) aligns with the declared purpose (periodic screenshots → OCR → daily AI reports). Registering the skill for multiple agents via symlinks is consistent with the README. However the registry metadata claimed 'no install spec / instruction-only' and 'no required binaries/env vars', while the package clearly contains an install.sh, launchd integration, and runtime expectations — that mismatch is notable.
!
Instruction Scope
SKILL.md and the scripts instruct the agent/user to install and run a background daemon that captures full-screen screenshots, runs AppleScript to collect window titles, extracts OCR text, and writes image files and JSONL logs under ~/.screen-reviewer. It also asks the user to grant macOS Screen Recording and Accessibility permissions. The instructions rely on an API key environment variable (OPENAI_API_KEY by default) for full AI reports but include a fallback; they also instruct installing an auto-start launchd service which increases persistence. All of this is within the stated functional scope but involves sensitive data collection and persistent background operation — the instructions do not explicitly surface the privacy risks or require explicit consent at runtime beyond telling the user to grant macOS permissions.
!
Install Mechanism
There is no separate install spec in registry, but the repo includes install.sh which: creates a Python venv, pip-installs packages from requirements.txt (PyPI), attempts to compile a Swift OCR binary via swiftc, and creates symlinks in ~/.cursor/skills and ~/.codex/skills. service_manager.py can write launchd plists and load them (auto-start + KeepAlive). These actions write files to disk, register services with the OS, and fetch packages from PyPI — all expected for this feature set, but they are high-impact (persistence + network fetch). The package does not declare external binary requirements in the registry metadata (e.g., swiftc, screencapture/osascript availability) which is an inconsistency.
!
Credentials
Registry metadata lists no required env vars, but the default config expects an API key environment variable (config.report.api_key_env default OPENAI_API_KEY) for OpenAI/Anthropic use; report_generator reads env vars for OpenAI/Claude. The code supports multiple providers (openai, anthropic, ollama) and will attempt to call external APIs if keys/URLs are set. These environment dependencies are reasonable for AI report generation but should have been declared. Additionally, scripts optionally fall back to pytesseract for OCR, but pytesseract is not listed in scripts/requirements.txt (only Pillow, PyYAML, openai, anthropic), creating a capability/dependency mismatch.
!
Persistence & Privilege
The skill installs launchd agents (capture daemon and scheduled report) with KeepAlive and RunAtLoad, creates persistent directories under ~/.screen-reviewer (screenshots, logs, reports), and creates symlinks so multiple agents discover the skill. always:true is not set (good), but the skill grants itself OS-level persistence via launchd when the user runs the install command. Logs and reports are kept permanently (cleanup only removes screenshots by default), which raises long-term privacy exposure of sensitive captured images and OCR text.
What to consider before installing
This package does what it claims (periodically screenshots your screen, OCRs content, and generates AI reports), but it installs a persistent background service, writes screenshots and logs to ~/.screen-reviewer, and expects you to grant macOS Screen Recording and Accessibility permissions. Before installing: - Accept that it will capture everything visible on your screen (including passwords, banking, messenger content) unless you carefully configure and test the blacklist and pause features. - Note the project will create launchd services (auto-start and KeepAlive) and symlinks under ~/.cursor and ~/.codex; uninstall.sh attempts cleanup but logs/reports are preserved by default. - The registry metadata omitted runtime requirements: an API key (OPENAI_API_KEY or configured env) is needed for full AI reports, and Swift/pytesseract may be required for OCR. The package’s requirements.txt does not include pytesseract, and macOS tools (screencapture, osascript, swiftc) are assumed present. Ask the author or inspect the install.sh and service_manager.py before running. If you want to proceed safely: - Run install in a disposable/test account or VM first. - Inspect ~/.screen-reviewer contents and the created launchd plists before granting permissions and enabling install. - Consider disabling automatic install of launchd services and running the daemon manually while you evaluate. - If you need strict privacy, do not install: the feature set inherently collects highly sensitive data and retains logs/reports by default. What would change this assessment: explicit registry metadata listing required env vars and binaries (OPENAI_API_KEY, ANTHROPIC_API_KEY, swiftc, tesseract), removal or clearer user confirmation for auto-start persistence, and an opt-in flow that warns about retention and sensitive data collection.

Like a lobster shell, security has layers — review code before you run it.

latestvk975d30ymp8ynca5ys5ebzb10n83w522
87downloads
0stars
1versions
Updated 4w ago
v1.0.0
MIT-0

Screen Reviewer — 电脑行为复盘助手

自动截图 → 结构化日志 → AI 每日复盘报告。

File Locations

  • Scripts: scripts/ (relative to this skill directory)
  • Data: ~/.screen-reviewer/ (screenshots, logs, reports, config)
  • Config: ~/.screen-reviewer/config.yaml
  • Reports: ~/.screen-reviewer/reports/YYYY-MM-DD-review.md
  • Venv Python: ~/.screen-reviewer/venv/bin/python

Quick Reference

All commands use service_manager.py. Use venv Python to run:

VENV=~/.screen-reviewer/venv/bin/python
SCRIPTS=<this-skill-dir>/scripts

$VENV $SCRIPTS/service_manager.py start        # Start capture daemon
$VENV $SCRIPTS/service_manager.py stop         # Stop daemon
$VENV $SCRIPTS/service_manager.py status       # Check status + today's stats
$VENV $SCRIPTS/service_manager.py pause        # Pause (daemon stays alive)
$VENV $SCRIPTS/service_manager.py resume       # Resume capturing
$VENV $SCRIPTS/service_manager.py report               # Yesterday's report
$VENV $SCRIPTS/service_manager.py report 2026-03-22     # Specific date
$VENV $SCRIPTS/service_manager.py cleanup      # Delete screenshots > 3 days
$VENV $SCRIPTS/service_manager.py install      # Install macOS auto-start
$VENV $SCRIPTS/service_manager.py uninstall    # Remove auto-start

Setup (first time)

Run from the repo root:

bash install.sh

After setup, grant Screen Recording and Accessibility permissions: System Settings → Privacy & Security → Screen Recording → enable Terminal/Python.

Configuration

Edit ~/.screen-reviewer/config.yaml:

KeyDefaultDescription
capture.interval_seconds5Screenshot interval
capture.smart_detecttrueSkip unchanged frames
capture.change_threshold5Min % pixel change to keep frame
capture.jpeg_quality60JPEG quality (lower = smaller files)
privacy.blacklist_apps[1Password, ...]Apps to skip
ocr.enabledtrueEnable text extraction
report.ai_provideropenaiopenai / claude / ollama
report.ai_modelgpt-4o-miniModel name
report.api_key_envOPENAI_API_KEYEnv var holding the API key
report.generation_hour8Auto-report time (with launchd)
cleanup.keep_days3Days to keep screenshots
categories.*see configApp → value-tier mapping for ROI

How It Works

  1. Capture loop (every 5s): screenshot → detect change → get window info → OCR → JSONL log
  2. Daily report (8 AM or on-demand): aggregate logs → classify apps → AI generates Markdown report
  3. Cleanup (with report): delete screenshot dirs older than 3 days

Log Format

Each line in ~/.screen-reviewer/logs/YYYY-MM-DD.jsonl:

{"timestamp":"2026-03-22T14:30:05","app":"Cursor","window_title":"capture_daemon.py","screenshot":"screenshots/2026-03-22/14-30-05.jpg","ocr_text":"def main():..."}

Troubleshooting

IssueFix
No screenshotsGrant Screen Recording permission
No window titlesGrant Accessibility permission
OCR returns emptyRe-run bash install.sh to recompile Swift tool
Report failsSet AI API key: export OPENAI_API_KEY=sk-...
Daemon won't startCheck ~/.screen-reviewer/logs/daemon_stderr.log

When User Asks To...

  • Start monitoring: Run service_manager.py start
  • See today's activity: Run service_manager.py status, then read today's log
  • Generate review: Run service_manager.py report [date]
  • Change settings: Edit ~/.screen-reviewer/config.yaml
  • Add app to blacklist: Append to privacy.blacklist_apps in config
  • Check disk usage: du -sh ~/.screen-reviewer/screenshots/

Comments

Loading comments...