You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds caption-qa, a skill for checking SRT and WebVTT captions against published caption standards and fixing what fails. None of the current skills covers captions or subtitles.
Why it's more than the model's defaults: each standard sets different numbers, and models don't reliably know them or measure them consistently. The skill:
gives a limits table for Netflix English (adult and children's), the BBC subtitle guidelines and the DCMP Captioning Key, linked to each source page;
states the counting rules: characters per second, words per minute, frame-based gaps at the video's frame rate, overlaps;
sets a fix order that retimes before it rewords, so captions stay verbatim.
It also includes a short, self-contained Python check that applies those limits and exits with 1 on failure, for CI. No external tools or packages. It gives the same result as an existing caption checker on a sample file (2 of 8 captions pass, the same six failures).
Checks run locally:
npm run skill:validate
npm start (adds the README row)
npx @microsoft/vally-cli lint skills/caption-qa: 2 of 2 checks passed
codespell
I re-read the BBC and DCMP limits on their pages today. The Netflix numbers come from its English (USA) style guide and timing guidelines.
Drafted with AI assistance. Every limit was checked against its source page, and the script was tested on SRT and WebVTT samples.
Risk tier:merge-risk:high — Privileged execution, automation, or review-policy change Required to merge: passing submission-gate checks plus 1 approval from reviewers with write access, including a maintainer with admin or maintain permission.
Why this tier
Label needs-review:HIGH flags a high contributor-risk signal
✓ [spec-compliance] All 1 skill(s) are spec-compliant.
ℹ️
✓ spec-compliance: All spec checks passed.
ℹ️
✓ [valid-refs] All file references across 1 skill(s) are valid.
ℹ️
✓ valid-refs: All file references resolve to existing files within the skill directory.
ℹ️
1 skill(s) linted, 1 passed
Full linter output
### Linting skills/caption-qa
✅ caption-qa (2/2 checks passed)
✓ [spec-compliance] All 1 skill(s) are spec-compliant.
✓ spec-compliance: All spec checks passed.
✓ [valid-refs] All file references across 1 skill(s) are valid.
✓ valid-refs: All file references resolve to existing files within the skill directory.
1 skill(s) linted, 1 passed
The reason will be displayed to describe this comment to others. Learn more.
Thanks @markksantos. This is well sourced, and the per-standard limits table plus the retime-before-reword order are the kind of specifics that help over model defaults.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
caption-qa, a skill for checking SRT and WebVTT captions against published caption standards and fixing what fails. None of the current skills covers captions or subtitles.Why it's more than the model's defaults: each standard sets different numbers, and models don't reliably know them or measure them consistently. The skill:
It also includes a short, self-contained Python check that applies those limits and exits with 1 on failure, for CI. No external tools or packages. It gives the same result as an existing caption checker on a sample file (2 of 8 captions pass, the same six failures).
Checks run locally:
npm run skill:validatenpm start(adds the README row)npx @microsoft/vally-cli lint skills/caption-qa: 2 of 2 checks passedI re-read the BBC and DCMP limits on their pages today. The Netflix numbers come from its English (USA) style guide and timing guidelines.
Drafted with AI assistance. Every limit was checked against its source page, and the script was tested on SRT and WebVTT samples.