CtrlK
BlogDocsLog inGet started
Tessl Logo

render-chatgpt-chat

Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard slides down + header cluster swaps in one beat → one gray loading dot → the assistant answer streams in word-by-word) crossfaded into a designed end card, with subliminal ChatGPT SFX and an optional ducked music bed. FREE assembly (Playwright + ffmpeg); the recipe supplies the per-brand thread + timeline + end-card config and gates the paid music call to its own capability. The ChatGPT sibling of render-imessage-chat. Use for the chatgpt-chat format.

65

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, highly actionable body: the full run sequence is copy-paste ready, every referenced bundle file actually exists and matches the documented flags, and it ends with a concrete self-QC checklist. Weaker spots are mild redundancy across sections, the absence of an error-recovery path after QC, and reference-grade API detail (timeline events, end-card fields) inlined rather than split out.

Suggestions

Add a short 'If QC fails' block mapping each Self-QC failure to its fix (e.g. wrong aspect → check timeline t-values; cue on the loading dot → remove sfx from the dot event), completing the validate → fix → retry loop.

Move the timeline-events table and the end-card field enumeration into a one-level-deep reference file (e.g. references/timeline.md), keeping a two-line summary plus the pointer in SKILL.md.

Trim the Git LFS provenance story and the restated one-beat rule to a single mention to cut redundant tokens.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence throughout — no explanation of what ChatGPT, Playwright, or aspect ratios are — and nearly every sentence carries operational detail (durations, dB levels, pixel dimensions). Minor trimming opportunities exist: the 'Choices' preamble ('The demo's value is an example, never a default'), the Git LFS provenance story for the SFX wavs, and repeated restatements of the one-beat send-tap rule across three sections. It fits anchor 4 ('efficient; minor instances of over-explanation that could be trimmed') better than 5 because not every token is load-bearing.

4 / 5

Actionability

The Run section is a copy-paste-ready command sequence ('node record-chat.js --config config.json --out-dir <work>', 'bash stitch.sh --chat … --end … --sfx … --out … --pad-color "#ffffff" [--music …]'), each script's inputs/outputs are named, the timeline-events table gives exact JSON payloads ('{ target, dur_sec, wps }'), and it points to a real bundled example ('See scripts/config.example.json for the canonical thread + timeline'). All referenced bundle files exist and the CLI flags match the actual scripts. This matches anchor 5 ('fully executable; copy-paste ready commands; specific examples cover the common cases').

5 / 5

Workflow Clarity

The sequence is explicit and correctly ordered (install deps → record chat → render end card → stitch/crossfade/mux), each step annotated with what it produces (master-chat.mp4 + .sfx.json, scene-end-endcard.mp4, master-final.mp4), and it closes with an explicit validation checklist ('Self-QC — always /watch the master': six concrete pass/fail checks). It falls short of anchor 5 because there is no error-recovery loop — the QC checklist says what to verify but not how to fix a failure (e.g. what to change if the aspect ratio drifts or a cue lands on the loading dot), which is the 'feedback loops for error recovery' element of the top anchor.

4 / 5

Progressive Disclosure

The bundle structure matches the body's references exactly (scripts/, scripts/mockup/ with generate.js + templates, assets/sfx/ with the four named wavs, and no dangling references), details are appropriately deferred (the canonical thread + timeline lives in scripts/config.example.json rather than being inlined, and the mockup generator is pointed to rather than reproduced). Structure is good with clear section headers. It is a 4 rather than 5 because some reference-grade material is inlined in SKILL.md itself — the timeline-events API table and the end-card field list could sit in a one-level-deep reference file, and there is no explicit 'reference' section naming the bundle layout for discovery.

4 / 5

Total

17

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, information-dense description that names the domain, the concrete assembly pipeline, the free/paid boundary, and an explicit 'Use for' trigger clause, and even pre-empts confusion with its iMessage sibling. The main weaknesses are the thin, self-referential trigger clause and keyword coverage that leans on one term family ('ChatGPT chat') rather than natural synonyms.

Suggestions

Expand the 'when' clause with concrete user-mention triggers, e.g. 'Use when the user asks for a ChatGPT chat video, a ChatGPT ad/mockup, or the chatgpt-chat format — or mentions ChatGPT as the host of the answer.'

Add one or two natural synonyms (e.g. 'ChatGPT conversation video', 'app-chat ad') to the keyword surface so users who phrase the need differently still match.

Add a half-clause stating when to prefer this over render-imessage-chat (e.g. 'when the streamed ChatGPT answer is the punchline') to close the remaining overlap with the sibling skill.

DimensionReasoningScore

Specificity

The description names several concrete actions — 'Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON', 'one continuous Playwright recording', 'crossfaded into a designed end card', 'mux a ducked music bed' — covering the full pipeline with only minor gaps (output format and SFX layering are implied rather than all named as actions). It sits between anchor 4 ('several specific actions; minor gaps') and anchor 5; the heavy parenthetical describing the video's beats is scene description rather than additional capabilities, and the rubric's anti-verbosity guidance keeps it at 4.

4 / 5

Completeness

Both halves are present: a thorough 'what' ('Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON… crossfaded into a designed end card, with subliminal ChatGPT SFX and an optional ducked music bed') and an explicit 'when' clause ('Use for the chatgpt-chat format'). It is not a 5 because the trigger clause is terse and circular — it restates the skill's own format name rather than giving concrete user-mention trigger phrases as in the anchor-5 example ('when the user mentions PDFs, forms, or document extraction').

4 / 5

Trigger Term Quality

Good keyword coverage with natural terms users would say: 'ChatGPT', 'chat', 'video ad', 'chat-reveal', 'end card', 'SFX', and the format name 'chatgpt-chat'. It falls short of anchor 5's comprehensive synonym coverage — no 'conversation', 'mockup', 'chat screenshot', 'iPhone chat', or file-extension-style variations that would catch a user phrasing the need differently.

4 / 5

Distinctiveness Conflict Risk

A clear niche — the ChatGPT chat-ad format — with explicit disambiguation ('The ChatGPT sibling of render-imessage-chat'), which sharply reduces wrong-skill triggering. It remains a 4 rather than a 5 because it declares the sibling relationship without saying when to prefer this skill over that closely related one, leaving minor overlap risk on generic 'chat video' requests.

4 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.