Content
67%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 highly actionable, well-sequenced operational skill: verbatim prompts, executable bash with fallbacks, explicit validation gates, refusal rules, and recovery branches. Its weaknesses are redundancy (the diff rationale and state.shoots schema each appear twice) and a folder-naming inconsistency between Phase 2 and Phase 3 that could cause the created directory and the written script.md to diverge.
Suggestions
Fix the folder-naming inconsistency: Phase 2 creates `videos/<id>_<short>/` but Phase 3 and the state example write/read `videos/<id>/script.md` — pick one convention and use it in the Overview, Phase 2, Phase 3, and the state schema.
Deduplicate the state.shoots documentation: merge the Phase 4 JSON block and the 'state.shoots 数据结构' section into one canonical schema (Phase 4 omits ad_hoc, the later section omits the newer fields).
State the line-level-diff rationale once (Constants or Phase 3, not both), and move the legacy `diff -u` fallback recipe to a small references/ file — it is contingency detail that pads the main body.
Add the actual command for appending to `.cheat-state.json` (e.g., a jq snippet) so Phase 4 is copy-paste executable like the diff step.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is mostly dense, project-specific operational detail Claude could not know (correct to keep), but it repeats itself: the line-level-diff rationale ("~200% diff / 口语化转录 inflate") appears in both the Constants section and Phase 3, and the state.shoots JSON schema is written out twice (Phase 4 and a dedicated 'state.shoots 数据结构' section) with overlapping fields. This duplicated material is more than a 'minor trim' (anchor 4) but the content is not padded filler either (anchor 2), so it fits 'could be tightened'. | 3 / 5 |
Actionability | Mostly executable: an exact bash block for diff computation with symlink resolution, rapidfuzz/difflib fallback and a legacy path, exact cp/mkdir steps, verbatim user prompts, and concrete JSON output shapes. Minor gaps keep it from 5 — the state append is shown only as a JSON shape with no command (e.g., jq), and placeholders like <id>/<short>/<ISO timestamp> are defined only loosely. | 4 / 5 |
Workflow Clarity | Phases 0-5 are explicitly sequenced with an overview flow diagram, upfront validation (prediction-existence check, duplicate-registration check), refusal rules, and error-recovery branches (script_lost, _redo path, sub-threshold ask). It misses anchor 5 because of a real internal inconsistency — Phase 2 creates `videos/<id>_<short>/` while Phase 3 and the state example use `videos/<id>/script.md` — and there is no sanity check on the computed diff_pct value; these are exactly the 'minor validation gaps' of anchor 4. | 4 / 5 |
Progressive Disclosure | Good structure: well-labeled sections, and cross-skill detail is correctly pushed out to one-level-deep, clearly-signaled links (../../tools/diff_pct.py, ../../shared-references/cadence-protocol.md, tools/diff_pct_test.sh) rather than inlined; no nested-reference chains exist. It is not a 5 because some self-contained material (the diff-metric rationale, the legacy fallback recipe, the duplicated state schema) is inlined in the ~215-line body where a references/ file would serve better, and no bundle directory (references/, scripts/, assets/) is actually present in this skill folder. | 4 / 5 |
Total | 15 / 20 Passed |