agentsclimarketplace

Project health check

Skill xmqywx/claude-code-skills/skills/project-health-check

17 professional Claude Code skills - code review, API scaffold, n8n workflow generator, and more

Install
npx -y skills add xmqywx/claude-code-skills --skill project-health-check

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Run a comprehensive project health check covering dependencies, configuration, security, testing, and build integrity. Outputs a graded report card with actionable recommendations.

SKILL.md

8.4 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it

Project Health Check

Run a full diagnostic on the current project and produce a graded health report.

Steps

1. Detect Project Type

Identify the project ecosystem by checking for:

ls package.json pyproject.toml Cargo.toml go.mod pom.xml Gemfile

This skill focuses primarily on Node.js/TypeScript projects but adapts the checks as needed. Read package.json (or equivalent) to understand the project.

2. Run All Checks

Execute each check below. Record the result as PASS, WARN, or FAIL with details.


Check 1: Package Configuration

Read package.json and verify:

ItemPASSWARNFAIL
name fieldPresent and validMissing or unnamed-
version fieldFollows semverPresent but not semverMissing
descriptionPresent, >10 charsPresent but shortMissing
main or exportsPoints to existing filePresent but file missingMissing for library
scripts.startPresent-Missing
scripts.testPresent and not echo "Error..."Present but placeholderMissing
scripts.buildPresent (if TS/compiled)-Missing when needed
scripts.lintPresent-Missing
enginesNode version specified-Missing
licensePresentUNLICENSEDMissing
privateSet for apps-Missing for non-published apps

Run npm outdated 2>/dev/null || true and check for outdated dependencies:

  • PASS: All up to date or only minor updates
  • WARN: Major version updates available
  • FAIL: Dependencies with known vulnerabilities

Run npm audit --json 2>/dev/null || true if available:

  • PASS: No vulnerabilities
  • WARN: Low/moderate vulnerabilities
  • FAIL: High/critical vulnerabilities

Check 2: Environment Configuration

ls -la .env .env.example .env.local .env.development .env.production 2>/dev/null
ItemPASSWARNFAIL
.env.example existsYes-No, but .env exists
.env in .gitignoreYes-No
.env.example matches .envAll keys presentSome keys missingMajor mismatch

If both .env and .env.example exist, compare their keys (not values):

grep -oP '^[A-Z_]+=?' .env | sort
grep -oP '^[A-Z_]+=?' .env.example | sort

Check for secrets accidentally committed:

git log --all --diff-filter=A -- '*.env' '.env.*' 2>/dev/null
grep -rn "sk-\|sk_live\|AKIA\|-----BEGIN.*KEY" src/ lib/ app/ --include="*.ts" --include="*.js" --include="*.json" 2>/dev/null

Check 3: Essential Files

Check for the presence and quality of standard project files:

FilePASSWARNFAIL
README.mdExists, >500 chars, has install/usage sectionsExists but minimalMissing
.gitignoreExists, covers node_modules, .env, build outputExists but incompleteMissing
LICENSE or LICENSE.mdExists-Missing (for open source)
tsconfig.jsonExists with strict: true (if TS)Exists but not strictMissing (if TS files present)
.eslintrc* or eslint.config.*Exists-Missing
.prettierrc* or in package.jsonExists-Missing
DockerfileExists (if deploy target)-Not checked
.dockerignoreExists (if Dockerfile)-Missing (if Dockerfile)
CI config (.github/workflows/, .gitlab-ci.yml)Exists-Missing

Check 4: Code Quality & Linting

If a linter is configured, run it:

npx eslint . --max-warnings=0 2>/dev/null || npm run lint 2>/dev/null
  • PASS: No errors or warnings
  • WARN: Warnings only
  • FAIL: Errors present

Check TypeScript compilation (if applicable):

npx tsc --noEmit 2>/dev/null
  • PASS: No type errors
  • WARN: -
  • FAIL: Type errors found

Check 5: Testing

Detect the test framework and check coverage:

ls jest.config* vitest.config* .mocharc* karma.conf* 2>/dev/null
find . -name "*.test.*" -o -name "*.spec.*" | head -20
ItemPASSWARNFAIL
Test framework configuredYes-No
Test files exist>5 test files1-5 test files0 test files
Tests passAll passSome skipFailures
Coverage>80%50-80%<50% or not configured

Run tests if configured (with a timeout):

timeout 120 npm test 2>&1 || true

If coverage is available:

npx vitest run --coverage 2>/dev/null || npx jest --coverage 2>/dev/null || true

Check 6: Build Verification

If a build script exists, try it:

timeout 120 npm run build 2>&1 || true
  • PASS: Build succeeds with no warnings
  • WARN: Build succeeds with warnings
  • FAIL: Build fails

Check that build output exists and is gitignored:

