CtrlK
BlogDocsLog inGet started
Tessl Logo

youtube-playables-js-sdk

Use this skill to initialize and integrate the YouTube Playables JavaScript SDK into an HTML5 game. Covers SDK bootstrapping, game lifecycle signaling, persistent save data management, interstitial and rewarded ads, leaderboard score submission, player language detection, and audio/pause lifecycle hooks. Use when the user asks about YouTube Playables, building or embedding games for YouTube, the YT game SDK, YT Playables integration, or making an interactive playable game on YouTube.

74

Quality

91%

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.

The body is highly actionable with executable code and a well-sequenced initialization workflow including a storage verification step. It is concise and well-organized, though slightly above ideal length and missing an explicit error-retry feedback loop for the verification path.

Suggestions

Add an explicit feedback loop for storage verification: when 'saveData verification mismatch' occurs, document the retry/correction step rather than only console.warn.

Tighten the Storage prose (e.g. the 'Saved data is a single JSON-serializable blob...' paragraph) and consider collapsing the three storage helpers into a single referenceable block to reduce length.

Consider splitting the full API surface (ad placements, leaderboard options) into a one-level-deep reference file to better realize progressive disclosure.

DimensionReasoningScore

Conciseness

The body is efficient and mostly executable with short intros before code, e.g. 'Sequence: wait for ytgame → read language + load saved data in parallel → call firstFrameReady()'. It is not 5 because a few prose lines ('Saved data is a single JSON-serializable blob per player. Always read → merge → write...') and the somewhat lengthy storage helpers could be trimmed, but it never devolves into padded concept explanation that would drop it to 3.

4 / 5

Actionability

Fully executable, copy-paste-ready code covers the common cases — waitForYtgame polling, init sequence, storage read/write/delete, interstitial and rewarded ads, and score submission. It matches the score-5 anchor with concrete examples for each common task rather than the score-4 anchor with minor gaps.

5 / 5

Workflow Clarity

The initialization flow is clearly sequenced ('wait for ytgame → read language + load saved data in parallel → firstFrameReady() → gameReady()') and storage includes a verify-by-re-read checkpoint. It is not 5 because there is no explicit 'if verification fails, fix and retry' feedback loop, and not 3 because concrete checkpoints (parallel load, firstFrameReady then gameReady, save verification) are present.

4 / 5

Progressive Disclosure

The content is organized into clear, well-labeled sections (Installation, Initialization, Storage, Advertisement, Leaderboards) with no nested references, and no bundle files exist so everything is appropriately inline. It is not 5 because the file is ~200 lines (above the under-50-line simple-skill exception), so the 'clear overview pointing to detailed materials' ideal of one-level-deep references is only partially realized; it is not 3 because structure is clean and nothing is buried.

4 / 5

Total

17

/

20

Passed

Description

100%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.

The description is excellent: it states a concrete capability set, gives comprehensive trigger terms with synonyms, and explicitly covers both what and when. It uses appropriate imperative/third-person framing and is specific enough to avoid conflicts.

DimensionReasoningScore

Specificity

Names the domain and lists multiple concrete actions — 'SDK bootstrapping, game lifecycle signaling, persistent save data management, interstitial and rewarded ads, leaderboard score submission, player language detection, and audio/pause lifecycle hooks' — giving comprehensive coverage. It clearly matches the score-5 anchor and is not below it because coverage is broad and concrete rather than having minor gaps.

5 / 5

Completeness

Explicitly answers both 'what' ('initialize and integrate the YouTube Playables JavaScript SDK... Covers SDK bootstrapping...') and 'when' ('Use when the user asks about YouTube Playables...'). It clearly matches the score-5 anchor with concrete trigger phrases, so it is not capped at 3 or 4.

5 / 5

Trigger Term Quality

Comprehensive natural terms with synonyms — 'YouTube Playables, building or embedding games for YouTube, the YT game SDK, YT Playables integration, or making an interactive playable game on YouTube' — matching the anchor for full synonym coverage. It does not fall to 4 because both the full and abbreviated forms plus intent phrases are present.

5 / 5

Distinctiveness Conflict Risk

It targets a clear niche (YouTube Playables JS SDK) with distinct triggers and minimal overlap with other skills. It matches the score-5 'clear niche with distinct triggers' anchor rather than the score-4 anchor, which still allows minor overlap risk.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
popey/gamedev.sh-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.