← Back to Skills Marketplace
Docker Compose Linter
by
charlie-morrison
· GitHub ↗
· v1.0.0
· MIT-0
87
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install docker-compose-linter
Description
Lint docker-compose.yml files for security, best practices, and port conflicts.
README (SKILL.md)
docker-compose-linter
A pure Python 3 (stdlib only) linter for docker-compose.yml files.
Commands
python3 scripts/docker-compose-linter.py \x3Ccommand> [options] FILE
| Command | Description |
|---|---|
lint |
Lint a docker-compose.yml for issues |
services |
List all services with their images/builds |
ports |
List all port mappings, detect conflicts |
audit |
Full audit (lint + services + ports summary) |
Options
| Option | Description |
|---|---|
--format text|json|markdown |
Output format (default: text) |
--strict |
Exit 1 on any issue (not just errors) |
--ignore RULE |
Ignore a specific rule (repeatable) |
--min-severity error|warning|info |
Minimum severity to report (default: info) |
Lint Rules
| Rule | Severity | Description |
|---|---|---|
no-version |
info | Missing or outdated version: key |
no-healthcheck |
warning | Service without healthcheck defined |
no-restart-policy |
warning | Service without restart policy |
privileged-mode |
error | Service running in privileged mode |
port-conflict |
error | Multiple services mapping to same host port |
host-network |
warning | Using network_mode: host (security risk) |
latest-tag |
warning | Image using :latest tag or no tag |
no-resource-limits |
info | No memory/CPU limits (deploy.resources) |
hardcoded-env |
warning | Secrets/passwords directly in environment variables |
root-user |
warning | No user: specified (runs as root by default) |
missing-depends-on |
info | Service uses links but no depends_on |
bind-mount-relative |
info | Relative bind mount paths |
no-logging |
info | No logging configuration |
duplicate-service |
error | Duplicate service names |
Examples
# Lint with default text output
python3 scripts/docker-compose-linter.py lint docker-compose.yml
# Only show errors and warnings
python3 scripts/docker-compose-linter.py --min-severity warning lint docker-compose.yml
# JSON output for CI pipelines
python3 scripts/docker-compose-linter.py --format json lint docker-compose.yml
# Full audit in markdown
python3 scripts/docker-compose-linter.py --format markdown audit docker-compose.yml
# Ignore specific rules
python3 scripts/docker-compose-linter.py --ignore root-user --ignore no-logging lint docker-compose.yml
# Strict mode: exit 1 on any issue
python3 scripts/docker-compose-linter.py --strict lint docker-compose.yml
Requirements
- Python 3.7+
- No external dependencies (pure stdlib)
Usage Guidance
This skill appears coherent for linting docker-compose.yml files: it runs a bundled Python script (pure stdlib) and does not ask for credentials. However: (1) the source/homepage is unknown — review the script yourself before running, especially on sensitive hosts; (2) the project uses a custom, indentation-based YAML parser (not a standard YAML library), which can produce false positives or mis-parse complex compose files — test on copies; (3) run it in a sandbox or CI runner with limited privileges if you plan to integrate it into automation; (4) STATUS.md shows a price, so confirm licensing or payment details out-of-band. If you want, I can scan the rest of the script (the file was truncated in the review) for any subprocess, network, or os.environ usage to raise confidence to high.
Capability Analysis
Type: OpenClaw Skill
Name: docker-compose-linter
Version: 1.0.0
The docker-compose-linter skill is a legitimate utility for auditing Docker Compose files for security risks and best practices. The Python script (scripts/docker-compose-linter.py) uses only the standard library, implements a custom YAML-like parser to avoid external dependencies, and performs local analysis without any network activity, file exfiltration, or code execution capabilities.
Capability Assessment
Purpose & Capability
Name/description (lint docker-compose.yml) match the included Python script and SKILL.md commands. The lint rules and features described align with the code patterns seen (image/tag checks, port conflicts, healthchecks, privileged, hardcoded secrets detection). No unrelated capabilities (cloud access, secret stores, or system administration beyond reading the compose file) are requested.
Instruction Scope
SKILL.md instructs the agent/user to run the local Python script against a FILE argument. The visible code parses the provided compose text and reports issues; there are no instructions to read arbitrary system files, call external endpoints, or exfiltrate data. The parser and rules operate on the input compose file only.
Install Mechanism
There is no install spec; this is instruction-only with an included script. That is low-risk compared with fetching and executing remote code. The script is pure Python stdlib according to SKILL.md and STATUS.md and the visible code confirms no external package imports.
Credentials
The skill declares no required environment variables or credentials and the shown code does not access environment variables or secrets. The linter contains patterns to detect hardcoded secrets inside compose files (regex-based), which is appropriate for its purpose.
Persistence & Privilege
The skill is not marked always:true and does not request persistent or privileged presence. It appears to be a local tool invoked on demand and does not modify other skills or system-wide settings.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install docker-compose-linter - After installation, invoke the skill by name or use
/docker-compose-linter - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Frequently Asked Questions
What is Docker Compose Linter?
Lint docker-compose.yml files for security, best practices, and port conflicts. It is an AI Agent Skill for Claude Code / OpenClaw, with 87 downloads so far.
How do I install Docker Compose Linter?
Run "/install docker-compose-linter" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Docker Compose Linter free?
Yes, Docker Compose Linter is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Docker Compose Linter support?
Docker Compose Linter is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Docker Compose Linter?
It is built and maintained by charlie-morrison (@charlie-morrison); the current version is v1.0.0.
More Skills