CtrlK
BlogDocsLog inGet started
Tessl Logo

figure-composer

Compose one publication-grade multi-panel figure. Start from a one-line claim plus immutable data Artifact Version references, or inspect an existing figure and draft its outline directly. Plan a 12-column panel outline, delegate one worker per panel, compose and inspect the result, then run at most three adversarial review rounds while regenerating only affected panels. For a standalone plot use `figure-style`; for whole-paper figure ordering use `paper-narrative`.

67

Quality

84%

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

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

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

The body is an unusually disciplined operational procedure: every step is numbered, every delegated call has an explicit output schema and validation checklist, and the adversarial review loop has precise accept/retry/stop rules — exemplary workflow clarity and strong actionability. Its main weaknesses are mild repetition of the identity-guard rules and the total absence of progressive disclosure: a dense 250-line single file where schema and API-contract details could live in one-level-deep reference files.

Suggestions

Move the outline JSON example, the two worker output schemas, and the crop-batch JS snippet into a references/ file (e.g., references/schemas.md) with one-line pointers at the steps that use them, turning SKILL.md into a leaner workflow overview.

Consolidate the repeated Artifact-Version-identity rules (step 2 'Reject a non-completed/error child... mismatch between its Artifact versionId...', step 3 'never substitute a round number...', 'Temporary paths are never the Agent-to-Agent contract') into a single 'Identity rules' section referenced from each step.

Define where `affected` and `fixb` come from in the `regen` computation in step 4.3 (e.g., 'affected = panels named in outline_revisions; fixb = group_fixes_by_panel(review)'), and replace the `composite_review_task(...)` ellipsis with the actual argument list.

DimensionReasoningScore

Conciseness

The body assumes Claude's competence throughout — it never explains what a figure or a Version is — and nearly every sentence encodes an operational constraint (e.g., 'A collect timeout ends observation, not the child Attempt'). Minor over-explanation exists: the Version-identity guard is repeated in several phrasings ('Temporary paths are never the Agent-to-Agent contract', 'never substitute a round number or locally invented Run identity'), which could be consolidated. Not 5: a few repetitive guard sentences could be trimmed without losing information.

4 / 5

Actionability

Concrete, named API calls with exact signatures ('panel_task(outline, letter, fig_label)', 'apply_outline_revisions(outline, revisions, previous_outline=previous_outline)', 'write_artifact_file({ filename: "figure.png", producerRunId: composeResult.runId })') plus two complete output schemas and a copy-paste JS crop-batch snippet. Minor gaps keep it from 5: 'composite_review_task(...)' uses an ellipsis, and 'regen = (affected | set(fixb)) & ...' references an `affected` variable whose provenance is not stated. Not 3: the guidance is genuinely executable, not pseudocode.

4 / 5

Workflow Clarity

The workflow is a clearly numbered sequence (outline → fan out → compose → look-before-review → adversarial loop) with explicit validation checkpoints at every stage: outline rejection rules before fan-out, per-panel identity checks ('a mismatch between its Artifact `versionId` and `structuredOutput.panelVersionId`'), acceptance criteria ('verdict is `accept` or `minor_revision`, there are no `BLOCKER`s, and there are at most two `MAJOR`s'), and error-recovery feedback loops (regenerate only `regen`, retry with fresh child names, stop conditions for round three and over-labeling). This matches the anchor with explicit validation and feedback loops for a batch operation.

5 / 5

Progressive Disclosure

The body is well-sectioned with clear headers, but there is no bundle at all: no references/, scripts/, or assets/ exist, and every schema, output contract, and code snippet (the ~30-line outline JSON example, two output schemas, the JS crop-batch loop) is inlined in a single 250-line file. This fits anchor 3: real structure is present, but content that could be split out (schema examples, per-step API contracts) is inline and there are no one-level-deep reference files. Not 4: a SKILL.md of this length is not an overview pointing to detailed materials; not 2: sections are clearly organized and nothing a reader needs is buried.

3 / 5

Total

16

/

20

Passed

Description

83%Weight 40%Scale 1-5

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 strong description: it names the domain and every concrete workflow step with specific parameters, and explicitly disambiguates the two adjacent skills. Its only weakness is that the 'when to use this skill' guidance is expressed as contrastive routing to sibling skills rather than a direct 'Use when...' trigger clause, and a few natural synonyms (subplot, layout) are absent.

DimensionReasoningScore

Specificity

Quotes: 'Compose one publication-grade multi-panel figure', 'Plan a 12-column panel outline, delegate one worker per panel, compose and inspect the result, then run at most three adversarial review rounds while regenerating only affected panels.' Multiple concrete, specific actions with parameters (12-column, one worker per panel, at most three rounds) that comprehensively cover the workflow. Not 4: coverage is comprehensive rather than having minor gaps.

5 / 5

Completeness

The 'what' is explicit and concrete ('Compose one publication-grade multi-panel figure... plan... delegate... compose and inspect... review rounds'), and 'when' guidance is present via explicit routing: 'For a standalone plot use `figure-style`; for whole-paper figure ordering use `paper-narrative`.' This contrastive routing is equivalent trigger guidance but not a direct 'Use when...' statement naming this skill's own triggers, so it sits at anchor 4 ('when' could be more explicit). Not 5: no explicit 'Use when composing...' clause stating the skill's own triggering conditions.

4 / 5

Trigger Term Quality

Quotes: 'multi-panel figure', 'publication-grade', 'compose', 'plot', 'figure'. Natural terms a user would say are present (multi-panel figure, plot, publication-grade), but common variations like 'subplot', 'panel', 'figure layout', or file/format terms are missing, and phrases like 'immutable data Artifact Version references' lean technical. Not 5: synonym coverage is good but not comprehensive; not 3: the key natural phrases users would actually say are there.

4 / 5

Distinctiveness Conflict Risk

Quotes: 'For a standalone plot use `figure-style`; for whole-paper figure ordering use `paper-narrative`.' The niche (one publication-grade multi-panel figure from a claim plus data Version references) is clearly bounded and explicitly disambiguated against the two most similar skills, minimizing conflict risk. Not 4: the boundaries are explicit rather than leaving minor overlap risk.

5 / 5

Total

18

/

20

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
aipoch/open-science
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.