agentleFS
siemenssiemens/ix/skills/ix-installation/SKILL.md

ix-installation

Skill390 starsChanged 35 days agoMITView on GitHub

Install, configure, repair, or verify Siemens iX in an existing React, Angular, Vue, web-components, or native HTML project. Detect the framework, Angular standalone or module style, and package manager; add the correct iX packages and required wiring; then optionally install the official iX MCP server.

  • Reads credentials

The file

Show its rules and text

We split this skill into the rules it gives an agent

45 rules. About 0 are common, 26 are distinctive, and 19 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈26

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 19

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Add Siemens iX to an existing application.

    line 10
  2. Distinctive:

    Verify which iX packages and imports an application needs.

    line 12
  3. Very specific:

    Do not use this skill for implementing application features after iX is configured.

    line 15
  4. Distinctive:

    Do not add a demo button, application shell, or other visible sample UI.

    line 21
  5. Distinctive:

    Do not upgrade existing framework or iX versions unless the user requests it or approves a required compatibility change.

    line 22
  6. Very specific:

    Use the official installation documentation linked from https://ix.siemens.io/llms.txt when current version-specific details are needed.

    line 23
  7. Very specific:

    Never add defineCustomElements or defineCustomElement loader calls when using the React, Angular, or Vue wrapper.

    line 24
  8. Very specific:

    Read the target package.json, framework configuration, source entry files, global styles, HTML document or framework layout, and available …

    line 31
  9. Distinctive:

    If multiple lockfiles conflict or no package manager can be identified reliably, ask the user which package manager to use.

    line 38
  10. Distinctive:

    Run install commands from the workspace level expected by that package manager.

    line 39
  11. Distinctive:

    Use dependencies and project files together:

    line 43
  12. Distinctive:

    If indicators conflict, the project uses another framework, or the result is unclear, ask the user.

    line 52
  13. Distinctive:

    If the project mixes both patterns or the target component cannot be identified, ask whether to use standalone or module integration.

    line 61
  14. Distinctive:

    Use the detected package manager's normal dependency-add command:

    line 70
  15. Distinctive:

    Check existing dependencies and lockfile resolutions.

    line 82
  16. Distinctive:

    Keep compatible installed iX versions instead of replacing them blindly.

    line 83
  17. Very specific:

    When one of @siemens/ix or a framework wrapper is already installed, keep the core and wrapper on compatible iX versions.

    line 84
  18. Very specific:

    Check framework peer requirements, especially @angular/core and @angular/forms.

    line 85
  19. Distinctive:

    Ensure the Siemens iX stylesheet is loaded once through the application's existing global-style mechanism:

    line 92
  20. Distinctive:

    Do not duplicate stylesheet imports or overwrite an existing theme choice.

    line 110
  21. Very specific:

    Use components from @siemens/ix-react.

    line 114
  22. Very specific:

    Put the global stylesheet import where the React, Vite, Next.js, Remix, or other existing application convention expects global CSS.

    line 115
  23. Very specific:

    Do not call loaders from @siemens/ix/loader or @siemens/ix-icons/loader.

    line 116
  24. Distinctive:

    Do not add a component import until application code needs that component.

    line 117
  25. Distinctive:

    Add the global stylesheet through the existing Angular global styles configuration or stylesheet.

    line 121
  26. Very specific:

    Import each used component, directive, and form value accessor from @siemens/ix-angular/standalone in the standalone component that uses it.

    line 122
  27. Distinctive:

    Do not add unused component imports merely to prove installation.

    line 123
  28. Very specific:

    When form components are later used, include their matching standalone value accessor directive to avoid No value accessor errors.

    line 124
  29. Distinctive:

    Do not call custom-element loaders.

    line 125
  30. Very specific:

    Import IxModule from @siemens/ix-angular.

    line 130
  31. Very specific:

    Add IxModule.forRoot() to the application module imports.

    line 131
  32. Very specific:

    Use the project's actual app instance and preserve plugin ordering where it matters.

    line 146
  33. Distinctive:

    Run the smallest existing command that validates the affected application:

    line 166
  34. Distinctive:

    Do not introduce a new test runner, linter, or build tool.

    line 169
  35. Distinctive:

    If validation fails because of a version or peer-dependency mismatch, surface the exact mismatch.

    line 170
  36. Distinctive:

    Only after the base iX setup is valid, ask the user whether to install the official iX MCP server described at:

    line 174
  37. Distinctive:

    Do not install or configure the MCP server without explicit user approval.

    line 184
  38. Distinctive:

    Use the same framework decision made for the iX installation:

    line 196
  39. Very specific:

    Read the installed @siemens/ix version and select the matching MCP distribution tag ix<version>.

    line 205
  40. Very specific:

    Project installation: add the selected MCP package as an exact dev dependency using the existing package manager and the matching …

    line 211
  41. Distinctive:

    Global installation: use the user's selected package manager and the same matching distribution tag.

    line 212
  42. Very specific:

    Run the selected package's interactive setup command from the project root.

    line 213
  43. Distinctive:

    Ask the user to restart the configured AI tool and trust/enable the MCP server where required.

    line 216
  44. Very specific:

    Run the selected package's check command to verify installation and configuration.

    line 217
  45. Very specific:

    No interactive terminal for official MCP setup: provide the exact setup command for the user to run locally, then continue with check after …

    line 228

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

