This skill should be used when validating, reviewing, or writing bash shell scripts. It enforces coding standards covering variable naming (UPPERCASE_UNDERSCORE), function parameter naming (_ARG suffix), dependency declaration and validation, heredoc marker uniqueness, and documentation comments. Use it to audit existing scripts, fix violations, or set up CI/CD enforcement pipelines.
for loop iterators.${VAR} syntax. No bare $VAR._ARG suffix (FILE_ARG, MODE_ARG).local declarations are always on a separate line from assignments to preserve exit codes.REQUIRED_DEPS and validated via validate_dependencies().EOF).Load these files on demand based on the task:
references/validation-rules-matrix.md — Rule codes, severity levels, compliance score formula, compliant script template.references/common-violations-guide.md — Before/after code examples for each rule, CI/CD integration, migration strategy.references/quality-checklist-antipatterns.md — Pre-commit checklist, anti-pattern catalog, validation report format, CI config options.validation-rules-matrix.md for rule codes and severity levels.common-violations-guide.md for before/after patterns.quality-checklist-antipatterns.md pre-commit checklist before finalising.common-violations-guide.md.| Rule | What to check | Severity |
|---|---|---|
| VAR-001 | Variable names are UPPERCASE_UNDERSCORE | WARNING |
| VAR-002 | All expansions use ${VAR} | WARNING |
| FNC-001 | Parameter locals have _ARG suffix | WARNING |
| FNC-003 | local separate from assignment | ERROR |
| DEP-002 | All external commands in REQUIRED_DEPS | ERROR |
| DEP-003 | validate_dependencies called in main() | ERROR |
| EOF-001 | Heredoc markers are unique | WARNING |
| CMT-001 | Every function has a doc comment | INFO |