netalertx-plugin-run-development
Manages plugin configurations and executes Python scripts with path handling and logging for inspection.
Install
mkdir -p .claude/skills/netalertx-plugin-run-development && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5248" && unzip -o skill.zip -d .claude/skills/netalertx-plugin-run-development && rm skill.zipInstalls to .claude/skills/netalertx-plugin-run-development
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create and run NetAlertX plugins. Use this when asked to create plugin, run plugin, test plugin, plugin development, or execute plugin script.Key capabilities
- →Manage plugin config.json files
- →Execute Python plugin scripts in restricted environments
- →Define execution phases like on_new_device
- →Read plugin result logs via helper modules
How it works
Executes local Python scripts within the NetAlertX front-end directory structure and parses temporary log files.
Inputs & outputs
When to use netalertx-plugin-run-development
- →Create a new plugin
- →Run plugin script
- →Test plugin functionality
- →Inspect plugin output logs
About this skill
Plugin Development
Expected Workflow for Running Plugins
- Read this skill document for context and instructions.
- Find the plugin in
server/plugins/<code_name>/. - Read the plugin's
config.jsonandscript.pyto understand its functionality and settings. - Formulate and run the command:
python3 server/plugins/<code_name>/script.py. - Retrieve the result from the plugin log folder (
/tmp/log/plugins/last_result.<PREF>.log) quickly, as the backend may delete it after processing.
Run a Plugin Manually
python3 server/plugins/<code_name>/script.py
Ensure sys.path includes /app/server/plugins and /app/server (as in the template).
Plugin Structure
server/plugins/<code_name>/
├── config.json # Manifest with settings
├── script.py # Main script
└── ...
Manifest Location
server/plugins/<code_name>/config.json
code_name== folder nameunique_prefixdrives settings and filenames (e.g.,ARPSCAN)
Settings Pattern
<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 changes
Data Contract
Scripts 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 server/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
Execution Phases
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
Plugin Formats
| 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 |
Starting Point
Copy from server/plugins/__template and customize.
When not to use it
- →Generic Python tasks unrelated to NetAlertX
- →Modifying core backend logic
Prerequisites
Limitations
- →Results are ephemeral and quickly deleted by the backend
- →Strict path requirements for sys.path
How it compares
Standardizes the interface for interacting with the specific NetAlertX plugin lifecycle and data contract.
Compared to similar skills
netalertx-plugin-run-development side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| netalertx-plugin-run-development (this skill) | 1 | 6mo | Review | Intermediate |
| vastai-webhooks-events | 0 | 25d | Review | Intermediate |
| ads-network-killswitch | 0 | 3mo | No flags | Beginner |
| sms-inbox-manager | 0 | 1mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by netalertx
View all by netalertx →You might also like
vastai-webhooks-events
jeremylongshore
Implement Vast.ai webhook signature validation and event handling. Use when setting up webhook endpoints, implementing signature verification, or handling Vast.ai event notifications securely. Trigger with phrases like "vastai webhook", "vastai events", "vastai webhook signature", "handle vastai events", "vastai notifications".
ads-network-killswitch
engremran07
Network killswitch: per-network enable/disable. Use when: disabling problematic networks, emergency ad shutoff, toggling networks without deletion.
sms-inbox-manager
Little-King2022
Maintain a self-hosted realtime SMS inbox service. Use when inspecting received SMS messages, managing the web UI, debugging SMS forwarding, restarting or enabling the service, adjusting authentication, updating nginx routing, or locating data/log files.
ha-config-fetch
calexandre
>-
amc-run-sample-calibration
NVIDIA
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
telegram-bot-builder
davila7
Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.