skylinecommunications/dataminer-automation
DataMiner Automation script planning, authoring, testing, investigation, and review agents.
If you need to use DataMiner Web Services endpoints use this skill. Use for authentication via ConnectAppAndInfo, strict endpoint validation against DataMiner docs, GetSecurityInfo access checks, global authorization guard patterns, and WebSocket connection setup.
Foundation skill for all DataMiner Automation script tasks. Explains what an Automation script is, how it executes at runtime through the Engine (IEngine) API, the difference between non-interactive and interactive (IAS) scripts, and routes to the right specialist skill for any task. Load this skill first — always.
Orchestrator reference material for DataMiner Automation script development: Script Map format, plan templates (FEATURE/BUGFIX/INVESTIGATION/REVIEW), skill-routing table, and SDK/NuGet planning rules. Loaded by the dataminer-automation-orchestrator agent for planning and delegation.
C# Engine (IEngine) development for DataMiner Automation scripts: entry point and namespace convention, abort/timeout exception handling, reading script parameters, resolving elements/services, reading/writing parameters and tables, exit states, logging, performance, and Skyline analyzers. Load for any automation-script C# work.
Unit testing DataMiner Automation scripts: testable script design, mocking the IEngine interface with Moq, asserting exit states and side effects, and test-project setup with xUnit/NUnit/MSTest and FluentAssertions. Load when writing or setting up tests for an automation script.
Authoring the DMSScript XML definition of a DataMiner Automation script: root/metadata, script parameters, memory files, dummies (Protocols), options, interactivity, and the Script/Exe blocks. Load for any change to the <Name>.xml script definition.
Validation rules for DataMiner Catalog item documentation and metadata. Applies only to CatalogInformation/README.md and CatalogInformation/manifest.yml, never to root or project READMEs. Use when auditing, reviewing, or fixing Catalog item documentation — checking About, Key Features, Use Cases, Prerequisites, and Technical Reference sections, image paths, tags, owners, and publication readiness.
Perform AI-assisted data discovery against a live DataMiner system using the CreateAIGeneratedQuery endpoint. Use when the user asks to discover data, query DataMiner with natural language, run data discovery on goals, items, products, releases, or any DataMiner entity.
DataMiner Integration Studio (DIS) code-relevant workflow guidance for Visual Studio: XML editor, snippets, parameter generation, validator auto-fixes, comparer/Major Change Checker, table/version editors, and code-navigation aids. Use when the user is working in Visual Studio with DIS available. DIS is highly advised but not mandatory.
Create a .dmprotocol connector package from a classic (DIS-style) connector solution using the official Skyline.DataMiner.CICD.Tools.Packager CLI (dataminer-package-create dmprotocol). Use whenever you need a deployable/installable connector artifact and the project is NOT an SDK-style connector — e.g. harvesting a legacy protocol.xml + QAction_*.csproj solution into a .dmprotocol for deployment, CI, or inclusion in a DataMiner Test Package. Covers local vs global tool install, the exact CLI arguments, version override, MSBuild wiring, the trailing-backslash output gotcha, package verification, and deploying the artifact. Independent of QAOps.
Use when implementing or debugging a call to the DataMiner ExecuteAutomationScriptWithOutput JSON API. Contains the exact JSON request structure, scriptOptions fields, and how parameters are encoded.
Execute GQI queries in a DataMiner frontend application using OpenQuerySessionAsync over WebSocket. Use when building production apps that need to fetch GQI data (DOM instances, ad hoc data sources, custom queries) from DataMiner using a known query object, or when the user provides a query object directly.
Find approved Skyline example and starter repositories for a connector or app task. Use when the user asks for an example, reference implementation, starter template, or best-practice repo, or before scaffolding so work builds on a vetted Skyline pattern.
Author and review DataMiner GQI ad hoc data-source libraries: modern Core GQI contracts, library identity/XML, lifecycle and paging, version gates, and query-level validation.
Use when a frontend app needs to drive a DataMiner Interactive Automation Script (IAS) from a custom UI. Covers the full WebSocket + HTTP protocol flow, dialog parsing, values string construction, re-render handling, and multi-dialog wizard navigation.
Write C# code that reads or manipulates a DataMiner System through the IDms classes (Skyline.DataMiner.Core.DataMinerSystem): finding elements, reading/writing parameters and tables, executing Automation scripts, creating elements, managing views/services/alarms. Use whenever code must interact with a live DataMiner from an Automation script, QAction, or external test/tool — e.g. "write a script that exports data from all elements of connector X", "stop all elements of protocol Y", "read the Performance page of an element". Testing or verifying such code on a real DataMiner is ALWAYS done through QAOps, never a local DataMiner install — see "Related Skills".
Build interactive (operator-facing) DataMiner Automation scripts (IAS): the Interactive Automation Script Toolkit (InteractiveController, Dialog, Section, widgets), AddWidget grid layout, event-driven navigation, and the engine.ShowUI low-level alternative. Load for any wizard, form, or dashboard automation script.
Domain-neutral structured agent logging for Connector and Automation pipeline runs. Each agent writes timestamped JSON events to a per-agent log file.
Domain-neutral DataMiner build manifest for Connector and Automation pipeline runs. Defines the JSON schema and update protocol for connector-build-manifest.json.
Author and review DataMiner Node Recovery local/global trigger scripts: typed entry-point contracts, cluster semantics, state and maintenance handling, settings/install boundaries, and multi-node validation.
Skyline DataMiner NuGet package selection and API references for Connector and Automation projects, including Dev Packs, IAS, DataMinerSystem, InterAppCalls, Protocol.Extension, Rates, and SecureCoding.
Foundation skill for QAOps (Quality Assurance and Operations): what QAOps is, when to use it, environment/configuration IDs, token handling, and routing to QAOps test-run and integration-test authoring/migration skills. Use when the user says "test with QAOps", "test on RC", "test on a Main/Feature release DataMiner", "run my regression/integration tests", "write tests and run them on a real system", "add a QAOps Test Package", "make our tests run on QAOps", "migrate to QAOps", "did my tests pass", "will my solution break on the next DataMiner release", "check before release", wants to test Automation scripts, connectors, solutions, or element/service behavior on a real DataMiner, or mentions DaaS, quality gates, or .dmtest packages.
Create or wire MSTestV2 integration tests that run on QAOps DataMiner, OR migrate an existing MSTest/Playwright integration test project onto QAOps (add a Test Package, gate credentials, run on a bridge). Use when testing Automation scripts, connectors, element/service behavior, or any solution change against a live DataMiner, or when asked to "add a QAOps Test Package" / "make our tests run on QAOps" / "migrate to QAOps". Covers project naming, IDms localhost setup, executing Automation scripts, asserting element state, system-state preflight, fixture isolation, supplementary runtime files, protocol-version assertions, non-locking log reading, WinEncryptedKeys credentials and the BridgeId bridge gate, Test Package InstallScript setup, harvesting a classic connector into a .dmprotocol, the runtime-prerequisite cascade (SDM/connector/DOM) and mirroring the solution installer, Playwright HTTPS host, CPM template gotchas, .dmtest discovery, scoped runs via PipelineLibrary -TestFilter, and device simulators.
Device simulators for DataMiner QAOps integration tests: SNMP (Skyline Device Simulator / QADeviceSimulator), raw TCP (serial, HTTP, WebSocket), process-based simulators packaged with .dmtest, and large or per-run simulator assets supplied as QAOps supplementary files. Use when tests need real device communication instead of just checking element state. Covers QADeviceSimulator CLI, TcpDeviceSimulator in-test class, WebSocketDeviceSimulator console exe, SnmpSimulatorSession, simulator lifecycle/cleanup, baseline-controlled test design, loopback limitations on QAOps DaaS, and connector fixture patterns.
Run DataMiner integration or regression test packages through QAOps using dataminer-qaops test-run-and-wait. Use when the user says "test with QAOps", "test on RC", "test on a Main/Feature release DataMiner", "run my regression tests", "run my integration tests", or wants existing tests executed on a real system. Covers TestPackage project discovery, fresh versioned .dmtest artifact selection, packaged MSTest discovery checks, scoped -TestFilter runs, supplementary runtime files, QAOps tool install/update, RC/Main/Feature configuration IDs, token handling, long-running waits and timing expectations, result files, tags, and result processing.
Skyline DataMiner SDK and official toolchain authority: SDK-style projects, official templates, validator cadence, Packager/CatalogUpload/DataMinerDeploy, Dev Packs, PackageReference, and troubleshooting. Use for project setup, validation, build, packaging, publishing, deployment, or whenever an official Skyline tool may replace manual work.
Route and review DataMiner SRM Automation scripts by lifecycle role: PLS, LSO, DTR, custom/contributing/created-booking actions, Booking Manager UI, utilities, typed callbacks, configuration, and staged runtime validation.
Author and review DataMiner User-Defined API Automation scripts: OnApiTrigger contracts, routes, version-gated request/response features, external provisioning, security, and HTTPS validation.
Discovers and classifies every project in a repository that contains Skyline.DataMiner.SDK projects and/or DataMiner app frontends (ad hoc data source, data transformer, user-defined API, automation script, connector, NuGet project, shared project, test project, DataMiner app, and more) by combining source code patterns, manifest.yml, and .csproj/package.json metadata. Accepts an optional scope that keeps the expensive source-scanning pass limited to the projects a caller cares about. Use whenever an agent needs a typed project inventory before doing per-type work such as documentation, review, or validation.