Agent skill

Trust Hmi Contracts

by johannesPettersson80 in johannesPettersson80/trust-platform

Guides work on truST's HMI - the HMI Builder editor, page files, the runtime display at /hmi, bindings, commands and writes, authorization, alarms and trends, the plant library and the HMI tests.

Apache-2.0Auto-check passedFrontend & Design

Install Trust Hmi Contracts

skills CLI
$ npx skills add johannesPettersson80/trust-platform --skill trust-hmi-contracts -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install johannesPettersson80/trust-platform trust-hmi-contracts --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/johannesPettersson80/trust-platform.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/trust-hmi-contracts .claude/skills/trust-hmi-contracts && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
trust-hmi-contracts
GitHub stars
222
Token cost
~1.4k tokens
SKILL.md length
687 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides work on truST's HMI - the HMI Builder editor, page files, the runtime display at /hmi, bindings, commands and writes, authorization, alarms and trends, the plant library and the HMI tests.

  • Any HMI feature
  • SKILL.md covers Product direction from the user, Architecture (specification… and Tests
  • Calls cargo, npx and npm
  • The HMI runtime API

What it does

Trust Hmi Contracts is an agent skill from johannesPettersson80/trust-platform. Guides work on truST's HMI - the HMI Builder editor, page files, the runtime display at /hmi, bindings, commands and writes, authorization, alarms and trends, the plant library and the HMI tests. Use for any HMI feature, fix or test, the HMI runtime API or write path, HMI visual design, plant-library function blocks, or HMI deployment.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering UI design and Authorization and RBAC. It works with Rust, Visual Studio Code and TypeScript. The repository describes itself as: truST Platform — IEC 61131‑3 Structured Text tooling suite. The licence is Apache-2.0.

When your agent uses it

  • Any HMI feature
  • The HMI runtime API
  • HMI visual design
  • Plant-library function blocks

Example prompts

  • “Use the trust-hmi-contracts skill to guide work on truST's HMI - the HMI Builder editor, page files, the runtime display at /hmi, bindings, commands…”
  • “/trust-hmi-contracts”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit b7d8ffb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo
    • npx
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Trust Hmi Contracts loads about 1.4k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 687 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~89
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from johannesPettersson80/trust-platform at commit b7d8ffb, republished under its Apache-2.0 licence (© johannesPettersson80). 687 words, ~1,375 tokens.

Download SKILL.mdSave it as .claude/skills/trust-hmi-contracts/SKILL.md (or your agent's skills folder).
name
trust-hmi-contracts
description
Guides work on truST's HMI - the HMI Builder editor, page files, the runtime display at /hmi, bindings, commands and writes, authorization, alarms and trends, the plant library and the HMI tests. Use for any HMI feature, fix or test, the HMI runtime API or write path, HMI visual design, plant-library function blocks, or HMI deployment.

HMI

Hard rule (AGENTS.md): all logic is in Rust. Logic is anything whose result is stored, sent to a runtime or PLC, or decides an engineering or operator outcome. TypeScript only presents (drawing, layout, mouse interaction, view state) and forwards requests to Rust. Never add logic in TypeScript. Existing TypeScript logic is debt to move into Rust, not to extend.

HMI logic is Rust: bindings, commands and writes, authorization, alarms, trends, equipment edits and page validation live in the runtime or in trust-lsp. The HMI Builder webview and the /hmi page only render and forward. Known TypeScript debt, listed in AGENTS.md: the HMI agent's authoring engine in agent/ (composition, edits, drafts, reviews, requests), which moves in checklist H4. Drawing, drag, snapping and pipe routing are presentation and stay in TypeScript.

Specification 39 (docs/specs/39-hmi-builder.md) defines the HMI:

  • the HMI Builder editor in VS Code;
  • the TOML page files;
  • the runtime display at /hmi;
  • bindings, commands and authorization;
  • alarms and events;
  • deployment, and the verification it requires.

The plant library is specified in docs/specs/trust-plant-library.md and documented in docs/guides/HMI_LIBRARY_GUIDE.md.

Older checkouts: a checkout without specification 39 still carries the old HMI, which specification 39 removed (hmi/*.toml widgets, hmi.schema.get, hmi.values.get, hmi.write). There, docs/guides/HMI_OPERATOR_FIRST_SPECIFICATION.md applies.

Product direction from the user

  • Simple: every feature works with no configuration, using smart defaults. There is no settings jungle. Reuse faceplates and existing concepts before adding new ones. It is not a Siemens-style HMI builder.
  • Modern look: dark first, with near-black surfaces, a vivid accent for live data and glowing status. No grey 1980s ISA-101 look. The light theme is supported too.
  • Alarms follow ISA-18.2 and EEMUA 191:
    • an alarm is an instance of the object-oriented Alarm function block; extend it for your own detection;
    • priorities are High, Medium and Low;
    • informational messages and trips are events, not alarms.
  • Plant library: native object-oriented Structured Text. It does not wrap older equipment code, and it has no "take control" ownership model.
  • Replacements first: never remove a UI capability until its replacement exists.

Architecture (specification 39, §17)

  • Separate modules:
    • the page model and TOML serializer (TypeScript);
    • the drawing module (TypeScript), shared by the editor and the runtime display so that both draw the same page;
    • the HMI Builder editor: React panels and inspector, plus the drawing module;
    • the runtime loader and validator (Rust);
    • the runtime's command handling.
  • The runtime provides:
    • pages and a live-value stream, with quality and timestamps;
    • writes checked for type, capacity, range and non-finite values;
    • a write policy with permission checks that denies by default;
    • a command tracker with outcomes and deduplication;
    • sessions;
    • alarm and trend state;
    • an audit log;
    • a bundle store with atomic activation and rollback.
  • The language server:
    • checks page files and bindings;
    • serves the component catalogue and the variable tree;
    • handles rename and references across HMI files.
  • File size: no source file grows beyond about 1,000 lines.
Show full SKILL.md (214 more words)Show less

Tests

Behaviour changes follow trust-test-authoring: specification 39 first, then the native test.

  • Runtime, on the builder:

    • cargo test -p trust-runtime --lib hmi::
    • cargo test -p trust-runtime --test hmi_check_command --test hmi_examples --test plant_examples --test web_hmi_display --test web_hmi_faceplates --test web_hmi_commands --test web_hmi_method_commands --test web_hmi_settings --test web_hmi_alarms --test web_hmi_history
  • VS Code: TRUST_VSCODE_TEST_GREP='HMI' selects the HMI Builder, HMI drawing and HMI display suites.

  • Browser: run scripts/hmi-screen-tests with npx playwright test, after cargo build -p trust-runtime --bin trust-runtime. It covers:

    • the operator journey;
    • the simulation badge;
    • the reference-page screenshots in both themes;
    • the performance case.

    npm run update-screens approves a new look. Run it only after you have reviewed the images.

  • Live check: open /hmi on a running example. Check the pages with live values, the equipment panels, the alarm list and the trends, and review the screenshots yourself.

  • What specification 39 requires:

    • §19 lists the required tests and these acceptance failure cases: a disconnect during a command, a denied write, an expired login, stale data, an invalid deployment, a rollback and rename recovery.
    • §19.4: the editor and the runtime draw the reference pages identically, with at most 32/255 difference per colour channel.
    • §19.6 sets the performance budget. It is measured on the AM6442 target and on a Raspberry Pi 5 panel PC; builder measurements do not certify it.

© johannesPettersson80, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .codex/skills/trust-hmi-contracts of johannesPettersson80/trust-platform.

Open the folder on GitHubat commit b7d8ffb

Compare with similar skills

Trust Hmi Contracts next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Trust Hmi Contracts compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Trust Hmi Contracts this skilljohannesPettersson80/trust-platform222—~1.4kAutomated safety check: PassApache-2.0
UI UX Pro Maxfutureboard/futureboard-studio110—~5.6kAutomated safety check: PassMIT
Worklog Designregisx001/Worklog261—~3.3kAutomated safety check: PassMIT
Refactoring UI Designchaxus/ran269—~1.9kAutomated safety check: PassMIT
Ss Learnbitjaru/styleseed973—~1.3kAutomated safety check: PassMIT
Senior FrontendOhh-889/skyroc7952 repos~1.1kAutomated safety check: NotesMIT

Similar skills

  • UI UX Pro Max

    futureboard/futureboard-studio

    Comprehensive design guide for web, mobile, and desktop applications.

    110 GitHub stars~5.6k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Worklog Design

    regisx001/Worklog

    Design and UI skill for the Worklog desktop project manager.

    261 GitHub stars~3.3k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • A skill your agent uses when designing, reviewing, or improving web UI visual quality, especially when a developer-built interface feels cluttered, flat, generic, poorly spaced, weakly hierarchical…

    269 GitHub stars~1.9k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Ss Learn

    bitjaru/styleseed

    Capture a human-approved UI design lesson as a privacy-minimized local StyleSeed candidate, review it, and prepare an opt-in share package without transmitting project code, prompts, screenshots, or…

    973 GitHub stars~1.3k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Senior Frontend

    Ohh-889/skyroc

    Comprehensive frontend development skill for building modern, performant web applications using ReactJS, NextJS, TypeScript, Tailwind CSS.

    795 GitHub starsUsed in 2 repos~1.1k tokens
    Frontend & DesignAuto-check: notes
  • Prepare Rslint npm Release

    web-infra-dev/rslint

    Prepare a stable release PR for the unified rslint npm packages by updating package versions and rule/TypeScript release metadata.

    461 GitHub stars~1.5k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from johannesPettersson80/trust-platform

  • Trust CI Release Gates

    johannesPettersson80/trust-platform

    Prepares and ships truST changes - changelog and version updates, CI parity, pre-push checks, the exact-SHA release-candidate guard, merge, tag and release verification.

    222 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Trust Remote Builder

    johannesPettersson80/trust-platform

    Runs truST builds and tests on the shared trust-builder machine.

    222 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Trust Test Authoring

    johannesPettersson80/trust-platform

    Routes truST behaviour changes from the written specification to a native executable test.

    222 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • St Lsp Solid

    johannesPettersson80/trust-platform

    Keeps truST's architecture simple and well separated, and runs the automated architecture checks.

    222 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Trust Lsp Iec

    johannesPettersson80/trust-platform

    Guides IEC 61131-3 Structured Text language work in truST - lexer, parser, types, semantics, standard functions and function blocks, OOP, namespaces and editor features - checked against the standard.

    222 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Trust Vscode Quality

    johannesPettersson80/trust-platform

    Builds and verifies truST's VS Code extension - commands, webviews, snippets, debug flows, Control Studio, HMI Builder, Devices & Connections and the test harness.

    222 GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Questions about Trust Hmi Contracts

What does Trust Hmi Contracts do?

Guides work on truST's HMI - the HMI Builder editor, page files, the runtime display at /hmi, bindings, commands and writes, authorization, alarms and trends, the plant library and the HMI tests. Trust Hmi Contracts is an agent skill from johannesPettersson80/trust-platform. Guides work on truST's HMI - the HMI Builder editor, page files, the runtime display at /hmi, bindings, commands and writes, authorization, alarms and trends, the plant library and the HMI tests.

When should I use Trust Hmi Contracts?

Trust Hmi Contracts fits situations like: any HMI feature; the HMI runtime API; HMI visual design; plant-library function blocks.

How do I install Trust Hmi Contracts in Claude Code?

Run `npx skills add johannesPettersson80/trust-platform --skill trust-hmi-contracts -a claude-code`. Or copy the skill folder (.codex/skills/trust-hmi-contracts in johannesPettersson80/trust-platform) into .claude/skills/trust-hmi-contracts in your project. Claude Code loads it when a task matches its description.

How do I install Trust Hmi Contracts in Codex?

Run `npx skills add johannesPettersson80/trust-platform --skill trust-hmi-contracts -a codex`. Or copy the skill folder (.codex/skills/trust-hmi-contracts in johannesPettersson80/trust-platform) into .agents/skills/trust-hmi-contracts in your project. Codex loads it when a task matches its description.

Can I use Trust Hmi Contracts in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add johannesPettersson80/trust-platform --skill trust-hmi-contracts -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/trust-hmi-contracts, .gemini/skills/trust-hmi-contracts, .github/skills/trust-hmi-contracts and .opencode/skills/trust-hmi-contracts in your project.

What does Trust Hmi Contracts need to run?

Going by SKILL.md and its folder, Trust Hmi Contracts needs the command-line tools its instructions call (cargo, npx and npm). Our summary lists: Node.js.

Does Trust Hmi Contracts access the network?

SKILL.md contains no URLs. Its commands use npx and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Trust Hmi Contracts safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Trust Hmi Contracts use?

Trust Hmi Contracts is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Trust Hmi Contracts use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Trust Hmi Contracts?

Skills that share tags, products or a category with Trust Hmi Contracts: UI UX Pro Max (futureboard/futureboard-studio, 110 stars), Worklog Design (regisx001/Worklog, 261 stars), Refactoring UI Design (chaxus/ran, 269 stars) and Ss Learn (bitjaru/styleseed, 973 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Trust Hmi Contracts?

johannesPettersson80 (a GitHub user) maintains it in johannesPettersson80/trust-platform, which has 222 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 11, 2026.

Source: johannesPettersson80/trust-platform on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.