Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions .agents/skills/README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,37 @@
# video2ctx agent skills

Four [Agent Skills](https://agentskills.io) for working with YouTube data — directly from the user's machine, visually through FFmpeg, through the hosted HTTP API, or as scheduled monitors. They work in any skills-compatible agent (Claude Code, Codex, Cursor, OpenCode, and others).
Two [Agent Skills](https://agentskills.io) for working with YouTube context locally or through the hosted video2ctx platform. They work in skills-compatible agents such as Claude Code, Codex, Cursor, and OpenCode.

| Skill | Reach for it when | Needs |
| --- | --- | --- |
| `youtube-direct` | You want an ordinary one-off public YouTube search, transcript summary, or extraction directly from the user's machine | Node.js 18.17+ |
| `youtube-watch` | You need to inspect slides, charts, demonstrations, interfaces, on-screen text, or other visual evidence | Node.js 18.17+ and FFmpeg |
| `video2ctx-api` | You need account or usage details, the managed hosted API, caching and credit accounting, or an automatic fallback after direct access fails | `video2ctx` CLI plus browser login or an `aty_` API key |
| `video2ctx-monitoring` | You want the stateful exception: watch a channel, topic, or search for new videos and consume the resulting notifications | `video2ctx` CLI plus browser login or an `aty_` API key |
| `youtube-ctx` | You want personal, one-off public YouTube search, transcripts, metadata, comments, channels, playlists, storyboard inspection, or exact-frame verification on the user's machine | Node.js 18.17+; optional FFmpeg for exact frames |
| `video2ctx-platform` | You need managed YouTube search, transcripts, video or channel metadata, caption tracks, comments, end screens, playlists, account identity, usage and credits, recurring monitors, notifications, or delivery preferences for a production or cloud-backed workflow | A video2ctx account and the public `video2ctx` CLI |

The split follows real boundaries: use `youtube-direct` for ordinary public data and `youtube-watch` when the answer depends on video imagery. Continue through `video2ctx-api` when direct access fails or managed hosting is required. `video2ctx-monitoring` is the deliberate stateful exception.
Each skill is self-contained and can be installed alone. For personal, low-to-moderate usage, start with `youtube-ctx`; its direct and visual branches choose the smallest local workflow and use FFmpeg only for exact frames. Use `video2ctx-platform` for authenticated hosted infrastructure, production applications, recurring work, or fallback when direct local access fails.

## Install

List what is available, then install what you need:
Start the installation wizard and select the skills and agents you want to configure:

```bash
npx skills add devhims/video2ctx
```

List the available skills or install one directly:

```bash
npx skills add devhims/video2ctx --list
```

```bash
npx skills add devhims/video2ctx --skill youtube-direct
npx skills add devhims/video2ctx --skill youtube-ctx
```

```bash
npx skills add devhims/video2ctx --skill youtube-watch
npx skills add devhims/video2ctx --skill video2ctx-platform
```

Install all four:
Install both:

```bash
npx skills add devhims/video2ctx --all
Expand All @@ -37,7 +41,7 @@ Add `-g` to install globally for your user rather than into the current project,

## Authenticate to the hosted service

The two hosted skills use the public `@video2ctx/cli` npm package. Install it once, then authenticate:
Only `video2ctx-platform` uses the public `@video2ctx/cli` npm package. Install it once, then authenticate:

```bash
npm install --global @video2ctx/cli
Expand Down Expand Up @@ -66,4 +70,4 @@ Use of the hosted video2ctx service is additionally governed by its [Terms of Se

## Contributing

These skills are maintained in the [video2ctx repository](https://github.com/devhims/video2ctx). Both direct skills carry their executables; `youtube-watch` additionally uses the machine's FFmpeg installation. The hosted skills use the independently versioned `@video2ctx/cli` package. Repository-internal guidance lives in `reference/agents/platform-internals.md` instead.
These skills are maintained in the [video2ctx repository](https://github.com/devhims/video2ctx). `youtube-ctx` carries its direct and visual executables; storyboard inspection needs no extra dependency, while exact-frame verification optionally uses the machine's FFmpeg installation. `video2ctx-platform` uses the independently versioned `@video2ctx/cli` package. Repository-internal guidance lives in `reference/agents/platform-internals.md` instead.
76 changes: 0 additions & 76 deletions .agents/skills/video2ctx-api/SKILL.md

This file was deleted.

4 changes: 0 additions & 4 deletions .agents/skills/video2ctx-api/agents/openai.yaml

This file was deleted.

69 changes: 0 additions & 69 deletions .agents/skills/video2ctx-monitoring/SKILL.md

This file was deleted.

4 changes: 0 additions & 4 deletions .agents/skills/video2ctx-monitoring/agents/openai.yaml

This file was deleted.

45 changes: 45 additions & 0 deletions .agents/skills/video2ctx-platform/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: video2ctx-platform
description: Managed, hosted YouTube context for production and cloud-backed applications. Use for authenticated search, transcripts, video and channel metadata, caption tracks, comments, end screens, playlists, account identity, usage and credits, recurring monitors, notifications, and delivery preferences. Also use as a fallback when direct local access fails. Requires a video2ctx account and its public CLI.
license: Apache-2.0
---

# video2ctx Platform

Use the installed `video2ctx` CLI for authenticated requests to `https://api.video2ctx.dev`.

## Route the request

- For managed YouTube data, account identity, usage or credit details, hosted caching, production application workflows, or fallback after a `youtube-ctx` direct operation fails, read [references/hosted-data.md](references/hosted-data.md) and follow it.
- For recurring channel, topic, or search checks; monitor creation or changes; notifications; or delivery preferences, read [references/monitoring.md](references/monitoring.md) and follow it.
- For a combined request, read both references, but keep stateless reads separate from monitor and notification mutations.

## Prepare the CLI and identity

Run `video2ctx --version`. When unavailable, explain that this skill requires the public `@video2ctx/cli` npm package and ask the user to approve its installation. After approval, run:

```bash
npm install --global @video2ctx/cli
```

Then run one identity check:

```bash
video2ctx whoami --json
```

If it reports `AUTHENTICATION_REQUIRED`, run `video2ctx auth login`, let the user approve the displayed device code in their browser, and retry `video2ctx whoami --json`. Use `--no-browser` only when opening a browser is unavailable. Do not run `auth status` before `whoami`; both resolve the same remote account.

The browser flow stores a revocable session in private local configuration. The CLI also accepts `VIDEO2CTX_API_KEY` as a non-interactive fallback and gives it precedence over the stored session. The user can create a personal key at `https://video2ctx.dev/dashboard/developer`; never ask them to paste a credential into the conversation or expose one in logs, screenshots, or source control.

## Preserve the platform contract

Run every operation through the installed CLI, including generic requests in the form `video2ctx api <METHOD> <PATH> --include-meta`. Treat read requests as read-only; perform a mutation only when the user requested that state change and target the exact account-owned resource.

Inspect partial flags, warnings, continuations, settled credit metadata, and request IDs before presenting a result as complete. On failure, preserve the status, code, message, request ID, retryability, and `Retry-After` details returned by the CLI. Retry only safe reads or explicitly idempotent operations classified as transient, with a bounded attempt count.

Read `https://docs.video2ctx.dev/api/authentication.md` or `https://docs.video2ctx.dev/api/conventions.md` only when the task raises an unresolved authentication or response question. Read the branch-specific guide named in its reference next, and consult `https://api.video2ctx.dev/openapi.json` only for remaining contract uncertainty or when the server rejects a documented call.

## Done when

The installed CLI reports an authenticated account; only the relevant branch references were loaded; every operation stayed within the user's requested scope; and the selected branch's completion criteria are satisfied with response and error metadata preserved.
4 changes: 4 additions & 0 deletions .agents/skills/video2ctx-platform/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
interface:
display_name: "video2ctx Platform"
short_description: "Managed data, account access, and monitoring"
default_prompt: "Use $video2ctx-platform for this managed video2ctx data, account, or monitoring request while preserving platform metadata."
Loading
Loading