aaddrick

lint

Run shellcheck and actionlint on shell scripts and GitHub Actions workflows. Use before pushing or when fixing lint issues.

aaddrick 4,631 467 Updated 4mo ago
GitHub

Install

npx skillscat add aaddrick/claude-desktop-debian/lint

Install via the SkillsCat registry.

SKILL.md

Run linting tools on shell scripts and GitHub Actions workflows in this project.

Your Task

Run the following checks on changed files (relative to main branch):

1. Shell Scripts (shellcheck)

# Find changed shell scripts
changed_scripts=$(git diff --name-only main...HEAD 2>/dev/null | grep -E '\.sh$')

# Run shellcheck on each
for script in $changed_scripts; do
    if [[ -f "$script" ]]; then
        shellcheck -f gcc "$script"
    fi
done

2. GitHub Actions Workflows (actionlint)

# Find changed workflow files
changed_workflows=$(git diff --name-only main...HEAD 2>/dev/null | grep -E '\.github/workflows/.*\.ya?ml$')

# Run actionlint on each
for workflow in $changed_workflows; do
    if [[ -f "$workflow" ]]; then
        actionlint "$workflow"
    fi
done

Handling Issues

When lint issues are found:

  1. Fix the issues - Correct the code to resolve warnings/errors
  2. Only use disable directives as a last resort - If a warning is a false positive or truly unavoidable, add a disable comment with explanation:
    # shellcheck disable=SC2034  # Variable used by sourcing script
  3. Report what was fixed - Summarize the changes made

Optional Guidance

$ARGUMENTS