iX Installation

When to Use

  • Add Siemens iX to an existing application.
  • Repair an incomplete iX installation, missing styles, loader setup, Vue plugin, or Angular module configuration.
  • Verify which iX packages and imports an application needs.
  • Configure the official iX MCP server after installing iX.

Do not use this skill for implementing application features after iX is configured. Use the ix skill for component selection, APIs, examples, patterns, icons, and design guidance.

Required Principles

  • Inspect the project before changing it. Do not assume React when detection fails.
  • Preserve the existing package manager, framework conventions, application UI, and theme when already configured.
  • Do not add a demo button, application shell, or other visible sample UI.
  • Do not upgrade existing framework or iX versions unless the user requests it or approves a required compatibility change.
  • Use the official installation documentation linked from https://ix.siemens.io/llms.txt when current version-specific details are needed.
  • Never add defineCustomElements or defineCustomElement loader calls when using the React, Angular, or Vue wrapper.

Phase 1: Identify the Target

  1. Find the application package that should receive iX.
    • In a single-package project, use the project root.
    • In a monorepo, inspect workspace manifests and application folders. If more than one target is plausible, ask the user which application to configure.
  2. Read the target package.json, framework configuration, source entry files, global styles, HTML document or framework layout, and available scripts.
  3. Detect the package manager in this order:
    • the target or workspace root packageManager field
    • pnpm-lock.yaml
    • yarn.lock
    • package-lock.json
    • bun.lock or bun.lockb
  4. If multiple lockfiles conflict or no package manager can be identified reliably, ask the user which package manager to use.
  5. Run install commands from the workspace level expected by that package manager. Use workspace filters or the target package directory rather than adding dependencies to the wrong manifest.

Phase 2: Detect the Framework

Use dependencies and project files together:

TargetStrong indicators
Reactreact, next, or @remix-run/react; React/Next entry files
Angular@angular/core or @angular/cli; angular.json
Vuevue or nuxt; Vue/Nuxt entry files
Web components / native HTMLBrowser application with HTML/JS/TS entry files and no supported framework wrapper

If indicators conflict, the project uses another framework, or the result is unclear, ask the user. Do not silently choose a package.

Angular Mode

For Angular, determine how the target application is bootstrapped:

  • Standalone: bootstrapApplication, ApplicationConfig, or root components with standalone: true.
  • Module: bootstrapModule, an application NgModule, or AppModule.

If the project mixes both patterns or the target component cannot be identified, ask whether to use standalone or module integration.

Both modes install @siemens/ix-angular. The mode only changes imports:

  • Standalone components and directives come from @siemens/ix-angular/standalone.
  • Module applications import IxModule from @siemens/ix-angular.

Phase 3: Install the Required Packages

Use the detected package manager's normal dependency-add command:

TargetRuntime dependencies
React@siemens/ix, @siemens/ix-react, @siemens/ix-icons
Angular standalone@siemens/ix, @siemens/ix-angular, @siemens/ix-icons
Angular module@siemens/ix, @siemens/ix-angular, @siemens/ix-icons
Vue@siemens/ix, @siemens/ix-vue, @siemens/ix-icons
Web components / native HTML@siemens/ix, @siemens/ix-icons

Before installing:

  1. Check existing dependencies and lockfile resolutions.
  2. Keep compatible installed iX versions instead of replacing them blindly.
  3. When one of @siemens/ix or a framework wrapper is already installed, keep the core and wrapper on compatible iX versions.
  4. Check framework peer requirements, especially @angular/core and @angular/forms. If the target framework version is incompatible with the selected iX release, explain the conflict and ask the user to choose an iX version or approve a framework upgrade.
  5. Install only missing or approved packages.

Phase 4: Apply Framework Setup

Shared Theme Setup

Ensure the Siemens iX stylesheet is loaded once through the application's existing global-style mechanism:

@import '@siemens/ix/dist/siemens-ix/siemens-ix.css';

An equivalent JavaScript or TypeScript import in the global application entry is valid:

import '@siemens/ix/dist/siemens-ix/siemens-ix.css';

Preserve existing data-ix-theme and data-ix-color-schema values. If they are absent, add them to the root <html> element using non-invasive defaults:

<html data-ix-theme="classic" data-ix-color-schema="system">

Do not duplicate stylesheet imports or overwrite an existing theme choice.

React

  • Use components from @siemens/ix-react.
  • Put the global stylesheet import where the React, Vite, Next.js, Remix, or other existing application convention expects global CSS.
  • Do not call loaders from @siemens/ix/loader or @siemens/ix-icons/loader.
  • Do not add a component import until application code needs that component.

