CtrlK
BlogDocsLog inGet started
Tessl Logo

figure-composer

Compose one publication-grade multi-panel figure. Entry from a one-line claim + data files, OR from an existing figure via `derive_outline_prompt` (you read the PNG). Runs a per-figure loop: outline (12-col grid, per-panel ask + label_budget) → render each panel with `panel_task` (loading `figure-style`), one at a time or parallelized → tile + stamp letters with `compose_figure` → adversarial composite self-review with two-tier feedback (Tier-1 outline_revisions / Tier-2 per-panel violations) → regen affected panels, ≤3 rounds. Helpers: panel_task / compose_figure / compose_crops / composite_review_task / derive_outline_prompt. For one standalone plot use `figure-style`; for whole-paper figure ordering use `paper-narrative`.

62

Quality

72%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./configs/microservice/bff-service/configs/agent-skills/claude-science/figure-composer/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly actionable orchestration doc with an excellent sequenced workflow and validation checkpoints, held back mainly by repeated meta-commentary and a core referenced file (kernel.py) that is missing from the bundle.

Suggestions

Ship `figure-composer/kernel.py` (or a `scripts/` copy) with the skill bundle so the primary `exec(...)` reference resolves; a missing central file breaks navigation and executability.

State the 'no LLM API / you do the reasoning' point once in Setup and drop the repeats in Entry points, §2 and §4 to tighten the body.

Add a one-line note on where `figure-style` and `paper-narrative` live (sibling skills) so the cross-references are unambiguous for navigation.

DimensionReasoningScore

Conciseness

The body is information-dense and assumes Claude's competence (no explanations of what a figure or matplotlib is), but it repeats the 'pure skill / no LLM API / you do the reasoning' meta-commentary across Setup, Entry points, §2 and §4, and the parallelization prose could be tightened.

2 / 3

Actionability

It provides fully executable, copy-paste-ready guidance — concrete `exec(open("figure-composer/kernel.py").read())`, real `panel_task`/`compose_figure` call snippets with exact signatures, a PIL crop loop, and exact file-naming conventions (`panel_<letter>.png`, `fig_r1.png`) — not pseudocode.

3 / 3

Workflow Clarity

The process is clearly sequenced (Setup → outline → render → compose → §3.5 pre-review look → §4 adversarial loop → anti-patterns) with explicit validation checkpoints: the §3.5 vision self-QA gate before review, and the §4 loop's explicit break condition, two-tier feedback, regression-vs-prev check and convergence signal.

3 / 3

Progressive Disclosure

The SKILL.md is a well-sectioned overview with clearly signaled, one-level-deep references to sibling skills (`figure-style`, `paper-narrative`) and to `kernel.py`, but the primary referenced bundle file `figure-composer/kernel.py` is absent from the bundle (no `scripts/`/`references/` directories), making the central reference a dead-end.

2 / 3

Total

10

/

12

Passed

Description

67%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly specific, well-scoped description with strong distinctiveness, but it leans on internal helper names rather than natural user trigger terms and never gives an explicit 'Use when...' for the skill itself.

Suggestions

Add an explicit 'Use when...' trigger clause naming natural user phrases (e.g. 'Use when the user needs a multi-panel scientific/publication figure built from data files').

Replace or downplay internal helper names (`panel_task`, `compose_figure`, `derive_outline_prompt`) in the description with user-facing language, keeping the helper list for the body.

DimensionReasoningScore

Specificity

The description enumerates a concrete pipeline — 'outline (12-col grid ...) → render each panel with `panel_task` ... → tile + stamp letters with `compose_figure` → adversarial composite self-review ... → regen affected panels' — listing multiple specific concrete actions rather than vague language.

3 / 3

Completeness

It clearly answers the 'what' (compose a multi-panel figure via a defined loop), but offers no explicit 'Use when...' trigger for this skill itself — the only trigger-adjacent clause ('For one standalone plot use `figure-style`; for whole-paper figure ordering use `paper-narrative`') routes to sibling skills, so per the guideline a missing explicit trigger caps completeness at 2.

2 / 3

Trigger Term Quality

It contains some natural terms a user would say ('figure', 'multi-panel figure', 'publication-grade'), but the description is dominated by internal helper names (`panel_task`, `compose_figure`, `derive_outline_prompt`, `composite_review_task`) that a user would never naturally utter, and it misses common natural variations ('make a figure', 'scientific plot', 'composite figure').

2 / 3

Distinctiveness Conflict Risk

It carves a clear, narrow niche — publication-grade multi-panel figure composition with an adversarial review loop — and explicitly disambiguates from `figure-style` (single standalone plot) and `paper-narrative` (whole-paper ordering), making a wrong-skill trigger unlikely.

3 / 3

Total

10

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
UnicomAI/wanwu
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.