Content
81%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 operational skill body: the workflow is clearly sequenced with explicit validation checkpoints, bounded feedback loops, and concrete code for the common path. The main weaknesses are repetition of the figure-style-loading and no-API points, and helper contracts (review_schema, rules_path, min_floor) that are referenced but never specified, forcing reliance on the not-included kernel.py.
Suggestions
State the `figure-style` loading requirement once (Step 0) and reference it elsewhere with a single phrase instead of re-explaining it in §0 and §2; the same applies to the "no API, your own judgment" clarification.
Specify the `review_schema()` shape (the `editor_verdict`, `outline_revisions`, and `violations` fields the loop reads) the way the outline schema is shown in §1, since the §4 loop depends on it.
Include the kernel.py (or at least its helper signatures and the semantics of `rules_path`, `min_floor`, and `fig_label`) in the bundle so the SKILL.md's central references are verifiable.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense and operational with no filler, but key points repeat: the requirement to load `figure-style` is stated in Step 0, §0, and again in §2 ("each runs its `panel_task` prompt, loads `figure-style` itself"), and "this is your own judgment, not an API call" / "no host runtime and no LLM API" each appear twice. This matches anchor 4 (efficient with minor over-explanation that could be trimmed); not 3 because there is no padded explanation of concepts Claude already knows. | 4 / 5 |
Actionability | Mostly executable: the exec line for kernel.py, `pip install pillow matplotlib`, a concrete JSON outline example, and runnable snippets (`panel_task(...)` dict comprehension, the PIL crop loop in §3.5). Gaps: the §4 loop block is structured pseudocode rather than executable code, and helper arguments like `rules_path`, `min_floor`, `fig_label`, and the `review_schema()` fields are named but not specified, so the reader must consult kernel.py. Fits anchor 4 (mostly executable with minor gaps); not 5 because the core review loop is not copy-paste ready. | 4 / 5 |
Workflow Clarity | Exemplary sequence (Step 0 → entry points → §1 outline → §2 render → §3 compose → §3.5 vision QA → §4 adversarial loop) with explicit validation checkpoints and feedback loops: a pre-review crop inspection pass, a bounded loop ("max 3 rounds, floor 5→4→3"), explicit break conditions ("editor_verdict in {accept, minor_revision} and 0 BLOCKER and ≤2 MAJOR"), regression tracking via `prev_path`, regenerating only affected panels, a convergence signal, and an anti-patterns section. Matches anchor 5. | 5 / 5 |
Progressive Disclosure | Sections are well-organized and references are one level deep and clearly signaled (`figure-composer/kernel.py` for code, `figure-style` for design rules, `paper-narrative` for paper-level ordering), with the heavy lifting correctly delegated to kernel.py rather than inlined. However, the bundle contains no references/, scripts/, or assets/ directories, so the central `kernel.py` dependency cannot be verified as a real file — a minor organization gap that keeps this at anchor 4 rather than 5. | 4 / 5 |
Total | 17 / 20 Passed |