epics-module

Creates and configures IOC apps and modules with Bazel build system and runtime startup behavior.

1|1|Updated Apr 14, 2026
One-click install
npx skills add https://github.com/BCDA-APS/opencode-skills --skill epics-module
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: epics-module
Source: https://github.com/BCDA-APS/opencode-skills/tree/main/epics-module
Command: npx skills add https://github.com/BCDA-APS/opencode-skills --skill epics-module

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It removes uncertainty and rework when creating EPICS IOC applications and support modules by giving a correct, repeatable build and startup structure.

Core Features & Use Cases

  • Scaffold modules with makeBaseApp.pl: Create ioc and support module directory trees with the right configure/ and Makefile boilerplate.
  • Assemble DBD and load device support correctly: Build composite DBDs from base and support-module DBD fragments, and ensure _registerRecordDeviceDriver.cpp is generated rather than edited.
  • Produce working startup scripts (st.cmd): Order dbLoadDatabase, registration, record/template loads, and iocInit so IOCs start reliably.
  • Plan dependencies and linking: Add dependent modules via configure/RELEASE, update src/Makefile DBD fragments and library link order, and keep $(EPICS_BASE_IOC_LIBS) last.

Quick Start

Ask the AI to generate a complete EPICS module layout for a new IOC named myApp with a support library named mySupport, including the correct Makefile variables, DBD fragment wiring, and an st.cmd that loads myRecords.db using the right startup command order.

Frequently Asked Questions about epics-module

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a new EPICS IOC application using makeBaseApp.pl?▼

To create an EPICS IOC application with makeBaseApp.pl, you must follow the two-step pattern to scaffold the ioc and support module directory trees, generating the correct configure/ and Makefile boilerplate for a repeatable build structure.

What is the correct command order for an EPICS st.cmd startup script?▼

The correct st.cmd command order requires dbLoadDatabase and record-device-driver registration to execute before dbLoadRecords and iocInit, ensuring the EPICS IOC starts reliably and loads databases in the proper sequence.

How do I assemble DBD fragments when building an EPICS IOC?▼

To assemble DBD fragments for an EPICS IOC, combine base and support-module fragments in your src/Makefile, ensuring the _registerRecordDeviceDriver.cpp file is generated by the build system rather than edited manually.

Why does my EPICS IOC fail to link dependent support modules?▼

EPICS IOC linking fails when dependent modules are not added via configure/RELEASE or when libraries are not linked in reverse dependency order, so you must always keep $(EPICS_BASE_IOC_LIBS) last in the src/Makefile.

How do I configure PROD_IOC and LIBRARY_IOC in an EPICS Makefile?▼

You configure PROD_IOC, PROD_HOST, and LIBRARY_IOC appropriately in the EPICS Makefile to define build targets, matching composite DBD fragments to the PROD_IOC and linking required support libraries correctly.

Can I use makeBaseApp.pl templates to scaffold support modules and IOC directory trees together?▼

Yes, you can use makeBaseApp.pl templates to scaffold both support modules and IOC directory trees, generating the complete EPICS build-system structure with proper configure/ files, Makefile variables, and startup behavior.