Content
88%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A strong, execution-ready skill body: concrete commands, explicit exit-code-driven validation with re-run feedback loops, and dense domain rules that Claude could not reconstruct on its own. The main costs are token weight — some repetition and long nested-condition prose in the brand-term section — and rule/failure tables that sit inline where a references file would keep the overview leaner.
Suggestions
Move the detailed rewrite-rule table ("What counts as the same speech") and the failure catalog ("What still FAILS") into a references/ file (e.g. references/rules.md), keeping a 5-line summary of the pass/fail categories in SKILL.md; this would cut the body by roughly half.
Tighten the brand-term acceptance rules into a short bulleted checklist or table — the nested all-conditions paragraph (similarity >= 0.6, alphabetic words, both sides --brand-term) is the hardest passage to scan.
Deduplicate the "human-vetted"/"human witted" example (it appears in both "Why this exists" and the failure table) and ensure tests/test_review_render.py ships in the bundle, since the Tests section references it.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense with non-obvious, domain-specific rules Claude could not know (canonical spoken-form rewrite table, exit-code semantics, backend priority, alias restrictions), so most tokens earn their place. Not score 5: there is measurable repetition — the "human-vetted"/"human witted" mis-voicing example appears in "Why this exists" and again in the failure table (and in the description); the brand-term acceptance rules in "Brand names and confirmed pronunciations" are a ~150-word nested-condition paragraph that could be tightened or tabulated; and the superseded/deprecation notes plus the history aside ("Before 2026-10-06, --brand-term fuzzily stripped...") add date-sensitive bulk, though at least the deprecation note is clearly sectioned off as such. Clearly above score 3: padding is minor, not systematic. | 4 / 5 |
Actionability | Fully executable guidance: a copy-paste-ready CLI invocation with concrete working paths ("python3 <pack>/review-ugc-render/scripts/review_render.py --video working/final.mp4 --script-file working/approved-script.txt --json working/review-verdict.json"), an exhaustive flag reference with defaults (--min-ratio 0.90), explicit exit-code semantics (0/2/3) with what to do on each, backend fallback order, and a runnable test command. The referenced script scripts/review_render.py exists in the bundle. The only placeholder is `<pack>`, a standard skill-pack location convention, which does not rise to a gap. Specific examples cover the common cases (pronunciations file, aliases, brand terms). | 5 / 5 |
Workflow Clarity | The multi-step process is clearly sequenced with explicit validation checkpoints and a full feedback loop: persist the approved script before rendering → run the check after the master render exists → branch on exit code (0 pin / 2 do NOT pin, fix, re-run / 3 fix environment) → "Re-run after every fix / re-roll until it PASSES". This is a gating skill over a publish/pin action, and validation is present and explicit (verdict passes only when similarity >= --min-ratio and no HIGH issue), so the destructive/batch cap at 3 does not apply. The failure table maps each report line to root cause and fix — exactly the anchor-5 'feedback loops for error recovery' pattern. | 5 / 5 |
Progressive Disclosure | Good structure with clear, well-labeled sections (Why / When to run / Contract / rules tables / failure catalog / Inputs / Tests / Relationship) and one-level-deep, clearly signaled references: the bundled script scripts/review_render.py exists at the referenced path, and external pointers (create-vo-elevenlabs' read_pronunciations.py, create-video-seedance-2-fal Failure Modes) are single-hop. Not score 5: the body inlines ~190 lines of rule tables and failure-catalog detail that could partly live in a references/ file, and the Tests section points at tests/test_review_render.py, which is not present in the provided bundle (only scripts/ exists). Not score 3: nothing is buried, sections are easy to navigate, and the inline tables are decision-critical at run time rather than offloadable bulk. | 4 / 5 |
Total | 18 / 20 Passed |