routeros-app-yaml
Write RouterOS container YAML configurations
Create and validate YAML configurations for MikroTik RouterOS container applications. This skill helps you define services, ports, volumes, and networks for the RouterOS /app subsystem without needing docker-compose knowledge.
Download the skill ZIP
Upload in Claude
Go to Settings → Capabilities → Skills → Upload skill
Toggle on and start using
Test it
Using "routeros-app-yaml". Create a /app YAML for a Home Assistant container with persistent storage on port 8123
Expected outcome:
- A YAML file with name, services, volumes, and networks sections.
- The web service uses ghcr.io/home-assistant/home-assistant image with port 8123 mapped.
- A named volume home-assistant-config is mounted to /config.
- The restart policy is set to always for reliability.
Using "routeros-app-yaml". Show the difference between old and new port formats in RouterOS YAML
Expected outcome:
- Old OCI-style uses a slash before the protocol: 8080:80/tcp
- New RouterOS 7.23 style uses a colon: 8080:80:web:tcp
- Both formats are valid. New deployments from 7.23beta2 should prefer the colon style.
- Long-form object syntax with target, published, and protocol fields works in all versions.
Security Audit
SafeAll 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.
Low Risk Issues (3)
Risk Factors
⚙️ External commands (132)
Quality Score
What You Can Build
Define a container application for RouterOS
A network administrator writes YAML to deploy a monitoring stack with Grafana and Prometheus on a MikroTik router using the /app subsystem.
Migrate docker-compose projects to RouterOS
A developer adapts an existing docker-compose configuration to RouterOS /app YAML format, adjusting port syntax and removing unsupported properties.
Create an app store for team deployment
A system engineer builds a tikappstore YAML file with pre-configured applications for consistent deployment across multiple RouterOS devices.
Try These Prompts
Write a RouterOS /app YAML file that runs an nginx container on port 8080 with a named volume for persistent data.
Convert this docker-compose file to RouterOS /app YAML format. Highlight any properties that are not supported or behave differently.
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.
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.
Best Practices
- Always use the .tikapp.yaml file extension for custom RouterOS app definitions to distinguish them from generic YAML files.
- Use the *.editor.json schema variant during development for better autocompletion, then validate against *.latest.json before deployment.
- Test your YAML on a RouterOS CHR virtual machine before deploying to production hardware to catch schema errors early.
Avoid
- Assuming full docker-compose compatibility. RouterOS /app supports only a subset of compose properties and handles some differently.
- Using the version top-level key. RouterOS ignores this key and it serves no purpose in /app YAML.
- Mixing port format styles within a single port string. Each port entry must use either the old OCI style or the new colon style exclusively.