Agent Skills: Validating Project

Auto-detect and run formatters, linters, type checkers, and tests for the current project. Use when validating a project, running all checks, checking code quality before committing, or verifying the build passes.

UncategorizedID: trevors/dot-claude/validating-project

Install this agent skill to your local

pnpm dlx add-skill https://github.com/TrevorS/dot-claude/tree/HEAD/skills/validating-project

Skill Files

Browse the full folder contents for validating-project.

Download Skill

Loading file tree…

skills/validating-project/SKILL.md

Skill Metadata

Name
validating-project
Description
Auto-detect and run formatters, linters, type checkers, and tests for the current project. Use when validating a project, running all checks, checking code quality before committing, or verifying the build passes.

Validating Project

Auto-detect project tooling and run validation steps in the correct order.

Process

  1. Check ./CLAUDE.md for validation tools and project permissions
  2. Auto-detect project type if needed (package.json, pyproject.toml, Cargo.toml, Makefile, go.mod)
  3. Run validation pipeline: Format -> Lint -> Type Check -> Test
  4. Stop immediately on failures
  5. Report results

Tool Commands by Project Type

Make-based (check first -- overrides everything)

make format && make lint && make typecheck && make test

Or make validate if available.

Python

uv run ruff format .
uv run ruff check .
uv run ty check        # or uv run mypy, uv run pyright
uv run pytest

Node.js / TypeScript

pnpm run format        # or npx prettier --write .
pnpm run lint          # or npx eslint .
pnpm run typecheck     # or npx tsc --noEmit
pnpm test

Rust

cargo fmt
cargo clippy
cargo test

Go

gofmt -w .
go vet ./...
go test ./...

Auto-Discovery Logic

# Priority order
if [ -f "Makefile" ]; then
  # Check for make validate/format/lint/test targets
elif [ -f "pyproject.toml" ]; then
  # Python -- check for uv, poetry
elif [ -f "package.json" ]; then
  # Node.js -- check for pnpm, npm, yarn
elif [ -f "Cargo.toml" ]; then
  # Rust
elif [ -f "go.mod" ]; then
  # Go
fi

Error Handling

  • Tool not found: Provide installation instructions
  • Configuration missing: Suggest minimal setup
  • Validation failures: Show specific fix recommendations
  • Dependency conflicts: Suggest resolution strategies

CLAUDE.md Integration

Cache discovered validation info in the project's CLAUDE.md:

## Project Validation Tools

- **Format**: make format
- **Lint**: make lint
- **Type Check**: make typecheck
- **Test**: make test