ls dist/ build/ out/ .next/ 2>/dev/null
grep -q "dist\|build\|out\|\.next" .gitignore 2>/dev/null

Check 7: Security Baseline

ItemPASSWARNFAIL
No secrets in sourceClean-Secrets found
npm audit cleanNo high/criticalLow/moderate onlyHigh/critical present
Helmet/CORS configured (if server)YesPartialNo
Input validation presentYes (Zod/Joi/etc.)Manual validationNone found
Auth middleware exists (if API)Yes-No (if routes exist)

Check 8: Documentation Quality

ItemPASSWARNFAIL
README has install instructionsYes-No
README has usage/API docsYes-No
API endpoints documentedYes (OpenAPI/JSDoc)PartialNo
Code comments on complex logicPresentSparseNone
CHANGELOG existsYes-No (for published packages)

3. Generate the Health Report

Output the report in this format:

# Project Health Report

**Project**: <name from package.json>
**Version**: <version>
**Date**: <current date>
**Runtime**: Node.js <detected version>

## Report Card

| # | Check                    | Status | Details |
|---|--------------------------|--------|---------|
| 1 | Package Configuration    | PASS   | All fields present, deps up to date |
| 2 | Environment Config       | WARN   | .env.example missing 2 keys |
| 3 | Essential Files          | PASS   | All standard files present |
| 4 | Code Quality & Linting   | FAIL   | 3 ESLint errors found |
| 5 | Testing                  | WARN   | 62% coverage (target: 80%) |
| 6 | Build                    | PASS   | Builds successfully |
| 7 | Security                 | PASS   | No vulnerabilities found |
| 8 | Documentation            | WARN   | Missing API documentation |

## Overall Grade: B+

Grading scale:
- A+: All PASS
- A:  All PASS, 1 WARN
- B+: All PASS/WARN, no FAIL, <=3 WARN
- B:  All PASS/WARN, no FAIL
- C:  1 FAIL
- D:  2 FAIL
- F:  3+ FAIL

## Critical Issues (Fix Now)

1. **[FAIL] Code Quality**: 3 ESLint errors in src/utils/parser.ts
   - Fix: Run `npx eslint src/utils/parser.ts --fix`

## Recommendations (Improve Later)

1. **[WARN] Environment**: Add missing keys to .env.example: `REDIS_URL`, `LOG_LEVEL`
2. **[WARN] Testing**: Increase coverage from 62% to 80%. Untested files:
   - src/services/payment.service.ts (0%)
   - src/utils/crypto.ts (0%)
3. **[WARN] Documentation**: Add API docs using JSDoc or OpenAPI spec

## What's Good

- Clean dependency audit
- TypeScript strict mode enabled
- CI pipeline configured
- Build output properly gitignored

4. Offer Quick Fixes

After the report, offer to automatically fix what can be fixed:

I can automatically fix the following issues:

  1. Create .env.example from current .env (keys only)
  2. Run npx eslint --fix to auto-fix lint errors
  3. Add missing entries to .gitignore
  4. Add missing package.json fields

Want me to fix any of these? (all / pick numbers / skip)

Apply requested fixes, then re-run the affected checks to confirm they now pass.

Edge Cases

  • Monorepo: If workspaces is detected in package.json or lerna.json / pnpm-workspace.yaml exists, run checks on each workspace package and aggregate results.
  • No package.json: Report as FAIL for check 1 and adapt remaining checks. Ask the user what type of project this is.
  • CI environment: Skip interactive prompts and output the report as plain text.
  • Very large projects: Set timeouts on test and build commands. If they exceed 2 minutes, report as "SKIPPED (timeout)" rather than failing.

Gives 1 of the 12 instructions most quality gates skills give in ~2.3k tokens

Counted across 1,195 of the 2,094 authors here whose files we hold, read 2026-08-06

  • read the output and check the exit codein 55 of 1195, across 14 files
  • verify requirements using a line-by-line checklistin 53 of 1195, across 12 files
  • identify the verification command proving the claimin 53 of 1195, across 12 files
  • run the full verification commandin 51 of 1195, across 11 files
  • verify output confirms the claimin 49 of 1195, across 10 files
  • check version control diff after agent delegationin 45 of 1195, across 5 files
  • state claim with evidencein 43 of 1195, across 3 files
  • run the test suitehere, and in 32 of 1195, across 24 files
  • keep state in memory by defaultin 27 of 1195, across 6 files
  • make prototype runnable with one commandin 26 of 1195, across 5 files
  • detect the package manager from lockfilesin 24 of 1195, across 5 files
  • produce a verification reportin 23 of 1195, across 12 files

Said here and by no other author read

  • detect project ecosystem
  • read package json
  • grade each check
  • detect committed secrets
  • run linters
  • calculate overall grade

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.