pp-movie-goat
Original:🇺🇸 English
Translated
The movie CLI that combines TMDb's discovery engine with OMDb's multi-source ratings — and ships a SQLite watchlist that flags what's streaming on your services right now. Trigger phrases: `what should I watch tonight`, `where can I stream <title>`, `rate <title>`, `compare <title> and <title>`, `what's <person>'s filmography`, `plan a <franchise> marathon`, `use movie-goat`, `run movie-goat`.
8installs
Added on
NPX Install
npx skill4agent add mvanhorn/printing-press-library pp-movie-goatTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Movie Goat — Printing Press CLI
Prerequisites: Install the CLI
This skill drives the binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
movie-goat-pp-cli- Install via the Printing Press installer:
bash
npx -y @mvanhorn/printing-press install movie-goat --cli-only - Verify:
movie-goat-pp-cli --version - Ensure (or
$GOPATH/bin) is on$HOME/go/bin.$PATH
If the install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.23+):
npxbash
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/movie-goat/cmd/movie-goat-pp-cli@latestIf reports "command not found" after install, the install step did not put the binary on . Do not proceed with skill commands until verification succeeds.
--version$PATHWhen to Use This CLI
Use Movie Goat when an agent needs to answer cinephile questions that require combining streaming availability with multi-source ratings. It is the right choice for tonight-picker scenarios, franchise marathon planning, and rated career timelines. It is not the right choice for box-office tracking, review sentiment analysis, or any workflow that needs LLM-style summaries of plot or reviews.
When Not to Use This CLI
Do not activate this CLI for requests that require creating, updating, deleting, publishing, commenting, upvoting, inviting, ordering, sending messages, booking, purchasing, or changing remote state. This printed CLI exposes read-only commands for inspection, export, sync, and analysis.
Unique Capabilities
These capabilities aren't available in any other tool for this API.
Cinephile rituals
-
— Pick what to watch tonight from trending titles actually streaming on your services.
tonightUse this when an agent needs a streaming-filtered shortlist; one call replaces tab-bouncing across TMDb/RT/JustWatch.bashmovie-goat-pp-cli tonight --mood thriller --max-runtime 120 --providers netflix,max --region US --json -
— TMDb + IMDb + Rotten Tomatoes + Metacritic ratings for any title in one card.
ratingsUse when an agent needs the canonical multi-source rating for a title; degrades gracefully to TMDb-only if OMDB_API_KEY is unset.bashmovie-goat-pp-cli ratings 550 --json -
— Plan a franchise marathon with watch order, total runtime, and suggested breaks.
marathonUse when planning an event watch; agent can dump the schedule to share with a group.bashmovie-goat-pp-cli marathon "The Avengers" --order release --breaks-every 240 --json -
— Explore any actor or director's full filmography with ratings and chronology.
careerUse when an agent needs a rated chronological filmography; replaces flat IMDb lists with cross-source ratings.bashmovie-goat-pp-cli career "Christopher Nolan" --since 2010 --role director --json -
— Compare two movies or shows side-by-side across ratings, cast, runtime, and streaming.
versusUse when an agent has to pick between two finalists; one command shows where they differ on every axis.bashmovie-goat-pp-cli versus 550 27205 --region US --json -
— List people who appear in 2+ of a person's credits, with count and titles.
collaboratorsUse when an agent is researching a filmmaker's circle; surfaces recurring DPs/composers/actors mechanically.bashmovie-goat-pp-cli collaborators "Christopher Nolan" --min-count 3 --role crew --json
Local state that compounds
-
— Local SQLite watchlist; flag rows that are streamable on your services.
watchlist listUse weekly to surface streamable items from a saved list; eliminates ad-hoc JustWatch checks per title.bashmovie-goat-pp-cli watchlist list --available --providers netflix,max --region US --json -
— Suggest next-watch picks derived from your watchlist's recommendations and similars.
queueUse when an agent needs a fresh queue derived from saved interests; combines local state with API recommendations.bashmovie-goat-pp-cli queue --limit 20 --providers netflix,max --region US --json
Command Reference
discover — Discover movies and TV shows with rich filters
- — Discover movies by genre, year, rating, certification, cast, crew, streaming provider, and more
movie-goat-pp-cli discover movies - — Discover TV shows by genre, year, rating, network, and streaming provider
movie-goat-pp-cli discover tv
genres — Get genre lists for movies and TV
- — Get the list of movie genres
movie-goat-pp-cli genres movies - — Get the list of TV genres
movie-goat-pp-cli genres tv
movies — Search and browse movies
- — Get detailed info about a movie including cast, ratings, and streaming availability
movie-goat-pp-cli movies get - — Get movies currently in theaters
movie-goat-pp-cli movies now-playing - — Get current popular movies
movie-goat-pp-cli movies popular - — Search for movies by title
movie-goat-pp-cli movies search - — Get the highest rated movies
movie-goat-pp-cli movies top-rated - — Get movies coming soon to theaters
movie-goat-pp-cli movies upcoming
multi — Multi-search across movies, TV shows, and people
- — Search for movies, TV shows, and people in a single query
movie-goat-pp-cli multi <query>
people — Search and browse people (actors, directors, crew)
- — Get detailed info about a person including their filmography
movie-goat-pp-cli people get - — Get popular people in entertainment
movie-goat-pp-cli people popular - — Search for people by name
movie-goat-pp-cli people search
trending — Get trending movies, TV shows, and people
- — Get trending movies, TV, and people
movie-goat-pp-cli trending all - — Get trending movies
movie-goat-pp-cli trending movies - — Get trending people
movie-goat-pp-cli trending people - — Get trending TV shows
movie-goat-pp-cli trending tv
tv — Search and browse TV shows
- — Get TV shows with episodes airing today
movie-goat-pp-cli tv airing-today - — Get detailed info about a TV show
movie-goat-pp-cli tv get - — Get TV shows currently on the air
movie-goat-pp-cli tv on-the-air - — Get current popular TV shows
movie-goat-pp-cli tv popular - — Search for TV shows by title
movie-goat-pp-cli tv search - — Get the highest rated TV shows
movie-goat-pp-cli tv top-rated
Finding the right command
When you know what you want to do but not which command does it, ask the CLI directly:
bash
movie-goat-pp-cli which "<capability in your own words>"which02--helpRecipes
Tonight, well-rated, on my services
bash
movie-goat-pp-cli tonight --mood drama --max-runtime 130 --providers netflix,max,prime --region US --agent --select "results.title,results.year,results.rating,results.providers"Streaming-filtered shortlist with only the high-gravity fields an agent needs to decide.
Watchlist sweep
bash
movie-goat-pp-cli watchlist list --available --providers netflix,max --region US --agentWeekly check: which saved titles became streamable on services I have.
Rated career deep dive
bash
movie-goat-pp-cli career "Lynne Ramsay" --role director --agent --select "credits.title,credits.year,credits.rating_imdb,credits.rating_rt"Agent-bounded chronological filmography with the cross-source rating columns that matter.
Pick between two finalists
bash
movie-goat-pp-cli versus 27205 87108 --region US --agentAligned compare card for Inception vs. Tenet; ratings, runtime, cast overlap, providers.
Plan a franchise night
bash
movie-goat-pp-cli marathon "Mission: Impossible" --order release --breaks-every 240 --agentOrdered watchlist with total runtime and break suggestions.
Auth Setup
TMDb v3 API key (free, https://www.themoviedb.org/settings/api) is required and goes in — used as a query parameter, not a Bearer header. OMDb key (free, http://www.omdbapi.com/apikey.aspx) is optional and goes in ; without it, and show TMDb-only and gracefully omit the IMDb/RT/Metacritic columns.
TMDB_API_KEYOMDB_API_KEYratingsversusRun to verify setup.
movie-goat-pp-cli doctorAgent Mode
Add to any command. Expands to: .
--agent--json --compact --no-input --no-color --yes-
Pipeable — JSON on stdout, errors on stderr
-
Filterable —keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:
--selectbashmovie-goat-pp-cli movies get mock-value --agent --select id,name,status -
Previewable —shows the request without sending
--dry-run -
Offline-friendly — sync/search commands can use the local SQLite store when available
-
Non-interactive — never prompts, every input is a flag
-
Read-only — do not use this CLI for create, update, delete, publish, comment, upvote, invite, order, send, or other mutating requests
Response envelope
Commands that read from the local store or the API wrap output in a provenance envelope:
json
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}Parse for data and to know whether it's live or local. A human-readable summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.
.results.meta.sourceN results (live)Agent Feedback
When you (or the agent) notice something off about this CLI, record it:
movie-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
movie-goat-pp-cli feedback --stdin < notes.txt
movie-goat-pp-cli feedback list --json --limit 10Entries are stored locally at . They are never POSTed unless is set AND either is passed or . Default behavior is local-only.
~/.movie-goat-pp-cli/feedback.jsonlMOVIE_GOAT_FEEDBACK_ENDPOINT--sendMOVIE_GOAT_FEEDBACK_AUTO_SEND=trueWrite what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.
Output Delivery
Every command accepts . The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:
--deliver <sink>| Sink | Effect |
|---|---|
| Default; write to stdout only |
| Atomically write output to |
| POST the output body to the URL ( |
Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.
Named Profiles
A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.
movie-goat-pp-cli profile save briefing --json
movie-goat-pp-cli --profile briefing movies get mock-value
movie-goat-pp-cli profile list --json
movie-goat-pp-cli profile show briefing
movie-goat-pp-cli profile delete briefing --yesExplicit flags always win over profile values; profile values win over defaults. lists all available profiles under so introspecting agents discover them at runtime.
agent-contextavailable_profilesExit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 2 | Usage error (wrong arguments) |
| 3 | Resource not found |
| 4 | Authentication required |
| 5 | API error (upstream issue) |
| 7 | Rate limited (wait and retry) |
| 10 | Config error |
Argument Parsing
Parse :
$ARGUMENTS- Empty, , or
help→ show--helpoutputmovie-goat-pp-cli --help - Starts with → ends with
install→ MCP installation; otherwise → see Prerequisites abovemcp - Anything else → Direct Use (execute as CLI command with )
--agent
MCP Server Installation
- Install the MCP server:
bash
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/movie-goat/cmd/movie-goat-pp-mcp@latest - Register with Claude Code:
bash
claude mcp add -e TMDB_API_KEY=<your-tmdb-key> -e OMDB_API_KEY=<your-omdb-key> movie-goat-pp-mcp -- movie-goat-pp-mcpis optional, but it enables IMDb, Rotten Tomatoes, and Metacritic enrichment inOMDB_API_KEY,ratings, andversus.career - Verify:
claude mcp list
Direct Use
- Check if installed: If not found, offer to install (see Prerequisites at the top of this skill).
which movie-goat-pp-cli - Match the user query to the best command from the Unique Capabilities and Command Reference above.
- Execute with the flag:
--agentbashmovie-goat-pp-cli <command> [subcommand] [args] --agent - If ambiguous, drill into subcommand help: .
movie-goat-pp-cli <command> --help