Agent skill

Megalinter Check

by nvuillam in nvuillam/npm-groovy-lint

Collect MegaLinter lint errors for the current repository. An agent skill from nvuillam/npm-groovy-lint.

MITAuto-check: notesDevOps & Cloud

Install Megalinter Check

skills CLI
$ npx skills add nvuillam/npm-groovy-lint --skill megalinter-check -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nvuillam/npm-groovy-lint megalinter-check --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nvuillam/npm-groovy-lint.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/megalinter-check .claude/skills/megalinter-check && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
megalinter-check
GitHub stars
248
Used in
1 other repo
Token cost
~3.9k tokens
SKILL.md length
1,954 words
Files
7
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Collect MegaLinter lint errors for the current repository. An agent skill from nvuillam/npm-groovy-lint.

  • Works in 4 steps: Detect the provider from git remote… → Load the matching provider guide from… → Follow the guide: locate the MegaLinter… → …
  • The user wants to know if the code passes linting
  • SKILL.md covers Choose a mode, Watch mode, Local mode and Targeted re-check (after fixes), plus 4 more sections
  • Calls npx, git and npm

What it does

Megalinter Check is an agent skill from nvuillam/npm-groovy-lint. Collect MegaLinter lint errors for the current repository. Use when the user wants to know if the code passes linting, why the MegaLinter CI job fails, or before/after fixing lint errors. Two modes - watch a CI job (GitHub Actions, GitLab CI, Azure Pipelines, Bitbucket Pipelines) and parse its logs, or run MegaLinter locally with Docker (full run or fast parallel standalone linter runs).

Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files (for example `container-engine.md`, `performance.md` and `providers/azure.md`).

It sits in DevOps & Cloud, covering Linting and formatting and CI/CD. It works with Docker, Bitbucket, GitLab and Azure DevOps. The repository describes itself as: Lint, format and auto-fix your Groovy / Jenkinsfile / Gradle files using command line. The licence is MIT.

When your agent uses it

  • The user wants to know if the code passes linting
  • Why the MegaLinter CI job fails
  • Before/after fixing lint errors

Example prompts

  • “/megalinter-check”

Requirements

  • Node.js
  • Docker
  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob, Write, Agent, AskUserQuestion

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Detect the provider from git remote get-url origin and the CI config files present.
  2. Load the matching provider guide from this skill's directory — only the one you need
  3. Follow the guide: locate the MegaLinter job, wait for completion if running, fetch the logs of the MegaLinter step.
  4. Parse the MegaLinter summary (the ❌/✅ table) and per-linter error sections.

What it can do on your machine

Read from SKILL.md and the folder at commit 2080dff. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Grep
    • Glob
    • Write
    • Agent
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • git
    • npm
    • docker
    • podman

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, git, npm and docker, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Megalinter Check loads about 3.9k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 1,954 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~3.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Grep, Glob, Write, Agent, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from nvuillam/npm-groovy-lint at commit 2080dff, republished under its MIT licence (© nvuillam). 1,954 words, ~3,901 tokens.

Download SKILL.mdSave it as .claude/skills/megalinter-check/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
megalinter-check
description
Collect MegaLinter lint errors for the current repository. Use when the user wants to know if the code passes linting, why the MegaLinter CI job fails, or before/after fixing lint errors. Two modes - watch a CI job (GitHub Actions, GitLab CI, Azure Pipelines, Bitbucket Pipelines) and parse its logs, or run MegaLinter locally with Docker (full run or fast parallel standalone linter runs).
allowed-tools
Bash, Read, Grep, Glob, Write, Agent, AskUserQuestion
argument-hint
[mode: watch|local] [PR/job URL or linter keys]
user-invocable
true
licence
MegaLinter by OX Security, Copyright 2026 - https://megalinter.io/

MegaLinter check

Collect the current MegaLinter errors and produce a compact error list that the megalinter-fix skill can consume.

