Skip to content

docs: channel/videos sort + members_only across the plugin's API surface - #12

Merged
therohitdas merged 1 commit into
mainfrom
docs/channel-videos-sort
Sep 21, 2026
Merged

therohitdas merged 1 commit into
mainfrom
docs/channel-videos-sort

Conversation

@therohitdas

Copy link
Copy Markdown
Contributor

Documents the live sort=latest|popular|oldest param and the additive members_only field wherever this plugin enumerates the channel/videos surface.

Do not merge or publish yet — this is for the Lead's gate.

Files

This repo describes the same endpoint in four places, and all four drifted without this:

  • README.md — tool 8, list_channel_videos: sort row + the opt-in table + members_only + per-tab fields.
  • skills/youtube/SKILL.md — a new routing-table row for the sorted case, and a credit-hygiene bullet telling the agent when not to reach for sort.
  • skills/youtube/references/mcp-tools.md — the MCP-shaped parameter table.
  • skills/youtube/references/rest-api.md — the REST-shaped parameter table, the request examples, and the validation-rules table.

The point every file leads with

Omitting sort is not the same as sort=latest:

tab=videos, no sort tab=videos + any sort
Source uploads playlist channel Videos tab
Page size ~100 ~30
playlist_info populated null
Shorts mixed in excluded (use tab=shorts)
Members-only videos excluded included, flagged members_only: true

Different sets, not one list in two orders — and a sorted crawl costs ~3.3x the pages and credits. The SKILL.md bullet is written as a don't for exactly that reason: an agent reading the routing table will otherwise set sort by reflex and triple the user's bill.

Per-tab fields (verified live on @ted / @nasa / @natgeo)

  • tab=streams carries lengthText and publishedTimeText (Streamed 2 years ago; LIVE plus a watching count while live).
  • tab=shorts returns null for both — YouTube's Shorts grid publishes neither.
  • On all channel-tab feeds, channelId / channelTitle / channelHandle / index are null.

Verification

Both the REST shape and the MCP shape were checked against prod, not inferred: GET /api/v2/youtube/channel/videos across {no sort, latest, popular, oldest} x {videos, shorts, streams}, and tools/list on https://transcriptapi.com/mcp, which returns list_channel_videos with sort typed enum: [latest, popular, oldest] | null, default null.

Needs

Version bump: not applied. Docs-only, but skills/youtube/ ships inside the published plugin, so if the Lead republishes to the marketplace/registry off the back of this, the manifest versions want a patch bump first. Flagging rather than guessing the scheme.

Marketing pass: the "~3.3x the credits" line now appears in all four files. Accurate, and deliberately discouraging — the Lead may want softer phrasing in the public README.md while keeping the blunt version in the agent-facing SKILL.md, where the discouragement is the whole point.

All four places this repo enumerates the endpoint now carry it: README tool 8,
the SKILL.md routing table plus credit-hygiene notes, references/mcp-tools.md
and references/rest-api.md.

Each leads with the same framing: existing calls are untouched, and sort=latest
is a different view (the Videos tab, Shorts excluded) rather than a re-ordering
of the uploads feed. Verified empirically on three channels: 0 of the Shorts a
channel publishes appear in any sorted feed, while 43/48 (@ted), 12/40 (@nasa)
and 30/48 (@natgeo) appear in the unsorted uploads feed.

Per-tab field presence recorded honestly: tab=streams carries lengthText and
publishedTimeText, tab=shorts returns null for both, and the channel-tab feeds
null out channelId/channelTitle/channelHandle/index.

Docs only, no version bump.

Co-Authored-By: CRHQ <noreply@crhq.ai>
@therohitdas
therohitdas force-pushed the docs/channel-videos-sort branch from 1c3a696 to b2a1471 Compare September 21, 2026 10:58
@therohitdas
therohitdas merged commit a4a0bf1 into main Sep 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant