⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
live-gantt
Use when creating or updating Claude Code tasks with TaskCreate or TaskUpdate for work spanning more than a few steps, or when starting background agents or external runs that belong to a task.
Choose how to use this skill
You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.
1. Native installer
This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.
Do not guess an installer command or replace an existing version without reviewing the diff.
2. Complete package recommended
Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.
No complete ProSkills package is published for this listing yet.3. Prompt-only
Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.
Need only the instruction file?
Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.
No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.
// RATINGS
Not yet listed on ClawHub or SkillsMP
// README
Live Gantt
Live Gantt shows how your Claude Code development plan is progressing and when each milestone is expected to finish. The overview pairs reported progress with an expected finish (50th-percentile planning estimate, P50) and a later estimate (90th-percentile planning estimate, P90). The timeline explains that outlook through tasks, agents, dependencies and recorded work. It runs on your machine, reads only local files and sends nothing anywhere. The task list is the plan; there is no separate plan file.
Requires Python 3.11 or later. Uses only its standard library and one static page with Hypertext Markup Language (HTML), Cascading Style Sheets (CSS) and JavaScript. No dependencies or build step are needed. Login startup supports macOS with launchd and Linux with a systemd user service. Live Gantt is designed for Claude Code on macOS and Linux; Claude web chat and Cowork do not provide its local task files or service environment.
Install as a Claude Code plugin
This repository is both the plugin and its one-plugin marketplace. In your terminal, add the public marketplace and install the plugin:
claude plugin marketplace add alkindilabs/live-gantt
claude plugin install live-gantt@live-gantt
Then start or restart Claude Code and run /live-gantt:open.
To update an existing installation:
claude plugin update live-gantt@live-gantt
Restart Claude Code to load the updated plugin. Its SessionStart hook updates an existing local service when the plugin version advances. For local development, use the checkout's path instead of alkindilabs/live-gantt when adding the marketplace.
The open command checks the local server. If it is not running, Claude explains installation and asks before running the installer, then gives you the chart address. The plugin's skill guides task planning; its TaskCreate hook reminds Claude when scheduling fields are missing, and its freshness hooks keep the plan from going stale (see Freshness).
Installation copies the application out of the replaceable plugin cache into stable per-user storage:
| Platform | Application directory |
|---|---|
| macOS | ~/Library/Application Support/live-gantt |
| Linux | $XDG_DATA_HOME/live-gantt, or ~/.local/share/live-gantt when unset |
It records the installed version and registers a login service using your Python interpreter. The service runs at niceness 10 with low-priority input/output and does no polling while the chart is closed. A SessionStart hook refreshes and restarts an already installed service when the plugin version is newer. It does nothing when no installation exists, or the installed version is current or newer. Installing the plugin alone does not install the service.
Install without a plugin
From a checkout, register the same per-user service:
./scripts/install.sh
Open http://127.0.0.1:4791. No administrator privileges are required. An explicitly set CLAUDE_CONFIG_DIR is captured during installation and retained across updates; reinstall with a new value to change the source root. Reinstall from the updated checkout to update a standalone installation.
To run without a login service:
python3 -B -m live_gantt
To use another port for this foreground process, pass --port 4792. Stop it with Control-C. The -B flag prevents bytecode caches.
Privacy
The chart runs locally, reads local files without modifying them, and sends nothing anywhere. The server binds only IPv4 loopback and accepts only 127.0.0.1 and localhost Host headers with its port. It sends no cross-origin resource sharing headers; source text is rendered as text, not executable markup. There are no analytics, remote assets or outbound requests.
The default source is Claude Code's configuration directory; CLAUDE_CONFIG_DIR selects another root. The service writes its own installed files and logs, never tasks or transcripts. Closing every chart tab stops source polling; reopening reconstructs history from transcripts.
Compatibility
Tested with Claude Code 2.1.292. Task lists, session transcripts and subagent metadata are local implementation details, not a public, versioned application programming interface (API). A Claude Code update can change them without notice. Task discovery and task history or agent association are likely to break first: expect missing sessions, missing actual start/end times or detached agents. Metadata warnings can identify individual invalid fields.
Report a compatibility problem as an issue with your Claude Code version, what is missing, and any warning text. Do not attach private transcripts. The invented-data compatibility fixture and end-to-end test pin the observed file shapes and must be refreshed against each supported Claude Code release.
Read the chart
Sessions are ordered by the last parent transcript or task-file change. The session picker (click it or press /) lists sessions that have task files or agents, since only those can draw a chart; headless claude -p runs such as commit gates, and chats without tasks, stay hidden until you tick All sessions. Each entry shows its title, the first prompt when a custom title replaces it, Active when its transcript changed in the last 5 minutes (otherwise how long ago it changed), the project and its task and agent counts. Type to filter by title, prompt or project; use the arrow keys and Enter to switch and Escape to close. The address keeps the selected session as #session=<id>, so a bookmark or reload returns to it. Sessions without tasks that last changed more than 14 days ago show only their identifier and date until selected. A session's custom title (the latest rename) takes precedence over the first prompt you typed, and the project shown is the session's latest working directory; command caveats, slash-command echoes and other harness markup are skipped. Tasks are grouped by lane, in task identifier order. Current running work reserves its lane before pending work. Done bars use recorded start and completion times; a task without those times has a no history marker rather than invented dates.
Running bars end at now and have a patterned projection for the remaining estimate. Overrunning tasks use hatching. Pending tasks with a forecast waiting for their lane or prerequisites are Queued, with labels such as after #56. Blocked means a missing prerequisite or dependency cycle prevents a forecast. An unknown estimate leaves the task unestimated and marks affected successors. A running agent's bar names its latest step when that step described itself; finished, failed and silent agents' bars name their state. Bar and activity labels sit at the right end inside a bar when they fit, or just after it when they do not; horizontal scrolling reveals labels beyond the visible window. Detached agents appear in an Agents lane when active in the visible window. Workflow runs appear in a Workflows lane, one row per run named after the workflow, with its running agents beneath it under their workflow labels; finished agents fold into marks under the run's bar, and its 2/5 done badge expands them. An agent is done once it hands its report back or the session is notified that it finished; a resumed agent runs again. Silent agents have had no transcript activity for 30 minutes without finishing. External runs stay live until their ended timestamp is set, even if their log goes quiet.
The overview keeps each unfinished milestone visible with its own progress bar, Expected finish, Later estimate, and estimated time remaining. Percentages come from the plan's weighted progress reports; finish estimates can also use live agent progress. Independent milestones are not averaged into a misleading overall percentage. Needs estimates means no remaining task has an estimate; Forecast unavailable means the plan cann
// HOW IT'S BUILT
KEY FILES