Choose a mode

  • Watch mode — a MegaLinter CI job exists for the current branch/PR (running or completed): parse its logs. No Docker needed.
  • Local mode — no CI job available, or the user wants a pre-push check: run MegaLinter with Docker via npx mega-linter-runner.
  • Targeted re-check (local, after fixes): re-run only the previously-failing linters in parallel standalone images.

Watch mode

  1. Detect the provider from git remote get-url origin and the CI config files present.
  2. Load the matching provider guide from this skill's directory — only the one you need:
    • GitHub Actions → providers/github.md
    • GitLab CI → providers/gitlab.md
    • Azure Pipelines → providers/azure.md
    • Bitbucket Pipelines → providers/bitbucket.md
  3. Follow the guide: locate the MegaLinter job, wait for completion if running, fetch the logs of the MegaLinter step.
  4. Parse the MegaLinter summary (the ❌/✅ table) and per-linter error sections.

Local mode

Before the first local run, make sure the user is aware that running MegaLinter locally is resource-consuming: it needs a reasonably powerful machine (CPU, RAM, free disk space) and a good internet connection — MegaLinter is Docker-based and the first run downloads a large image (can be several GB depending on the flavor). Because of this, watch mode (CI does the work) is usually the recommended option. When both modes are possible (a MegaLinter CI job exists for the repository, or a branch/PR could be pushed to trigger one) and the user did not explicitly choose, ask them which mode to use (use your platform's structured question mechanism if it has one, with watch mode first/recommended) instead of starting a local run.

Engine preflight (before every local run)

Requires a container engine (docker or podman) that actually responds - an installed binary proves nothing: with a stopped backend (e.g. Docker Desktop's Windows service), the docker CLI can hang indefinitely instead of failing fast. Probe with a bound before starting any run:

bash
timeout 10 docker info --format '{{.ServerVersion}}'    # exit 124 = installed but not answering
timeout 10 podman info --format '{{.Version.Version}}'
  • Chosen engine answers → proceed (pass --container-engine podman when using podman).
  • Chosen engine errors or times out → probe the other engine the same way; if it answers, use it instead.
  • Neither answers → do not start a run (it would hang the same way). Tell the user what you found ("Docker Desktop appears installed but is not responding - is it running?") and ask whether you should install or start an engine — then (and only then) load container-engine.md from this skill's directory for the setup instructions (prefer podman: free of charge even in enterprise contexts). If the user declines, fall back to watch mode.

Flavor and version are resolved automatically from MEGALINTER_FLAVOR / MEGALINTER_VERSION in .mega-linter.yml — do not pass --flavor or --release yourself.

bash
npx mega-linter-runner                            # docker
npx mega-linter-runner --container-engine podman  # podman

Tip: for repeated local runs (e.g. fix → re-check loops), install the runner once with npm install -g mega-linter-runner and call mega-linter-runner directly — it avoids the npx package resolution overhead on every invocation.

  • Add --fix if .mega-linter.yml defines APPLY_FIXES other than none (the repository has opted into auto-fixing).
  • Cap parallelism on local machines: MegaLinter defaults to one parallel linter process per CPU core, which can saturate a dev machine where Docker shares resources with everything else. When running on a local computer — not in CI (no CI/GITHUB_ACTIONS/GITLAB_CI-style environment variable set) — add -e PARALLEL_PROCESS_NUMBER=4 to full runs (use the machine's core count instead if it has fewer than 4). Skip this when the repository configuration already sets PARALLEL_PROCESS_NUMBER; never write it into .mega-linter.yml, where it would also slow down CI.
  • Always add -e JSON_REPORTER=true to full runs: the JSON report is not generated by default (JSON_REPORTER defaults to false), and this env variable overrides the repository configuration, guaranteeing megalinter-reports/mega-linter-report.json.
  • Then read megalinter-reports/mega-linter-report.json and megalinter-reports/linters_logs/ERROR-*.log instead of parsing the console output, and extract the console tips from the persisted log file (see "Console tips" below) - do not re-read the whole console stream for them.
  • A missing report file never means "wait": the runner is synchronous — once the command has exited, no report file will ever appear afterwards. Do not poll, sleep, or re-run for it. If the expected files are absent (the repository may set REPORT_OUTPUT_FOLDER to a custom folder or none, TEXT_REPORTER: false, or a different TEXT_REPORTER_SUB_FOLDER), fall back in order: check REPORT_OUTPUT_FOLDER in .mega-linter.yml and glob **/mega-linter-report.json / **/linters_logs/ under it, then parse the console output — the ❌/✅ summary table and per-linter error sections are always printed there.
Run with a time bound - never wait unbounded

Local runs can hang for environmental reasons (engine backend down, Windows bind-mount stalls - see below), so give every local invocation (prerun, full run, targeted re-check) an explicit bound:

  1. Prefer the runner's own flag when available: check npx mega-linter-runner --help for --timeout, and pass --timeout <seconds> if listed - on expiry it also stops and removes the container. Do not assume it exists (older runner versions / pinned MEGALINTER_VERSION).
  2. Fallback: wrap with the shell coreutils command - timeout <seconds> npx mega-linter-runner .... This kills the wrapper only, not the container: after it fires, do the orphan cleanup below.
  3. Launch in the background with output going to a log file and check it every 1-2 minutes; never sit in a single indefinite blocking call.

Suggested bounds: full run 30 min, prerun or targeted single-linter run 10 min - a full flavor run on a mid-size repo normally takes minutes, not hours. First run on a machine: pre-pull the image separately (docker pull <image> / podman pull <image>) so the multi-GB download does not eat the bound.

Stalled or just slow? Diagnose, don't keep waiting

No new log output for ~5 minutes is a possible stall, not proof of work. Diagnose actively (<engine> = docker or podman):

  1. <engine> ps -a - is the container still there, and how long has it been "Up"?
  2. <engine> logs --tail 30 <name> - what was the last line? A phase boundary that never advances (e.g. "...collects the files to analyse", "Processing linters on [N] parallel cores") shows where it is stuck.
  3. <engine> exec <name> ps aux - what is running inside, and how much cumulative CPU TIME do those processes show vs the container's wall-clock uptime? Seconds of CPU over hours of uptime = I/O stall (filesystem or network), not real computation: stop waiting, kill the run, clean up (below), and report the diagnosis instead of polling further. On Windows the usual culprit is the WSL2 bind-mount penalty - see "Windows bind-mount slowness" in performance.md.
Orphaned containers after a forced kill

Killing the wrapping command (shell timeout expiring, Ctrl-C, killing the npx process) does not reliably stop the container - especially on Windows, where signal forwarding is unreliable. Only the runner's own --timeout guarantees cleanup. After any forced interrupt:

  1. <engine> ps -a - look for a still-"Up" container running a megalinter image.
  2. <engine> stop <name>, then <engine> rm <name>, for each match.
Show full SKILL.md (845 more words)Show less
First local run: prerun analysis

Before the first local full run on a repository (fresh megalinter-setup, or no megalinter-reports/mega-linter-report.json from a previous run), start with a prerun analysis so the real run is not wasted on a badly tuned configuration. Also use it later whenever the user asks to tune MegaLinter performances.

Prerun requires MegaLinter v10 or beta: check MEGALINTER_VERSION in .mega-linter.yml and skip this step (go straight to the full run) when the pinned version is older.

  1. Run MegaLinter in analysis-only mode (fast: no linter is run, and the image pull is reused by the real run right after):

    bash
    npx mega-linter-runner --prerun
  2. Read megalinter-reports/prerun-report.json. Each entry of suggestions describes a .mega-linter.yml change: variable, operation (append to a list / set), values, safe, reason, details.

  3. Review the suggestions with the user:

    • safe: true suggestions (directories containing only gitignored files) do not change the linting scope - present them grouped, recommend applying them.
    • safe: false suggestions (well-known generated folder names still containing lintable files, flavor change) need an explicit user decision - ask about each one, with the file counts from details. A flavor change also requires updating the image reference in the CI workflow files.
  4. Apply the accepted changes to .mega-linter.yml, then continue with the normal full run.

If the report file is missing after the run (image older than v10 that ignored MEGALINTER_PRERUN and linted everything), treat the output as a normal full run instead of re-running.

Targeted re-check (after fixes)

Re-run only what previously failed, in parallel (max 4 concurrent containers):

bash
npx mega-linter-runner --linter PYTHON_RUFF -e JSON_REPORTER=true src/a.py src/b.py &
npx mega-linter-runner --linter MARKDOWN_MARKDOWNLINT -e JSON_REPORTER=true README.md &
wait

(-e JSON_REPORTER=true for the same reason as in full runs: the JSON report is not generated by default.)

Version rule (all skills): runner and Docker image versions always follow MEGALINTER_VERSION from .mega-linter.yml — invoke npx mega-linter-runner@beta when it is beta, plain npx mega-linter-runner otherwise, and never pass --release yourself. Caveat until MegaLinter v10: standalone megalinter-only-* images are only multi-arch on the beta tag, so if a standalone run fails with a platform error while MEGALINTER_VERSION is not beta, inform the user and propose either pinning MEGALINTER_VERSION: beta or falling back to a full-image re-check.

  • Pass the fixed files as arguments for file-scoped linters; omit the file list for project-scoped linters (e.g. REPOSITORY_*, COPYPASTE_JSCPD).
  • Each run writes its reports to megalinter-reports/<linter_key_lower>/ — no conflict between parallel runs.
  • Local-mode guardrails apply here too: engine preflight first, bound each run (~10 min per standalone linter), and check for orphaned containers after any forced kill.

Output contract

Whatever the mode, summarize the result in this shape (this is what megalinter-fix consumes):

json
{
  "status": "success|errors|failure",
  "linters": [
    {
      "key": "PYTHON_RUFF",
      "errors": 12,
      "fixable": true,
      "blocking": true,
      "files": ["src/a.py"],
      "samples": ["src/a.py:10:5 E501 line too long"]
    }
  ]
}

Distinguish blocking linters (❌, fail the job) from non-blocking ones (⚠️, DISABLE_ERRORS: true). A failure status means the job/run itself broke (container engine, network, configuration): include a "failure_reason" field with a short cause excerpt instead of linter errors. In watch mode, a "job_url" field may be added for reference. Add the optional "tips" field when console tips were found (see below).

Console tips (even when the run is green)

MegaLinter's console output is full of actionable advice for agents that never reaches the JSON report: performance warnings (">300 .gitignored files... consider ADDITIONAL_EXCLUDED_DIRECTORIES", "Heavy folders detected"), flavor suggestions, [Activation] notices explaining why a linter did not run, deprecation and removed-linter notices, timeout kills, forwarded-exclusion traces. Always collect them:

  • Local mode: the full console stream is persisted in the report folder - glob megalinter-reports/mega*linter.log (file name from LOG_FILE, default mega-linter.log; LOG_FILE: none disables it, then use the captured console output). Grep it instead of re-reading the console: grep -E "⚠|WARNING|\[Activation\]|Heavy folders|To improve|[Ff]lavor|deprecat|Timed out|[Cc]onsider" <log-file>.
  • Watch mode: the CI job log IS the console output - apply the same grep to the downloaded log.

Curate the matches into at most 10 one-line entries: keep lines that suggest a configuration, performance, or upgrade action; drop per-file lint errors, banners, and progress lines; dedupe repeats. Add them to the output as:

json
"tips": [
  "More than 300 .gitignored files detected (612): consider adding directories to ADDITIONAL_EXCLUDED_DIRECTORIES (heaviest: site, coverage)",
  "[Activation] MARKDOWN_RUMDL inactive: set MARKDOWN_DEFAULT_STYLE=rumdl to activate"
]

Relay the tips to the user after the error summary, and feed the configuration-related ones into the megalinter-setup refinement step or the prerun suggestions review when one is in progress. Like performance suggestions, never apply a tip without the user's agreement.

Performance check (even when the run is green)

MegaLinter's summary table includes an Elapsed time column per linter — always collect it. Add a "slow_linters" field to the output when any linter took more than 30 seconds or more than 25% of the total lint time:

json
"slow_linters": [{"key": "REPOSITORY_GRYPE", "elapsed_seconds": 116.6}]

When slow_linters is non-empty, load performance.md from this skill's directory and report the matching improvement suggestions to the user — explicitly noting that nothing is failing and these are pure speed wins. Never apply a performance change (exclusions, caching, disabling a linter) without the user's agreement.

Optimization: sub-agents (Claude Code and compatible agents)

If sub-agents are available and the agent definitions are installed (see megalinter-setup):

  • Watch mode → spawn megalinter-watcher with the branch/PR reference; it polls, fetches and parses, and returns the output contract.
  • Local mode → spawn megalinter-runner with the command to run; it executes and digests the reports.
  • Targeted re-check → spawn one megalinter-runner per standalone linter run, in parallel (max 4).

This keeps multi-megabyte CI logs and linter output out of your context. Without sub-agents, do everything inline.

© nvuillam, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files in .claude/skills/megalinter-check of nvuillam/npm-groovy-lint.

  • SKILL.md
  • container-engine.md
  • performance.md
  • providers/azure.md
  • providers/bitbucket.md
  • providers/github.md
  • providers/gitlab.md

Open the folder on GitHubat commit 2080dff

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in nvuillam/npm-groovy-lint, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Megalinter Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Megalinter Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Megalinter Check this skillnvuillam/npm-groovy-lint2481 repos~3.9kAutomated safety check: NotesMIT
Tirith PoliciesStackGuardian/tirith170—~1.8kAutomated safety check: PassApache-2.0
Playwright CIzebbern/claude-code-guide4.7k2 repos~675Automated safety check: PassMIT
GitHub Actions CreatorFNOSP/FlyNarwhal4961 repos~2.4kAutomated safety check: PassAGPL-3.0
CI CDEliasOulkadi/shokunin114—~3.4kAutomated safety check: NotesMIT
CI CDahmedasmar/devops-claude-skills203—~3.5kAutomated safety check: PassNone

Similar skills

  • Tirith Policies

    StackGuardian/tirith

    Write, validate, run and debug Tirith IaC governance policies, install Tirith, and add it to a CI pipeline (GitHub Actions, GitLab CI, Bitbucket Pipelines, Jenkins, Azure DevOps, CircleCI or any…

    170 GitHub stars~1.8k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Playwright CI

    zebbern/claude-code-guide

    Production-ready CI/CD configurations for Playwright — GitHub Actions, GitLab CI, CircleCI, Azure DevOps, Jenkins, Docker, parallel sharding, reporting, code coverage, and global setup/teardown.

    4.7k GitHub starsUsed in 2 repos~675 tokens
    DevOps & CloudAuto-check passed
  • GitHub Actions Creator

    FNOSP/FlyNarwhal

    A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.

    496 GitHub starsUsed in 1 repo~2.4k tokens
    DevOps & CloudAuto-check passed
  • CI CD

    EliasOulkadi/shokunin

    Design CI/CD pipelines for GitHub Actions, GitLab CI, and CircleCI with matrix builds, test sharding, caching, Docker layer caching, OIDC auth, deployment strategies (rolling, blue-green, canary)…

    114 GitHub stars~3.4k tokensUpdated 4 days ago
    DevOps & CloudAuto-check: notes
  • CI CD

    ahmedasmar/devops-claude-skills

    CI/CD pipeline design, optimization, DevSecOps security scanning, and troubleshooting.

    203 GitHub stars~3.5k tokensUpdated 6 mo ago
    DevOps & CloudAuto-check passed
  • Official

    Author and review GitHub Actions workflow YAML safely so syntactically-valid YAML can't ship a workflow that GitHub Actions refuses to run.

    5.6k GitHub starsUsed in 1 repo~2.3k tokens
    DevOps & CloudAuto-check passed

More from nvuillam/npm-groovy-lint

  • Megalinter Setup

    nvuillam/npm-groovy-lint

    Install or upgrade MegaLinter on a repository. An agent skill from nvuillam/npm-groovy-lint.

    248 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check: notes
  • Megalinter

    nvuillam/npm-groovy-lint

    Entry point for everything MegaLinter. An agent skill from nvuillam/npm-groovy-lint.

    248 GitHub starsUsed in 1 repo~915 tokens
    Auto-check: notes
  • Upgrade Java Deps

    nvuillam/npm-groovy-lint

    Upgrade CodeNarc and the bundled Java dependencies (jackson, logback, slf4j, janino, GMetrics, Groovy libs) that ship inside lib/java/, rebuild the deterministic CodeNarcServer.jar, and verify…

    248 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check: notes
  • Megalinter Fix

    nvuillam/npm-groovy-lint

    Fix the errors reported by MegaLinter. An agent skill from nvuillam/npm-groovy-lint.

    248 GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check: notes
  • PR Watch Fix

    nvuillam/npm-groovy-lint

    Watch the GitHub PR for the current branch, wait for CI to finish, and autonomously fix failing jobs by reading logs, editing sources, and pushing.

    248 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes

Questions about Megalinter Check

What does Megalinter Check do?

Collect MegaLinter lint errors for the current repository. An agent skill from nvuillam/npm-groovy-lint. Megalinter Check is an agent skill from nvuillam/npm-groovy-lint. Collect MegaLinter lint errors for the current repository.

When should I use Megalinter Check?

Megalinter Check fits situations like: the user wants to know if the code passes linting; why the MegaLinter CI job fails; before/after fixing lint errors.

How do I install Megalinter Check in Claude Code?

Run `npx skills add nvuillam/npm-groovy-lint --skill megalinter-check -a claude-code`. Or copy the skill folder (.claude/skills/megalinter-check in nvuillam/npm-groovy-lint) into .claude/skills/megalinter-check in your project. Claude Code loads it when a task matches its description.

How do I install Megalinter Check in Codex?

Run `npx skills add nvuillam/npm-groovy-lint --skill megalinter-check -a codex`. Or copy the skill folder (.claude/skills/megalinter-check in nvuillam/npm-groovy-lint) into .agents/skills/megalinter-check in your project. Codex loads it when a task matches its description.

Can I use Megalinter Check in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nvuillam/npm-groovy-lint --skill megalinter-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/megalinter-check, .gemini/skills/megalinter-check, .github/skills/megalinter-check and .opencode/skills/megalinter-check in your project.

What does Megalinter Check need to run?

Going by SKILL.md and its folder, Megalinter Check needs the command-line tools its instructions call (npx, git, npm, docker and podman). Our summary lists: Node.js; Docker. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Write, Agent, AskUserQuestion.

Does Megalinter Check access the network?

SKILL.md contains no URLs. Its commands use npx, git, npm and docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Megalinter Check safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Megalinter Check use?

Megalinter Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Megalinter Check use?

About 3.9k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Megalinter Check?

Skills that share tags, products or a category with Megalinter Check: Tirith Policies (StackGuardian/tirith, 170 stars), Playwright CI (zebbern/claude-code-guide, 4.7k stars), GitHub Actions Creator (FNOSP/FlyNarwhal, 496 stars) and CI CD (EliasOulkadi/shokunin, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Megalinter Check?

nvuillam (a GitHub user) maintains it in nvuillam/npm-groovy-lint, which has 248 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 8, 2026.

Source: nvuillam/npm-groovy-lint on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.