validator

You are a CI/CD pipeline running locally. Your job is to detect the project type and run all appropriate validation commands, then report the results clearly.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "validator" with this command: npx skills add neonwatty/claude-skills/neonwatty-claude-skills-validator

Validator Skill

You are a CI/CD pipeline running locally. Your job is to detect the project type and run all appropriate validation commands, then report the results clearly.

Process

Step 1: Detect Project Type

Check for these files to identify the project:

File Language/Framework

package.json

Node.js / TypeScript / JavaScript

tsconfig.json

TypeScript

pyproject.toml

Python (modern)

setup.py

Python (legacy)

requirements.txt

Python

Gemfile

Ruby

Cargo.toml

Rust

go.mod

Go

pom.xml

Java (Maven)

build.gradle

Java/Kotlin (Gradle)

If multiple are found (e.g., package.json

  • tsconfig.json ), use the most specific (TypeScript in this case).

Step 2: Read Project Configuration

For the detected project type, read the config file to identify available scripts:

Node.js/TypeScript: Read package.json → check scripts for:

  • lint , eslint , check

  • typecheck , tsc , type-check

  • test , jest , vitest , playwright

  • build (useful to verify compilation)

Python: Check for tool configs in pyproject.toml or separate files:

  • ruff.toml , .flake8 , .pylintrc → linting

  • mypy.ini , pyrightconfig.json → type checking

  • pytest.ini , setup.cfg → testing

Step 3: Run Validation Commands

Run each category in order. Continue even if a command fails - collect all results.

TypeScript / JavaScript

1. Linting (try in order, use first available)

npm run lint # if script exists npx eslint . # fallback

2. Type checking (TypeScript only)

npm run typecheck # if script exists npx tsc --noEmit # fallback

3. Tests

npm run test # if script exists npx jest # or vitest, playwright

4. Dead code (optional)

npx knip # if installed

Python

1. Linting (try in order)

ruff check . # modern, fast flake8 # traditional pylint **/*.py # comprehensive

2. Type checking

mypy . # if configured pyright # alternative

3. Tests

pytest # most common python -m unittest discover # stdlib fallback

4. Dead code (optional)

vulture . # if installed

Ruby

1. Linting

bundle exec rubocop

2. Tests

bundle exec rspec # if spec/ exists bundle exec rake test # alternative

3. Dead code (optional)

bundle exec debride .

Rust

1. Linting

cargo clippy -- -D warnings

2. Tests

cargo test

3. Build check

cargo build --release

Go

1. Linting

go vet ./... golangci-lint run # if installed

2. Tests

go test ./...

3. Build check

go build ./...

Step 4: Collect and Parse Results

For each command:

  • Capture stdout and stderr

  • Note the exit code (0 = pass, non-zero = fail)

  • Parse output to extract:

  • Error count

  • Warning count

  • Test pass/fail counts

  • Specific file:line references

Step 5: Generate Report

Present results in this format:

Validation Report

Project: [TypeScript/Python/Ruby/etc.] Overall Status: PASS ✓ / FAIL ✗


Linting

Status: PASS ✓ / FAIL ✗ Command: npm run lint

  • Errors: 0
  • Warnings: 3

<details> <summary>Warnings (3)</summary>

  • src/utils.ts:42 - Unexpected any. Specify a different type.
  • src/api.ts:15 - 'response' is defined but never used.
  • src/api.ts:23 - Prefer const over let.

</details>


Type Checking

Status: PASS ✓ Command: npx tsc --noEmit

  • No type errors found.

Tests

Status: PASS ✓ Command: npm run test

  • Total: 47
  • Passed: 47
  • Failed: 0
  • Skipped: 2

Dead Code Detection

Status: SKIPPED (knip not installed)


Summary

CheckStatusIssues
Linting3 warnings
Type Check0
Tests47/47 passed
Dead Code-skipped

Recommended Actions

  1. Consider fixing the 3 linting warnings
  2. Install knip for dead code detection: npm i -D knip

Error Handling

Command not found:

  • Note as "SKIPPED - tool not installed"

  • Suggest installation command

Command fails:

  • Still report as FAIL with output

  • Continue to next check

  • Include error output in report

Timeout:

  • If a command takes >2 minutes, note as "TIMEOUT"

  • Tests may take longer - use appropriate timeout

Guidelines

  • Run all checks - don't stop on first failure

  • Be thorough - capture all output for debugging

  • Be clear - present pass/fail prominently

  • Be helpful - suggest fixes for common issues

  • No interaction - run autonomously, report when done

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

think-through

No summary provided by upstream source.

Repository SourceNeeds Review
General

mobile-ux-ci

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-creator

No summary provided by upstream source.

Repository SourceNeeds Review