Mermaid Gantt Chart Generator
jeremylongshore/tons-of-skills-marketplace
Generate mermaid gantt chart generator operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.
Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.
$ npx skills add wanghetommy/ichartjs --skill ichartjs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install wanghetommy/ichartjs ichartjs --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/wanghetommy/ichartjs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ichartjs .claude/skills/ichartjs && rm -rf skills-srcUse ~/.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/
Install the "ichartjs" agent skill from https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjs into .claude/skills/ichartjs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ichartjs", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add wanghetommy/ichartjs --skill ichartjs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install wanghetommy/ichartjs ichartjs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wanghetommy/ichartjs.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ichartjs .agents/skills/ichartjs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ichartjs" agent skill from https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjs into .agents/skills/ichartjs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ichartjs", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wanghetommy/ichartjs --skill ichartjs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install wanghetommy/ichartjs ichartjs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wanghetommy/ichartjs.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ichartjs .cursor/skills/ichartjs && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ichartjs" agent skill from https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjs into .cursor/skills/ichartjs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ichartjs", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/wanghetommy/ichartjs.git --path skills/ichartjs--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add wanghetommy/ichartjs --skill ichartjs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install wanghetommy/ichartjs ichartjs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wanghetommy/ichartjs.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ichartjs .gemini/skills/ichartjs && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ichartjs" agent skill from https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjs into .gemini/skills/ichartjs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ichartjs", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install wanghetommy/ichartjs ichartjsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add wanghetommy/ichartjs --skill ichartjs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/wanghetommy/ichartjs.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ichartjs .github/skills/ichartjs && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ichartjs" agent skill from https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjs into .github/skills/ichartjs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ichartjs", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wanghetommy/ichartjs --skill ichartjs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install wanghetommy/ichartjs ichartjs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wanghetommy/ichartjs.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ichartjs .opencode/skills/ichartjs && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ichartjs" agent skill from https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjs into .opencode/skills/ichartjs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ichartjs", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ichartjsPlan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.
Ichartjs is an agent skill from wanghetommy/ichartjs. Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data. Use when Codex needs to choose a chart, create or repair an iChart.js Spec, build a browser preview, produce Gantt or project analytics, create Flow or Swimlane diagrams, or verify visualization accessibility, diagnostics, lineage, and runtime state.
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/agent-contract.md` and `references/chart-selection.md`).
It sits in Product & Project Management, covering Diagrams and Project management. The repository describes itself as: An agent-first, JSON-driven visualization runtime for interactive charts, project views, and process diagrams with Canvas and SVG support. The licence is Apache-2.0.
12 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d7cd223. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ichartjs loads about 4.2k tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 1,916 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from wanghetommy/ichartjs at commit d7cd223, republished under its Apache-2.0 licence (© wanghetommy). 1,916 words, ~4,217 tokens.
.claude/skills/ichartjs/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Use the public Agent contract as the source of truth. Do not infer capabilities from renderer internals or duplicate chart-selection logic in generated code.
Read the usage scenarios when the request is ambiguous about whether the output should be a live project component, a Coding Agent change, a Skill-generated artifact, or a scheduled report.
Read the conversational workflow when the user asks to change an existing chart in natural language.
For Agent-driven Incremental Construction (visible step-by-step Flow or Board building), read its shared turn contract in that guide. First verify a persistent mounted JavaScript host, preview URL and command update channel exist. A Skill or final file alone cannot show live progress; disclose the limitation and offer artifacts or integration code instead. Submit complete semantic batches, show changes/diagnostics, obtain host approval for each exact preview, then commit and self-check. Do not equate Agent-generated confirmed: true, a template counter, or health.renderable with user approval or task completion.
https://github.com/wanghetommy/ichartjshttps://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjsRecommended installation:
npx skills add wanghetommy/ichartjs --skill ichartjsUse --agent codex --global --yes for global non-interactive Codex installation. Use the tagged directory https://github.com/wanghetommy/ichartjs/tree/v2.0.27/skills/ichartjs when reproducibility matters. WorkBuddy can import the same directory through its Skill interface; do not assume a --agent workbuddy adapter unless the installed CLI declares it.
The Skill is a workflow adapter, not the chart runtime. If the current JavaScript or TypeScript project does not already depend on iChart.js, install the matching runtime from npm:
npm install @taylorwong/ichartjs@^2Do not install the unscoped npm registry package named ichartjs; it is currently a security holding package and is not this project.
docs/agent/quickstart.md when available.
For delivery-oriented work, also read docs/agent/task-validation.md; for mobile loading, read docs/agent/runtime-footprint.md.
If the host knows the capability family, use @taylorwong/ichartjs/standard, /project, /diagram, or /board; use the root package when full discovery or cross-family composition is required.getCapabilities() before selecting a chart or interaction.inspectData() and preserve stable record IDs.getCapabilities().intents; map natural-language requests to an exact registered token before calling planChart(data, { intent, renderer, context }).styleRecommendation, warnings, and fallback status; then call getChartContract(plan.primary) for the selected chart's channels, limits, renderers, exports, and defaults.requiredFields is non-empty; request data or explain a supported alternative.suggestedEncodings, the selected contract, and an applicable recipe.x/y, Pie/Funnel category/value, Gauge value, Heatmap x/y/color, and Radar indicators[].field. Funnel stage text comes from encoding.category (default name) and labels.enabled additionally renders values; narrow stages may report FUNNEL_LABEL_TRUNCATED, so increase width or shorten the stage name. For Flow, use top-level nodes and edges, nodes[].kind from getCapabilities().diagram.flowNodeKinds, and edge label for decision branches. connector uses explicit from/to edges and loops are allowed. To discover recipes, import @taylorwong/ichartjs/recipes/manifest; recipes are declarative starting templates, not executable tasks. Copy one, inject host data, run its declared validator, and then render or preview. The diagrams/workflow entry is an edit template and is not directly renderable until nodes and edges are populated.xAxis/yAxis, labels under labels, and legend under legend; do not place them inside encoding.validateSpec() before rendering and repair its preflight errors, warnings, and normalizations. After createChart(), inspect chart.getState() or chart.explain() for render-time diagnostics such as FUNNEL_LABEL_TRUNCATED, VALUE_CLAMPED, LABELS_SUPPRESSED, LABEL_TRUNCATED, NEGATIVE_VALUE_DROPPED, and ZERO_TOTAL; also inspect getState().layout.labels for wrapped, scaled, inline-edge, offset-edge, and diagram edge-label background counts. Ordinary chart labels do not use background plates. Do not assume every layout warning is available during preflight.createChart() only after validation succeeds. Gauge Specs must declare a meaningful domain.chart.explain(), chart.getState(), health.renderable, dataQuality, and JSON export. Treat VALUE_CLAMPED, LABELS_SUPPRESSED, NEGATIVE_VALUE_DROPPED, FUNNEL_LABEL_TRUNCATED, and ZERO_TOTAL as material diagnostics to report. Treat duplicate stable IDs and mixed inferred units as data-quality warnings that require host review.theme: { mode: 'auto', preset, palette }; preserve explicit user style choices and use chart.setTheme() for live switching.getPreferenceCapabilities(chartType, { locale }), validate the patch with validatePreferences(), apply it with chart.setPreferences(..., { source: 'agent' }), and verify chart.getState().preferences.setPreferences()/setTheme(), complete data replacement → setData(), business or Diagram edit → previewEdit()/applyEdit(), normal Spec change → update(), exact JSON path → applyPatch(). Verify chart.getState().preferenceResolution and chart.explain() after commit.Common type-specific placements:
For titles, labels or annotations, read Chart Text and Annotations. Discover getCapabilities().text / .annotations; use JSON annotations for numeric reference lines or stable-ID callouts on Cartesian charts, not ephemeral pixel plugins. Bar/Column support explicit inside/outside labels. Inspect fitting/target diagnostics and preserve existing annotation IDs when replacing the array. Host approval and natural-language interpretation remain outside the runtime.
| Type | Required data contract |
|---|---|
| Scatter | encoding.x and encoding.y must reference quantitative fields. |
| Gantt | Put dependencies on data.values[].dependencies, not top-level dependencies. |
| Swimlane | Use top-level lanes[].label for lane display text. |
| Flow / Architecture / Mindmap | Keep nodes, edges, layers, and boundaries at Spec top level. |
| Freeform Board | Board item position/size use pixels; path and polygon points are normalized inside the item box. |
Use top-level width and height for chart dimensions. size: { width, height } is not a chart Spec option and returns UNSUPPORTED_SIZE_OPTION.
Theme values are discoverable from getCapabilities().styleSystem or getPreferenceCapabilities(). The current values are mode: auto | light | dark | contrast, preset: auto | analysis | dashboard | report | presentation | project | diagram, and palette: auto | categorical | sequential | diverging | status.
For visible multi-turn Board construction, discover boardCapabilities.incrementalBuilding and use validateBoardCommand() with type: 'board-edit', not chart edit commands. Reuse one Board, explicitly enable editing/structural changes, preview each complete batch, obtain host confirmation, then applyEdit(preview.command, { preview, confirmed: true }). Await ready() for changed images and inspect asset status/health. Preserve existing positions and locked items; only explicitly requested layout changes move content. Root and /board both support transactions; /board embeds standard charts only. See the Board scenario below and @taylorwong/ichartjs/recipes/boards/incremental-board for ordered starting templates.
Use Freeform Board when the output is a bounded whiteboard composition rather than one chart: images, text, simple drawings, connectors, and embedded charts can share one SVG or Canvas surface. Simple drawing is a whiteboard capability, not a separate chart type. Discover the contract first:
const capabilities = getCapabilities();
const boardContract = capabilities.canvasComposition;Supported board items are image, text, shape, path, connector, and embedded chart. Board item position and size are pixels; shape and path geometry points are normalized inside each item box. Shape options are rectangle, ellipse, diamond, hexagon, normalized-point polygon, open arc, and filled sector; path supports normalized linear points or exactly four points for a cubic Bezier. Do not send arbitrary SVG path data. Text automatically fits by wrapping, bounded font reduction, and last-resort ellipsis; inspect board.getState().layout.text. Connectors use explicit from/to item IDs and straight or orthogonal routing. Images are declared in assets, referenced by assetId, and should include alt text.
Use validateBoardSpec() before createBoard(), then mount, await ready(), and inspect board.getState() and board.explain(). Boards are static by default; explicitly enable editing or interaction.drag, interaction.zoom, and interaction.pan only when the host requests them. Export JSON for persistence, SVG for vector delivery, and browser-mounted Canvas as PNG/JPEG.
Read the Freeform Board Scenario for the complete BoardSpec workflow. Use agent-recipes/drawings/cat.json as a validated simple-drawing starting point and preview the unified Freeform Board at http://localhost:3000/playground/canvas-board.html.
Use @taylorwong/ichartjs for package imports. Use examples/agent-workflow.mjs as the executable baseline when working in the repository.
Route by requested output:
Live product component: modify the host JavaScript project and mount createChart(); return changed files and the host preview URL.
Coding Agent change: inspect the repository, use the Runtime, run focused checks, and return the validated Spec plus changed files.
One-off artifact: generate SVG/JSON directly; use browser PNG export or exportAsync() with optional canvas for Node PNG/JPEG.
Project or Diagram workflow: load the matching scenario guide and preserve all stable IDs.
CI/report output: keep JSON as the reproducible checkpoint and SVG/PNG as presentation artifacts.
Visible incremental construction: use the shared workflow and matching Flow/Board contract; preserve manual content, support cancellation/history, and review final requirements before delivery. Report committed steps, unresolved warnings, revision and the live preview URL; do not force this mode for simple one-off work.
For standard data analysis, read references/chart-selection.md and use foundational recipes.
For Gantt, Timeline, Milestone, Burndown, capacity, release, risk, or aging, use project capabilities and agent-recipes/project-management.json.
For Flow or Swimlane, preserve node, edge, lane, group, and port IDs; use diagram recipes and validated edit commands. agent-recipes/drawings/cat.json is a BoardSpec starting template for Freeform Board, not a separate chart type.
For multi-turn Flow building, discover getChartContract('flow').incrementalBuilding and read the Diagram Scenario. Use addNode / removeNode and existing node/edge commands in one preview/commit transaction per turn, not repeated update() replacements that clear history. layered layout reflows nodes without explicit positions; never erase manual positions or waypoints silently. Inspect preview.layout and warnings, obtain host confirmation for structural changes, and inspect getState().layout.diagram after commit. Default node removal rejects incident edges; policy: 'cascade' explicitly removes only incident edges. The incremental-flow recipe is an ordered starting template, not a task executor or natural-language parser.
For diagram readability, keep node labels inside their shapes; edge labels stay inline when space permits and move aside only after a collision. Use getState().layout.labels.diagram to detect wrapping, scaling, truncation, suppression, and edge-label offsets instead of shortening source labels in the Agent.
For business edits, preview first, preserve the preview ID and revision, require confirmation when declared, then commit or reject atomically.
For browser deliverables, start npm run playground and return the exact maintained Playground URL.
Release workflow (npm publish + develop→master merge) is AUTHOR ONLY. Read the release SOP. Never initiate any release step unless the author explicitly instructs.
getCapabilities().intents as an allowlist; never pass a natural-language sentence as planChart().intent.fallbackUsed: true, use intentSuggestions to remap or ask for confirmation; never silently accept the fallback chart.xAxis/yAxis, labels under labels, and legend settings under legend.title: { text, subtitle }; string titles and title.label are compatibility forms and are reported as normalizations.label, edge from/to, and Gantt dependencies; do not substitute name, source/target, or dependsOn.UNKNOWN_INTENT, misplaced-option, and unsupported-axis warnings before presenting a chart. For numeric y-axes, prefer the default readable domain; use yAxis.domain: [min, max] for an explicit range, yAxis.nice: false for raw boundaries, and yAxis.ticks for a stable label count.id values to tabular rows when lineage or linked updates are part of the deliverable.locale explicitly when output needs localization; the default is en-US, and input dates must be ISO-8601 strings.Return:
Read references/agent-contract.md for the required API sequence and response checklist. Read references/chart-selection.md only when selecting or challenging a chart type.
© wanghetommy, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/ichartjs of wanghetommy/ichartjs.
Open the folder on GitHubat commit d7cd223
Ichartjs 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ichartjs this skillwanghetommy/ichartjs | 352 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Mermaid Gantt Chart Generatorjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~591 | Automated safety check: Pass | MIT | |
| Gantt Roadmapmohitagw15856/pm-claude-skills | 1.4k | — | ~884 | Automated safety check: Pass | MIT | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Fable DomainSahir619/fable-method | 2.3k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Design Decknicobailon/pi-design-deck | 291 | — | ~4.3k | Automated safety check: Pass | None |
jeremylongshore/tons-of-skills-marketplace
Generate mermaid gantt chart generator operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.
mohitagw15856/pm-claude-skills
Turn a plan or set of milestones into a timeline / Gantt chart.
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
Sahir619/fable-method
Discuss a domain with the user, research it from real sources, then generate a trusted skill bundle for it - a step-by-step workflow with a flowchart, a domain adapter, a trap fixture, and a smoke…
nicobailon/pi-design-deck
Present visual options for architecture, UI, and code decisions with high-fidelity side-by-side previews.
shep-ai/shep
A skill your agent uses when a large body of work (a version milestone, an epic, a roadmap, a set of PRDs/design docs) needs to be broken into parallel workstreams and executed with the shep CLI.
Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data. Ichartjs is an agent skill from wanghetommy/ichartjs.js visualizations from tabular, project, or diagram data.
Ichartjs fits situations like: Codex needs to choose a chart; repair an iChart.js Spec; build a browser preview; project analytics.
Run `npx skills add wanghetommy/ichartjs --skill ichartjs -a claude-code`. Or copy the skill folder (skills/ichartjs in wanghetommy/ichartjs) into .claude/skills/ichartjs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add wanghetommy/ichartjs --skill ichartjs -a codex`. Or copy the skill folder (skills/ichartjs in wanghetommy/ichartjs) into .agents/skills/ichartjs in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wanghetommy/ichartjs --skill ichartjs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ichartjs, .gemini/skills/ichartjs, .github/skills/ichartjs and .opencode/skills/ichartjs in your project.
Going by SKILL.md and its folder, Ichartjs needs the command-line tools its instructions call (npm and npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. Review the folder before installing.
Ichartjs is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 946 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ichartjs: Mermaid Gantt Chart Generator (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Gantt Roadmap (mohitagw15856/pm-claude-skills, 1.4k stars), CCPM Project Management (automazeio/ccpm, 8.4k stars) and Fable Domain (Sahir619/fable-method, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
wanghetommy (a GitHub user) maintains it in wanghetommy/ichartjs, which has 352 GitHub stars. The repository was last updated on October 7, 2026.
Source: wanghetommy/ichartjs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.