Habilidades routeros-app-yaml
📦

routeros-app-yaml

Seguro ⚙️ Comandos externos🌐 Acceso a red

Escribir configuraciones YAML para contenedores RouterOS

Crea y valida configuraciones YAML para aplicaciones de contenedores MikroTik RouterOS. Esta habilidad te ayuda a definir servicios, puertos, volúmenes y redes para el subsistema RouterOS /app sin necesidad de conocimientos de docker-compose.

Soporta: Claude Codex Code(CC)
🥉 73 Bronce
1

Descargar el ZIP de la skill

2

Subir en Claude

Ve a Configuración → Capacidades → Skills → Subir skill

3

Activa y empieza a usar

Pruébalo

Usando "routeros-app-yaml". Create a /app YAML for a Home Assistant container with persistent storage on port 8123

Resultado esperado:

  • Un archivo YAML con secciones de nombre, servicios, volúmenes y redes.
  • El servicio web usa la imagen ghcr.io/home-assistant/home-assistant con el puerto 8123 mapeado.
  • Un volumen nombrado home-assistant-config se monta en /config.
  • La política de reinicio se establece en always para confiabilidad.

Usando "routeros-app-yaml". Show the difference between old and new port formats in RouterOS YAML

Resultado esperado:

  • El estilo OCI antiguo usa una barra antes del protocolo: 8080:80/tcp
  • El nuevo estilo de RouterOS 7.23 usa dos puntos: 8080:80:web:tcp
  • Ambos formatos son válidos. Los nuevos despliegues desde 7.23beta2 deben preferir el estilo de dos puntos.
  • La sintaxis de objeto de formato largo con campos target, published y protocol funciona en todas las versiones.

Auditoría de seguridad

Seguro
v2 • 4/16/2026

All 159 static analysis findings are false positives. The skill contains only documentation and YAML configuration examples for RouterOS container applications. There is no executable code, no actual shell commands, no network requests, and no credential handling. The static scanner flagged YAML examples in markdown code blocks as security risks (for example, backticks in YAML values, example URLs in documentation, and placeholder IP addresses in configuration samples). After manual review, no genuine security issues were found.

2
Archivos escaneados
453
Líneas analizadas
5
hallazgos
2
Auditorías totales
Problemas de riesgo bajo (3)
False positive: External command detection in YAML documentation
The static scanner flagged 132 locations as external command execution. These are YAML configuration examples and markdown documentation, not executable code. Examples include shell commands in YAML entrypoint values (for example, nginx -g daemon off in SKILL.md line 32 and references/examples.md line 31) and backtick-formatted text in markdown. No actual command execution exists.
False positive: Network pattern detection in documentation URLs
The static scanner flagged 13 locations as network risks including hardcoded URLs, hardcoded IP addresses, and fetch API calls. All are documentation examples: example.com URLs in YAML samples (references/examples.md lines 19, 21), example IP addresses like 192.168.1.1 in port mapping examples (SKILL.md line 110, references/examples.md line 145), and TypeScript fetch snippets showing RouterOS REST API usage (SKILL.md lines 216, 222). No actual network requests are made by this skill.
False positive: Blocker patterns misidentified in YAML content
The static scanner flagged weak cryptographic algorithms, Windows SAM database references, LLM role token injection, and system reconnaissance patterns. None of these patterns exist in the actual file content. The scanner likely misidentified YAML property names or markdown formatting as security threats.

Factores de riesgo

⚙️ Comandos externos (132)
references/examples.md:5-12 references/examples.md:12-16 references/examples.md:16-105 references/examples.md:105-109 references/examples.md:109-134 references/examples.md:134-138 references/examples.md:138-161 references/examples.md:161-165 references/examples.md:165-176 references/examples.md:31 SKILL.md:8 SKILL.md:8 SKILL.md:8 SKILL.md:12 SKILL.md:15 SKILL.md:16 SKILL.md:17 SKILL.md:19 SKILL.md:25 SKILL.md:26 SKILL.md:30 SKILL.md:32 SKILL.md:33 SKILL.md:33 SKILL.md:33 SKILL.md:39 SKILL.md:40 SKILL.md:41 SKILL.md:42 SKILL.md:43 SKILL.md:43 SKILL.md:44 SKILL.md:44 SKILL.md:45 SKILL.md:45 SKILL.md:46 SKILL.md:47 SKILL.md:48 SKILL.md:49 SKILL.md:50 SKILL.md:51 SKILL.md:52 SKILL.md:56-61 SKILL.md:61-67 SKILL.md:67 SKILL.md:67-71 SKILL.md:71 SKILL.md:71 SKILL.md:71-72 SKILL.md:72 SKILL.md:72-73 SKILL.md:73-74 SKILL.md:74-75 SKILL.md:75-76 SKILL.md:76-77 SKILL.md:77 SKILL.md:77 SKILL.md:77-78 SKILL.md:78 SKILL.md:78-79 SKILL.md:79 SKILL.md:79-80 SKILL.md:80 SKILL.md:80 SKILL.md:80 SKILL.md:80 SKILL.md:80-81 SKILL.md:81-82 SKILL.md:82-83 SKILL.md:83-84 SKILL.md:84-85 SKILL.md:85-86 SKILL.md:86-87 SKILL.md:87 SKILL.md:87-88 SKILL.md:88-89 SKILL.md:89-90 SKILL.md:90-91 SKILL.md:91-92 SKILL.md:92-93 SKILL.md:93-101 SKILL.md:101-103 SKILL.md:103-106 SKILL.md:106-111 SKILL.md:111-115 SKILL.md:115-117 SKILL.md:117-120 SKILL.md:120-125 SKILL.md:125-129 SKILL.md:129-136 SKILL.md:136-141 SKILL.md:141-145 SKILL.md:145-153 SKILL.md:153-154 SKILL.md:154-155 SKILL.md:155-156 SKILL.md:156-157 SKILL.md:157-163 SKILL.md:163-165 SKILL.md:165-181 SKILL.md:181-185 SKILL.md:185-193 SKILL.md:193-197 SKILL.md:197-199 SKILL.md:199-208 SKILL.md:208-210 SKILL.md:210-214 SKILL.md:214-216 SKILL.md:216-222 SKILL.md:222-227 SKILL.md:227-229 SKILL.md:229-237 SKILL.md:237 SKILL.md:237-238 SKILL.md:238-240 SKILL.md:240-245 SKILL.md:245-252 SKILL.md:252-254 SKILL.md:254-259 SKILL.md:259 SKILL.md:259-260 SKILL.md:260 SKILL.md:260 SKILL.md:260 SKILL.md:260-265 SKILL.md:265-267 SKILL.md:267-268 SKILL.md:268 SKILL.md:268-269 SKILL.md:269 SKILL.md:269-273 SKILL.md:273-274
🌐 Acceso a red (13)

