A Claude Code custom skill for Neptune Systems Apex aquarium controllers — generate programming code and configuration from plain English prompts
SaferSkills independently audited neptune-systems-ai-skill (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Claude Code custom skill (/neptune-systems) that acts as an intelligent assistant for Neptune Systems Apex aquarium controllers. Ask it what you want to do in plain English — it reads the official Neptune Systems documentation and returns working Apex code or step-by-step configuration instructions.
When you invoke /neptune-systems, Claude:
Open your terminal and run:
mkdir -p ~/.claude/commandscurl -o ~/.claude/commands/neptune-systems.md \
https://raw.githubusercontent.com/dl-romero/neptune-systems-ai-skill/main/neptune-systems.mdOr clone this repo and copy manually:
git clone https://github.com/dl-romero/neptune-systems-ai-skill.git
cp neptune-systems-ai-skill/neptune-systems.md ~/.claude/commands/In Claude Code, type / and look for neptune-systems in the autocomplete list. If it appears, you're ready to go.
/neptune-systems <describe what you want to do>Write your request in plain English. You do not need to know Apex programming syntax — that's what the skill is for.
Examples:
/neptune-systems Turn off my return pump if pH drops below 7.9
/neptune-systems Set up my heater to maintain 78.5°F with a 0.5 degree swing
/neptune-systems Create a sunrise and sunset ramp for my AI Hydra lightsClaude will fetch the relevant manual, read it, and return code you can paste directly into the Apex Fusion outlet programmer.
Prompt:
/neptune-systems Turn off my return pump if pH drops below 7.9 or rises above 8.5Output:
Outlet: ReturnPump
Fallback ON
Set ON
If pH < 7.90 Then OFF
If pH > 8.50 Then OFFRef: Comprehensive Reference Manual, Chapter 5 — Probe Testing
Prompt:
/neptune-systems Program my heater to keep the tank at 78.5°F. Turn it on at 78.0 and off at 79.0Output:
Outlet: Heater
Fallback ON
Set OFF
If Temp < 78.0 Then ON
If Temp > 79.0 Then OFFRef: Comprehensive Reference Manual, Chapter 5 — Probe Testing (Temp, pH, ORP)
Prompt:
/neptune-systems Create a sunrise and sunset schedule for my AI Hydra. Lights on at 9am, full brightness by 10am, start dimming at 7pm, off by 8pmOutput:
First, create two profiles in Apex Fusion:
Profile: RampUp
| Field | Value |
|---|---|
| Ramp Time | 60 min |
| Start Intensity | 0% |
| End Intensity | 100% |
Profile: RampDown
| Field | Value |
|---|---|
| Ramp Time | 60 min |
| Start Intensity | 100% |
| End Intensity | 0% |
Then program the VarSpd outlet for the Hydra:
Outlet: Hydra_VarSpd
Fallback OFF
Set OFF
If Time 09:00 to 10:00 Then RampUp
If Time 10:00 to 19:00 Then ON
If Time 19:00 to 20:00 Then RampDownRef: Comprehensive Reference Manual, Chapter 6 — Variable Speed Pumps and Dimmable Lights; IoTa — AI Prime & Hydra User Guide
Prompt:
/neptune-systems Set up an automatic top-off using a float switch on SW1 to control a dosing pumpOutput:
Outlet: ATO_Pump
Fallback OFF
Set OFF
If Sw1 OPEN Then ON
If Sw1 CLOSED Then OFF
Min Time 005:00 Then OFFConnect the float switch to the I/O Breakout Box input SW1. Wire one lead to the SW1 terminal and the other to Ground. The Min Time statement prevents the pump from cycling rapidly and protects against float switch bounce.>
Ref: Comprehensive Reference Manual, Chapter 13 — Automatic Top-Off System; Chapter 5 — Switches
Prompt:
/neptune-systems Pause my return pump and skimmer for 10 minutes when I trigger Feed mode AOutput:
Outlet: ReturnPump
Fallback ON
Set ON
If Feed A Then OFF
---
Outlet: Skimmer
Fallback ON
Set ON
If Feed A Then OFFFeed mode is triggered manually from the Apex display or Fusion dashboard. Feed A runs for however many minutes you configure under Setup > Misc. Set it to 10 minutes.
>
Ref: Comprehensive Reference Manual, Chapter 5 — Feed (and Maintenance) Cycles
Prompt:
/neptune-systems Delay my skimmer 20 minutes after power is restored to let the water settleOutput:
Outlet: Skimmer
Fallback OFF
Set ON
If Power EB8_1 ON 020:00 Then OFFThe If Power statement checks how long has elapsed since the EB8 restored power. The outlet stays OFF for the first 20 minutes after power comes back, then resumes AUTO.>
Ref: Comprehensive Reference Manual, Chapter 5 — Power
Prompt:
/neptune-systems Make my lights come on 1 hour earlier on weekends (Saturday and Sunday)Output:
Outlet: Lights
Fallback OFF
Set OFF
If Time 09:00 to 21:00 Then ON
If DoW -MTWTF- Then OFF
If Time 08:00 to 21:00 Then ON
If Temp > 83.0 Then OFFTheDoWstatement usesSMTWTFSfor the 7 days of the week. Dashes represent days to exclude.-MTWTF-means Monday–Friday only, so the earlier time block (08:00) only fires on Saturday and Sunday.
>
Ref: Comprehensive Reference Manual, Chapter 5 — Day of Week
Prompt:
/neptune-systems Control my ozone generator to keep ORP between 350 and 400Output:
Outlet: Ozonizer
Fallback OFF
Set OFF
If ORP < 350 Then ON
If ORP > 400 Then OFFRequires an ORP probe connected to the Apex base unit's ORP/pH combo jack or a PM3 module. Do not exceed 400 mV ORP in a reef tank.
>
Ref: Comprehensive Reference Manual, Chapter 5 — Probe Testing; PM3 Manual
Prompt:
/neptune-systems Dose Part A and Part B with my DOS module — 50mL of each per day, split into 4 equal dosesOutput:
In Apex Fusion, navigate to Outputs > DOS and configure each head:
DOS Head 1 (Part A)
| Field | Value |
|---|---|
| Volume per dose | 12.5 mL |
| Doses per day | 4 |
| Start time | 00:00 |
| Interval | Every 6 hours |
DOS Head 2 (Part B)
| Field | Value |
|---|---|
| Volume per dose | 12.5 mL |
| Doses per day | 4 |
| Start time | 00:30 |
| Interval | Every 6 hours |
Offset Part B by 30 minutes from Part A to prevent calcium/alkalinity precipitation in the water column.
>
Ref: DOS Manual
Prompt:
/neptune-systems Shut off my lights and send an alarm if the tank temperature exceeds 82°FOutput:
Outlet: Lights
Fallback OFF
Set ON
If Temp > 82.0 Then OFF
---
Outlet: TempAlarm (Virtual Outlet)
Set OFF
If Temp > 82.0 Then ON
---
Email/SMS Alert (configure in Apex Fusion > Notifications):
Trigger: When outlet TempAlarm = ON
Message: "ALERT: Tank temp exceeded 82°F"Create TempAlarm as a Virtual Outlet (no physical plug needed). Then set up a notification in Fusion that fires when that outlet turns ON.>
Ref: Comprehensive Reference Manual, Chapter 9 — Virtual Outlets; Chapter 5 — Alarms and Warnings
Prompt:
/neptune-systems Set up my wavemaker to alternate on for 30 seconds and off for 45 seconds continuouslyOutput:
Outlet: Wavemaker
Fallback ON
Set ON
Oscillate 030/045/000Oscillate ON_seconds/OFF_seconds/OFF_seconds — the third value is an additional off period before the cycle repeats. Set to 0 to loop continuously.>
Ref: Comprehensive Reference Manual, Chapter 6 — Oscillate
Prompt:
/neptune-systems Program moonlights that follow the real lunar cycle using my LSM moduleOutput:
Create a profile named moonlight:
Outlet: Moonlight_VarSpd
Fallback OFF
Set OFF
If Moon 000/100 Then moonlightIf Moon 000/100fires when the lunar phase is between 0% (new moon) and 100% (full moon) — i.e., always. Adjust the range to restrict to specific moon phases (e.g.,050/100= half to full moon only). Requires LSM module.
>
Ref: Comprehensive Reference Manual, Chapter 6 — Features (Moon/Sun); LSM Manual
Based on the official Neptune Systems documentation included in this skill:
| Device | Notes |
|---|---|
| Apex | Full support — 3 probes, 4 variable ports, 29 modules |
| Apex Lite | Full support (discontinued) — 2 probes, no variable ports |
| Apex Jr. | Full support — 4 outlets, 7 module limit, no ORP/variable ports |
| AquaController Pro 1 | Legacy support |
| AquaController 2 | Legacy support |
| AquaController 3 / 3 Pro | Legacy support |
| AquaController Jr. | Legacy support |
| Device | Notes |
|---|---|
| EB8 | 8-outlet energy bar, amperage monitoring |
| EB4 | 4-outlet energy bar |
| EB6 | 6-outlet energy bar (European/Schuko) |
| EB832 | 8-outlet with USB charging |
| EB632 | 6-outlet with USB charging |
| directConnect4 (DC4) | 4-outlet legacy module |
| directConnect4 HD | Heavy-duty 4-outlet legacy module |
| directConnect8 (DC8) | 8-outlet legacy module |
| SocketExp | Socket expansion module |
| Device | Notes |
|---|---|
| PM1 | Temp + pH probe expansion |
| PM2 | Temp + ORP probe expansion |
| PM3 | Temp + pH + ORP probe expansion |
| PMK | Probe module kit |
| PX1000 | Legacy probe expansion (discontinued) |
| Device | Notes |
|---|---|
| COR-15 | 15,000 GPH return pump |
| COR-20 | 20,000 GPH return pump |
| WAV | Wavemaker/powerhead controller |
| DOS | Dual-head dosing system |
| aquaSurf | Surge device controller (discontinued) |
| aquaMoon | Lunar-phase surge controller |
| PMUP | Apex-controlled peristaltic pump |
| Device | Notes |
|---|---|
| WXM | Wireless expansion for Radion/Kessil lights |
| VDM | Variable speed / dimming module (4 VSPs) |
| AWM | AI Wireless Module (for AI Prime/Hydra/Vega) |
| IoTa (AI Prime & Hydra) | Direct Apex integration for AI lights |
| IoTa (Kessil A360X & AP9X) | Direct Apex integration for Kessil lights |
| IoTa (Sicce SDC) | Direct Apex integration for Sicce pumps |
| LSM | Lunar simulation module |
| Device | Notes |
|---|---|
| Trident | Automated water chemistry analyzer (Ca, Alk, Mg) |
| AFS | Automatic feeding system |
| ALD | Advanced leak detection module |
| AWM | AI wireless module |
| DISP | Display module |
| I/O Breakout Box | Float switches and dry-contact inputs |
| PX1000 | Legacy probe expansion |
All documents sourced from help.neptunesystems.com/support/docs/.
| Document | Link |
|---|---|
| Comprehensive Reference Manual | |
| Apex Cloning Guide | |
| AquaController Jr Quickstart | |
| AquaController 2 | |
| AquaController 3 (3.20) | |
| AquaController 3 Pro | |
| AquaController Jr Serial | |
| AquaController Pro 1 | |
| COR Standalone User Guide | |
| COR User Guide for Apex | |
| COR-15 Get Started Card | |
| COR-20 Get Started Card | |
| DOS Manual | |
| EB4 Manual | |
| EB6 Manual | |
| EB8 Manual | |
| EB632 Guide | |
| EB832 Guide | |
| WXM Manual | |
| WXM Radion Instructions | |
| WAV QuickStart | |
| VDM Manual | |
| LSM Manual | |
| DISP Manual | |
| AFS Manual | |
| ALD Manual | |
| AWM Manual | |
| PM1 Manual | |
| PM2 Manual | |
| PM3 Manual | |
| PMK Manual | |
| PMUP Guide | |
| aquaMoon | |
| aquaSurf | |
| AquaNotes | |
| IoTa — AI Prime & Hydra User Guide | |
| IoTa — Kessil A360X & AP9X User Guide | |
| IoTa — Sicce SDC Pump User Guide | |
| IoTa Network Equipment Addendum | |
| Frequently Asked Questions | |
| Dashboard Instructions | |
| Quick Start Firmware Guide V2 | |
| Quick Start Network Guide V4 | |
| DO Membrane Replacement Guide | |
| Trident Get Started Card | |
| Trident NP Get Started Card | |
| ATK Get Started Card | |
| directConnect4 | |
| directConnect4 Heavy Duty | |
| directConnect8 | |
| SocketExp | |
| PX1000 |
| Document | Link |
|---|---|
| Apex & EB832/EB632 Mounting Templates | |
| Apex Module Mounting Template | |
| Apex3 Jr Mounting Template | |
| COR Mounting Template | |
| DOS Mounting Template | |
| SKY DIY Mounting Template |
| Resource | Link |
|---|---|
| Neptune Systems Help Center | help.neptunesystems.com |
| Neptune Systems Community Forum | forum.neptunesystems.com |
| Neptune Systems Support | Contact Support |
| Neptune Systems Zendesk | Knowledge Base |
This skill is a community tool and is not affiliated with or endorsed by Neptune Systems. Always verify generated code against the official Neptune Systems documentation before deploying to a live tank. Incorrect programming can harm livestock.
Built with [Claude Code](https://claude.ai/code)
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.