$npx -y skills add calesthio/OpenMontage --skill character-animation-qaReview local character animation with schema checks, Playwright browser previews, frame sampling, and FFmpeg/ffprobe final output checks.
| 1 | # Character Animation QA |
| 2 | |
| 3 | Use this skill before presenting a character-animation preview or final render. |
| 4 | |
| 5 | ## Review Layers |
| 6 | |
| 7 | 1. Schema validation: character design, rig plan, pose library, action timeline. |
| 8 | 2. Static asset checks: referenced parts and backgrounds exist. |
| 9 | 3. Browser preview: load the preview, capture screenshots, collect console errors. |
| 10 | 4. Motion check: compare sampled frames for non-trivial differences. |
| 11 | 5. Final MP4 check: ffprobe metadata, duration, resolution, audio, frame samples. |
| 12 | 6. Agent visual review: inspect sampled frames for detached limbs, bad layers, |
| 13 | off-frame characters, unreadable expressions, broken text. |
| 14 | |
| 15 | ## Playwright Pattern |
| 16 | |
| 17 | ```ts |
| 18 | const browser = await chromium.launch(); |
| 19 | const page = await browser.newPage({ viewport: { width: 1280, height: 720 } }); |
| 20 | await page.goto(previewUrl, { waitUntil: "networkidle" }); |
| 21 | await page.screenshot({ path: "preview.png" }); |
| 22 | ``` |
| 23 | |
| 24 | ## Pass/Revise/Fail |
| 25 | |
| 26 | - `pass`: technical checks pass, acting is readable. |
| 27 | - `revise`: fixable rig/timeline issue. |
| 28 | - `fail`: missing assets, blank render, runtime failure, or wrong runtime. |
| 29 | |
| 30 | ## Sources |
| 31 | |
| 32 | - Playwright screenshots: |
| 33 | https://playwright.dev/docs/screenshots |
| 34 | - Playwright page navigation: |
| 35 | https://playwright.dev/docs/api/class-page#page-goto |
| 36 | - FFmpeg/ffprobe should be used for final media probing: |
| 37 | https://ffmpeg.org/ffprobe.html |