microsoft/gantt-chart-generator
Use this skill whenever the user asks to visualize a project schedule, timeline, Gantt chart, or phase/task breakdown over time. It gives the agent a prebuilt, parameterized gantt() function so Gantt charts are produced instantly and consistently — with colour-coded groups, completion overlays, a today reference line, and auto-scaled date axes — instead of hand-writing matplotlib each time.
npx skills add https://github.com/microsoft/cat-agent-skills --skill gantt-chart-generator
Generate horizontal Gantt charts from schedule data via the bundled scripts/gantt.py toolkit.
The gantt() function accepts a DataFrame or file path plus column names, and saves a PNG (returning the path).
It handles theming, date parsing, bar colour-coding, completion overlays, today-line, legend, and saving.
.csv / .tsv / .json file.gantt():import sys
sys.path.insert(0, "scripts") # adjust path to where gantt.py is deployed
from gantt import gantt
# Basic — start + end columns
gantt("schedule.csv", phase="Phase", start="Start", end="End",
title="Project Schedule", out="gantt.png")
# Group colour-coding + today line
gantt(df, phase="phase", start="planned_start", end="planned_end",
group="project", today=True, out="schedule.png")
# Duration instead of end date
gantt(df, phase="task", start="start_date", duration="days",
out="schedule.png")
# Completion % hatch overlay
gantt(df, phase="Phase", start="Start", end="End",
completion="PctDone", out="gantt.png")
references/cheatsheet.md for full parameter reference and CLI examples.scripts/gantt.py — the full toolkit (load_data, apply_theme, save_fig, gantt, CLI)references/cheatsheet.md — parameter quick-reference and copy-paste examplesassets/sample_schedule.csv — demo dataset that exercises every featureend OR duration — not both; end takes priority if both are present.Take microsoft/gantt-chart-generator from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.