quality-run-linters
Run all configured linters including mojo format, markdownlint, and pre-commit hooks. Use before committing code to ensure quality standards are met.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install mvillmow-projectodyssey-quality-run-linters
Repository
Skill path: .claude/skills/quality-run-linters
Run all configured linters including mojo format, markdownlint, and pre-commit hooks. Use before committing code to ensure quality standards are met.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: mvillmow.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install quality-run-linters into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/mvillmow/ProjectOdyssey before adding quality-run-linters to shared team environments
- Use quality-run-linters for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: quality-run-linters
description: Run all configured linters including mojo format, markdownlint, and pre-commit hooks. Use before committing code to ensure quality standards are met.
mcp_fallback: none
category: quality
---
# Run Linters Skill
Run all configured linters to ensure code quality.
## When to Use
- Before committing code
- CI/CD quality checks
- Pre-PR validation
- Troubleshooting quality issues
## Quick Reference
```bash
# Run all linters
./scripts/run_all_linters.sh
# Check mode (no fixes)
./scripts/run_all_linters.sh --check
# Fix mode
./scripts/run_all_linters.sh --fix
# Specific linter
./scripts/run_linters.sh --mojo
```
## Configured Linters
| Linter | Purpose | Auto-Fix |
|--------|---------|----------|
| `mojo-format` | Format Mojo code | Yes |
| `markdownlint` | Lint markdown files | Partial |
| `pre-commit` | Multiple checks | Yes (most) |
### Pre-commit Hooks
- `trailing-whitespace` - Remove trailing spaces (Yes)
- `end-of-file-fixer` - Add final newline (Yes)
- `check-yaml` - Validate YAML syntax (No)
- `check-added-large-files` - Prevent large files (No)
- `mixed-line-ending` - Fix line endings (Yes)
## Workflow
```bash
# 1. Run all linters
./scripts/run_all_linters.sh
# 2. Review output
# Check which issues found
# 3. Fix issues
# Most auto-fixed, some need manual fixes
# 4. Stage changes
git add .
# 5. Commit
git commit -m "fix: address linting issues"
```
## Common Issues
| Error | Linter | Fix |
|-------|--------|-----|
| "MD040" | markdownlint | Add language to code block |
| "MD031" | markdownlint | Add blank lines around block |
| "Trailing whitespace" | pre-commit | Auto-fixed, re-commit |
| "YAML error" | check-yaml | Fix YAML syntax manually |
## Linter Details
### Mojo Format
Checks: indentation, spacing, line length, operators, blank lines
```bash
pixi run mojo format src/tensor.mojo # Fix
pixi run mojo format --check src/tensor.mojo # Check only
```
### Markdownlint
Checks: code block languages, blank lines, line length, heading style
```bash
npx markdownlint-cli2 "**/*.md" # Check
npx markdownlint-cli2 --fix "**/*.md" # Fix auto-fixable
```
### Pre-commit
Checks: trailing whitespace, file endings, YAML syntax, large files, line endings
```bash
just pre-commit-all # Run all
pixi run pre-commit trailing-whitespace --all-files # Specific
```
## CI Integration
Linters run automatically in GitHub Actions:
```yaml
- name: Run Linters
run: |
just pre-commit-all
```
## Workflow Integration
### Before Commit
```bash
./scripts/run_all_linters.sh
git add .
git commit -m "message"
```
### Pre-commit Hook (Automatic)
```bash
git commit -m "message"
# Hooks run, fix issues if needed
# If fixed, re-commit
git add .
git commit -m "message"
```
### Before PR
```bash
./scripts/run_all_linters.sh --check
git add .
git commit -m "fix: address linting issues"
gh pr create --issue 42
```
## Error Handling
| Error | Solution |
|-------|----------|
| "Linter not found" | Install tool or check PATH |
| "Syntax error" | Fix code before running linter |
| "False positive" | Check configuration files |
| "Permission denied" | Check file permissions |
## Configuration Files
- `.pre-commit-config.yaml` - Pre-commit hooks
- `.markdownlint.yaml` - Markdown rules
- Mojo built-in formatting (no config)
## Best Practices
1. **Run before commit** - Always check locally first
2. **Auto-fix when possible** - Use fix mode to save time
3. **Understand errors** - Don't blindly fix without understanding
4. **Keep updated** - Update linter versions regularly
5. **CI enforcement** - Ensure CI runs all linters
## References
- Configuration: `.pre-commit-config.yaml`, `.markdownlint.yaml`
- Related skill: `quality-fix-formatting` for manual fixes
- Related skill: `run-precommit` for pre-commit details