syncfusion-angular-sankey
Create and configure Syncfusion Angular Sankey diagrams for flow visualization. Use this when visualizing weighted flows, processes, and hierarchical relationships. Supports node and link styling, legends, tooltips, events, accessibility features, and comprehensive data binding for complex flow diagrams.
What this skill does
# Implementing Syncfusion Angular Sankey
The Sankey component visualizes directional flow and relationships between entities using nodes and links. Perfect for displaying process flows, energy distribution, resource allocation, and hierarchical relationships with proportional link widths representing quantities.
## When to Use This Skill
Use the Sankey component when you need to:
- **Visualize Flow Data:** Display directional flow with proportional link widths representing quantities
- **Show Process Steps:** Represent multi-stage processes or workflows
- **Analyze Resource Allocation:** Visualize how resources move through systems
- **Compare Categories:** Show relationships and distributions between categories
- **Display Hierarchies:** Render organizational or hierarchical structures with weighted connections
## Component Overview
The Sankey diagram consists of:
- **Nodes:** Represent sources, sinks, and intermediate entities (customizable width, color, labels)
- **Links:** Represent flow between nodes (width proportional to value, customizable curvature and color)
- **Labels:** Display node and link information with configurable positioning and styling
- **Legend:** Optional legend for categorizing nodes
- **Tooltips:** Contextual information on hover or click
## Documentation and Navigation Guide
### API Reference
๐ **Read:** [references/api-reference.md](references/api-reference.md)
### Getting Started
๐ **Read:** [references/getting-started.md](references/getting-started.md)
- Installation of `@syncfusion/ej2-angular-charts` package
- Angular 19+ standalone component setup
- Basic Sankey initialization and first render
- Module injection (Tooltip, Legend services)
- Initial data binding
- **When to use:** Start here for setup and first working example
### Nodes and Links
๐ **Read:** [references/nodes-and-links.md](references/nodes-and-links.md)
- Define node structure (id, label, value)
- Customize node appearance (width, padding, colors, opacity)
- Individual node styling and overrides
- Define link relationships between nodes
- Configure link styling (curvature, opacity, color)
- Node offset and positioning
- **When to use:** Need to configure diagram structure, customize nodes/links, or control positioning
### Appearance and Sizing
๐ **Read:** [references/appearance-and-sizing.md](references/appearance-and-sizing.md)
- Set component dimensions (width, height, responsive sizing)
- Background color and border customization
- Margin control
- Theme application (Material, Bootstrap, Tailwind, etc.)
- Global node and link styles
- **When to use:** Styling the overall diagram, responsive layouts, or theme integration
### Labels, Legends, and Tooltips
๐ **Read:** [references/labels-legends-tooltips.md](references/labels-legends-tooltips.md)
- Label positioning and styling for nodes and links
- Legend configuration and positioning (top, bottom, left, right)
- Legend highlighting behavior
- Tooltip templates and content customization
- Interactive element behaviors
- **When to use:** Adding labels, legends, or tooltips for better context
### Customization and Styling
๐ **Read:** [references/customization-and-styling.md](references/customization-and-styling.md)
- Element-level customization (per-node, per-link styling)
- Predefined color palettes and mapping
- Data-driven conditional styling
- Custom theme creation
- Category-based styling strategies
- Performance optimization for large diagrams
- **When to use:** Advanced styling, color mapping, or dynamic appearance changes
### Events and Interactions
๐ **Read:** [references/events-and-interactions.md](references/events-and-interactions.md)
- Lifecycle events (load, loaded)
- Interaction events (nodeClick, nodeEnter, nodeLeave, linkClick)
- Rendering events for dynamic styling (nodeRendering, linkRendering)
- Export and print events
- Event handling patterns
- **When to use:** Handle user interactions, trigger custom logic, or respond to diagram lifecycle
### Advanced Features
๐ **Read:** [references/advanced-features.md](references/advanced-features.md)
- Horizontal and vertical orientation
- Right-to-left (RTL) layout support
- Print and export functionality (PNG, JPEG, SVG, PDF)
- Accessibility features (WCAG compliance, screen readers)
- Performance optimization for many nodes/links
- Edge cases and troubleshooting
- **When to use:** Multi-language support, export requirements, accessibility needs, or performance tuning
## Quick Start Example
```typescript
import { Component, ViewEncapsulation } from '@angular/core';
import { SankeyAllModule } from '@syncfusion/ej2-angular-charts';
@Component({
imports: [SankeyAllModule],
standalone: true,
selector: 'app-sankey-demo',
template: `<ejs-sankey [dataSource]="data" [nodeSettings]="nodeSettings"></ejs-sankey>`,
encapsulation: ViewEncapsulation.None
})
export class SankeyDemoComponent {
data: any[] = [
{ sourceID: 'S1', targetID: 'T1', value: 5 },
{ sourceID: 'S1', targetID: 'T2', value: 3 },
{ sourceID: 'S2', targetID: 'T1', value: 2 }
];
nodeSettings: any = {
width: 20,
padding: 10
};
}
```
## Common Patterns
### Pattern 1: Flow Visualization with Categories
```typescript
// Define nodes with categories for legend grouping
const nodes = [
{ id: 'Power', label: { text: 'Power Plant' }, category: 'Source' },
{ id: 'Grid', label: { text: 'Grid' }, category: 'Intermediary' },
{ id: 'Home', label: { text: 'Households' }, category: 'Sink' }
];
// Links represent flow quantities
const links = [
{ sourceID: 'Power', targetID: 'Grid', value: 100 },
{ sourceID: 'Grid', targetID: 'Home', value: 80 }
];
```
### Pattern 2: Dynamic Styling Based on Values
```typescript
// Render event handler for value-based coloring
onNodeRendering = (args: INodeRenderingEventArgs) => {
const value = args.node.value || 0;
args.node.color = value > 100 ? '#00A651' : value > 50 ? '#FFB81C' : '#E81B23';
};
```
### Pattern 3: Interactive Highlighting
```typescript
// Use opacity to emphasize relationships
onNodeEnter = (args: INodeEnterEventArgs) => {
args.node.highlightOpacity = 1;
};
onNodeLeave = (args: INodeLeaveEventArgs) => {
args.node.highlightOpacity = 0.3;
};
```
## Key Configuration Properties
| Property | Type | Purpose |
|----------|------|---------|
| `width` | string | Component width ('700px', '100%', or '90%') |
| `height` | string | Component height ('420px', '450px', or '100%') |
| `title` | string | Main title for the diagram |
| `subTitle` | string | Subtitle with descriptive text |
| `orientation` | string | Flow direction ('Horizontal' or 'Vertical') |
| `enableRtl` | boolean | Enable right-to-left layout |
| `theme` | string | Built-in theme (Material, Bootstrap, Tailwind, HighContrast, etc.) |
| `nodeStyle` | Object | Global node styling (width, padding, opacity, colors) |
| `linkStyle` | Object | Global link styling (curvature, opacity, colorType) |
| `labelSettings` | Object | Label positioning and visibility |
| `legendSettings` | Object | Legend configuration and positioning |
| `tooltip` | Object | Tooltip template and visibility settings |
| `nodes` | Array | Node definitions (manual property binding) |
| `links` | Array | Link definitions (manual property binding) |
## Common Use Cases
1. **Energy Distribution:** Show power flow from generation (Solar, Nuclear, Natural Gas) to consumption (Residential, Commercial, Industrial)
2. **Supply Chain:** Visualize product movement through manufacturing โ warehouses โ distribution centers โ retail stores
3. **Financial Flow:** Display money transfers between sources (revenue, investment) โ operations โ expenses
4. **Process Workflows:** Represent multi-stage processes with branching paths and bottleneck analysis
5. **User Journeys:** Track user movement through application sections (landing โ signup โ onboarding โ features)
6. **Resource Allocation:** Show how budget or resources are distributed across departments or Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only โ no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.