Skill: video transcript is undiscoverable — it lives in `seo get`, not documented as a transcript source

Open Beginner friendly
#3 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Quiet
Domain
cli, documentation

Research direction

Start by reading the seo row in packages/twentythree-skills/skills/SKILL.md and the guidance in guide.md. Update those two files to document the subtitle, webinar transcription, and seo get check order, the jq extraction path, and the machine-generated draft caveat. Done means a reader can find and retrieve the transcript without re-transcribing audio.

Written by the indexing model from the issue text.

Description

Summary

An agent (Claude Code) using the twentythree skill failed to retrieve a video's transcript because nothing in the skill points to where the transcript actually lives. The skill documents two transcript-ish sources, both of which return empty even when a transcript exists; the real one is in seo get, described only as "SEO metadata management."

What happened

Goal: pull the transcript for a webinar-recording video (the platform manage page clearly shows a "Video Transcript" / "Full transcription"). The agent reasoned "transcript = subtitles or webinar transcription" and checked exactly those:

  • video get <id> -> subtitles_p: false
  • webinar transcription list <webinar-id> -> 0 transcriptions
  • video subtitle list <id> -> []

All empty, so it concluded no transcript existed and started re-transcribing the audio via Whisper (which also failed first pass -- the 52 MB audio exceeds Groq's 25 MB limit). The transcript was available the whole time via:

twentythree seo get --object-id <id> --json | jq '.data.data.seo_data.transcript'

Path: data.data.seo_data.transcript[], each item {text[], timestamp_begin, timestamp_end}, ordered by start time, flagged seo_data.context.transcript_draft_p: true (machine-generated draft). This is exactly what the manage page renders as "Video Transcript."

Why the skill made this hard

  • SKILL.md resource index describes seo as just "SEO metadata management" -- zero hint it embeds the full timestamped transcript.
  • There is no "how to get a transcript" guidance anywhere, so an agent naturally tries subtitle / webinar transcription and stops when both are empty.
  • The three stores (published caption tracks, live STT transcriptions, SEO auto-draft transcript) are independent, and the only one populated for auto-transcribed videos is the SEO one.

Suggested fix (docs only)

In packages/twentythree-skills/skills/:

  1. SKILL.md -- expand the seo row: note it carries the auto-generated timestamped transcript (seo_data.transcript).
  2. guide.md -- add a short "Getting a video's transcript" correctness rule with the check order (subtitle -> webinar transcription -> seo get) and the jq extraction one-liner above, plus the caveat that the SEO transcript is a machine-generated draft (not quote-accurate).

Happy to send a PR with these two edits if useful -- flagging as an issue first.

Dominant language
TypeScript
Stars
3
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.