Workflows

End-to-end guides for building webapps with AI, provisioning demo environments, and automating SystemLink operations.

Install AI Skills

Six bundled skills give your AI assistant current SystemLink domain knowledge across CLI operations, webapps, notebooks, test applications, packaging, and job debugging.

SkillWhat it teaches
nipkg-file-packageHow to build NI Package Manager file packages for Windows and SystemLink deployment, including target roots, control metadata, and common packaging pitfalls
slcliHow to query and manage every SystemLink resource type using CLI commands
systemlink-job-debuggingHow to debug SystemLink Salt jobs that are stuck, timing out, failing, or returning incomplete data
systemlink-notebookHow to create and deploy SystemLink Jupyter notebooks with parameter cells, sb.glue outputs, papermill metadata, and scheduled execution support
systemlink-python-testHow to build Python-based test applications that integrate with Test Monitor, work items, packaging, and deployment workflows
systemlink-webappHow to build Nimble Angular webapps with @ni/nimble-angular, @ni/systemlink-clients-ts, hash routing, CSP compliance, theme sync, and deployment via slcli webapp publish
1

Install the skills

One command installs every bundled skill for the supported AI clients.

# Install for all supported clients (most agents + Claude)
slcli skill install --skill all --client all --scope personal
2

Ask your assistant about SystemLink

The skills are loaded automatically. Try natural language queries:

"Show me all failed test results from this week"
"Which assets need calibration?"
"Build me a fleet health dashboard for SystemLink"
"Create a SystemLink notebook that reports daily yield by station"
"Debug this stuck state.apply job from the Jobs API"
"Install the demo-complete-workflow example in the Training workspace"
3

Project-scoped skills (optional)

Install per-repo for team consistency — the skill files are committed alongside your code.

# Install into the current repo
slcli skill install --skill all --client all --scope project

Tip: The skills follow the Agent Skills open standard. Personal installs go under ~/.agents/skills/ or ~/.claude/skills/; project installs go under .agents/skills/ or .claude/skills/.

Build a Nimble Angular WebApp with AI

The systemlink-webapp skill teaches your AI assistant the complete NI design system — @ni/nimble-angular components, @ni/systemlink-clients-ts SDK, hash routing, CSP compliance, theme synchronization, and deployment. One command sets up everything your assistant needs.

1

Scaffold the project

webapp init creates the Angular starter, adds the AI skills, and writes the starter files your assistant uses to bootstrap Angular in place.

slcli webapp init ./fleet-dashboard
cd fleet-dashboard

The scaffolded directory includes:

  • PROMPTS.md — ready-made prompts for building dashboards, test results pages, and more
  • START_HERE.md — bootstrap and deployment guidance for the Angular workflow
  • .agents/skills/ — AI skills pre-installed so your AI assistant can discover them immediately
2

Describe your webapp to AI

Open the project in your editor and describe what you need. Your AI assistant knows the full Nimble component library, SystemLink APIs, and deployment requirements — just describe your goals.

"I need a web dashboard for monitoring our production test
 systems. It should show which systems are online, recent test
 results, and any assets due for calibration."

"Create a page where I can browse recent test results,
 filter by status and program name, and see a summary of
 failure rates."

"Build a dashboard with key metrics: first-pass yield,
 test throughput per hour, and a trend chart of failures
 over the last 30 days."
3

Build and publish

# Create Plugin Manager packaging config
slcli webapp manifest init . \
  --description "A dashboard for monitoring fleet health and calibration status." \
  --section Dashboard \
  --maintainer "Your Name <you@example.com>" \
              --license MIT \
              --icon-file ./icon.svg

ng build --configuration production

# Pack the app and generate manifest.json with the artifact SHA-256
slcli webapp pack --config nipkg.config.json
slcli webapp publish dist/<app-name>/browser/ \
  --name "Fleet Dashboard" \
  --workspace Production
4

Open and iterate

# Open the deployed webapp
slcli webapp open --id <webapp-id>

# Re-publish after changes (same --name updates in place)
ng build --configuration production
slcli webapp publish dist/<app-name>/browser/ \
  --name "Fleet Dashboard" --workspace Production

