Automatically assemble 6 sub-figures (A-F) into a high-resolution composite figure with aligned edges, unified fonts, and labels.
Install with Tessl CLI
npx tessl i github:aipoch/medical-research-skills --skill multi-panel-figure-assembler65
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
A Python-based tool for assembling multi-panel scientific figures. Automatically arranges 6 sub-figures (A-F) into a composite image with consistent styling, labels, and high-resolution output.
Requires Python 3.8+ and the following packages:
pip install Pillow numpyOptional for advanced features:
pip install opencv-python-headlesspython scripts/main.py --input A.png B.png C.png D.png E.png F.png --output figure.png [OPTIONS]| Argument | Required | Default | Description |
|---|---|---|---|
--input / -i | Yes | - | 6 input image paths (A-F) |
--output / -o | Yes | - | Output file path |
--layout / -l | No | 2x3 | Layout: 2x3 or 3x2 |
--dpi / -d | No | 300 | Output DPI (dots per inch) |
--label-font | No | Arial | Font family for labels |
--label-size | No | 24 | Font size for panel labels |
--label-position | No | topleft | Label position: topleft, topright, bottomleft, bottomright |
--padding / -p | No | 10 | Padding between panels (pixels) |
--border / -b | No | 2 | Border width around each panel (pixels) |
--bg-color | No | white | Background color (white/black/hex) |
--label-color | No | black | Label text color (black/white/hex) |
| Parameter | Type | Default | Description |
|---|---|---|---|
--input | str | Required | |
--output | str | Required | Output file path |
--layout | str | "2x3" | |
--dpi | int | 300 | |
--label-font | str | "Arial" | |
--label-size | int | 24 | |
--label-position | str | "topleft" | |
--padding | int | 10 | |
--border | int | 2 | |
--bg-color | str | "white" | |
--label-color | str | "black" |
Basic usage:
python scripts/main.py -i A.png B.png C.png D.png E.png F.png -o figure.png3×2 layout with custom DPI:
python scripts/main.py -i A.png B.png C.png D.png E.png F.png -o figure.png --layout 3x2 --dpi 600Custom styling:
python scripts/main.py -i A.png B.png C.png D.png E.png F.png -o figure.png \
--label-size 32 --label-position topright --padding 20 --border 4Programmatic usage:
from scripts.main import FigureAssembler
assembler = FigureAssembler(
layout="2x3",
dpi=300,
label_size=24,
padding=10
)
assembler.assemble(
inputs=["A.png", "B.png", "C.png", "D.png", "E.png", "F.png"],
output="figure.png",
labels=["A", "B", "C", "D", "E", "F"]
)The script generates a high-resolution composite figure with:
Input: PNG, JPG, JPEG, BMP, TIFF, GIF Output: PNG (recommended), JPG, TIFF
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python/R scripts executed locally | Medium |
| Network Access | No external API calls | Low |
| File System Access | Read input files, write output files | Medium |
| Instruction Tampering | Standard prompt guidelines | Low |
| Data Exposure | Output files saved to workspace | Low |
# Python dependencies
pip install -r requirements.txtf11484c
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.