Angular Standalone

  • Add the global stylesheet through the existing Angular global styles configuration or stylesheet.
  • Import each used component, directive, and form value accessor from @siemens/ix-angular/standalone in the standalone component that uses it.
  • Do not add unused component imports merely to prove installation.
  • When form components are later used, include their matching standalone value accessor directive to avoid No value accessor errors.
  • Do not call custom-element loaders.

Angular Module

  • Add the global stylesheet through the existing Angular global styles configuration or stylesheet.
  • Import IxModule from @siemens/ix-angular.
  • Add IxModule.forRoot() to the application module imports.
  • Preserve existing animation setup. Add BrowserAnimationsModule only when the application does not already provide Angular animations and the selected iX usage requires it.
  • Do not call custom-element loaders.

Vue

Register the wrapper plugin in the existing Vue application entry:

import '@siemens/ix/dist/siemens-ix/siemens-ix.css';
import { ixPlugin } from '@siemens/ix-vue';

app.use(ixPlugin);

Use the project's actual app instance and preserve plugin ordering where it matters. Do not call custom-element loaders.

Web Components / Native HTML

Load the stylesheet and register both iX component sets once in the application entry:

import '@siemens/ix/dist/siemens-ix/siemens-ix.css';
import { defineCustomElements } from '@siemens/ix/loader';
import { defineCustomElements as defineIxIconCustomElements } from '@siemens/ix-icons/loader';

defineIxIconCustomElements();
defineCustomElements();

Reuse an existing loader registration if present. Do not register either loader more than once.

Phase 5: Validate the Application

  1. Inspect the diff for duplicate imports, edits to the wrong workspace, or overwritten theme/application code.
  2. Run the smallest existing command that validates the affected application:
    • framework build or type-check first
    • targeted lint when available and relevant
  3. Do not introduce a new test runner, linter, or build tool.
  4. If validation fails because of a version or peer-dependency mismatch, surface the exact mismatch. Do not hide it with broad dependency overrides.

Phase 6: Offer the Official iX MCP Server

Only after the base iX setup is valid, ask the user whether to install the official iX MCP server described at:

https://ix.siemens.io/docs/home/mcp-server

Offer these choices:

  1. Project installation (recommended).
  2. Global installation.
  3. Skip MCP installation.

Do not install or configure the MCP server without explicit user approval.

Prerequisites

Before installation, explain:

  • Node.js 20 or newer is recommended.
  • Semantic documentation search currently requires a free token from https://my.siemens.com with llm scope.
  • The setup command collects and stores the token. Never ask the user to paste the token into chat, command arguments, source files, or tracked configuration.

Select the MCP Package

Use the same framework decision made for the iX installation:

iX packageOfficial MCP package
@siemens/ix@siemens/ix-mcp
@siemens/ix-angular@siemens/ix-mcp-angular
@siemens/ix-react@siemens/ix-mcp-react
@siemens/ix-vue@siemens/ix-mcp-vue

Read the installed @siemens/ix version and select the matching MCP distribution tag ix<version>. For example, iX 5.0.0 uses @ix5.0.0. Do not assume the MCP package version equals the iX version; the resolved MCP version also contains its own implementation version.

Before installing, query the selected package's published distribution tags and confirm that the exact ix<version> tag exists. If it is not published, report that the official MCP server is unavailable for the installed iX version. Do not silently install latest or a tag for another iX version.

Install and Configure

  • Project installation: add the selected MCP package as an exact dev dependency using the existing package manager and the matching ix<version> distribution tag.
  • Global installation: use the user's selected package manager and the same matching distribution tag.
  • Run the selected package's interactive setup command from the project root.
  • Let the setup command manage secure token entry and tool selection.
  • Preserve generated repository configuration and instruction files. Inspect them before suggesting they be committed, and ensure no secret is present.
  • Ask the user to restart the configured AI tool and trust/enable the MCP server where required.
  • Run the selected package's check command to verify installation and configuration.

For WSL, follow the documented environment-variable setup only when needed. Ensure .env is ignored before placing SDL_MCP_TOKEN_ENV or OPENAI_API_KEY there. Never commit either value.

Failure Handling

  • Unsupported or ambiguous framework: ask the user; do not guess.
  • Ambiguous Angular mode: ask standalone or module.
  • Conflicting package managers or workspace targets: ask before installing.
  • Incompatible peer dependencies: explain the supported choices and wait for approval before upgrades.
  • Matching official MCP distribution tag unavailable: skip MCP installation or let the user choose a compatible iX version; never fall back to latest silently.
  • No interactive terminal for official MCP setup: provide the exact setup command for the user to run locally, then continue with check after they complete it.
  • MCP token unavailable or Siemens access unavailable: skip MCP configuration without treating the base iX installation as failed.

Output

Report:

  1. Target application, framework, and Angular mode when applicable.
  2. Package manager and dependencies added or retained.
  3. Setup files changed.
  4. Build/type-check/lint result.
  5. Official MCP choice: project, global, skipped, or blocked.
  6. MCP package, matched iX version, setup result, and check result when installed.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.