Skill: Industrial Safety Simulator
Intent
Ensure industrial, manufacturing, edge, shop-floor, PLC, SCADA, MES, and control-room requirements are validated through safe simulation boundaries before any real-world integration.
This skill prevents generated software from treating industrial operations as ordinary CRUD workflows.
Use when
Use this skill when a REQ touches manufacturing, industrial systems, shop-floor workflows, PLC, SCADA, MES, HMI, OPC UA, Modbus, MQTT, edge gateways, sensors, actuators, alarms, safety states, production lines, maintenance workflows, or control-room UI.
Do not use when
Do not use this skill for generic enterprise software with no industrial runtime, physical process, equipment, sensor, actuator, operator, or safety implication.
Signals
- The REQ mentions industrial, manufacturing, plant, factory, shop floor, PLC, SCADA, MES, HMI, OPC UA, Modbus, MQTT, edge, sensor, actuator, alarm, maintenance, downtime, line status, operator, or control room.
- The selected pack is industrial-manufacturing or industrial-solution.
- The selected design profile is industrial-control-room.
- Acceptance criteria include real-time status, equipment state, alarms, or operator actions.
Required behavior
- Keep real equipment integration behind explicit adapters.
- Provide simulator/fake device paths for local tests.
- Treat write/control actions as high-risk and require explicit approval or simulation-only behavior unless the REQ explicitly provides a safe runtime.
- Model safety states explicitly where relevant: unknown, stale, degraded, alarm, stopped, manual override, and emergency.
- Show stale data and telemetry age in operator-facing UI when relevant.
- Document polling, latency, retry, and failure assumptions.
- Separate read-only monitoring from write/control operations.
- Mark real plant/equipment integration as external and non-blocking unless a safe test environment is provided.
Forbidden behavior
- Do not send commands to real equipment from generated tests.
- Do not hide stale, missing, or degraded telemetry.
- Do not assume all equipment states are safe or reachable.
- Do not hardcode PLC/SCADA/MES endpoints, credentials, station IDs, or equipment identifiers.
- Do not implement write/control actions without safety boundary and approval semantics.
- Do not claim production plant readiness from simulator-only evidence.
- Do not optimize for visual novelty over operator clarity and alarm readability.
Evidence required
- Simulator or fake adapter tests for industrial data and failure states.
- Explicit adapter boundary for real industrial protocols or systems.
- HOWTO explaining simulator/local mode and external validation mode.
- Safety-state handling evidence when physical process impact exists.
- Control-room UI evidence for alarm visibility, stale data, and operator readability when UI is involved.
- Gate notes distinguishing simulation evidence from real integration evidence.
Repair guidance
- If code connects directly to industrial endpoints, introduce a simulator-compatible adapter.
- If stale data is invisible, add timestamp/age/degraded indicators.
- If write actions exist, add dry-run, approval, or disabled-by-default controls.
- If tests require real equipment, replace with simulator tests and document external validation.
- If UI is unclear, prioritize operator scanning, status grouping, contrast, and alarm hierarchy.
Gate implications
Gate should block promotion when:
- Industrial write/control behavior lacks safety boundary.
- Tests can affect real equipment.
- Required simulator evidence is missing.
- Stale/degraded telemetry is hidden for operator-facing requirements.
- Real integration is claimed without external evidence.
Gate may allow non-blocking warnings when:
- Real plant validation is unavailable but simulator checks pass.
- Latency/performance checks require a dedicated industrial test environment.
Examples
- A SCADA monitoring REQ uses a fake OPC UA adapter in tests and documents real endpoint configuration separately.
- A control-room dashboard shows stale telemetry age, alarm severity, and degraded state.
- A MES integration REQ has read-only local simulator tests and marks production connectivity as external validation.
Non-examples
- A test that writes directly to a PLC endpoint.
- A dashboard that always shows green status when telemetry is missing.
- A generated control action with no dry-run or approval boundary.
CLike Promotable KIT Enforcement Layer
Purpose
This layer makes the skill operational for CLike /kit generation.
The goal is not to produce plausible code. The goal is to produce candidate artifacts that can be evaluated, repaired, and promoted through EVAL and GATE with minimal human rework.
Promotable Code Obligations
When this skill is selected for a REQ, the KIT must:
- respect
main_module_boundary;
- respect
functional_scope and technical_scope;
- generate the smallest complete implementation slice;
- prefer repository-native conventions over invented abstractions;
- produce source files only under the target KIT source root;
- produce tests only under the target KIT test root;
- keep canonical
src/, test/, and tests/ read-only during candidate generation;
- document any intentional limitation instead of pretending completeness;
- avoid broad rewrites unless explicitly required by the REQ.
Required Candidate Artifacts
The KIT should produce or update:
runs/kit/<REQ-ID>/src/
runs/kit/<REQ-ID>/test/
runs/kit/<REQ-ID>/ci/LTC.json
runs/kit/<REQ-ID>/ci/HOWTO.md
runs/kit/<REQ-ID>/docs/KIT_<REQ-ID>.md
If the REQ is documentation-only or policy-only, the KIT must explicitly state why source/test artifacts are not required.
Code Shape Expectations
Generated code should favor:
- explicit boundaries;
- dependency injection or constructor/function injection where practical;
- small cohesive modules;
- deterministic local behavior;
- typed schemas/contracts when the stack supports them;
- error paths that are visible and testable;
- safe defaults;
- clear adapter seams for external systems.
Generated code must avoid:
- hidden global state;
- hardcoded environment assumptions;
- silent fallbacks;
- fake success;
- speculative framework layers;
- broad unrelated refactors;
- acceptance criteria implemented only in prose.
Test Expectations
Tests must map to acceptance criteria.
Prefer:
- deterministic unit tests;
- contract tests around adapters and payloads;
- failure-path tests;
- local fake/simulator tests for external dependencies;
- smoke checks only when deeper tests are not possible.
Avoid:
- placeholder tests;
- tests that only import modules when behavior is required;
- tests that require production credentials;
- network-dependent blocking tests unless explicitly scoped.
LTC Expectations
ci/LTC.json must be valid JSON and include enough information for EvalRunner or a local agent to execute checks.
It should include:
- target
req_id;
- lane/runtime profile when known;
- blocking local commands;
- optional external commands;
- report paths when available;
- environment-blocked status for unavailable infrastructure;
- gate-relevant policy hints.
HOWTO Expectations
ci/HOWTO.md must be clear enough for a developer to run without guessing.
It should include:
- where to run commands from;
- prerequisites;
- local commands;
- expected result;
- troubleshooting;
- required environment variables;
- optional external validation steps;
- limitations and non-goals.
Gate Impact
GATE should BLOCK promotion when this selected skill is materially violated.
Blocking examples:
- source is not mapped to the target REQ;
- acceptance-critical behavior has no test or executable evidence;
- LTC/HOWTO are missing for runnable code;
- production services or credentials are required for local blocking checks;
- selected capability obligations are ignored;
- generated files modify forbidden canonical roots;
- code claims completeness without evidence.
GATE may WARN when:
- optional external validation is not available but a deterministic local contract check exists;
- documentation is thin but executable evidence is complete;
- future hardening is correctly documented as out of scope.
1---2name: industrial-safety-simulator3description: Model safe/unsafe states and block unsafe commands by default for industrial simulation.4---56# Skill: Industrial Safety Simulator78## Intent910Ensure industrial, manufacturing, edge, shop-floor, PLC, SCADA, MES, and control-room requirements are validated through safe simulation boundaries before any real-world integration.1112This skill prevents generated software from treating industrial operations as ordinary CRUD workflows.1314## Use when1516Use this skill when a REQ touches manufacturing, industrial systems, shop-floor workflows, PLC, SCADA, MES, HMI, OPC UA, Modbus, MQTT, edge gateways, sensors, actuators, alarms, safety states, production lines, maintenance workflows, or control-room UI.1718## Do not use when1920Do not use this skill for generic enterprise software with no industrial runtime, physical process, equipment, sensor, actuator, operator, or safety implication.2122## Signals2324- The REQ mentions industrial, manufacturing, plant, factory, shop floor, PLC, SCADA, MES, HMI, OPC UA, Modbus, MQTT, edge, sensor, actuator, alarm, maintenance, downtime, line status, operator, or control room.25- The selected pack is industrial-manufacturing or industrial-solution.26- The selected design profile is industrial-control-room.27- Acceptance criteria include real-time status, equipment state, alarms, or operator actions.2829## Required behavior3031- Keep real equipment integration behind explicit adapters.32- Provide simulator/fake device paths for local tests.33- Treat write/control actions as high-risk and require explicit approval or simulation-only behavior unless the REQ explicitly provides a safe runtime.34- Model safety states explicitly where relevant: unknown, stale, degraded, alarm, stopped, manual override, and emergency.35- Show stale data and telemetry age in operator-facing UI when relevant.36- Document polling, latency, retry, and failure assumptions.37- Separate read-only monitoring from write/control operations.38- Mark real plant/equipment integration as external and non-blocking unless a safe test environment is provided.3940## Forbidden behavior4142- Do not send commands to real equipment from generated tests.43- Do not hide stale, missing, or degraded telemetry.44- Do not assume all equipment states are safe or reachable.45- Do not hardcode PLC/SCADA/MES endpoints, credentials, station IDs, or equipment identifiers.46- Do not implement write/control actions without safety boundary and approval semantics.47- Do not claim production plant readiness from simulator-only evidence.48- Do not optimize for visual novelty over operator clarity and alarm readability.4950## Evidence required5152- Simulator or fake adapter tests for industrial data and failure states.53- Explicit adapter boundary for real industrial protocols or systems.54- HOWTO explaining simulator/local mode and external validation mode.55- Safety-state handling evidence when physical process impact exists.56- Control-room UI evidence for alarm visibility, stale data, and operator readability when UI is involved.57- Gate notes distinguishing simulation evidence from real integration evidence.5859## Repair guidance6061- If code connects directly to industrial endpoints, introduce a simulator-compatible adapter.62- If stale data is invisible, add timestamp/age/degraded indicators.63- If write actions exist, add dry-run, approval, or disabled-by-default controls.64- If tests require real equipment, replace with simulator tests and document external validation.65- If UI is unclear, prioritize operator scanning, status grouping, contrast, and alarm hierarchy.6667## Gate implications6869Gate should block promotion when:70- Industrial write/control behavior lacks safety boundary.71- Tests can affect real equipment.72- Required simulator evidence is missing.73- Stale/degraded telemetry is hidden for operator-facing requirements.74- Real integration is claimed without external evidence.7576Gate may allow non-blocking warnings when:77- Real plant validation is unavailable but simulator checks pass.78- Latency/performance checks require a dedicated industrial test environment.7980## Examples8182- A SCADA monitoring REQ uses a fake OPC UA adapter in tests and documents real endpoint configuration separately.83- A control-room dashboard shows stale telemetry age, alarm severity, and degraded state.84- A MES integration REQ has read-only local simulator tests and marks production connectivity as external validation.8586## Non-examples8788- A test that writes directly to a PLC endpoint.89- A dashboard that always shows green status when telemetry is missing.90- A generated control action with no dry-run or approval boundary.91---9293# CLike Promotable KIT Enforcement Layer9495## Purpose9697This layer makes the skill operational for CLike `/kit` generation.9899The goal is not to produce plausible code. The goal is to produce candidate artifacts that can be evaluated, repaired, and promoted through EVAL and GATE with minimal human rework.100101## Promotable Code Obligations102103When this skill is selected for a REQ, the KIT must:104105- respect `main_module_boundary`;106- respect `functional_scope` and `technical_scope`;107- generate the smallest complete implementation slice;108- prefer repository-native conventions over invented abstractions;109- produce source files only under the target KIT source root;110- produce tests only under the target KIT test root;111- keep canonical `src/`, `test/`, and `tests/` read-only during candidate generation;112- document any intentional limitation instead of pretending completeness;113- avoid broad rewrites unless explicitly required by the REQ.114115## Required Candidate Artifacts116117The KIT should produce or update:118119```text120runs/kit/<REQ-ID>/src/121runs/kit/<REQ-ID>/test/122runs/kit/<REQ-ID>/ci/LTC.json123runs/kit/<REQ-ID>/ci/HOWTO.md124runs/kit/<REQ-ID>/docs/KIT_<REQ-ID>.md125```126127If the REQ is documentation-only or policy-only, the KIT must explicitly state why source/test artifacts are not required.128129## Code Shape Expectations130131Generated code should favor:132133- explicit boundaries;134- dependency injection or constructor/function injection where practical;135- small cohesive modules;136- deterministic local behavior;137- typed schemas/contracts when the stack supports them;138- error paths that are visible and testable;139- safe defaults;140- clear adapter seams for external systems.141142Generated code must avoid:143144- hidden global state;145- hardcoded environment assumptions;146- silent fallbacks;147- fake success;148- speculative framework layers;149- broad unrelated refactors;150- acceptance criteria implemented only in prose.151152## Test Expectations153154Tests must map to acceptance criteria.155156Prefer:157158- deterministic unit tests;159- contract tests around adapters and payloads;160- failure-path tests;161- local fake/simulator tests for external dependencies;162- smoke checks only when deeper tests are not possible.163164Avoid:165166- placeholder tests;167- tests that only import modules when behavior is required;168- tests that require production credentials;169- network-dependent blocking tests unless explicitly scoped.170171## LTC Expectations172173`ci/LTC.json` must be valid JSON and include enough information for EvalRunner or a local agent to execute checks.174175It should include:176177- target `req_id`;178- lane/runtime profile when known;179- blocking local commands;180- optional external commands;181- report paths when available;182- environment-blocked status for unavailable infrastructure;183- gate-relevant policy hints.184185## HOWTO Expectations186187`ci/HOWTO.md` must be clear enough for a developer to run without guessing.188189It should include:190191- where to run commands from;192- prerequisites;193- local commands;194- expected result;195- troubleshooting;196- required environment variables;197- optional external validation steps;198- limitations and non-goals.199200## Gate Impact201202GATE should BLOCK promotion when this selected skill is materially violated.203204Blocking examples:205206- source is not mapped to the target REQ;207- acceptance-critical behavior has no test or executable evidence;208- LTC/HOWTO are missing for runnable code;209- production services or credentials are required for local blocking checks;210- selected capability obligations are ignored;211- generated files modify forbidden canonical roots;212- code claims completeness without evidence.213214GATE may WARN when:215216- optional external validation is not available but a deterministic local contract check exists;217- documentation is thin but executable evidence is complete;218- future hardening is correctly documented as out of scope.