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
In this repository7 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- changeset-decisionSkill
- create-changesetSkill
- sddSkill
- visual-testing-snapshotsSkill
- ixSkill
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
- Distinctive: line 10
Add Siemens iX to an existing application.
- Distinctive: line 12
Verify which iX packages and imports an application needs.
- Very specific: line 15
Do not use this skill for implementing application features after iX is configured.
- Distinctive: line 21
Do not add a demo button, application shell, or other visible sample UI.
- Distinctive: line 22
Do not upgrade existing framework or iX versions unless the user requests it or approves a required compatibility change.
- Very specific: line 23
Use the official installation documentation linked from https://ix.siemens.io/llms.txt when current version-specific details are needed.
- Very specific: line 24
Never add defineCustomElements or defineCustomElement loader calls when using the React, Angular, or Vue wrapper.
- Very specific: line 31
Read the target package.json, framework configuration, source entry files, global styles, HTML document or framework layout, and available …
- Distinctive: line 38
If multiple lockfiles conflict or no package manager can be identified reliably, ask the user which package manager to use.
- Distinctive: line 39
Run install commands from the workspace level expected by that package manager.
- Distinctive: line 43
Use dependencies and project files together:
- Distinctive: line 52
If indicators conflict, the project uses another framework, or the result is unclear, ask the user.
- Distinctive: line 61
If the project mixes both patterns or the target component cannot be identified, ask whether to use standalone or module integration.
- Distinctive: line 70
Use the detected package manager's normal dependency-add command:
- Distinctive: line 82
Check existing dependencies and lockfile resolutions.
- Distinctive: line 83
Keep compatible installed iX versions instead of replacing them blindly.
- Very specific: line 84
When one of @siemens/ix or a framework wrapper is already installed, keep the core and wrapper on compatible iX versions.
- Very specific: line 85
Check framework peer requirements, especially @angular/core and @angular/forms.
- Distinctive: line 92
Ensure the Siemens iX stylesheet is loaded once through the application's existing global-style mechanism:
- Distinctive: line 110
Do not duplicate stylesheet imports or overwrite an existing theme choice.
- Very specific: line 114
Use components from @siemens/ix-react.
- Very specific: line 115
Put the global stylesheet import where the React, Vite, Next.js, Remix, or other existing application convention expects global CSS.
- Very specific: line 116
Do not call loaders from @siemens/ix/loader or @siemens/ix-icons/loader.
- Distinctive: line 117
Do not add a component import until application code needs that component.
- Distinctive: line 121
Add the global stylesheet through the existing Angular global styles configuration or stylesheet.
- Very specific: line 122
Import each used component, directive, and form value accessor from @siemens/ix-angular/standalone in the standalone component that uses it.
- Distinctive: line 123
Do not add unused component imports merely to prove installation.
- Very specific: line 124
When form components are later used, include their matching standalone value accessor directive to avoid No value accessor errors.
- Distinctive: line 125
Do not call custom-element loaders.
- Very specific: line 130
Import IxModule from @siemens/ix-angular.
- Very specific: line 131
Add IxModule.forRoot() to the application module imports.
- Very specific: line 146
Use the project's actual app instance and preserve plugin ordering where it matters.
- Distinctive: line 166
Run the smallest existing command that validates the affected application:
- Distinctive: line 169
Do not introduce a new test runner, linter, or build tool.
- Distinctive: line 170
If validation fails because of a version or peer-dependency mismatch, surface the exact mismatch.
- Distinctive: line 174
Only after the base iX setup is valid, ask the user whether to install the official iX MCP server described at:
- Distinctive: line 184
Do not install or configure the MCP server without explicit user approval.
- Distinctive: line 196
Use the same framework decision made for the iX installation:
- Very specific: line 205
Read the installed @siemens/ix version and select the matching MCP distribution tag ix<version>.
- Very specific: line 211
Project installation: add the selected MCP package as an exact dev dependency using the existing package manager and the matching …
- Distinctive: line 212
Global installation: use the user's selected package manager and the same matching distribution tag.
- Very specific: line 213
Run the selected package's interactive setup command from the project root.
- Distinctive: line 216
Ask the user to restart the configured AI tool and trust/enable the MCP server where required.
- Very specific: line 217
Run the selected package's check command to verify installation and configuration.
- Very specific: line 228
No interactive terminal for official MCP setup: provide the exact setup command for the user to run locally, then continue with check after …
≈ “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.
Files
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.txtwhen current version-specific details are needed. - Never add
defineCustomElementsordefineCustomElementloader calls when using the React, Angular, or Vue wrapper.
Phase 1: Identify the Target
- 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.
- Read the target
package.json, framework configuration, source entry files, global styles, HTML document or framework layout, and available scripts. - Detect the package manager in this order:
- the target or workspace root
packageManagerfield pnpm-lock.yamlyarn.lockpackage-lock.jsonbun.lockorbun.lockb
- the target or workspace root
- If multiple lockfiles conflict or no package manager can be identified reliably, ask the user which package manager to use.
- 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:
| Target | Strong indicators |
| React | react, next, or @remix-run/react; React/Next entry files |
| Angular | @angular/core or @angular/cli; angular.json |
| Vue | vue or nuxt; Vue/Nuxt entry files |
| Web components / native HTML | Browser 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 withstandalone: true. - Module:
bootstrapModule, an applicationNgModule, orAppModule.
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
IxModulefrom@siemens/ix-angular.
Phase 3: Install the Required Packages
Use the detected package manager's normal dependency-add command:
| Target | Runtime 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:
- Check existing dependencies and lockfile resolutions.
- Keep compatible installed iX versions instead of replacing them blindly.
- When one of
@siemens/ixor a framework wrapper is already installed, keep the core and wrapper on compatible iX versions. - Check framework peer requirements, especially
@angular/coreand@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. - 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/loaderor@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/standalonein 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 accessorerrors. - Do not call custom-element loaders.
Angular Module
- Add the global stylesheet through the existing Angular global styles configuration or stylesheet.
- Import
IxModulefrom@siemens/ix-angular. - Add
IxModule.forRoot()to the application module imports. - Preserve existing animation setup. Add
BrowserAnimationsModuleonly 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
- Inspect the diff for duplicate imports, edits to the wrong workspace, or overwritten theme/application code.
- Run the smallest existing command that validates the affected application:
- framework build or type-check first
- targeted lint when available and relevant
- Do not introduce a new test runner, linter, or build tool.
- 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:
- Project installation (recommended).
- Global installation.
- 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.comwithllmscope. - 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 package | Official 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
setupcommand 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
checkcommand 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
latestsilently. - No interactive terminal for official MCP setup: provide the exact setup command for the user to run locally, then continue with
checkafter they complete it. - MCP token unavailable or Siemens access unavailable: skip MCP configuration without treating the base iX installation as failed.
Output
Report:
- Target application, framework, and Angular mode when applicable.
- Package manager and dependencies added or retained.
- Setup files changed.
- Build/type-check/lint result.
- Official MCP choice: project, global, skipped, or blocked.
- MCP package, matched iX version, setup result, and
checkresult when installed.
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
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.

