Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add shennawardana23/skillme --skill channel-manager-ota-integrationgit clone --depth 1 https://github.com/shennawardana23/skillmeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shennawardana23/skillme/channel-manager-ota-integration)<a href="https://agentmods.dev/skills/shennawardana23/skillme/channel-manager-ota-integration"><img src="https://agentmods.dev/badge/skills/shennawardana23/skillme/channel-manager-ota-integration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shennawardana23/skillme/channel-manager-ota-integration"><img src="https://agentmods.dev/badge/skills/shennawardana23/skillme/channel-manager-ota-integration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00065 | $0.01206 |
| Opus 5 | $0.00032 | $0.00603 |
| Sonnet 5 | $0.00013 | $0.00241 |
| Haiku 4.5 | $0.00006 | $0.00121 |
Grade A, and why
channel-manager-ota-integration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Channel Manager / OTA Integration
A channel manager syncs rate and availability from a PMS out to online travel agencies (Booking.com, Agoda, Expedia, and similar) and pulls reservations back in. The defining constraint this skill exists for: that sync is inherently eventually-consistent, not transactional — code that assumes the OTA's view and the PMS's view are always identical will misdiagnose a normal, transient state as a bug, or worse, will miss a genuine desync that's silently overselling rooms.
Treat sync lag as normal, not an error
A push (PMS → OTA: updated rate or availability) and a pull (OTA → PMS: new reservation, modification, cancellation) each have their own latency and failure surface. "OTA shows sold out while the PMS shows available" or the reverse is a normal, expected transient state during the sync window — code and alerting should distinguish "still catching up" from "actually desynced," rather than treating every observed mismatch as an incident.
A rejected push is a silent oversell risk
If a rate/availability push to an OTA is rejected (malformed payload, OTA-side validation failure, a transient API error) and that rejection isn't retried and surfaced, the OTA continues selling against its last successfully-synced state while the PMS believes the update already took effect. This produces silent overselling from the OTA side with no PMS-side signal that anything is wrong — a push must be treated as failed-until-confirmed, with retry and alerting on sustained failure, not fire-and-forget.
Rate-plan mapping isn't 1:1 across OTAs
Each OTA has its own rate-plan model and its own mapping conventions (cancellation policy taxonomy, meal-plan inclusion codes, promotion eligibility rules) that don't automatically correspond to the PMS's internal rate plans. Assuming a PMS rate plan maps cleanly to "the equivalent" OTA rate plan without an explicit, maintained mapping table per OTA produces either rejected pushes or, worse, a booking that arrives with terms the PMS doesn't actually have a matching internal rate plan for.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 112 lines · 65 tokens per session scan A 9d3e2dbdce60
channel-manager-ota-integration is a skill published in the GitHub repository shennawardana23/skillme (2 stars, last pushed 15d ago), licensed Apache-2.0. It adds 65 tokens to every session and 1,206 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
cloudbase-wechat-integration
CloudBase WeChat integration guide for Mini Program WeChat Pay, Official Account JSAPI Pay, Native QR-code Pay, Official Account OAuth, openid handling, payment callbacks, and CloudBase Integration Center generated functions. This skill should be used when users ask to add, debug, or extend WeChat payment or…
commerce-app-business-config
Manage custom business configuration in an Adobe Commerce app. Use when the user wants to add, modify, or remove merchant-configurable settings (config fields, admin config, store configuration) exposed through Commerce Admin. Creates typed config fields (text, password, email, url, tel, boolean, list) in…
temporal-developer
Develop, debug, and manage Temporal applications across Python, TypeScript, Go, Java, .NET, Ruby, and Rust. Use when the user is building workflows, activities, or workers with a Temporal SDK, debugging issues like non-determinism errors, stuck workflows, or activity retries, using Temporal CLI, Temporal Server, or…
doku-payment-gateway
Expert guide for integrating DOKU Payment Gateway (Jokul API v2). Covers HMAC-SHA256 header signature calculation, Checkout & Direct APIs (VA, QRIS, E-Wallet, Credit Card), webhook notification verification, and sandbox/production setup / Panduan ahli integrasi DOKU Payment Gateway.
wcs-subscription-hooks
Curated WooCommerce Subscriptions hook map for subscription creation, status/date transitions, renewal orders, scheduled payments, retries, gateway events, switching, gifting, related orders, APFS plans, REST, and account/admin UI. Use when choosing where to hook around WCSubscription, wcscreatesubscription…
wcs-renewal-scheduler
Safely integrate with WooCommerce Subscriptions renewal scheduling, Action Scheduler, renewal-order creation, gateway charge dispatch, guarded process-renewal-now commands, and retries. Use for WCSubscription::updatedates, wcscreaterenewalorder, woocommercescheduledsubscriptionpayment, gateway-specific scheduled…