aaddrick

lint

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

aaddrick 5,389 523 Updated 7mo ago
GitHub

Install

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

Install via the SkillsCat registry.

About this skill

Runs shellcheck on shell scripts and actionlint on GitHub Actions workflows changed relative to the main branch, helping catch syntax and lint errors before pushing. Use it as a pre-push check or when fixing lint issues in modified scripts and workflow files.

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