Key patterns the skill teaches: nimble-theme-provider with automatic theme detection, APP_BASE_HREF via DI (no <base> tag), useHash: true routing, inlineCritical: false for CSP, same-origin cookie authentication, and the full Nimble component library (tables, tabs, buttons, drawers, dialogs, spinners, banners).

Provision Demo Environments

Instantly provision complete SystemLink environments with realistic data for demonstrations, training classes, and evaluation.

Available Examples

ExampleContentsTime
demo-complete-workflow Systems, assets, DUTs, templates, products, results ~5 min
demo-test-plans Locations, products, systems, assets, DUTs, test template ~5 min
spec-compliance-notebooks 3 Jupyter notebooks for spec compliance analysis ~3 min
exercise-5-1-parametric-insights 18 test results with parametric measurements, deliberate anomalies ~5 min
exercise-7-1-test-plans Test plan creation and scheduling exercises ~5 min

Install an Example

# Browse available examples
slcli example list

# Inspect what will be created
slcli example info demo-complete-workflow

# Dry-run (validate without creating)
slcli example install demo-complete-workflow --workspace Training --dry-run

# Install with audit log
slcli example install demo-complete-workflow \
  --workspace Training \
  --audit-log install-log.json

Clean Up

# Remove all resources from a previous install
slcli example delete demo-complete-workflow \
  --workspace Training \
  --audit-log delete-log.json

Training Exercises

The example datasets are designed for hands-on SystemLink training courses. Each exercise includes structured data with intentional patterns for students to discover.

Exercise 5-1: Parametric Insights

Students query and visualize 18 thermal cycle test results across three test stands to discover:

  • TC-03 runs ~3–4 °C warmer than TC-01/TC-02 (calibration offset)
  • TC-01 Cycle 5: internal resistance spike → FAIL
  • TC-03 Cycle 4: cell temperature spike → FAIL
# Install the exercise data
slcli example install exercise-5-1-parametric-insights \
  --workspace "Training Lab"

# Query the data with the AI skill
"Show me test results grouped by system for the Training Lab workspace.
 Which test stand has consistently higher temperature readings?"

Exercise 7-1: Test Plans

Students learn to create and schedule test plans using templates and workflows.

slcli example install exercise-7-1-test-plans --workspace "Training Lab"

Multi-Environment Operations

Manage multiple SystemLink environments from a single terminal session using named profiles.

# Set up profiles for each environment
slcli login --profile dev --url "https://dev.example.com"
slcli login --profile staging --url "https://staging.example.com"
slcli login --profile prod --url "https://prod.example.com"

# Compare test results across environments
slcli -p dev testmonitor result list --summary --format json > dev-results.json
slcli -p prod testmonitor result list --summary --format json > prod-results.json

# Export templates from dev, import to staging
slcli -p dev template export --name "Battery Test" --output battery-test.json
slcli -p staging template import --file battery-test.json

# Migrate workflows between environments
slcli -p dev workitem workflow export --name "Production Flow" --output workflow.json
slcli -p staging workitem workflow import --file workflow.json

Readonly Mode for AI Agents

Create a readonly profile to let AI assistants query SystemLink safely without any risk of modifying data.

# Create a readonly profile for AI agents
slcli login --profile aiagent \
  --url "https://prod.example.com" \
  --api-key "your-api-key" \
  --readonly

# AI can query freely
slcli -p aiagent testmonitor result list --summary
slcli -p aiagent system list --state CONNECTED
slcli -p aiagent asset list --calibratable --summary

# But mutations are blocked
slcli -p aiagent asset delete <id>
# ✗ Cannot delete: profile is in readonly mode

Best practice: Use readonly profiles with AI assistants so they can explore data without accidentally modifying production resources.

Automated File Uploads

Monitor a directory and automatically upload new files to SystemLink as they appear.

# Watch for new CSV files and upload them
slcli file watch /data/results --pattern "*.csv" --recursive

# Upload to a specific workspace
slcli file watch /data/results \
  --workspace "Production" \
  --pattern "*.csv" \
  --recursive

# Move files after upload (prevents re-upload)
slcli file watch /data/inbox \
  --move-to /data/uploaded \
  --pattern "*.tdms"

# Delete files after successful upload
slcli file watch /data/inbox --delete-after-upload

Ready to get started?

Install the CLI and explore these workflows in your own SystemLink environment.