Agent skill

Upset Plot Converter

by aipoch in aipoch/medical-research-skills

Convert complex Venn diagrams with more than 4 sets to clearer Upset.

MITAuto-check passedData & Analytics

Install Upset Plot Converter

skills CLI
$ npx skills add aipoch/medical-research-skills --skill upset-plot-converter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aipoch/medical-research-skills upset-plot-converter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aipoch/medical-research-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'scientific-skills/Data Analysis/upset-plot-converter' .claude/skills/upset-plot-converter && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
upset-plot-converter
GitHub stars
2k
Token cost
~2k tokens
SKILL.md length
877 words
Files
4 (incl. scripts)
Skills in repo
567
Repo updated
First seen
Licence
MIT

At a glance

Convert complex Venn diagrams with more than 4 sets to clearer Upset.

  • Works in 4 steps: Confirm the user input, output path, and… → Edit the in-file CONFIG block or… → Run python scripts/main.py with the… → …
  • Tasks that involve Diagrams
  • SKILL.md covers When to Use, Key Features, Dependencies and Example Usage, plus 18 more sections
  • Runs Python scripts from its folder; calls python

What it does

Upset Plot Converter is an agent skill from aipoch/medical-research-skills. Convert complex Venn diagrams with more than 4 sets to clearer Upset.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/main.py` and `upset-plot-converter_audit_result_v2.json`).

It sits in Data & Analytics, covering Diagrams and Data analysis. The repository describes itself as: Hundreds of agent skills for medical research, including protocol design, data analysis, evidence insights, and academic writing. The licence is MIT.

When your agent uses it

  • Tasks that involve Diagrams
  • Tasks that involve Data analysis

Example prompts

  • “/upset-plot-converter”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Confirm the user input, output path, and any required config values.
  2. Edit the in-file CONFIG block or documented parameters if the script uses fixed settings.
  3. Run python scripts/main.py with the validated inputs.
  4. Review the generated output and return the final artifact with any assumptions called out.

What it can do on your machine

Read from SKILL.md and the folder at commit 686e09d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Upset Plot Converter loads about 2k tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 877 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~23
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from aipoch/medical-research-skills at commit 686e09d, republished under its MIT licence (© aipoch). 877 words, ~2,015 tokens.

Download SKILL.mdSave it as .claude/skills/upset-plot-converter/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
upset-plot-converter
description
Convert complex Venn diagrams with more than 4 sets to clearer Upset.
license
MIT
author
AIPOCH

Source: https://github.com/aipoch/medical-research-skills

Upset Plot Converter

Convert complex Venn diagrams (more than 4 sets) to clearer Upset Plots.

When to Use

  • Use this skill when the task is to Convert complex Venn diagrams with more than 4 sets to clearer Upset.
  • Use this skill for data analysis tasks that require explicit assumptions, bounded scope, and a reproducible output format.
  • Use this skill when you need a documented fallback path for missing inputs, execution errors, or partial evidence.

Key Features

  • Scope-focused workflow aligned to: Convert complex Venn diagrams with more than 4 sets to clearer Upset.
  • Packaged executable path(s): scripts/main.py.
  • Structured execution path designed to keep outputs consistent and reviewable.

Dependencies

See ## Prerequisites above for related details.

  • Python: 3.10+. Repository baseline for current packaged skills.
  • matplotlib: unspecified. Declared in requirements.txt.
  • numpy: unspecified. Declared in requirements.txt.

Example Usage

See ## Usage above for related details.

bash
cd "20260318/scientific-skills/Data Analytics/upset-plot-converter"
python -m py_compile scripts/main.py
python scripts/main.py --help

Example run plan:

  1. Confirm the user input, output path, and any required config values.
  2. Edit the in-file CONFIG block or documented parameters if the script uses fixed settings.
  3. Run python scripts/main.py with the validated inputs.
  4. Review the generated output and return the final artifact with any assumptions called out.

Implementation Details

See ## Workflow above for related details.

  • Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
  • Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
  • Primary implementation surface: scripts/main.py.
  • Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
  • Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.

Quick Check

Use this command to verify that the packaged script entry point can be parsed before deeper execution.

bash
python -m py_compile scripts/main.py

Audit-Ready Commands

Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.

bash
python -m py_compile scripts/main.py
python scripts/main.py

Workflow

  1. Confirm the user objective, required inputs, and non-negotiable constraints before doing detailed work.
  2. Validate that the request matches the documented scope and stop early if the task would require unsupported assumptions.
  3. Use the packaged script path or the documented reasoning path with only the inputs that are actually available.
  4. Return a structured result that separates assumptions, deliverables, risks, and unresolved items.
  5. If execution fails or inputs are incomplete, switch to the fallback path and state exactly what blocked full completion.

Usage

python
from skills.upset_plot_converter.scripts.main import convert_venn_to_upset

# From set data
sets = {
    'A': {1, 2, 3, 4, 5},
    'B': {4, 5, 6, 7, 8},
    'C': {3, 5, 7, 9, 10},
    'D': {2, 4, 6, 8, 10},
    'E': {1, 3, 5, 7, 9}
}
convert_venn_to_upset(sets, output_path="upset_plot.png")

# From list data
from skills.upset_plot_converter.scripts.main import upset_from_lists
set_names = ['Genes A', 'Genes B', 'Genes C', 'Genes D', 'Genes E']
lists = [
    ['gene1', 'gene2', 'gene3'],
    ['gene2', 'gene4', 'gene5'],
    ['gene3', 'gene5', 'gene6'],
    ['gene7', 'gene8', 'gene9'],
    ['gene1', 'gene10', 'gene11']
]
upset_from_lists(set_names, lists, output_path="gene_upset.png", title="Gene Intersections")

Input

  • sets: Dictionary of set names to sets/lists of elements, OR
  • set_names: List of set names
  • lists: List of lists (each containing elements)
  • output_path: Path to save the output figure
  • title: Optional title for the plot
  • min_subset_size: Minimum subset size to display (default: 1)
  • max_intersections: Maximum number of intersections to show (default: 30)

Output

PNG file of the Upset Plot visualization.

Notes

  • When Venn diagrams exceed 4 sets, they become difficult to read
  • Upset Plots provide a clearer alternative for visualizing set intersections
  • The x-axis shows set intersections as dot patterns
  • Bar heights represent the size of each intersection
  • Automatically sorts intersections by size for better readability

Requirements

  • matplotlib
  • numpy
  • pandas

Risk Assessment

Risk IndicatorAssessmentLevel
Code ExecutionPython/R scripts executed locallyMedium
Network AccessNo external API callsLow
File System AccessRead input files, write output filesMedium
Instruction TamperingStandard prompt guidelinesLow
Data ExposureOutput files saved to workspaceLow
Show full SKILL.md (335 more words)Show less

Security Checklist

  • No hardcoded credentials or API keys
  • No unauthorized file system access (../)
  • Output does not expose sensitive information
  • Prompt injection protections in place
  • Input file paths validated (no ../ traversal)
  • Output directory restricted to workspace
  • Script execution in sandboxed environment
  • Error messages sanitized (no stack traces exposed)
  • Dependencies audited

Prerequisites

text

# Python dependencies
pip install -r requirements.txt

Evaluation Criteria

Success Metrics
  • Successfully executes main functionality
  • Output meets quality standards
  • Handles edge cases gracefully
  • Performance is acceptable
Test Cases
  1. Basic Functionality: Standard input → Expected output
  2. Edge Case: Invalid input → Graceful error handling
  3. Performance: Large dataset → Acceptable processing time

Lifecycle Status

  • Current Stage: Draft
  • Next Review Date: 2026-03-06
  • Known Issues: None
  • Planned Improvements:
    • Performance optimization
    • Additional feature support

Output Requirements

Every final response should make these items explicit when they are relevant:

  • Objective or requested deliverable
  • Inputs used and assumptions introduced
  • Workflow or decision path
  • Core result, recommendation, or artifact
  • Constraints, risks, caveats, or validation needs
  • Unresolved items and next-step checks

Error Handling

  • If required inputs are missing, state exactly which fields are missing and request only the minimum additional information.
  • If the task goes outside the documented scope, stop instead of guessing or silently widening the assignment.
  • If scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.
  • Do not fabricate files, citations, data, search results, or execution outcomes.

Input Validation

This skill accepts requests that match the documented purpose of upset-plot-converter and include enough context to complete the workflow safely.

Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:

upset-plot-converter only handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.

Response Template

Use the following fixed structure for non-trivial requests:

  1. Objective
  2. Inputs Received
  3. Assumptions
  4. Workflow
  5. Deliverable
  6. Risks and Limits
  7. Next Checks

If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.

© aipoch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts) in scientific-skills/Data Analysis/upset-plot-converter of aipoch/medical-research-skills.

  • SKILL.md
  • requirements.txt
  • scripts/main.py
  • upset-plot-converter_audit_result_v2.json

Open the folder on GitHubat commit 686e09d

Compare with similar skills

Upset Plot Converter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Upset Plot Converter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upset Plot Converter this skillaipoch/medical-research-skills2k—~2kAutomated safety check: PassMIT
Jais Tables Figuresbrycewang-stanford/Awesome-Journal-Skills1.2k—~2.2kAutomated safety check: PassMIT
AI Daily DigestvigorX777/ai-daily-digest1.6k—~1.3kAutomated safety check: PassNone
Documd Visualsmarkdown-viewer/skills3.4k—~3.3kAutomated safety check: PassCC-BY-4.0
Agentic Kaggle WorkflowFrankS-IntelLab/agentic-kaggle-skill188—~4kAutomated safety check: PassMIT
Academic Figurejoshua-zyy/academic-paper-writer1151 repos~816Automated safety check: PassMIT

Similar skills

  • Jais Tables Figures

    brycewang-stanford/Awesome-Journal-Skills

    A skill your agent uses when building the exhibits of a Journal of the Association for Information Systems (JAIS) manuscript — tables, figures, the required SEM correlation/covariance matrix, and…

    1.2k GitHub stars~2.2k tokensUpdated 10 days ago
    Data & AnalyticsAuto-check passed
  • AI Daily Digest

    vigorX777/ai-daily-digest

    Fetches RSS feeds from 90 top Hacker News blogs (curated by Karpathy), uses AI to score and filter articles, and generates a daily digest in Markdown with Chinese-translated titles, category…

    1.6k GitHub stars~1.3k tokensUpdated 7 mo ago
    Data & AnalyticsAuto-check passed
  • Documd Visuals

    markdown-viewer/skills

    Create text-driven visuals in Markdown: charts, diagrams, cards, architecture and page layouts.

    3.4k GitHub stars~3.3k tokensUpdated 2 days ago
    Data & AnalyticsAuto-check passed
  • Agentic Kaggle Workflow

    FrankS-IntelLab/agentic-kaggle-skill

    Takes a Kaggle competition from rules and validation design through baselines, ensembling and notebook architecture to a scored submission.

    188 GitHub stars~4k tokensUpdated 3 mo ago
    Data & AnalyticsAuto-check passed
  • Academic Figure

    joshua-zyy/academic-paper-writer

    Create, revise, or audit academic data/result figures for CS/AI/ML papers.

    115 GitHub starsUsed in 1 repo~816 tokens
    Data & AnalyticsAuto-check passed
  • Setup Workspace

    probabl-ai/skills

    Detect an existing ML workspace or scaffold a fresh one via python -m skoreskills scaffold --package <pkg.

    137 GitHub stars~1.5k tokensUpdated today
    Data & AnalyticsAuto-check passed

More from aipoch/medical-research-skills

All 567 skills in this repo
  • Academic Poster Generator

    aipoch/medical-research-skills

    Complete workflow for generating academic research posters from PDF literature; use when you need to extract paper content from PDFs and produce a LaTeX-based poster…

    2k GitHub stars~2.2k tokensUpdated 21 days ago
    Auto-check passed
  • Diagnostic Study Quality Assessment Quadas

    aipoch/medical-research-skills

    Analyzes clinical diagnostic accuracy studies for bias using the QUADAS-2 tool.

    2k GitHub stars~1.4k tokensUpdated 21 days ago
    Auto-check passed
  • Exploratory Data Analysis

    aipoch/medical-research-skills

    Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats.

    2k GitHub stars~3.7k tokensUpdated 21 days ago
    Auto-check passed
  • Iso Certification

    aipoch/medical-research-skills

    A toolkit for preparing ISO 13485:2016 certification documentation for medical device QMS.

    2k GitHub stars~1.8k tokensUpdated 21 days ago
    Auto-check passed
  • Journal Skills

    aipoch/medical-research-skills

    Recommends target journals for manuscript submission by analyzing the paper topic/abstract and the journal distribution of similar PubMed literature; use when users ask for journal…

    2k GitHub stars~1.7k tokensUpdated 21 days ago
    Auto-check passed
  • Latex Posters

    aipoch/medical-research-skills

    Creates academic-poster writing packages for LaTeX using beamerposter, tikzposter, or baposter.

    2k GitHub stars~1.3k tokensUpdated 21 days ago
    Auto-check passed

Questions about Upset Plot Converter

What does Upset Plot Converter do?

Convert complex Venn diagrams with more than 4 sets to clearer Upset. Upset Plot Converter is an agent skill from aipoch/medical-research-skills. Convert complex Venn diagrams with more than 4 sets to clearer Upset.

When should I use Upset Plot Converter?

Upset Plot Converter fits situations like: tasks that involve Diagrams; tasks that involve Data analysis.

How do I install Upset Plot Converter in Claude Code?

Run `npx skills add aipoch/medical-research-skills --skill upset-plot-converter -a claude-code`. Or copy the skill folder (scientific-skills/Data Analysis/upset-plot-converter in aipoch/medical-research-skills) into .claude/skills/upset-plot-converter in your project. Claude Code loads it when a task matches its description.

How do I install Upset Plot Converter in Codex?

Run `npx skills add aipoch/medical-research-skills --skill upset-plot-converter -a codex`. Or copy the skill folder (scientific-skills/Data Analysis/upset-plot-converter in aipoch/medical-research-skills) into .agents/skills/upset-plot-converter in your project. Codex loads it when a task matches its description.

Can I use Upset Plot Converter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aipoch/medical-research-skills --skill upset-plot-converter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upset-plot-converter, .gemini/skills/upset-plot-converter, .github/skills/upset-plot-converter and .opencode/skills/upset-plot-converter in your project.

What does Upset Plot Converter need to run?

Going by SKILL.md and its folder, Upset Plot Converter needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Upset Plot Converter access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Upset Plot Converter safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Upset Plot Converter use?

Upset Plot Converter is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Upset Plot Converter use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Upset Plot Converter?

Skills that share tags, products or a category with Upset Plot Converter: Jais Tables Figures (brycewang-stanford/Awesome-Journal-Skills, 1.2k stars), AI Daily Digest (vigorX777/ai-daily-digest, 1.6k stars), Documd Visuals (markdown-viewer/skills, 3.4k stars) and Agentic Kaggle Workflow (FrankS-IntelLab/agentic-kaggle-skill, 188 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upset Plot Converter?

aipoch (a GitHub organization) maintains it in aipoch/medical-research-skills, which has 1,974 GitHub stars. The repository holds 567 skills in this directory. The repository was last updated on September 17, 2026.

Source: aipoch/medical-research-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.