Skip to content
Agentmart
Submit a tool

quality-gate

Four-gate quality model - build, lint, format, test - that must all pass before any commit.

Skill by eyelock

IndexedMIT★ 2
Write a review

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/eyelock-quality-gate

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.

We use your email only for this newsletter. Privacy

About

Four-gate quality model - build, lint, format, test - that must all pass before any commit. Use whenever you are about to commit, including when the user says to commit it, or says the tests already pass (their word is not a gate run), and when lint, format or test tools disagree or fail.

Use cases: documents, testing

No 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/quality-gate

What's inside

Skill name
quality-gate
Description
Four-gate quality model - build, lint, format, test - that must all pass before any commit. Use whenever you are about to commit, including when the user says to commit it, or says the tests already pass (their word is not a gate run), and when lint, format or test tools disagree or fail.
License
MIT
Instructions
64 lines in SKILL.md · view on GitHub

Files (3)

  • SKILL.md
  • eval_queries.json · evals/
  • evals.json · evals/

SKILL.md (first lines)

# Quality Gate

All four gates must pass before any code is committed:

| Gate | What it checks | Requirement |
|---|---|---|
| Build | Compiles without errors | Zero errors, zero warnings |
| Lint | Static analysis | Zero violations — linter must exit 0 |
| Format | Code style consistency | Clean — run your formatter to fix |
| Tests | Automated test suite | All tests pass |

Run all four at once using your project's combined check target. For projects using Make:

```bash
make check
```

The output must be clean. Any `warning:` or `error:` lines in the output are failures.

Projects configure what each gate runs. The skill enforces the policy: zero tolerance on all four.

## Zero Tolerance

Never proceed to commit with build errors, lint errors, formatting violations, or failing tests.

If the check passes locally but CI fails, that is a bug — investigate and file an issue rather than pushing again.

## Verification Scope

Always run the full check command on a **clean build** before declaring the gate passed. Incremental compilation caches object files — repeat check runs will not regenerate warnings for already-compiled files. Only a clean build guarantees the full warning picture.

Clean with the project's own clean target (`make clean`, `swift package clean`, `cargo clean`), not a cache or two picked by hand: linters, formatters and test runners keep caches of their own, and a repeat run stays quiet about files they have already checked. The project's target knows every one of them; when it is not obvious, read what the target removes.

For Swift/Make projects:
```bash
swift package clean && make check
```

Their earlier run, or yours a minute ago, does not count: a rerun that is quiet proves nothing until the caches are gone.

**Never declare success from an incremental build.** Test targets compile separately from the main target — warnings in test files only surface when tests are compiled.

## No Suppression Annotations

Do not add lint suppression annotations (e.g. `// swiftlint:disable`, `// nolint`, `#pragma warning disable`) to silence violations. Disabling rules file-wide or project-wide is also forbidden. Every violation must be fixed at the source.

## Line Length

When both a linter and a formatter enforce line length, they must be configured to the same limit. Neither tool auto-breaks long string literals — those require manual splitting. Do not disable line length rules; fix the code.

## Project Configuration

Each project defines its gate commands. Examples:

| Project type | Typical check target |
|---|---|
| Make-based | `make check` |
| Go | `go build ./... && golangci-lint run && gofmt -l . && go test ./...` |
| Node | `npm run build && npm run lint && npm run format:check && npm test` |
| Swift/Xcode | `make build && make lint && make format-check && make test` |

Document your project's gate commands in your CLAUDE.md or README so every contributor runs the same checks.

From eyelock/assistants, MIT.

More from eyelock/assistants

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Oct 6, 2026 (22 days ago)
Last release
Aug 25, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from eyelock

Cite this page

quality-gate skill. Agent Mart. https://agentmart.dev/skills/eyelock-quality-gate (last updated 2026-10-24)