Pack Availability Guard
Before telling the user to run a skill from another project-local pack, check .agents/project.json.enabled_packs. If the target pack is not enabled, recommend npx skillpacks install <pack> instead of the target skill. Only the currently running skill and skills verified available in the active session or project-local install state are directly recommendable. For unavailable pack skills, recommend npx skillpacks install <pack-or-skill>; for unavailable base skills, recommend npx skillpacks init before the skill.
YouTube Video Prelaunch Audit
Invoke as $youtube-video-prelaunch-audit.
Report-First Approval Gate
Default to scope-first approval: before synthesized research, inspect only enough repository, user, and source context to propose research scope, source plan, assumptions, output paths, and approval questions in a review alignment page plus a concise conversation summary.
Do not perform synthesized research, rank candidates, make recommendations, or write working packets or canonical deliverables until final compiled YAML approves the research scope. Minimal pre-approval discovery may identify available files, source categories, and open questions; label it as scope evidence, not findings.
After approved research-scope YAML, perform the research and write only the non-canonical working packet defined in the staged workflow. Then update the review alignment page with findings and stop again for feedback-only YAML or final compiled YAML artifact approval before creating or updating canonical research, spec, or task files.
Do not include Recommended next skill, Recommended next command, or downstream routing language. The approval request itself is the next action. Only emit next-skill routing after the approved artifact has been written or updated.
Staged Research Workflow
Use this staged workflow for synthesized research or report outputs that would create or update canonical research, spec, or task files.
- Stage 1 - Scope discovery and approval. Inspect only enough repository, user, and source context to propose research scope, source plan, assumptions, output paths, and approval questions. Build the
review HTML alignment page before synthesized research. The page must render the proposed scope, available source categories, known context, assumptions/confidence, proposed working-packet and canonical output paths, and research-scope approval gates. Stop for final compiled YAML approval of the research scope. Do not perform synthesized research, rank candidates, make recommendations, or write working packets, canonical research, spec, or task files in Stage 1.
- Stage 2 - Research and artifact review. Only after approved research-scope YAML with no unresolved
needs-clarification, unresolved down feedback, or other unresolved negative feedback, perform the synthesized research, run required source/code checks, and write only a non-canonical working packet: flat mode uses research/_working/preliminary-<skill>-research.md; product-path mode uses research/{slug}/_working/preliminary-<skill>-research.md. Replace <skill> with this skill's name value. Raw evidence or search logs may remain as supporting evidence where this skill already requires them, but synthesized deliverables stay in the working packet. Update the review HTML alignment page so it renders the complete working-packet substance as structured HTML review UI: purpose-built sections, tables, matrices, gates, cards, and tier-appropriate charts or diagrams that preserve every packet section, finding, caveat, and decision detail without summary loss. Raw Markdown packet text may appear only as a supplemental source view after the rendered review UI; do not make a Full Preliminary Packet or Full Working Packet raw Markdown dump, giant <pre><code> block, link-only view, or source-only view the primary review surface. Include the evidence matrix, assumptions/confidence register, source coverage gaps, proposed canonical file changes, and artifact approval gates. Stop for either feedback-only YAML or final compiled YAML. Feedback-only YAML revises the working packet and page, then remains in Stage 2.
- Stage 3 - Finalize approved artifacts. Consume final compiled YAML for artifact approval only when it has no unresolved
needs-clarification, unresolved down feedback, or other unresolved negative feedback. Apply approved edits first, archive the working packet to docs/history/archive/YYYY-MM-DD/HHMMSS/<original-working-path>, remove the active working packet, write the approved canonical artifacts to the unchanged output paths below, and convert the alignment page to confirmed with the approval record preserved.
Canonical output paths remain unchanged. Search logs and other supporting evidence remain allowed only where this skill's output contract already requires them.
Evidence And Feedback Handling
Treat user feedback as input to evaluate, not as automatic ground truth.
- For factual, evidentiary, technical, or source-backed claims: verify against available evidence. If the user appears to misunderstand the evidence or states something factually incorrect, push back clearly and cite the evidence. Do not rewrite findings merely to agree.
- For taste, brand, positioning preference, risk appetite, prioritization, or other subjective judgment calls: weigh user feedback heavily and adapt the recommendation unless it conflicts with verified evidence.
- When feedback mixes facts and preference, separate them explicitly: correct the factual part, then incorporate the preference where it is a legitimate judgment call.
- When uncertain, say what is known, what is inferred, and what would change the conclusion.
Inputs
- Required: one unlisted or scheduled YouTube video URL or raw video ID.
- Optional
--script <path>: local script, outline, shot list, or talking-points file.
- Optional
--thumbnail <path-or-url>: thumbnail draft or current thumbnail URL.
- Optional
--launch-date YYYY-MM-DD: planned public release date.
- Optional
--social <platforms>: comma-separated social platforms to include in cross-sharing recommendations.
- Optional
--compare-channel <slug>: reuse existing channel evidence under research/youtube/data/<slug>/.
- Optional owner-provided notes: draft title, description, chapters, pinned comment, target audience, sponsor/disclosure requirements, launch goals, and existing social copy.
Process
1. Resolve Target and Access
Extract the video ID from a normal watch URL, Shorts URL, youtu.be URL, embed URL, or raw 11-character ID.
Derive known URL forms when possible: original URL, canonical watch URL, Shorts URL, embed URL, and youtu.be URL.
Before asking for channel, status, working-title, report-history, or prior-artifact context, check research/youtube/data/video-url-index.jsonl and research/youtube/data/<video-id>/prelaunch/video-url-record.json. Use existing values unless they are missing, stale, or conflicting.
Require yt-dlp for public or unlisted metadata:
command -v yt-dlp
Fetch metadata with yt-dlp --dump-json "VIDEO_URL" when accessible. If the video requires login, private account access, or YouTube Studio access, stop and ask for a public/unlisted link, local video file, transcript, or manually exported metadata instead.
Check availability, live_status, upload date, scheduled time, and visibility cues. If the video is already public and the user asks why it performed a certain way, route to $youtube-video-audit instead.
Do not treat views, likes, or comments on an unlisted pre-release video as performance evidence; internal review traffic can distort them.
2. Maintain Video URL Record
Create or update these persistent URL ledger artifacts as soon as the video ID and original URL are known, then revise them after metadata, evidence, and report paths are known:
research/youtube/data/<video-id>/prelaunch/video-url-record.json
research/youtube/data/video-url-index.jsonl
The per-video record and aggregate index line must include:
video_id
original_url
canonical_watch_url using https://www.youtube.com/watch?v=<video-id>
url_forms: known or derivable watch, shorts, embed, and youtu_be forms
channel: known id, url, and name
status: visibility, availability, live status, scheduled/public state, and launch date when known
working_title
selected_or_preferred_launch_title when known
report_path
evidence_paths
captured_at
source_skill: youtube-video-prelaunch-audit
Use null for unknown optional values instead of inventing them. Do not store credentials, cookies, private YouTube Studio-only fields, or unshared account details. For the JSONL index, update an existing line for the same video_id when practical; otherwise append a fresh valid JSON object for the capture. On future runs, read the index and per-video record before asking the user for context already captured, and ask only for missing or conflicting fields.
3. Persist Raw Evidence
Create:
research/youtube/data/<video-id>/prelaunch/
Persist available evidence before analysis:
metadata-YYYY-MM-DD.json: raw yt-dlp --dump-json "VIDEO_URL" output.
transcript/<video-id>.json: raw transcript JSON when available.
transcript/transcript-summary.json: transcript text or failure reason.
draft-inputs/: copies or path references for script, outline, thumbnail, draft description, chapters, and social copy when the user supplies them.
media-review-notes-YYYY-MM-DD.md: manual or tool-assisted media inspection notes when video, frame, audio, or screenshot review was possible.
Record evidence gaps explicitly. Missing transcript, thumbnail, frame review, audio review, current description, launch date, sponsor requirements, or target platforms are not failures, but they constrain confidence.
4. Inspect Content and Polish
Use the deepest available evidence:
- If transcript evidence exists, inspect the first 30-60 seconds, section transitions, examples, claims, CTA, and outro.
- If media inspection is available through a local file, accessible unlisted playback, screenshots, frame samples, or audio notes, review visual clarity, sound quality, editing continuity, on-screen text, pacing, dead air, b-roll, captions, end screen timing, and brand polish.
- If only metadata and transcript are available, limit edit/polish judgments to transcript-supported structure, hook, pacing inference, and missing media-evidence gaps.
Analyze:
- Launch-readiness verdict: publish now, publish after metadata polish, hold for targeted edit, or hold for significant edit.
- Hook and expectation match: whether the first minute pays off the title/thumbnail promise quickly.
- Structure and pacing: dead zones, redundant setup, missing chapter breaks, abrupt transitions, weak examples, or unclear payoff.
- Production polish: audio, visuals, captions, overlays, b-roll, continuity, end screen, cards, disclosure, and accessibility when evidence exists.
- Risk and trust: unsupported claims, stale references, missing source links, sponsor/disclosure gaps, privacy/confidentiality concerns, or accidental internal-only material.
5. Build the Launch Package
Audit and draft practical launch assets:
- Test And Compare Launch Set: exactly 3 simultaneous variants for YouTube Studio Test and Compare. Each variant must pair one upload-ready full title with one thumbnail concept or supplied-asset reference, plus a packaging hypothesis, intended audience signal, and what a win would imply. Frame them as a set to upload together, not as sequential manual swaps.
- Title: keep each title inside YouTube Studio's current title limit, using 100 characters as the upload-ready ceiling unless Studio shows a different limit. Avoid unsupported claims, bait-and-switch promises, and vague curiosity; preserve search/topic clarity and expectation match.
- Thumbnail: evaluate focal clarity, text density, promise match, visual differentiation, and required human review when no image evidence is available. If user-provided thumbnail assets exist, map them into the three variants; otherwise provide concrete thumbnail concepts or references only. Do not generate or claim final thumbnail files unless the user explicitly supplies or requests image assets.
- Test setup guidance: explain how to get the three variants online in YouTube Studio on desktop via the video's Details / Test and Compare flow, keeping variant labels and title/thumbnail pairing aligned with the report. If the account or video is ineligible for title/thumbnail combination testing, state the fallback: apply the preferred title, test the three thumbnail concepts/assets where eligible, and preserve the other title variants for manual follow-up.
- Description: first two lines, CTA hierarchy, link stack, credits, disclosures, hashtags, and pinned-comment fit.
- Chapters: proposed timestamped chapters from transcript or current metadata; if exact timestamps are unavailable, provide section labels and note the timestamp gap.
- Publish settings: scheduled time, premiere fit, playlist, cards, end screen, comments, captions, monetization, age/sponsor/disclosure checks, and whether to keep as unlisted for another review pass.
- Cross-sharing: platform-specific copy angles, cutdown/clip suggestions, launch-day sequence, first-24h comment plan, community post, newsletter/blog tie-in, and ethical limitations for Reddit/Hacker News or niche communities.
Do not invent links, sponsors, timestamp precision, platform accounts, or channel policies. Use placeholders where user-owned assets are missing.
6. Write Report
Create research/youtube/, the raw evidence directory, and the URL ledger paths if they do not exist.
Save the approved canonical artifact to:
research/youtube/prelaunch-audit-<video-id>-YYYY-MM-DD.md
Use this structure:
# YouTube Video Prelaunch Audit - [Working Title]
> Video: [URL]
> Video ID: [id]
> Channel: [channel]
> Visibility/status: unlisted / scheduled / unknown
> Planned launch: YYYY-MM-DD or not provided
> Date captured: YYYY-MM-DD
> URL record: research/youtube/data/<video-id>/prelaunch/video-url-record.json
> URL index: research/youtube/data/video-url-index.jsonl
> Public/unlisted metadata: research/youtube/data/<video-id>/prelaunch/metadata-YYYY-MM-DD.json
> Transcript: [path or unavailable reason]
> Media inspection: [path/notes or unavailable reason]
## Video URL Record
| Field | Value |
|---|---|
| Record path | research/youtube/data/<video-id>/prelaunch/video-url-record.json |
| Index path | research/youtube/data/video-url-index.jsonl |
| Original URL | ... |
| Canonical watch URL | https://www.youtube.com/watch?v=<video-id> |
| Known alternate forms | Shorts: ... / embed: ... / youtu.be: ... |
| Channel/status/title fields updated | ... |
## Evidence Coverage
| Evidence | Status | Path or gap |
|---|---|---|
| Metadata | Available / Missing | ... |
| Transcript | Available / Missing | ... |
| Media inspection | Available / Missing | ... |
| Thumbnail | Available / Missing | ... |
| Draft title/description/chapters | Available / Missing | ... |
| Launch date/social platforms | Available / Missing | ... |
## Launch Readiness Verdict
- **Verdict**: Publish now / metadata polish / targeted edit / significant edit
- **Confidence**: High / Medium / Low
- **Blocking issues**: ...
- **Minimum viable launch fix**: ...
## Edit And Polish Notes
- **Hook**: ...
- **Structure/pacing**: ...
- **Production polish**: ...
- **Trust/risk/accessibility**: ...
- **Keep**: ...
- **Change before launch**: ...
## Test And Compare Launch Set
Provide exactly three simultaneous variants for YouTube Studio Test and Compare:
| Variant | Full title | Thumbnail concept or supplied-asset reference | Packaging hypothesis | Intended audience signal | If this wins, it implies |
|---|---|---|---|---|---|
| A | ... | ... | ... | ... | ... |
| B | ... | ... | ... | ... | ... |
| C | ... | ... | ... | ... | ... |
### Studio Setup Guidance
- Upload or enter variants A, B, and C together in YouTube Studio Test and Compare where the video/account is eligible.
- Keep title and thumbnail pair labels aligned with the table above.
- If title/thumbnail combination testing is unavailable, use the preferred title, test the three thumbnail variants where eligible, and preserve the other titles as follow-up options.
- Do not claim the variants have been uploaded unless the user confirms YouTube Studio setup.
## Description And Pinned Comment
[Upload-ready description guidance, CTA hierarchy, links/disclosures, pinned comment.]
## Chapters
[Timestamped chapters or section labels with timestamp gaps.]
## Publish Settings Checklist
| Setting | Recommendation | Evidence / reason |
|---|---|---|
| Schedule | ... | ... |
| Playlist | ... | ... |
| End screen/cards | ... | ... |
| Captions | ... | ... |
| Comments/pinned comment | ... | ... |
| Disclosures/age/monetization | ... | ... |
## Cross-Sharing Launch Plan
| Channel | Timing | Copy angle | Asset needed | Notes |
|---|---|---|---|---|
| ... | ... | ... | ... | ... |
## Decision Checklist
- [ ] Blocking edits resolved or accepted
- [ ] Three Test and Compare variants ready for Studio setup
- [ ] Preferred fallback title/thumbnail selected if Test and Compare is unavailable
- [ ] Description/pinned comment ready
- [ ] Chapters ready
- [ ] Launch schedule selected
- [ ] Social assets prepared
## Follow-Up Work
[Route only after artifact approval and handoff checks.]
7. Summarize In Thread
After saving an approved report, output the verdict, top blocking edit if any, highest-leverage metadata fix, the three Test and Compare title/thumbnail pairs, launch timing recommendation, cross-sharing headline, evidence gaps, report path, URL record path, URL index path, and raw data paths.
Constraints
- Do not bypass login walls, bot protections, access controls, or YouTube Studio UI restrictions.
- Do not invent transcript quotes, timestamps, video visuals, audio quality, thumbnail details, links, sponsor/disclosure details, or social accounts.
- Do not claim YouTube Studio or API automation; provide upload-ready setup guidance only unless the user separately authorizes and enables an automation path.
- Do not generate, name, or claim final thumbnail image files unless user-provided assets exist or the user explicitly requests image generation.
- Do not use unlisted pre-release view/like/comment counts as audience-performance evidence.
- Separate current evidence, inference, and subjective polish judgment.
- Keep launch recommendations practical for the creator's visible production capacity and available time before launch.
- Route post-publication performance questions to
$youtube-video-audit.
- Route broad channel strategy, portfolio, cadence, or metrics questions to the relevant youtube-ops or creator-foundation skill after the approved artifact is shipped.
Approved Artifact Handoff
After an approved synthesized write, explicit write/update mode, or any direct artifact mutation:
- List every created or updated synthesized artifact path in the final response.
- Include the URL record path and the three Test and Compare title/thumbnail pairs in the final response after the approved artifact write.
- State the verification performed, such as readback, schema/check command, or why no executable verification applies for a Markdown-only strategy artifact.
- Check and report the relevant git status for intended artifacts when the project is a git repository. If intended artifacts are modified or untracked, make the next action shipping, committing, or an explicit dirty-artifact handoff before recommending downstream strategy work.
- Do not imply the research workflow is complete while approved artifacts remain untracked or uncommitted unless the user explicitly asked not to ship.
- If stopping for approval before writing, the approval request remains the next action; do not include downstream routing.
Intent-Aware Routing
Before applying the default ## Next-Skill Routing sequence, classify the user's immediate intent and route to the missing action that best serves that intent:
- Strategy refresh: recommend the missing or stale positioning, programming, portfolio, metrics, or product-media artifact.
- Recording prep: recommend the missing series spec, script, build proof, walkthrough guide, or validation artifact needed before recording.
- Upload prep: recommend packaging, title/thumbnail, description, chapters, or final metadata work before broader strategy work.
- Performance review: recommend metrics, cadence, portfolio, peer benchmark, or owner-analytics export work before new content planning.
- Owner analytics or private/manual platform evidence: route to an explicit manual/guide handoff instead of inventing unavailable metrics.
- Dirty intended artifacts: route to shipping/commit/handoff first, not another creator strategy skill.
Use the default next-skill sequence only when no stronger user intent, missing artifact, manual blocker, or dirty-artifact handoff applies.
Next-Step Routing
After writing the approved artifact and completing the artifact handoff checks, recommend the next contextual creator-media skill in the final response as Recommended next skill: <command>.
Default recommendation: $youtube-description-optimizer when the main remaining work is description, chapters, pinned comment, metadata, or launch copy; $youtube-title-thumbnail-audit when title/thumbnail packaging needs a deeper channel or peer comparison; $youtube-format-research from the remotion pack when the video should be re-edited for pacing, format, visual rhythm, or production grammar; otherwise $youtube-video-audit after the video is public and enough time has passed to evaluate performance.
Before recommending $youtube-format-research, verify the remotion pack is enabled in .agents/project.json.enabled_packs. If it is missing, recommend npx skillpacks install remotion first.
Alignment Page
Follow the shared alignment-page convention via the packaged convention resolver; output path is alignment/youtube-video-prelaunch-audit-{topic}.html.
Default Shipping Contract
Follow the shared shipping contract convention in CLAUDE.md.
1---2name: youtube-video-prelaunch-audit-63description: Audit unlisted or pre-release YouTube videos before public launch for edit readiness, polish, YouTube Test and Compare title/thumbnail launch sets, description, chapters, publish settings, launch timing, URL record capture, and social cross-sharing strategy4---5
6## Pack Availability Guard
7
8Before telling the user to run a skill from another project-local pack, check `.agents/project.json.enabled_packs`. If the target pack is not enabled, recommend `npx skillpacks install <pack>` instead of the target skill. Only the currently running skill and skills verified available in the active session or project-local install state are directly recommendable. For unavailable pack skills, recommend `npx skillpacks install <pack-or-skill>`; for unavailable base skills, recommend `npx skillpacks init` before the skill.
9
10# YouTube Video Prelaunch Audit
11
12Invoke as `$youtube-video-prelaunch-audit`.
13
14## Report-First Approval Gate
15
16Default to scope-first approval: before synthesized research, inspect only enough repository, user, and source context to propose research scope, source plan, assumptions, output paths, and approval questions in a `review` alignment page plus a concise conversation summary.
17
18Do not perform synthesized research, rank candidates, make recommendations, or write working packets or canonical deliverables until final compiled YAML approves the research scope. Minimal pre-approval discovery may identify available files, source categories, and open questions; label it as scope evidence, not findings.
19
20After approved research-scope YAML, perform the research and write only the non-canonical working packet defined in the staged workflow. Then update the `review` alignment page with findings and stop again for feedback-only YAML or final compiled YAML artifact approval before creating or updating canonical research, spec, or task files.
21
22Do not include `Recommended next skill`, `Recommended next command`, or downstream routing language. The approval request itself is the next action. Only emit next-skill routing after the approved artifact has been written or updated.
23
24## Staged Research Workflow
25
26Use this staged workflow for synthesized research or report outputs that would create or update canonical research, spec, or task files.
27
281. **Stage 1 - Scope discovery and approval.** Inspect only enough repository, user, and source context to propose research scope, source plan, assumptions, output paths, and approval questions. Build the `review` HTML alignment page before synthesized research. The page must render the proposed scope, available source categories, known context, assumptions/confidence, proposed working-packet and canonical output paths, and research-scope approval gates. Stop for final compiled YAML approval of the research scope. Do not perform synthesized research, rank candidates, make recommendations, or write working packets, canonical research, spec, or task files in Stage 1.
292. **Stage 2 - Research and artifact review.** Only after approved research-scope YAML with no unresolved `needs-clarification`, unresolved `down` feedback, or other unresolved negative feedback, perform the synthesized research, run required source/code checks, and write only a non-canonical working packet: flat mode uses `research/_working/preliminary-<skill>-research.md`; product-path mode uses `research/{slug}/_working/preliminary-<skill>-research.md`. Replace `<skill>` with this skill's `name` value. Raw evidence or search logs may remain as supporting evidence where this skill already requires them, but synthesized deliverables stay in the working packet. Update the `review` HTML alignment page so it renders the complete working-packet substance as structured HTML review UI: purpose-built sections, tables, matrices, gates, cards, and tier-appropriate charts or diagrams that preserve every packet section, finding, caveat, and decision detail without summary loss. Raw Markdown packet text may appear only as a supplemental source view after the rendered review UI; do not make a `Full Preliminary Packet` or `Full Working Packet` raw Markdown dump, giant `<pre><code>` block, link-only view, or source-only view the primary review surface. Include the evidence matrix, assumptions/confidence register, source coverage gaps, proposed canonical file changes, and artifact approval gates. Stop for either feedback-only YAML or final compiled YAML. Feedback-only YAML revises the working packet and page, then remains in Stage 2.
303. **Stage 3 - Finalize approved artifacts.** Consume final compiled YAML for artifact approval only when it has no unresolved `needs-clarification`, unresolved `down` feedback, or other unresolved negative feedback. Apply approved edits first, archive the working packet to `docs/history/archive/YYYY-MM-DD/HHMMSS/<original-working-path>`, remove the active working packet, write the approved canonical artifacts to the unchanged output paths below, and convert the alignment page to `confirmed` with the approval record preserved.
31
32Canonical output paths remain unchanged. Search logs and other supporting evidence remain allowed only where this skill's output contract already requires them.
33
34## Evidence And Feedback Handling
35
36Treat user feedback as input to evaluate, not as automatic ground truth.
37
38- For factual, evidentiary, technical, or source-backed claims: verify against available evidence. If the user appears to misunderstand the evidence or states something factually incorrect, push back clearly and cite the evidence. Do not rewrite findings merely to agree.
39- For taste, brand, positioning preference, risk appetite, prioritization, or other subjective judgment calls: weigh user feedback heavily and adapt the recommendation unless it conflicts with verified evidence.
40- When feedback mixes facts and preference, separate them explicitly: correct the factual part, then incorporate the preference where it is a legitimate judgment call.
41- When uncertain, say what is known, what is inferred, and what would change the conclusion.
42
43## Inputs
44
45- Required: one unlisted or scheduled YouTube video URL or raw video ID.
46- Optional `--script <path>`: local script, outline, shot list, or talking-points file.
47- Optional `--thumbnail <path-or-url>`: thumbnail draft or current thumbnail URL.
48- Optional `--launch-date YYYY-MM-DD`: planned public release date.
49- Optional `--social <platforms>`: comma-separated social platforms to include in cross-sharing recommendations.
50- Optional `--compare-channel <slug>`: reuse existing channel evidence under `research/youtube/data/<slug>/`.
51- Optional owner-provided notes: draft title, description, chapters, pinned comment, target audience, sponsor/disclosure requirements, launch goals, and existing social copy.
52
53## Process
54
55### 1. Resolve Target and Access
56
571. Extract the video ID from a normal watch URL, Shorts URL, youtu.be URL, embed URL, or raw 11-character ID.
582. Derive known URL forms when possible: original URL, canonical watch URL, Shorts URL, embed URL, and youtu.be URL.
593. Before asking for channel, status, working-title, report-history, or prior-artifact context, check `research/youtube/data/video-url-index.jsonl` and `research/youtube/data/<video-id>/prelaunch/video-url-record.json`. Use existing values unless they are missing, stale, or conflicting.
604. Require `yt-dlp` for public or unlisted metadata:
61
62 ```bash
63 command -v yt-dlp
64 ```
65
665. Fetch metadata with `yt-dlp --dump-json "VIDEO_URL"` when accessible. If the video requires login, private account access, or YouTube Studio access, stop and ask for a public/unlisted link, local video file, transcript, or manually exported metadata instead.
676. Check `availability`, `live_status`, upload date, scheduled time, and visibility cues. If the video is already public and the user asks why it performed a certain way, route to `$youtube-video-audit` instead.
687. Do not treat views, likes, or comments on an unlisted pre-release video as performance evidence; internal review traffic can distort them.
69
70### 2. Maintain Video URL Record
71
72Create or update these persistent URL ledger artifacts as soon as the video ID and original URL are known, then revise them after metadata, evidence, and report paths are known:
73
74```text
75research/youtube/data/<video-id>/prelaunch/video-url-record.json
76research/youtube/data/video-url-index.jsonl
77```
78
79The per-video record and aggregate index line must include:
80
81- `video_id`
82- `original_url`
83- `canonical_watch_url` using `https://www.youtube.com/watch?v=<video-id>`
84- `url_forms`: known or derivable `watch`, `shorts`, `embed`, and `youtu_be` forms
85- `channel`: known `id`, `url`, and `name`
86- `status`: visibility, availability, live status, scheduled/public state, and launch date when known
87- `working_title`
88- `selected_or_preferred_launch_title` when known
89- `report_path`
90- `evidence_paths`
91- `captured_at`
92- `source_skill`: `youtube-video-prelaunch-audit`
93
94Use `null` for unknown optional values instead of inventing them. Do not store credentials, cookies, private YouTube Studio-only fields, or unshared account details. For the JSONL index, update an existing line for the same `video_id` when practical; otherwise append a fresh valid JSON object for the capture. On future runs, read the index and per-video record before asking the user for context already captured, and ask only for missing or conflicting fields.
95
96### 3. Persist Raw Evidence
97
98Create:
99
100```text
101research/youtube/data/<video-id>/prelaunch/
102```
103
104Persist available evidence before analysis:
105
106- `metadata-YYYY-MM-DD.json`: raw `yt-dlp --dump-json "VIDEO_URL"` output.
107- `transcript/<video-id>.json`: raw transcript JSON when available.
108- `transcript/transcript-summary.json`: transcript text or failure reason.
109- `draft-inputs/`: copies or path references for script, outline, thumbnail, draft description, chapters, and social copy when the user supplies them.
110- `media-review-notes-YYYY-MM-DD.md`: manual or tool-assisted media inspection notes when video, frame, audio, or screenshot review was possible.
111
112Record evidence gaps explicitly. Missing transcript, thumbnail, frame review, audio review, current description, launch date, sponsor requirements, or target platforms are not failures, but they constrain confidence.
113
114### 4. Inspect Content and Polish
115
116Use the deepest available evidence:
117
118- If transcript evidence exists, inspect the first 30-60 seconds, section transitions, examples, claims, CTA, and outro.
119- If media inspection is available through a local file, accessible unlisted playback, screenshots, frame samples, or audio notes, review visual clarity, sound quality, editing continuity, on-screen text, pacing, dead air, b-roll, captions, end screen timing, and brand polish.
120- If only metadata and transcript are available, limit edit/polish judgments to transcript-supported structure, hook, pacing inference, and missing media-evidence gaps.
121
122Analyze:
123
124- **Launch-readiness verdict**: publish now, publish after metadata polish, hold for targeted edit, or hold for significant edit.
125- **Hook and expectation match**: whether the first minute pays off the title/thumbnail promise quickly.
126- **Structure and pacing**: dead zones, redundant setup, missing chapter breaks, abrupt transitions, weak examples, or unclear payoff.
127- **Production polish**: audio, visuals, captions, overlays, b-roll, continuity, end screen, cards, disclosure, and accessibility when evidence exists.
128- **Risk and trust**: unsupported claims, stale references, missing source links, sponsor/disclosure gaps, privacy/confidentiality concerns, or accidental internal-only material.
129
130### 5. Build the Launch Package
131
132Audit and draft practical launch assets:
133
134- Test And Compare Launch Set: exactly 3 simultaneous variants for YouTube Studio Test and Compare. Each variant must pair one upload-ready full title with one thumbnail concept or supplied-asset reference, plus a packaging hypothesis, intended audience signal, and what a win would imply. Frame them as a set to upload together, not as sequential manual swaps.
135- Title: keep each title inside YouTube Studio's current title limit, using 100 characters as the upload-ready ceiling unless Studio shows a different limit. Avoid unsupported claims, bait-and-switch promises, and vague curiosity; preserve search/topic clarity and expectation match.
136- Thumbnail: evaluate focal clarity, text density, promise match, visual differentiation, and required human review when no image evidence is available. If user-provided thumbnail assets exist, map them into the three variants; otherwise provide concrete thumbnail concepts or references only. Do not generate or claim final thumbnail files unless the user explicitly supplies or requests image assets.
137- Test setup guidance: explain how to get the three variants online in YouTube Studio on desktop via the video's Details / Test and Compare flow, keeping variant labels and title/thumbnail pairing aligned with the report. If the account or video is ineligible for title/thumbnail combination testing, state the fallback: apply the preferred title, test the three thumbnail concepts/assets where eligible, and preserve the other title variants for manual follow-up.
138- Description: first two lines, CTA hierarchy, link stack, credits, disclosures, hashtags, and pinned-comment fit.
139- Chapters: proposed timestamped chapters from transcript or current metadata; if exact timestamps are unavailable, provide section labels and note the timestamp gap.
140- Publish settings: scheduled time, premiere fit, playlist, cards, end screen, comments, captions, monetization, age/sponsor/disclosure checks, and whether to keep as unlisted for another review pass.
141- Cross-sharing: platform-specific copy angles, cutdown/clip suggestions, launch-day sequence, first-24h comment plan, community post, newsletter/blog tie-in, and ethical limitations for Reddit/Hacker News or niche communities.
142
143Do not invent links, sponsors, timestamp precision, platform accounts, or channel policies. Use placeholders where user-owned assets are missing.
144
145### 6. Write Report
146
147Create `research/youtube/`, the raw evidence directory, and the URL ledger paths if they do not exist.
148
149Save the approved canonical artifact to:
150
151```text
152research/youtube/prelaunch-audit-<video-id>-YYYY-MM-DD.md
153```
154
155Use this structure:
156
157```markdown
158# YouTube Video Prelaunch Audit - [Working Title]
159
160> Video: [URL]
161> Video ID: [id]
162> Channel: [channel]
163> Visibility/status: unlisted / scheduled / unknown
164> Planned launch: YYYY-MM-DD or not provided
165> Date captured: YYYY-MM-DD
166> URL record: research/youtube/data/<video-id>/prelaunch/video-url-record.json
167> URL index: research/youtube/data/video-url-index.jsonl
168> Public/unlisted metadata: research/youtube/data/<video-id>/prelaunch/metadata-YYYY-MM-DD.json
169> Transcript: [path or unavailable reason]
170> Media inspection: [path/notes or unavailable reason]
171
172## Video URL Record
173
174| Field | Value |
175|---|---|
176| Record path | research/youtube/data/<video-id>/prelaunch/video-url-record.json |
177| Index path | research/youtube/data/video-url-index.jsonl |
178| Original URL | ... |
179| Canonical watch URL | https://www.youtube.com/watch?v=<video-id> |
180| Known alternate forms | Shorts: ... / embed: ... / youtu.be: ... |
181| Channel/status/title fields updated | ... |
182
183## Evidence Coverage
184
185| Evidence | Status | Path or gap |
186|---|---|---|
187| Metadata | Available / Missing | ... |
188| Transcript | Available / Missing | ... |
189| Media inspection | Available / Missing | ... |
190| Thumbnail | Available / Missing | ... |
191| Draft title/description/chapters | Available / Missing | ... |
192| Launch date/social platforms | Available / Missing | ... |
193
194## Launch Readiness Verdict
195
196- **Verdict**: Publish now / metadata polish / targeted edit / significant edit
197- **Confidence**: High / Medium / Low
198- **Blocking issues**: ...
199- **Minimum viable launch fix**: ...
200
201## Edit And Polish Notes
202
203- **Hook**: ...
204- **Structure/pacing**: ...
205- **Production polish**: ...
206- **Trust/risk/accessibility**: ...
207- **Keep**: ...
208- **Change before launch**: ...
209
210## Test And Compare Launch Set
211
212Provide exactly three simultaneous variants for YouTube Studio Test and Compare:
213
214| Variant | Full title | Thumbnail concept or supplied-asset reference | Packaging hypothesis | Intended audience signal | If this wins, it implies |
215|---|---|---|---|---|---|
216| A | ... | ... | ... | ... | ... |
217| B | ... | ... | ... | ... | ... |
218| C | ... | ... | ... | ... | ... |
219
220### Studio Setup Guidance
221
222- Upload or enter variants A, B, and C together in YouTube Studio Test and Compare where the video/account is eligible.
223- Keep title and thumbnail pair labels aligned with the table above.
224- If title/thumbnail combination testing is unavailable, use the preferred title, test the three thumbnail variants where eligible, and preserve the other titles as follow-up options.
225- Do not claim the variants have been uploaded unless the user confirms YouTube Studio setup.
226
227## Description And Pinned Comment
228
229[Upload-ready description guidance, CTA hierarchy, links/disclosures, pinned comment.]
230
231## Chapters
232
233[Timestamped chapters or section labels with timestamp gaps.]
234
235## Publish Settings Checklist
236
237| Setting | Recommendation | Evidence / reason |
238|---|---|---|
239| Schedule | ... | ... |
240| Playlist | ... | ... |
241| End screen/cards | ... | ... |
242| Captions | ... | ... |
243| Comments/pinned comment | ... | ... |
244| Disclosures/age/monetization | ... | ... |
245
246## Cross-Sharing Launch Plan
247
248| Channel | Timing | Copy angle | Asset needed | Notes |
249|---|---|---|---|---|
250| ... | ... | ... | ... | ... |
251
252## Decision Checklist
253
254- [ ] Blocking edits resolved or accepted
255- [ ] Three Test and Compare variants ready for Studio setup
256- [ ] Preferred fallback title/thumbnail selected if Test and Compare is unavailable
257- [ ] Description/pinned comment ready
258- [ ] Chapters ready
259- [ ] Launch schedule selected
260- [ ] Social assets prepared
261
262## Follow-Up Work
263
264[Route only after artifact approval and handoff checks.]
265```
266
267### 7. Summarize In Thread
268
269After saving an approved report, output the verdict, top blocking edit if any, highest-leverage metadata fix, the three Test and Compare title/thumbnail pairs, launch timing recommendation, cross-sharing headline, evidence gaps, report path, URL record path, URL index path, and raw data paths.
270
271## Constraints
272
273- Do not bypass login walls, bot protections, access controls, or YouTube Studio UI restrictions.
274- Do not invent transcript quotes, timestamps, video visuals, audio quality, thumbnail details, links, sponsor/disclosure details, or social accounts.
275- Do not claim YouTube Studio or API automation; provide upload-ready setup guidance only unless the user separately authorizes and enables an automation path.
276- Do not generate, name, or claim final thumbnail image files unless user-provided assets exist or the user explicitly requests image generation.
277- Do not use unlisted pre-release view/like/comment counts as audience-performance evidence.
278- Separate current evidence, inference, and subjective polish judgment.
279- Keep launch recommendations practical for the creator's visible production capacity and available time before launch.
280- Route post-publication performance questions to `$youtube-video-audit`.
281- Route broad channel strategy, portfolio, cadence, or metrics questions to the relevant youtube-ops or creator-foundation skill after the approved artifact is shipped.
282
283## Approved Artifact Handoff
284
285After an approved synthesized write, explicit write/update mode, or any direct artifact mutation:
286
287- List every created or updated synthesized artifact path in the final response.
288- Include the URL record path and the three Test and Compare title/thumbnail pairs in the final response after the approved artifact write.
289- State the verification performed, such as readback, schema/check command, or why no executable verification applies for a Markdown-only strategy artifact.
290- Check and report the relevant git status for intended artifacts when the project is a git repository. If intended artifacts are modified or untracked, make the next action shipping, committing, or an explicit dirty-artifact handoff before recommending downstream strategy work.
291- Do not imply the research workflow is complete while approved artifacts remain untracked or uncommitted unless the user explicitly asked not to ship.
292- If stopping for approval before writing, the approval request remains the next action; do not include downstream routing.
293
294## Intent-Aware Routing
295
296Before applying the default `## Next-Skill Routing` sequence, classify the user's immediate intent and route to the missing action that best serves that intent:
297
298- Strategy refresh: recommend the missing or stale positioning, programming, portfolio, metrics, or product-media artifact.
299- Recording prep: recommend the missing series spec, script, build proof, walkthrough guide, or validation artifact needed before recording.
300- Upload prep: recommend packaging, title/thumbnail, description, chapters, or final metadata work before broader strategy work.
301- Performance review: recommend metrics, cadence, portfolio, peer benchmark, or owner-analytics export work before new content planning.
302- Owner analytics or private/manual platform evidence: route to an explicit manual/guide handoff instead of inventing unavailable metrics.
303- Dirty intended artifacts: route to shipping/commit/handoff first, not another creator strategy skill.
304
305Use the default next-skill sequence only when no stronger user intent, missing artifact, manual blocker, or dirty-artifact handoff applies.
306
307## Next-Step Routing
308
309After writing the approved artifact and completing the artifact handoff checks, recommend the next contextual creator-media skill in the final response as `Recommended next skill: <command>`.
310
311Default recommendation: `$youtube-description-optimizer` when the main remaining work is description, chapters, pinned comment, metadata, or launch copy; `$youtube-title-thumbnail-audit` when title/thumbnail packaging needs a deeper channel or peer comparison; `$youtube-format-research` from the `remotion` pack when the video should be re-edited for pacing, format, visual rhythm, or production grammar; otherwise `$youtube-video-audit` after the video is public and enough time has passed to evaluate performance.
312
313Before recommending `$youtube-format-research`, verify the `remotion` pack is enabled in `.agents/project.json.enabled_packs`. If it is missing, recommend `npx skillpacks install remotion` first.
314
315## Alignment Page
316
317Follow the shared alignment-page convention via the packaged convention resolver; output path is `alignment/youtube-video-prelaunch-audit-{topic}.html`.
318
319## Default Shipping Contract
320
321Follow the shared shipping contract convention in CLAUDE.md.