crew-lint
Configure and run linters and formatters for PowerShell, PHP, Python, Terraform, and JavaScript, and wire them into the verification gate.
Skill by mbadali25
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mbadali25-crew-lint
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/crew-lint
What's inside
- Skill name
crew-lint- Description
- Configure and run linters and formatters for PowerShell, PHP, Python, Terraform, and JavaScript, and wire them into the verification gate. Use when the user says set up linting, add a linter, format this code, run PSScriptAnalyzer, ruff, phpstan, or tflint, or asks why style keeps drifting.
- License
- GPL-2.0
- Instructions
- 96 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Linting
Linters belong in `.crew/verify.json` under `always` or a path rule — not in an
agent's head. A linter an agent remembers to run is a linter that gets skipped
on the turn it mattered.
## Per language
### Python
```bash
pip install ruff mypy
ruff check . # lint
ruff format --check . # formatting, replaces black
mypy src/ # types, only if the codebase is annotated
```
`ruff` covers what flake8, isort, pyupgrade and several plugins used to, in one
fast binary. Add `mypy` only where annotations already exist — turning it on over
an unannotated legacy codebase produces thousands of findings nobody will read,
which teaches the team to ignore the whole gate.
### PowerShell
```powershell
Install-Module -Name PSScriptAnalyzer -Scope CurrentUser
Invoke-ScriptAnalyzer -Path . -Recurse -Severity Error,Warning
```
Fail the gate on `Error` only at first. `Warning` on legacy scripts is usually a
few hundred findings; promote it once the error count is zero.
Settings live in `PSScriptAnalyzerSettings.psd1` at the repo root. Suppress
per-rule there rather than sprinkling `[Diagnostics.CodeAnalysis.SuppressMessage]`
through the code.
### PHP
```bash
composer require --dev phpstan/phpstan squizlabs/php_codesniffer
php -l <file> # syntax only, but catches parse errors fast
vendor/bin/phpstan analyse --level=1
vendor/bin/phpcs --standard=PSR12 src/
```
Start phpstan at `--level=1` on legacy code and raise it one level at a time,
each raise as its own ticket. Starting at level 8 produces an unreadable wall and
the gate gets disabled within a week.
`php -l` across changed files is cheap enough to run on every gate.
### Terraform
```bash
terraform fmt -recursive -check
terraform validate
tflint
```
See the `crew-terraform` skill — `tflint` needs `tflint --init` once, and there
is a rule you must keep disabled if terraform-docs reads its header from a
`/** */` block.
### JavaScript / TypeScript / AngularJS
```bash
npx eslint .
npx prettier --check .
```
For AngularJS 1.x, the useful rules are the deprecated-pattern ones; most modern
ESLint presets assume ES modules and will produce noise on string-annotated DI.
Configure deliberately or the output is worthless.
## Wiring into the gate
```json
{
"rules": [
{ "paths": ["**/*.py"], "run": ["ruff check .", "ruff format --check ."], "why": "style and common bugs" },
{ "paths": ["**/*.ps1", "**/*.psm1"], "run": ["pwsh -c \"Invoke-ScriptAnalyzer -Path . -Recurse -Severity Error\""], "why": "PowerShell errors only" },
{ "paths": ["**/*.php"], "run": ["vendor/bin/phpstan analyse --level=1", "vendor/bin/phpcs --standard=PSR12 src/"], "why": "types and PSR-12" },
{ "paths": ["**/*.tf", "**/*.tfvars"],
"run": ["terraform fmt -recursive -check", "terraform validate", "tflint",
"terraform-docs markdown table . --output-file README.md --output-check"],
"why": "syntax, lint, and README stays honest" }
]
}
```
Path-scoped, not `always`. A Python change should not wait on `terraform init`.
## Two rules that keep a gate alive
**Format automatically, lint blockingly.** Run the formatter in write mode and
commit the result; run the linter in check mode and fail on it. Arguing with a
formatter in a review is wasted time, and a formatter that only complains is
pure friction.
**Baseline legacy debt, do not fix it in the same change.** Every tool here has
a way to freeze existing findings — `ruff`'s per-file ignores, phpstan's
`--generate-baseline`, PSScriptAnalyzer's settings file. Baseline on day one so
the gate is green, then burn the baseline down as its own tickets. A gate that
starts red never becomes a gate; it becomes something people pass with `--force`.From mbadali25/useful-claude-add-ons, GPL-2.0.
More from mbadali25/useful-claude-add-ons
- 0.603score
crew-qa-standards
mbadali25
Harness, QA-review and environment standards plus a report-only audit (parallel tests, pinned linters CI really runs, gate rules that can fail, QA environment…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
crew-best-practices
mbadali25
Community best practices for working with Claude Code - context management, planning, TDD, hooks, skills, subagents, slash commands and MCP - with what crew…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
crew-graph
mbadali25
Build and query a code graph of this repository with graphify, keeping it on the filesystem as graph.json and fresh on commit.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
crew-diagrams
mbadali25
Author architecture, process, sequence, ER and data-flow diagrams as Mermaid that pass a measured readability check (no crossing lines, nothing drawn through…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-providers
mbadali25
Set up, verify, and invoke external model providers - Codex, Kimi Code or GitHub Copilot for QA review, Gemini for design second opinions.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-change
mbadali25
The change-request template, the ten questions a change board requires, and how each field maps onto ServiceDesk Plus, Jira and a local file.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-context
mbadali25
Manage context exhaustion - warn near the limit, write handoff notes, and resume work after a clear or compact.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-debugging
mbadali25
Find the cause of a defect before proposing a fix - read errors, reproduce, check recent changes, gather evidence from this repo's code map and verification…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-memory
mbadali25
Conventions for durable project memory across repos, including Obsidian vault integration.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-notify
mbadali25
Set up outbound notifications to Microsoft Teams or Telegram - deploy results and "Claude stopped and is waiting" questions - and explain the two-way MCP…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-cloud
mbadali25
Configure the official AWS and Azure MCP servers safely for a repo.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-docs
mbadali25
Keep CHANGELOG.md, README.md, SECURITY.md, TODO.md, ADRs, generated docs, and the API and feature reference current as work lands.
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 17
- Last commit (this folder)
- Aug 23, 2026 (2 months ago)
- Last release
- Jul 28, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mbadali25
- 0.603score
crew-best-practices
mbadali25
Community best practices for working with Claude Code - context management, planning, TDD, hooks, skills, subagents, slash commands and MCP - with what crew…
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
crew-graph
mbadali25
Build and query a code graph of this repository with graphify, keeping it on the filesystem as graph.json and fresh on commit.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
crew-qa-standards
mbadali25
Harness, QA-review and environment standards plus a report-only audit (parallel tests, pinned linters CI really runs, gate rules that can fail, QA environment…
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
crew-diagrams
mbadali25
Author architecture, process, sequence, ER and data-flow diagrams as Mermaid that pass a measured readability check (no crossing lines, nothing drawn through…
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-change
mbadali25
The change-request template, the ten questions a change board requires, and how each field maps onto ServiceDesk Plus, Jira and a local file.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
crew-context
mbadali25
Manage context exhaustion - warn near the limit, write handoff notes, and resume work after a clear or compact.
SkillAFreshness: A★ 2Claude Code +9
Cite this page
crew-lint skill. Agent Mart. https://agentmart.dev/skills/mbadali25-crew-lint (last updated 2026-10-24)