# Send Pathé Movie Skill to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "pathe-movie",
    "name": "Pathé Movie Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/humboldtjs/pathe-movie",
    "canonicalUrl": "https://clawhub.ai/humboldtjs/pathe-movie",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/pathe-movie",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=pathe-movie",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/pathe_movie.py",
      "references/api.md",
      "config/pathe_movie_config.json"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/pathe-movie"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/pathe-movie",
    "downloadUrl": "https://openagent3.xyz/downloads/pathe-movie",
    "agentUrl": "https://openagent3.xyz/skills/pathe-movie/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pathe-movie/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pathe-movie/agent.md"
  }
}
```
## Documentation

### Summary

Always talk to the https://www.pathe.nl/api endpoints with the required browserlike headers (see scripts/pathe_movie.py).
Use the config at config/pathe_movie_config.json to know which cinemas to assume unless the user explicitly names a different cinema.
Rely on scripts/pathe_movie.py for reusable helpers (sanitizing queries, fuzzy matching, best-match selection, and fetching downstream endpoints).
When uncertain, reference references/api.md for payload shape, field names, and expected response structures.

### Search flow

Clean the user’s movie name by removing filler words (the, a, an, of, in, on, for, and).
Call /api/search/full?q=... with the sanitized query.
If multiple entries return, run a fuzzy title match (difflib) to pick the closest title. Keep the slug, poster (use poster.lg), and contentRating fields for later requests.
If a poster is required, return the poster.lg URL (fall back to poster.md/posterPath when necessary).

### Movie detail flow

Given a slug, call /api/show/{slug}?language=nl.
Pull contentRating.description and synopsis (some entries have null; handle gracefully) plus any extras such as genres, directors, actors, and trailers as context.
Poster references now live under posterPath before falling back to the search response’s poster.

### Cinema flow

Query /api/show/{slug}/cinemas?language=nl. Filter the returned cinema keys against approvedCinemas in the config unless the user asks for others.
For each cinema we need more detail about, call /api/cinema/{cinema}?language=nl to fetch the official name, citySlug, and services/alerts metadata.

### Showtimes

Use /api/show/{slug}/showtimes/{cinema}?language=en to get schedules. Responses are dictionaries keyed by date (YYYY-MM-DD). Each value is an array of showtimes; every entry contains at least a time string (plus screen, optional language, format, etc.).
If the array is empty, return a note that there are currently no scheduled showings.

### Testing notes

Ran /api/search/full?q=matrix to confirm the payload includes slug, title, poster, contentRating, and genres.
Called /api/show/the-matrix-41119 to verify contentRating.description, synopsis, and posterPath fields; the synopsis can be null and the posterPath may be missing, so always null-check.
Queried /api/cinema/pathe-zaandam to inspect the returned name, citySlug, and service metadata (there is no shows list, so the cinema object is mostly static info).
Hit /api/show/iron-lung-51335/showtimes/pathe-zaandam to confirm the endpoint returns a list; it was empty for that slug, showing you must handle zero-showtime responses.
Pulled /api/shows?language=nl to understand the bulk structure: dozens of entries with slug, posterPath, contentRating, genres, and next24ShowtimesCount.

### Media delivery notes

Always download poster images (and extra stills) locally before sending them through WhatsApp. Save them under /tmp or another temporary location so the gateway can read the file.
When the user explicitly requests a poster via WhatsApp, attach the local path in the message tool media field (e.g., /tmp/bluey_poster.jpg). The WhatsApp docs describe that outbound media accepts local paths, so this ensures the actual image is delivered instead of a URL.
Keep the text part of the message tool call descriptive (e.g., "Here’s the Bluey poster you asked for"), and rely on the downloaded file for the visual.

Follow these instructions whenever the user asks about search, posters, descriptions, cinema availability, or showtimes so the skill always produces accurate Pathé Netherlands results.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: humboldtjs
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/pathe-movie)
- [Send to Agent page](https://openagent3.xyz/skills/pathe-movie/agent)
- [JSON manifest](https://openagent3.xyz/skills/pathe-movie/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/pathe-movie/agent.md)
- [Download page](https://openagent3.xyz/downloads/pathe-movie)