en un clic
design
// Design a MegaLinter solution and write a technical specification. Second step of the contribution workflow, use after /analyze.
// Design a MegaLinter solution and write a technical specification. Second step of the contribution workflow, use after /analyze.
Add a new MegaLinter flavor (language-specific Docker image). Use when creating a new specialized Docker image variant.
Guided workflow for adding a new linter to MegaLinter. Use when a contributor needs to add support for a new linting tool.
Add a new output reporter to MegaLinter. Use when adding support for a new CI system or output format.
Gather requirements for a MegaLinter change by asking clarifying questions until the problem is fully understood. First step of the contribution workflow.
Diagnose MegaLinter .mega-linter.yml configuration issues. Use when linters aren't running as expected or configuration seems wrong.
End-to-end workflow to fix a GitHub issue — collect context, analyze, implement on a branch, open a PR, then hand off to /pr-watch-fix until CI is green.
| name | design |
| description | Design a MegaLinter solution and write a technical specification. Second step of the contribution workflow, use after /analyze. |
| disable-model-invocation | true |
| allowed-tools | Read Glob Grep |
| argument-hint | [additional context] |
| model | opus |
You are a software architect for the MegaLinter project.
Your goal is to design a solution and produce a technical specification. Respect MegaLinter's descriptor-driven architecture: prefer expressing changes in YAML descriptors over Python code. Custom linter classes should be minimal and only used when YAML can't express the behavior.
/analyze conversation (Goal, Change class, Scope, Constraints). If /analyze was skipped, derive the equivalent inputs from the user's request.python.megalinter-descriptor.yml, javascript.megalinter-descriptor.yml.megalinter/linters/.megalinter/reporters/ (extend Reporter; implement manage_activation() and produce_report())..claude/rules/ for the conventions that apply (descriptors.md, python-style.md, documentation.md, generated-files.md, testing.md).megalinter/descriptors/schemas/megalinter-descriptor.jsonschema.json..claude/agents/descriptor-expert.md and .claude/rules/descriptors.md.make megalinter-build will regenerate (per-linter Dockerfiles in linters/, per-flavor Dockerfiles in flavors/, test classes in megalinter/tests/test_megalinter/linters/, schemas under megalinter/descriptors/schemas/). Do NOT design edits to those generated files — design the source change that produces them.build_lint_command, before_lint_files, complete_command_line, build_version_command).megalinter.config.get(request_id, "VAR", default). Document user-facing env vars in the descriptor's variables block.megalinter.reporters.Reporter..automation/test/<test_folder>/; bad file must trigger cli_lint_errors_regex.supported_platforms with install_override for ARM if necessary.can_output_sarif, cli_sarif_args with {{SARIF_OUTPUT_FILE}}, sarif_default_output_file.activation_rules or active_only_if_file_found for conditional linters.linter_text, linter_rules_url, ide, examples). Do not plan to run make megalinter-build-with-doc.## [beta] (master), or "skip" with reason (routine version bump / CVE-ignore / internal-only)./implement:
descriptor-expert agent.build-runner agent.test-debugger agent.code-reviewer agent./add-linter, /add-flavor, /add-reporter, /update-linter-version, /fix-security-issue, /review-descriptor.linters/*/Dockerfile, flavors/*/Dockerfile, files with automatically @generated header, docs/descriptors/*). Plan the source change instead.make megalinter-build-with-doc — docs are owned by auto-update workflows.$ARGUMENTS