.github/skills/plugin-run-development/SKILL.md
Create and run NetAlertX plugins. Use this when asked to create plugin, run plugin, test plugin, plugin development, or execute plugin script.
npx skillsauth add netalertx/netalertx netalertx-plugin-run-developmentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
front/plugins/<code_name>/.config.json and script.py to understand its functionality and settings.python3 front/plugins/<code_name>/script.py./tmp/log/plugins/last_result.<PREF>.log) quickly, as the backend may delete it after processing.python3 front/plugins/<code_name>/script.py
Ensure sys.path includes /app/front/plugins and /app/server (as in the template).
front/plugins/<code_name>/
├── config.json # Manifest with settings
├── script.py # Main script
└── ...
front/plugins/<code_name>/config.json
code_name == folder nameunique_prefix drives settings and filenames (e.g., ARPSCAN)<PREF>_RUN: execution phase<PREF>_RUN_SCHD: cron-like schedule<PREF>_CMD: script path<PREF>_RUN_TIMEOUT: timeout in seconds<PREF>_WATCH: columns to watch for changesScripts write to /tmp/log/plugins/last_result.<PREF>.log
Important: The backend will almost immediately process this result file and delete it after ingestion. If you need to inspect the output, run the plugin and immediately retrieve the result file before the backend processes it.
Use front/plugins/plugin_helper.py:
from plugin_helper import Plugin_Objects
plugin_objects = Plugin_Objects()
plugin_objects.add_object(...) # During processing
plugin_objects.write_result_file() # Exactly once at end
once: runs once at startupschedule: runs on cron schedulealways_after_scan: runs after every scanbefore_name_updates: runs before name resolutionon_new_device: runs when new device detectedon_notification: runs when notification triggered| Format | Purpose | Runs |
|--------|---------|------|
| publisher | Send notifications | on_notification |
| dev scanner | Create/manage devices | schedule |
| name discovery | Discover device names | before_name_updates |
| importer | Import from services | schedule |
| system | Core functionality | schedule |
Copy from front/plugins/__template and customize.
tools
Manage NetAlertX configuration settings. Use this when asked to add setting, read config, get_setting_value, ccd, or configure options.
development
Load synthetic device data into the devcontainer. Use this when asked to load sample devices, seed data, import test devices, populate database, or generate test data.
devops
Clean up unused Docker resources. Use this when asked to prune docker, clean docker, remove unused images, free disk space, or docker cleanup. DANGEROUS operation. Requires human confirmation.
development
Build Docker images for testing or production. Use this when asked to build container, build image, docker build, build test image, or launch production container.