Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Cancer Research (AACR) figures: resolution (300-1200 DPI), formats (EPS/TIFF/AI), hierarchical panel labels (Ai, Aii, Bi), figure/table limits, legend requirements with replicate counts.
.claude/skills/jaechang-hits-cancer-research-figure-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 88% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 99% | 0% |
This guide provides the complete specifications for preparing figures for submission to Cancer Research and other AACR (American Association for Cancer Research) journals. Cancer Research has a distinctive hierarchical panel labeling system (Ai, Aii, Bi, Bii) and strict limits on the total number of display items.
Official reference: https://aacrjournals.org/pages/article-style-and-format
| Image Type | Minimum Resolution | |---|---| | Line art | 1,200 DPI | | Halftone / color images | 300 DPI | | Combination artwork | 600-900 DPI |
pythonfrom PIL import Image def check_cancer_res_resolution(image_path, image_type='halftone'): """Check if image meets Cancer Research resolution requirements. Args: image_type: 'lineart' (1200), 'halftone' (300), or 'combination' (600) """ min_dpi = {'lineart': 1200, 'halftone': 300, 'combination': 600} required = min_dpi.get(image_type, 300) img = Image.open(image_path) dpi = img.info.get('dpi', (72, 72)) print(f"Type: {image_type} | Required: {required} DPI | Actual: {dpi[0]} DPI") passed = dpi[0] >= required print("PASS" if passed else f"FAIL: Need {required} DPI minimum") return passed
| Format | Accepted | |---|---| | EPS | Yes | | TIFF | Yes | | AI (Adobe Illustrator) | Yes | | PSD (Photoshop) | Yes | | PNG | Yes | | PS (PostScript) | Yes |
| Article Type | Maximum Display Items | |---|---| | Research Articles | 7 figures + tables combined | | Letters | 2 display items total |
| Element | Font | Size | |---|---|---| | Manuscript body text | Arial, Helvetica, or Times New Roman | 12 pt | | Figure text | Same fonts | 8-12 pt range |
Cancer Research uses a unique three-level hierarchical labeling system:
Preferred format: Ai, Aii, Bi, Bii (NOT Aa, Ab, Ba, Bb)
pythondef generate_cancer_res_labels(n_main_panels, sub_panels_per_main=None): """Generate Cancer Research hierarchical panel labels. Args: n_main_panels: Number of main panels (A, B, C, ...) sub_panels_per_main: List of sub-panel counts per main panel, or None for no sub-panels Returns: List of label strings Example: generate_cancer_res_labels(3, [2, 3, 1]) # Returns: ['Ai', 'Aii', 'Bi', 'Bii', 'Biii', 'C'] """ import string labels = [] roman = ['i', 'ii', 'iii', 'iv', 'v', 'vi', 'vii', 'viii'] for i in range(n_main_panels): main_label = string.ascii_uppercase[i] if sub_panels_per_main and sub_panels_per_main[i] > 1: for j in range(sub_panels_per_main[i]): labels.append(f"{main_label}{roman[j]}") else: labels.append(main_label) return labels
python# 3 main panels: A has 2 sub-panels, B has 3, C has 1 labels = generate_cancer_res_labels(3, [2, 3, 1]) print(labels) # Output: ['Ai', 'Aii', 'Bi', 'Bii', 'Biii', 'C']
Cancer Research follows general AACR editorial policies for image integrity:
pythonfrom PIL import Image import os def validate_cancer_res_figure(image_path, image_type='halftone'): """Full validation of a figure against Cancer Research requirements.""" img = Image.open(image_path) issues = [] # 1. Resolution check min_dpi = {'lineart': 1200, 'halftone': 300, 'combination': 600} required = min_dpi.get(image_type, 300) dpi = img.info.get('dpi', (72, 72)) if dpi[0] < required: issues.append(f"Resolution {dpi[0]} DPI below {required} DPI for {image_type}") # 2. Color mode check if img.mode not in ('RGB', 'RGBA'): issues.append(f"Color mode is {img.mode}; RGB recommended") # 3. Format check fmt = img.format accepted = ['TIFF', 'EPS', 'PNG', 'JPEG', 'PDF'] if fmt and fmt.upper() not in accepted: issues.append(f"Format '{fmt}' not in standard list") # Report print(f"=== Cancer Research Figure Validation ===") print(f"Dimensions: {img.size[0]} x {img.size[1]} px") print(f"DPI: {dpi[0]} x {dpi[1]}") print(f"Color mode: {img.mode}") print(f"Format: {fmt}") if issues: print(f"\nISSUES FOUND ({len(issues)}):") for issue in issues: print(f" - {issue}") else: print("\nAll checks PASSED") print("\nREMINDER: Cancer Research limits Research Articles to 7 figures+tables total") print("REMINDER: Legends must include number of technical AND biological replicates") return len(issues) == 0
Cancer Research uses a unique three-level labeling system: Level 1 uses capital letters (A, B, C), Level 2 uses Roman numerals (i, ii, iii), and Level 3 uses lowercase letters (a, b, c). The preferred format is Ai, Aii, Bi, Bii — not Aa, Ab, Ba, Bb. No boxes or periods surround panel labels.
Cancer Research strictly limits the total number of display items (figures + tables combined). Research Articles are limited to 7 display items; Letters are limited to 2. Planning figure composition to maximize information density within these limits is essential.
A distinctive Cancer Research requirement is that figure legends must include the number of both technical and biological replicates for each experiment shown. This transparency standard supports reproducibility and is checked during editorial review.
What type of image are you preparing?
├── Line art (diagram, schematic) → 1,200 DPI
├── Halftone (photo, micrograph) → 300 DPI
├── Combination (mixed text + image) → 600-900 DPI
└── Multi-panel figure
├── Simple panels (A, B, C) → Standard uppercase labels
└── Sub-panels needed → Hierarchical: Ai, Aii, Bi, Bii| Scenario | Format | Resolution | Labeling | |---|---|---|---| | Western blot with quantification | TIFF + EPS | 300 DPI (blot) + 1,200 DPI (graph) | Ai (blot), Aii (quantification) | | Tumor growth curves | EPS or AI | Vector or 1,200 DPI | A, B, C (simple panels) | | Immunohistochemistry panel | TIFF | 300 DPI | Ai, Aii, Bi, Bii (conditions x magnifications) | | Flow cytometry dot plots | TIFF or PDF | 300 DPI | Hierarchical by condition | | Kaplan-Meier survival curves | EPS or PDF | Vector | Simple A, B labeling |
Before submitting figures to Cancer Research, verify:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 18,358 | 21,432 | +17% | 1 | 1 | 0% | 3,767 | 4,608 | +22% | 0 | 0 | — |
case-02 | pass→pass | 21,025 | 15,297 | -27% | 1 | 1 | 0% | 3,167 | 5,865 | +85% | 0 | 0 | — |
case-03 | fail→pass | 25,404 | 14,774 | -42% | 1 | 1 | 0% | 4,811 | 5,756 | +20% | 0 | 0 | — |
case-04 | fail→pass | 12,944 | 5,419 | -58% | 1 | 1 | 0% | 2,016 | 3,781 | +88% | 0 | 0 | — |
case-09 | fail→pass | 11,357 | 5,331 | -53% | 1 | 1 | 0% | 1,736 | 3,601 | +107% | 0 | 0 | — |
case-05 | fail→pass | 12,487 | 6,668 | -47% | 1 | 1 | 0% | 1,989 | 3,965 | +99% | 0 | 0 | — |
case-06 | fail→pass | 15,392 | 5,421 | -65% | 1 | 1 | 0% | 814 | 3,814 | +369% | 0 | 0 | — |
case-07 | pass→pass | 9,288 | 5,306 | -43% | 1 | 1 | 0% | 1,364 | 3,800 | +179% | 0 | 0 | — |
case-08 | pass→pass | 8,189 | 3,995 | -51% | 1 | 1 | 0% | 1,271 | 3,556 | +180% | 0 | 0 | — |
case-10 | fail→pass | 8,305 | 2,450 | -70% | 1 | 1 | 0% | 1,344 | 3,308 | +146% | 0 | 0 | — |
case-11 | pass→pass | 8,774 | 5,512 | -37% | 1 | 1 | 0% | 1,354 | 3,739 | +176% | 0 | 0 | — |
case-12 | pass→pass | 11,203 | 5,950 | -47% | 1 | 1 | 0% | 1,566 | 3,764 | +140% | 0 | 0 | — |
case-13 | pass→pass | 10,252 | 7,625 | -26% | 1 | 1 | 0% | 1,518 | 4,081 | +169% | 0 | 0 | — |
case-14 | pass→pass | 13,300 | 5,761 | -57% | 1 | 1 | 0% | 1,955 | 3,820 | +95% | 0 | 0 | — |
case-15 | fail→pass | 10,489 | 3,369 | -68% | 1 | 1 | 0% | 1,664 | 3,517 | +111% | 0 | 0 | — |
case-16 | fail→pass | 11,339 | 4,972 | -56% | 1 | 1 | 0% | 2,010 | 3,816 | +90% | 0 | 0 | — |
case-17 | fail→pass | 12,107 | 5,437 | -55% | 1 | 1 | 0% | 2,025 | 3,902 | +93% | 0 | 0 | — |
case-18 | fail→pass | 9,183 | 6,580 | -28% | 1 | 1 | 0% | 1,486 | 3,929 | +164% | 0 | 0 | — |
case-19 | pass→pass | 10,787 | 2,846 | -74% | 1 | 1 | 0% | 1,602 | 3,339 | +108% | 0 | 0 | — |
case-20 | pass→pass | 5,376 | 4,911 | -9% | 1 | 1 | 0% | 865 | 3,686 | +326% | 0 | 0 | — |
case-21 | pass→pass | 16,501 | 18,979 | +15% | 1 | 1 | 0% | 2,628 | 6,028 | +129% | 0 | 0 | — |
case-22 | pass→pass | 14,803 | 12,337 | -17% | 1 | 1 | 0% | 2,165 | 4,774 | +121% | 0 | 0 | — |
case-23 | pass→pass | 17,730 | 19,722 | +11% | 1 | 1 | 0% | 2,591 | 5,945 | +129% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +48 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.