crew-lint

Configure linters and formatters for five languages and wire them into a verification gate.

2|Updated Jul 28, 2026
One-click install
npx skills add https://github.com/mbadali25/useful-claude-add-ons --skill crew-lint-mbadali25
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: crew-lint
Source: https://github.com/mbadali25/useful-claude-add-ons/tree/main/plugin/crew/skills/crew-lint
Command: npx skills add https://github.com/mbadali25/useful-claude-add-ons --skill crew-lint-mbadali25

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code style drifts when linting depends on developers remembering to run tools manually. This Skill sets up linters and formatters for PowerShell, PHP, Python, Terraform, and JavaScript, then wires them into a path-scoped verification gate so checks run automatically on every relevant change. ## Core Features & Use Cases - Per-language tool setup: Install and configure ruff and mypy for Python, PSScriptAnalyzer for PowerShell, phpstan and phpcs for PHP, terraform fmt/validate/tflint for Terraform, and ESLint with Prettier for JavaScript. - Verification gate wiring: Add path-scoped rules to .crew/verify.json so a Python change never waits on terraform init. - Legacy debt baselining: Freeze existing findings with ruff per-file ignores, phpstan baselines, or PSScriptAnalyzer settings so the gate starts green and debt burns down as separate tickets. - Use Case: A team inherits a legacy PHP codebase with no style enforcement. Use this Skill to install phpstan at level 1, generate a baseline, and add a gate rule that fails only on new findings. ## Quick Start Set up linting for my Python and Terraform project and wire the checks into the verification gate.

Frequently Asked Questions about crew-lint

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up linting for a Python project?

Install ruff and mypy with pip, then run `ruff check .` for linting and `ruff format --check .` for formatting. Add mypy only where type annotations already exist, since enabling it on an unannotated legacy codebase produces thousands of unread findings.

How do I add a linter to a CI verification gate?

Add the linter command as a path-scoped rule in `.crew/verify.json`, mapping file globs like `**/*.py` to the check commands. Path scoping keeps gates fast so a Python change never waits on unrelated tooling like terraform init.

What PHP static analysis tools should I use on legacy code?

Use phpstan starting at `--level=1` and raise the level one step at a time as separate tickets, plus phpcs with the PSR12 standard for style. Starting phpstan at level 8 on legacy code produces an unreadable wall of findings and the gate gets disabled.

How do I handle thousands of existing lint findings in legacy code?

Baseline the existing debt instead of fixing it in the same change: use ruff per-file ignores, phpstan's `--generate-baseline`, or PSScriptAnalyzer's settings file. The gate starts green on day one, and the baseline burns down as its own tickets.

Does PSScriptAnalyzer work for PowerShell linting in CI?

Yes, install it with `Install-Module -Name PSScriptAnalyzer` and run `Invoke-ScriptAnalyzer -Recurse`. Fail the gate on Error severity only at first, since Warning on legacy scripts usually yields hundreds of findings; promote Warning once errors reach zero.