skylinecommunications/dataminer-devops
AI agent and portable skills for DataMiner connector and Automation-script development by Skyline Communications.
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.
Foundation skill for all DataMiner connector tasks. Explains what DataMiner is, how connectors fit into the platform, how a connector executes at runtime, and routes to the right specialist skill for any task. Load this skill first — always.
Guidelines for writing DataMiner connector help/documentation pages: page structure, required sections, parameter documentation, connection info, version ranges, DVE documentation, and markdown formatting. Use when creating or reviewing connector documentation.
Push data into a DataMiner element by NAME through the local DataAPI HTTP feature (HTTP PUT to http://localhost:34567/api/data/parameters with identifier/type headers and a JSON body) — usable from any Automation script, QAction, or local process running on the DataMiner, with or without the approved DataMiner test environment. Use when you want to create/update a dynamic, name-addressable element without authoring a static protocol.xml. IMPORTANT: this only works for name-based dynamic DataAPI elements; most connectors/manager connectors use fixed PIDs in a statically authored protocol.xml and must be installed and addressed by PID via IDms instead — DataAPI is NOT a general substitute for IDms or for a real connector.
DataMiner Connectivity Framework (DCF) for connector development: physical/logical interfaces, connections, DCF properties, DCF system tables (65049/65050/65051), the DCFHelper class, and best practices for modelling matrices, routers, and patch panels. Use when adding or modifying DCF interfaces, connections, or related QAction code.
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 the approved DataMiner test environment.
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.
HTTP/HTTPS communication for DataMiner connectors: session and connection structure, request/response handling, authentication, HTTPS, dynamic configuration, and JSON response parsing. Use when implementing or modifying HTTP communication in connectors.
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 the approved DataMiner test environment, 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.
Structured agent logging: JSON log schema for agent execution traces during pipeline runs. Each agent writes timestamped event entries to a per-agent log file. Loaded by all agents for structured logging.
Connector build manifest: shared state across agents during pipeline runs. Defines the JSON schema for connector-build-manifest.json and the read/update protocol that all agents follow.
Skyline DataMiner NuGet package selection and API references: Dev.Protocol, InterAppCalls.Common, Protocol.Extension, Rates.Protocol, and Rates.Common. Use when choosing or using DataMiner NuGet packages in connector QAction code, helper libraries, or connector API projects.
Orchestrator reference material for DataMiner connector development: plan templates, Connector Map format, skill routing table, and NuGet package guidance. Loaded by the dataminer-connector-orchestrator for planning and delegation.
Polling Manager implementation pattern for DataMiner connectors. Provides configurable per-data-set polling intervals, enable/disable controls, parent/child dependencies, context menu actions, and response handling. Based on the official Skyline example connector.
DataMiner protocol.xml validator prevention rules: concise authoring guardrails derived from Skyline.DataMiner.CICD.Validators. Use when creating, editing, reviewing, or validating protocol.xml so Critical findings are prevented and Major, Minor, and Warning findings are avoided.
protocol.xml, DPML, DataMiner connector XML schema authority: use when creating, editing, reviewing, fixing, or validating protocol.xml tags, attributes, enum values, fixed values, ID patterns, child placement, namespaces, keys, and keyrefs. The bundled references are the operational XSD replacement and MUST be followed exactly.
QAction (C#) development for DataMiner connectors: writing QActions, SLProtocol API, table fill methods (FillArray, FillArrayNoDelete, FillArrayWithColumn, SetRow, AddRow, DeleteRow), Clear/Leave sentinels, exception handling, multi-threading, performance optimization, logging, and code organization patterns. Use when writing or modifying C# QAction code.
Generate QAction_Helper.cs from protocol.xml using the qaction-helper-generation dotnet global tool. Use after any protocol.xml changes and before QAction C# development.
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.
Generate TOON-format simulation files from DataMiner connector protocol.xml: endpoint extraction, realistic data generation, and TOON encoding rules for HTTP and SNMP connectors.
Unit testing for DataMiner connector QActions using SLProtocolMock: test project setup, Arrange/Act/Assert patterns, SLProtocolMock and SLProtocolMock<T>, IAsserter interface, table assertions, parameter verification, Moq integration, and Fluent Assertions. Use when writing or setting up unit tests for connector QActions.
DataMiner connector validation: running the validator CLI, parsing JSON output, severity levels (Critical/Major/Minor/Warning), suppressing validator remarks with XML comments, common error codes, and fix suggestions. Use when validating a connector solution or interpreting validator results.
Run inline validation gates during connector development: schema verification for protocol.xml, C# style prevention (SA1505/SA1508/SA1028), and build quality checks for QActions. Use between XML authoring and QAction development to catch errors early.
DPML XML authoring for DataMiner connectors: protocol structure, parameters, groups, timers, triggers, actions, tables (array parameters), alarming, trending, UI pages/layout, display keys, DVEs, commands/responses, and Measurement sections. Use when creating or editing protocol.xml content.