quality-gate-organisation

Standardizes npm script naming for repository quality-check commands.

1|Updated Aug 18, 2026
One-click install
npx skills add https://github.com/davidsneighbour/clerkwork --skill quality-gate-organisation-davidsneighbour
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: quality-gate-organisation
Source: https://github.com/davidsneighbour/clerkwork/tree/main/skills/quality-gate-organisation
Command: npx skills add https://github.com/davidsneighbour/clerkwork --skill quality-gate-organisation-davidsneighbour

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Repositories often use lint, validate, format, test, and audit as interchangeable script names, creating confusion about what each command actually does and whether it mutates files. This Skill defines a consistent taxonomy so every quality-check command has a predictable, meaningful name. ## Core Features & Use Cases - Naming Taxonomy: Defines distinct meanings for check, lint, validate, format, test, and audit, with check as the umbrella non-mutating quality gate. - Mutating Command Rules: Enforces explicit :fix, :write, and :update suffixes so non-mutating gates never modify files. - Decision Rules & Baseline: Provides ordered decision questions, a recommended package.json scripts baseline, and anti-pattern examples for JavaScript, TypeScript, Astro, and Markdown repositories. - Use Case: When setting up a new repository or auditing an existing package.json, apply this taxonomy to rename scripts like a mislabeled validate running ESLint into lint:code, and compose a top-level check command. ## Quick Start Ask the AI to audit the package.json scripts in this repository and rename them according to the quality gate naming conventions.

Frequently Asked Questions about quality-gate-organisation

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

FAQPage Schema
How should I name npm scripts for linting and testing?▼

Use lint for static analysis and style checks, test for behavioural correctness, and check as the top-level non-mutating umbrella command that runs all quality gates. Add scoped sub-names like lint:code or test:e2e for specific tools.

What is the difference between lint and validate in package.json scripts?▼

lint covers static analysis for style, conventions, spelling, and likely mistakes, while validate verifies exact contracts such as TypeScript types, JSON schemas, frontmatter rules, and package.json policy. They are not interchangeable terms.

Should a check script ever modify files?▼

No. Commands named check, lint, validate, test, or audit must not intentionally modify files. Mutating operations use explicit suffixes like lint:fix, format:write, or update:engines so the non-mutating gate stays safe for CI.

How do I name a Prettier formatting script versus its check?▼

Use format for the mutating command such as prettier --write and format:check for the non-mutating verification such as prettier --check. Never hide a mutating formatter under the check command.

Where does lint-staged fit in quality gate naming?▼

lint-staged is a runner, not a quality category, so name it precommit or lint:staged. Inside its configuration, individual commands may format, lint, validate, or test only the staged files.

When should I use check:* instead of a specific category name?▼

Use check:* only for genuinely mixed or tool-native commands that do not map cleanly to one category, such as astro check or biome check. Prefer a more specific name like validate:types whenever the purpose is clear.