Agent skill

Ichartjs

by wanghetommy in wanghetommy/ichartjs

Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.

Apache-2.0Auto-check passedProduct & Project Management

Install Ichartjs

skills CLI
$ npx skills add wanghetommy/ichartjs --skill ichartjs -a claude-code

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

GitHub CLI
$ gh skill install wanghetommy/ichartjs ichartjs --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/wanghetommy/ichartjs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ichartjs .claude/skills/ichartjs && 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
ichartjs
GitHub stars
352
Token cost
~4.2k tokens
SKILL.md length
1,916 words
Files
4 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.

  • Works in 12 steps: Locate the package or repository root.… → Call getCapabilities() before selecting… → Call inspectData() and preserve stable… → …
  • Codex needs to choose a chart
  • SKILL.md covers Source and Runtime Setup, Workflow, Freeform Board and Task Routing, plus 2 more sections
  • Calls npm and npx

What it does

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.

When your agent uses it

  • Codex needs to choose a chart
  • Repair an iChart.js Spec
  • Build a browser preview
  • Project analytics

Example prompts

  • “/ichartjs”

Requirements

  • Node.js

Workflow steps

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

  1. Locate the package or repository root. Read docs/agent/quickstart.md when available.
  2. Call getCapabilities() before selecting a chart or interaction.
  3. Call inspectData() and preserve stable record IDs.
  4. Discover getCapabilities().intents; map natural-language requests to an exact registered token before calling planChart(data, { intent…
  5. Inspect the complete planning result, including styleRecommendation, warnings, and fallback status; then call…
  6. Stop when requiredFields is non-empty; request data or explain a supported alternative.
  7. Build a JSON-serializable Spec using suggestedEncodings, the selected contract, and an applicable recipe.
  8. Use chart-specific channels: Cartesian x/y, Pie/Funnel category/value, Gauge value, Heatmap x/y/color, and Radar indicators[].field…
  9. Keep titles/formats under xAxis/yAxis, labels under labels, and legend under legend; do not place them inside encoding.
  10. Call validateSpec() before rendering and repair its preflight errors, warnings, and normalizations. After createChart(), inspect…
  11. Call createChart() only after validation succeeds. Gauge Specs must declare a meaningful domain.
  12. Self-check with chart.explain(), chart.getState(), health.renderable, dataQuality, and JSON export. Treat VALUE_CLAMPED…

What it can do on your machine

Read from SKILL.md and the folder at commit d7cd223. 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

    Shell commands in SKILL.md call:

    • npm
    • npx

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

  • Network

    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.

  • 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

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.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.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); files beside SKILL.md are not scanned.

SKILL.md

The full file from wanghetommy/ichartjs at commit d7cd223, republished under its Apache-2.0 licence (© wanghetommy). 1,916 words, ~4,217 tokens.

Download SKILL.mdSave it as .claude/skills/ichartjs/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
ichartjs
description
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.

iChart.js

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.

Source and Runtime Setup

  • Official repository: https://github.com/wanghetommy/ichartjs
  • Official Skill source: https://github.com/wanghetommy/ichartjs/tree/master/skills/ichartjs
  • Supported Skill hosts include Codex, WorkBuddy, and other Agent Skills-compatible environments.

Recommended installation:

bash
npx skills add wanghetommy/ichartjs --skill ichartjs

Use --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:

bash
npm install @taylorwong/ichartjs@^2

Do not install the unscoped npm registry package named ichartjs; it is currently a security holding package and is not this project.

Workflow

  1. Locate the package or repository root. Read 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.
  2. Call getCapabilities() before selecting a chart or interaction.
  3. Call inspectData() and preserve stable record IDs.
  4. Discover getCapabilities().intents; map natural-language requests to an exact registered token before calling planChart(data, { intent, renderer, context }).
  5. Inspect the complete planning result, including styleRecommendation, warnings, and fallback status; then call getChartContract(plan.primary) for the selected chart's channels, limits, renderers, exports, and defaults.
  6. Stop when requiredFields is non-empty; request data or explain a supported alternative.
  7. Build a JSON-serializable Spec using suggestedEncodings, the selected contract, and an applicable recipe.
  8. Use chart-specific channels: Cartesian 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.
  9. Keep titles/formats under xAxis/yAxis, labels under labels, and legend under legend; do not place them inside encoding.
  10. Call 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.
  11. Call createChart() only after validation succeeds. Gauge Specs must declare a meaningful domain.
  12. Self-check with 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.
  13. Provide an exact preview URL or artifact path and report assumptions, warnings, data-quality issues, and deferred checks.
  14. Prefer theme: { mode: 'auto', preset, palette }; preserve explicit user style choices and use chart.setTheme() for live switching.
  15. For post-creation visual changes, call getPreferenceCapabilities(chartType, { locale }), validate the patch with validatePreferences(), apply it with chart.setPreferences(..., { source: 'agent' }), and verify chart.getState().preferences.
  16. For natural-language changes, classify the request before mutating: visual → 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.

TypeRequired data contract
Scatterencoding.x and encoding.y must reference quantitative fields.
GanttPut dependencies on data.values[].dependencies, not top-level dependencies.
SwimlaneUse top-level lanes[].label for lane display text.
Flow / Architecture / MindmapKeep nodes, edges, layers, and boundaries at Spec top level.
Freeform BoardBoard 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.

Freeform Board

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:

js
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.

Show full SKILL.md (691 more words)Show less

Task Routing

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.

Guardrails

  • Never invent fields, units, dates, dependencies, calendar rules, domains, or forecast confidence.
  • Never silently drop validation errors, warnings, assumptions, normalizations, or unsupported requests.
  • Treat getCapabilities().intents as an allowlist; never pass a natural-language sentence as planChart().intent.
  • If planning returns fallbackUsed: true, use intentSuggestions to remap or ask for confirmation; never silently accept the fallback chart.
  • Keep axis titles/formats under xAxis/yAxis, labels under labels, and legend settings under legend.
  • Use title: { text, subtitle }; string titles and title.label are compatibility forms and are reported as normalizations.
  • Use diagram label, edge from/to, and Gantt dependencies; do not substitute name, source/target, or dependsOn.
  • Repair 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.
  • Add stable string id values to tabular rows when lineage or linked updates are part of the deliverable.
  • Avoid Pie for high-cardinality categories; prefer Bar for comparison.
  • Require explicit Radar domains when units differ.
  • Distinguish missing Heatmap values from zero.
  • Set locale explicitly when output needs localization; the default is en-US, and input dates must be ISO-8601 strings.
  • Use categorical, sequential, diverging, or status palettes by data semantics; do not invent arbitrary color sets or rely on color alone.
  • Surface theme contrast diagnostics and high-cardinality color warnings.
  • Do not generate Map or 3D Specs unless capabilities explicitly add them.
  • Prefer SVG for accessibility, DOM interaction, and diagram editing; prefer Canvas for larger mark counts when supported.
  • Destroy replaced charts and verify lifecycle cleanup.

Deliverable

Return:

  • the selected chart and reasons;
  • the validated Spec or structured repair request;
  • assumptions, warnings, and unsupported requests;
  • explanation lineage and runtime self-check;
  • changed files when coding;
  • the exact preview URL and acceptance actions.

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

Files

SKILL.md and 3 other files (references) in skills/ichartjs of wanghetommy/ichartjs.

  • SKILL.md
  • agents/openai.yaml
  • references/agent-contract.md
  • references/chart-selection.md

Open the folder on GitHubat commit d7cd223

Compare with similar skills

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.

Ichartjs compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ichartjs this skillwanghetommy/ichartjs352—~4.2kAutomated safety check: PassApache-2.0
Mermaid Gantt Chart Generatorjeremylongshore/tons-of-skills-marketplace2.8k—~591Automated safety check: PassMIT
Gantt Roadmapmohitagw15856/pm-claude-skills1.4k—~884Automated safety check: PassMIT
CCPM Project Managementautomazeio/ccpm8.4k—~1.1kAutomated safety check: PassMIT
Fable DomainSahir619/fable-method2.3k—~2.6kAutomated safety check: PassMIT
Design Decknicobailon/pi-design-deck291—~4.3kAutomated safety check: PassNone

Similar skills

  • Mermaid Gantt Chart Generator

    jeremylongshore/tons-of-skills-marketplace

    Generate mermaid gantt chart generator operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~591 tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Gantt Roadmap

    mohitagw15856/pm-claude-skills

    Turn a plan or set of milestones into a timeline / Gantt chart.

    1.4k GitHub stars~884 tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • 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.

    8.4k GitHub stars~1.1k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check passed
  • Fable Domain

    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…

    2.3k GitHub stars~2.6k tokensUpdated 5 days ago
    Product & Project ManagementAuto-check passed
  • Design Deck

    nicobailon/pi-design-deck

    Present visual options for architecture, UI, and code decisions with high-fidelity side-by-side previews.

    291 GitHub stars~4.3k tokensUpdated 2 mo ago
    Product & Project ManagementAuto-check passed
  • Shep Workstreams

    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.

    264 GitHub stars~2.5k tokensUpdated 3 days ago
    Product & Project ManagementAuto-check passed

Questions about Ichartjs

What does Ichartjs do?

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.

When should I use Ichartjs?

Ichartjs fits situations like: Codex needs to choose a chart; repair an iChart.js Spec; build a browser preview; project analytics.

How do I install Ichartjs in Claude Code?

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.

How do I install Ichartjs in Codex?

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.

Can I use Ichartjs 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 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.

What does Ichartjs need to run?

Going by SKILL.md and its folder, Ichartjs needs the command-line tools its instructions call (npm and npx). Our summary lists: Node.js.

Does Ichartjs access the network?

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.

Is Ichartjs 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. Review the folder before installing.

What licence does Ichartjs use?

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.

How many tokens does Ichartjs use?

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.

What are the alternatives to Ichartjs?

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.

Who maintains Ichartjs?

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.