Runs local validation operations for any project. Auto-detects language/framework and runs linting, type checking, tests, and dead code detection. Use this when the user says "validate", "run validation", "check code", "lint and test", or "run checks".
Runs local validation (linting, type checking, tests) by auto-detecting your project type. Triggers when you say "validate", "run validation", "check code", "lint and test", or "run checks".
/plugin marketplace add neonwatty/claude-skills/plugin install claude-skills@claude-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
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.
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).
For the detected project type, read the config file to identify available scripts:
Node.js/TypeScript: Read package.json → check scripts for:
lint, eslint, checktypecheck, tsc, type-checktest, jest, vitest, playwrightbuild (useful to verify compilation)Python: Check for tool configs in pyproject.toml or separate files:
ruff.toml, .flake8, .pylintrc → lintingmypy.ini, pyrightconfig.json → type checkingpytest.ini, setup.cfg → testingRun each category in order. Continue even if a command fails - collect all results.
# 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
# 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
# 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 .
# 1. Linting
cargo clippy -- -D warnings
# 2. Tests
cargo test
# 3. Build check
cargo build --release
# 1. Linting
go vet ./...
golangci-lint run # if installed
# 2. Tests
go test ./...
# 3. Build check
go build ./...
For each command:
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
| Check | Status | Issues |
|-------|--------|--------|
| Linting | ✓ | 3 warnings |
| Type Check | ✓ | 0 |
| Tests | ✓ | 47/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`
Command not found:
Command fails:
Timeout:
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.