Polyhydra Skills  /  Content & Art

screenscraper-art

Safely inspect and stage ScreenScraper artwork through the local Skyscraper client. Use when a user wants game art or metadata for a catalog, Batocera, or emulation library without exposing credentials or writing directly to a live media library. Ported from a Codex plugin.

Content & Art

Drop this in — save the block below as ~/.claude/skills/screenscraper-art/SKILL.md, or run:

mkdir -p ~/.claude/skills/screenscraper-art
cat > ~/.claude/skills/screenscraper-art/SKILL.md <<'EOF'
# (paste the full source block below into this file)
EOF

Full source

SKILL.md — copy everything inside
# ScreenScraper Art

This skill drives a bundled local MCP server (`mcp-server/server.py`) that wraps
the `Skyscraper` CLI. It never handles ScreenScraper credentials directly —
those stay in Skyscraper's own `~/.skyscraper/config.ini` (must be `0600`).

## Check the MCP server is connected first

This skill only works if the `screenscraper-art` MCP server is registered for
this session. Check the available tools for `screenscraper_health`,
`screenscraper_inspect`, and `screenscraper_stage`. If they are not present,
do not fail silently — tell the user the server isn't wired up yet and walk
them through adding it, e.g. in a project's `.mcp.json`:

```json
{
  "mcpServers": {
    "screenscraper-art": {
      "command": "python3",
      "args": ["/home/lancer1977/.claude/skills/screenscraper-art/mcp-server/server.py"]
    }
  }
}
```

(Or the user-level MCP config, depending on where they want it available.)
After adding it, the user needs to restart/reconnect the session for the tools
to appear — say so rather than retrying silently.

## Use the tools in this order

1. `screenscraper_health` — checks that Skyscraper is installed and the
   protected local config is available. It never returns credentials.
2. `screenscraper_inspect` — matches one local ROM/archive and returns its
   sanitized result. It only populates Skyscraper's local cache; nothing is
   written outside a temp dir.
3. `screenscraper_stage` — writes a one-game, reviewable media/gamelist result
   only to a new, explicit staging directory. It requires `allow_write: true`
   and refuses to target a directory that already exists (so it can never
   overwrite a live library).

## Hard rules

- Never put credentials in prompts, source files, or command lines — they
  live only in Skyscraper's local config.
- Do not use this for bulk harvesting or direct publication to Batocera/CDN.
  This is a one-game-at-a-time, stage-then-review workflow.
- Always inspect the staged assets and the generated
  `screenscraper-manifest.json` (rights status, match info) with the user
  before they import anything into a live library.