craft-lintlisted
Install: claude install-skill atifgul99/craftsman-marketplace
# Lint Craft
This skill owns linting as a first-class code-quality surface **for JS/TS ESLint**. Version choice
matters, but the real standard is the resolved rule contract: typed linting, runtime-risk rules as
errors, context-specific React/Next/a11y/security rules, and a zero-warning gate that developers and
CI both run.
**Applicability.** If discovery finds **no JS/TS ESLint surface** — e.g. Python-only with Ruff,
Biome-only (no ESLint), Go with `golangci-lint`, Rust with clippy — mark the domain **N-A** or
**partial** with a one-line reason (what linter *is* present). Do **not** demand ESLint 10 flat config
on a non-ESLint stack. This skill does not expand into a multi-linter catalog; honest N-A is correct.
## Operating principle — discover before you build
Do not judge a lint setup from config prose alone. First confirm ESLint is in scope (see
applicability). Then fetch the **resolved ESLint rules** for real source files with
`eslint --print-config` wherever possible, and compare those resolved rules against the standard for
that project's context.
If `--print-config` fails, record the failure and fall back to direct config-file inspection. A failed
resolved-config extraction is itself a finding: the team cannot reliably reason about what linting is
actually enforcing.
## Workflow
1. **Discover**
- Read package manager files, `package.json`, ESLint configs, TS configs, formatter configs, CI,
husky/lint-staged, and workspace layout.
- Identify project co