vidapp/SKILL.md
Query VidApp analytics, purchases, watch history, user tags, collections, and OpenAPI docs using the VIDAPP_API_KEY env var. Use for mobile subscriber, app-store billing, and mobile engagement investigation.
npx skillsauth add supercorks/agent-skills vidappInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Query VidApp's REST API for app analytics, app-store purchase records, watch history, app content collections, and user tags.
VidApp is the mobile and connected-TV application layer that sits alongside the Vimeo OTT stack for YogaWorks. In practice, it is one of the best available sources for:
This first pass is intentionally read-only. The VidApp API supports writes for users, products, watch history, watchlist, playlists, user tags, and webhooks, but the included scripts only perform GET requests so they are safe for production investigation.
https://api.vidapp.comx-api-key headerhttps://api.vidapp.com/docshttps://api.vidapp.com/openapi.jsonMajor resource groups from the official docs:
analytics for videos, live events, and purchasescontent for app collections and collection itemswatch-history for per-user watch activityuser-tags and user-tags/history for app-side user stateusers, user_products, watchlist, playlists, and webhooks for broader CRM / app operationsRequired:
export VIDAPP_API_KEY='YOUR_API_KEY'
Optional but convenient for app-scoped endpoints:
export VIDAPP_APP_ID='Yogaworks'
If VIDAPP_APP_ID is not set, pass --app-id <value> to app-scoped scripts.
YogaWorks examples:
export VIDAPP_API_KEY='YOUR_API_KEY'
export VIDAPP_APP_ID='Yogaworks'
Smoke test the API key and summarize the spec surface:
node scripts/verify-access.js
node scripts/verify-access.js --app-id Yogaworks
This checks GET /health, loads the OpenAPI spec, and optionally performs a tiny purchases probe for the specified app id.
Use this when the endpoint exists in the docs but there is no dedicated helper yet:
node scripts/get-resource.js --path /health
node scripts/get-resource.js --path /openapi.json
node scripts/get-resource.js --path /analytics/Yogaworks/purchases --query-json '{"page_size":5,"status":"Active"}'
Read videos, live-events, or purchases:
node scripts/read-analytics.js --type videos --app-id Yogaworks --start-date 2026-03-13 --end-date 2026-04-11
node scripts/read-analytics.js --type live-events --app-id Yogaworks --start-date 2026-03-13 --end-date 2026-04-11
node scripts/read-analytics.js --type purchases --app-id Yogaworks --page-size 5
node scripts/read-analytics.js --type purchases --app-id Yogaworks --status Active --page-size 5
node scripts/read-analytics.js --type purchases --app-id Yogaworks --status Trial --platform Apple --page-size 5
Notes:
videos and live-events enforce a date window under 31 days.purchases supports useful filters such as status, platform, store_product_id, and email query.Fetch per-user watch history by VidApp source_user_id:
node scripts/read-watch-history.js --source-user-id USER123
node scripts/read-watch-history.js --source-user-id USER123 --page 2 --per-page 200
This is a strong candidate source when the warehouse is missing mobile engagement history.
Read current user tags or tag history:
node scripts/read-user-tags.js --user-id USER123
node scripts/read-user-tags.js --user-id USER123 --history --limit 100
node scripts/read-user-tags.js --user-id USER123 --history --tag onboarding_state --from-date 2026-01-01 --to-date 2026-04-11
Read a collection and its child items:
node scripts/read-collection.js --app-id Yogaworks --collection-id 12345
https://api.vidapp.com/docshttps://api.vidapp.com/openapi.jsonGET endpoints unless you intentionally want a write.Yogaworks for YogaWorks.videos and live-events reject date ranges longer than 30 days.Page, TotalItems, and TotalPages.source_user_id, not necessarily a Vimeo numeric id, so identity mapping should be verified before ingestion.For YogaWorks mobile subscriber or engagement investigation, this sequence is usually efficient:
node scripts/verify-access.js --app-id Yogaworksnode scripts/read-analytics.js --type purchases --app-id Yogaworks --page-size 5node scripts/read-analytics.js --type purchases --app-id Yogaworks --status Active --page-size 5node scripts/read-analytics.js --type videos --app-id Yogaworks --start-date 2026-03-13 --end-date 2026-04-11node scripts/read-watch-history.js --source-user-id <source_user_id>node scripts/read-user-tags.js --user-id <source_user_id> --history --limit 100tools
Read local coding-agent thread/session history for Codex, Codex CLI, Copilot CLI, Copilot Chat local VS Code threads, and Claude Code. Use when asked to find, inventory, summarize, search, or inspect local agent conversations, session subjects, transcript files, or agent thread storage.
tools
Operate Google Workspace (Drive, Gmail, Calendar, Sheets, Docs, Slides, Chat, Admin, Forms, Tasks…) via the @googleworkspace/cli (`gws`) Rust CLI distributed on npm. Use for any read/write task across Workspace APIs — list/search/upload Drive files (incl. shared drives), send/read mail, manage calendar events, sheets cell ops, etc.
development
Find useful Agent Skills in curated public skill repositories for a user query. Searches official and community skill repos, ranks matching SKILL.md files, and recommends candidates with source trust notes.
tools
Use Browserbase and the browse CLI for browser automation, Fetch/Search API work, authenticated remote browsing, UI QA, debugging, tracing, and Browserbase platform or Functions workflows with multi-account support.