Source Of Truth
Use only:
- The current project's files, structure, and established patterns
- DHTMLX MCP for Angular Gantt API details: https://docs.dhtmlx.com/mcp
- Official DHTMLX Angular Gantt docs as fallback: https://docs.dhtmlx.com/gantt/integrations/angular/
Never invent inputs, template signatures, callback contracts, event names, or backend behavior.
If any Angular Gantt API detail is unclear, resolve it through DHTMLX MCP before writing code.
Preflight
Before writing code, identify:
- package:
@dhtmlx/trial-angular-gantt or @dhx/angular-gantt — check package.json, imports, lockfiles
- runtime: Angular standalone components or NgModule setup
- ownership model: Angular state/store as source of truth (recommended) or Gantt as source of truth (performance-focused)
- persistence: local only,
data.save (default), or data.batchSave (bulk sync)
Workflow
- Confirm installed Angular Gantt package and matching import path.
- Confirm wrapper CSS is imported and chart height chain is explicit.
- Decide the state ownership model before implementing features, and keep one model per page/feature area.
- Read only the reference file needed for the task:
- Angular wrapper integration/setup: references/angular-integration.md
- CRUD, state, persistence, wrapper task types, and v9 -> v10 migration: references/data-and-crud.md
- Failure cases and guardrails: references/known-failures.md
- Advanced patterns (reorder, resources, undo/redo, schema): references/advanced-patterns.md
- Styling, theming, templates, and override strategy: references/styling-and-theming.md
- Use DHTMLX MCP before relying on advanced or unfamiliar APIs.
- Implement with documented APIs only.
MCP Server
This skill relies on DHTMLX MCP for API verification. If the dhtmlx-mcp tool is not available, ask the user to add it:
Claude Code:
claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp
Codex:
codex mcp add dhtmlx-mcp --url https://docs.dhtmlx.com/mcp
If MCP is not available, use the official docs at https://docs.dhtmlx.com/gantt/integrations/angular/ as fallback.
Consult MCP First For
Consult DHTMLX MCP before using or changing:
- template callbacks you have not already verified
- advanced inputs such as
batchSave, customLightbox, groupTasks, or resourceFilter
events callback signatures beyond commonly used handlers
- theme/skin names beyond known project usage
- complex layout/resource panel definitions (
resourceGrid, resourceTimeline, shared scroll)
- workload cell template callbacks and overload logic
Hard Rules
- Use wrapper path (
<dhx-gantt>) by default for Angular tasks.
- The Gantt container must have explicit height through the parent chain.
- Use app theme as single source of truth; map it to Gantt theme.
- Prefer CSS variables and documented templates before selector-heavy overrides.
- Keep tasks/links in Angular state/store when surrounding UI depends on chart state.
- Normalize date values before persistence.
- Build backend payloads explicitly from normalized app task/link models.
- If mutating through
instance, keep Angular state synchronized immediately.
- Do not mix wrapper-driven inputs and imperative instance mutations without intentional synchronization.
Quick Checklist
1---2name: dhtmlx-angular-gantt3description: Builds and integrates DHTMLX Angular Gantt into Angular applications. Covers setup, inputs, templates, themes, data.save, data.batchSave, resources, calendars, undo/redo, row reorder, sortorder, and Angular wrapper integration patterns for @dhtmlx/trial-angular-gantt and @dhx/angular-gantt. Applies when working with gantt charts, project timelines, task dependencies, task CRUD, resource panels, working calendars, lightboxes, or weekend highlighting in Angular — regardless of whether "DHTMLX" is mentioned by name. Provides verified API guidance rather than guessing Angular Gantt APIs.4---56## Source Of Truth78Use only:91. The current project's files, structure, and established patterns102. DHTMLX MCP for Angular Gantt API details: https://docs.dhtmlx.com/mcp113. Official DHTMLX Angular Gantt docs as fallback: https://docs.dhtmlx.com/gantt/integrations/angular/1213Never invent inputs, template signatures, callback contracts, event names, or backend behavior.1415If any Angular Gantt API detail is unclear, resolve it through DHTMLX MCP before writing code.1617## Preflight1819Before writing code, identify:20- **package**: `@dhtmlx/trial-angular-gantt` or `@dhx/angular-gantt` — check `package.json`, imports, lockfiles21- **runtime**: Angular standalone components or NgModule setup22- **ownership model**: Angular state/store as source of truth (recommended) or Gantt as source of truth (performance-focused)23- **persistence**: local only, `data.save` (default), or `data.batchSave` (bulk sync)2425## Workflow26271. Confirm installed Angular Gantt package and matching import path.282. Confirm wrapper CSS is imported and chart height chain is explicit.293. Decide the state ownership model before implementing features, and keep one model per page/feature area.304. Read only the reference file needed for the task:31 - Angular wrapper integration/setup: [references/angular-integration.md](references/angular-integration.md)32 - CRUD, state, persistence, wrapper task types, and v9 -> v10 migration: [references/data-and-crud.md](references/data-and-crud.md)33 - Failure cases and guardrails: [references/known-failures.md](references/known-failures.md)34 - Advanced patterns (reorder, resources, undo/redo, schema): [references/advanced-patterns.md](references/advanced-patterns.md)35 - Styling, theming, templates, and override strategy: [references/styling-and-theming.md](references/styling-and-theming.md)365. Use DHTMLX MCP before relying on advanced or unfamiliar APIs.376. Implement with documented APIs only.3839## MCP Server4041This skill relies on DHTMLX MCP for API verification. If the `dhtmlx-mcp` tool is not available, ask the user to add it:4243Claude Code:44```bash45claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp46```4748Codex:49```bash50codex mcp add dhtmlx-mcp --url https://docs.dhtmlx.com/mcp51```5253If MCP is not available, use the official docs at https://docs.dhtmlx.com/gantt/integrations/angular/ as fallback.5455## Consult MCP First For5657Consult DHTMLX MCP before using or changing:58- template callbacks you have not already verified59- advanced inputs such as `batchSave`, `customLightbox`, `groupTasks`, or `resourceFilter`60- `events` callback signatures beyond commonly used handlers61- theme/skin names beyond known project usage62- complex layout/resource panel definitions (`resourceGrid`, `resourceTimeline`, shared scroll)63- workload cell template callbacks and overload logic6465## Hard Rules6667- Use wrapper path (`<dhx-gantt>`) by default for Angular tasks.68- The Gantt container must have explicit height through the parent chain.69- Use app theme as single source of truth; map it to Gantt theme.70- Prefer CSS variables and documented templates before selector-heavy overrides.71- Keep tasks/links in Angular state/store when surrounding UI depends on chart state.72- Normalize date values before persistence.73- Build backend payloads explicitly from normalized app task/link models.74- If mutating through `instance`, keep Angular state synchronized immediately.75- Do not mix wrapper-driven inputs and imperative instance mutations without intentional synchronization.7677## Quick Checklist7879- [ ] Correct package identified80- [ ] Matching wrapper CSS import used81- [ ] Explicit height chain provided82- [ ] State ownership model chosen83- [ ] Dates normalized before persistence84- [ ] Advanced APIs verified with MCP