Puntuación de calidad

41
Arquitectura
100
Mantenibilidad
87
Contenido
32
Comunidad
99
Seguridad
100
Cumplimiento de la especificación

Lo que puedes crear

Definir una aplicación de contenedor para RouterOS

Un administrador de red escribe YAML para desplegar un stack de monitoreo con Grafana y Prometheus en un enrutador MikroTik usando el subsistema /app.

Migrar proyectos docker-compose a RouterOS

Un desarrollador adapta una configuración docker-compose existente al formato YAML de RouterOS /app, ajustando la sintaxis de puertos y eliminando propiedades no admitidas.

Crear una tienda de aplicaciones para despliegue en equipo

Un ingeniero de sistemas construye un archivo YAML tikappstore con aplicaciones preconfiguradas para despliegue consistente en múltiples dispositivos RouterOS.

Prueba estos prompts

Crear una definición básica de /app
Write a RouterOS /app YAML file that runs an nginx container on port 8080 with a named volume for persistent data.
Convertir docker-compose a RouterOS YAML
Convert this docker-compose file to RouterOS /app YAML format. Highlight any properties that are not supported or behave differently.
Crear una aplicación de múltiples servicios
Write a RouterOS /app YAML with a web frontend, a PostgreSQL database, and a Redis cache. Include proper volume mounts, network isolation, and health checks.
Construir un archivo de tienda de aplicaciones
Create a RouterOS app store YAML file containing three applications: a web server, a database manager, and a monitoring dashboard. Each should have appropriate categories and metadata.

Mejores prácticas

  • Siempre usa la extensión de archivo .tikapp.yaml para definiciones de aplicaciones RouterOS personalizadas para distinguirlas de archivos YAML genéricos.
  • Usa la variante de esquema *.editor.json durante el desarrollo para mejor autocompletado, luego valida contra *.latest.json antes del despliegue.
  • Prueba tu YAML en una máquina virtual RouterOS CHR antes de desplegar en hardware de producción para detectar errores de esquema temprano.

Evitar

  • Asumir compatibilidad completa con docker-compose. RouterOS /app solo admite un subconjunto de propiedades de compose y maneja algunas de manera diferente.
  • Usar la clave de nivel superior version. RouterOS ignora esta clave y no sirve ningún propósito en /app YAML.
  • Mezclar estilos de formato de puerto dentro de una sola cadena de puerto. Cada entrada de puerto debe usar exclusivamente el estilo OCI antiguo o el nuevo estilo de dos puntos.

Preguntas frecuentes

¿Qué versión de RouterOS necesito para /app YAML?
La ruta /app está integrada a partir de RouterOS 7.21. La creación de aplicaciones personalizadas via /app/add requiere RouterOS 7.22 o posterior. El paquete extra de contenedor también debe estar instalado.
¿El YAML de RouterOS /app es igual que docker-compose?
No. El YAML de RouterOS /app se parece a docker-compose pero admite menos propiedades. Algunas propiedades como deploy y resources no están admitidas. La sintaxis de mapeo de puertos también difiere entre ambos.
¿Qué extensión de archivo debo usar para archivos /app YAML?
Usa .tikapp.yaml para definiciones de aplicaciones individuales y .tikappstore.yaml para archivos de tienda de aplicaciones. Estas convenciones ayudan a las herramientas y editores a aplicar el esquema correcto.
¿Cómo funcionan los marcadores de posición en RouterOS YAML?
Los marcadores de posición como [accessIP], [accessPort], [containerIP] y [routerIP] se expanden en tiempo de despliegue por RouterOS. Aparecen en mapeos de puertos, valores de entorno y contenido de configuración.
¿Puedo usar variables de entorno con nombres en minúsculas?
El esquema de validación estricta requiere nombres de variables de entorno en mayúsculas que coincidan con el patrón [A-Z_][A-Z0-9_]*. Usa la variante del esquema editor si necesitas nombres de variables con mayúsculas y minúsculas mezcladas.
¿Cómo agrego una aplicación personalizada a RouterOS?
Usa el comando CLI /app/add con el parámetro yaml-url apuntando a la URL de tu archivo YAML. Alternativamente, usa el endpoint PUT de la API REST en /app con el yaml-url en el cuerpo de la solicitud.

Detalles del desarrollador

Estructura de archivos