| name | developing-r3ngine-plugins |
| description | Guides the developer or agent on how to structure, build, compile, and configure plugins for the r3ngine platform. Use when designing plugins, writing manifest.yaml or tools.yaml, building Vite Module Federation React UIs, configuring mount/unmount hooks, defining Temporal workflows and activities, or configuring database AppConfigs and model naming. |
Developing r3ngine Plugins
Custom agent skill to guide the design, structure, frontend federation, and Temporal backend orchestration of plugins for the r3ngine reconnaissance platform.
When to Use
Use this skill when:
- Creating a new
r3ngine plugin or modifying an existing one (e.g. credential_intelligence, active_exploitation, exploit_readiness_layer).
- Writing or troubleshooting
manifest.yaml or tools.yaml configurations.
- Compiling the React UI bundle using Vite Module Federation or defining the
mount and unmount entry point.
- Creating or debugging Temporal workflows and activities for scanning pipelines.
- Setting up database models, AppConfigs (
apps.py), or migrations within a plugin.
Core Developer Checklist
Before committing any plugin changes, verify the following:
Detailed References
For comprehensive instructions, code templates, and design patterns, refer to the following sub-guides:
- Standardized directory layout.
- Manifest key specifications (
manifest.yaml) and runtime pipeline anchors.
- External tool installation options (
tools.yaml).
- Configuring Vite for dynamic micro-frontend federation.
- Implementing the mount/unmount contract with clean cleanup.
- Making authenticated requests to the Django REST backend with CSRF headers.
- Creating deterministic workflows and asynchronous side-effecting activities.
- Safe ORM interactions and preventing connection pool leaks.
- Dynamic migration setup and validation patterns.
- Mitigating Docker daemon privilege escalation risks.
- Restricting view endpoints with Role-Based Access Controls (RBAC).
- Enforcing encrypted fields for sensitive database records.
- Preventing path traversal and parameter injection.