원클릭으로
quality
Generate and improve code quality scores for JS/TS projects
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Generate and improve code quality scores for JS/TS projects
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | quality |
| version | 0.4.0 |
| description | Generate and improve code quality scores for JS/TS projects |
| allowed-tools | Bash, Read, Grep, Glob, Edit |
Generate comprehensive quality reports and actionable improvement recommendations.
This skill helps you:
IMPORTANT: Always follow these defaults unless the user explicitly requests otherwise:
Work in a branch - Never commit directly to main. Create a feature branch:
git checkout -b chore/improve-quality
Create a PR - After committing improvements, create a pull request:
gh pr create --title "chore: improve code quality" --body "## Summary
- Improved quality score from X to Y (grade: Z)
## Changes
[list improvements made]
## Quality Report
[include before/after metrics]"
No attribution - Do NOT include any of these in commits or PRs:
Co-Authored-By: Claude or any Claude attribution🤖 Generated with Claude Code or similar footersupkeep binary must be installed and available on your PATH. Install it with:
brew install llbbl/tap/upkeep
(or download a binary from the GitHub releases).upkeep command, verify it is on PATH and stop with a clear message if not:
command -v upkeep >/dev/null 2>&1 || {
echo "upkeep not found on PATH — install it with: brew install llbbl/tap/upkeep" >&2
exit 1
}
The quality score is calculated from 6 weighted metrics:
| Metric | Weight | What It Measures |
|---|---|---|
| Dependency Freshness | 20% | % of dependencies up-to-date |
| Security | 25% | Absence of vulnerabilities |
| Test Coverage | 20% | Code coverage percentage |
| TypeScript Strictness | 10% | Strict compiler options enabled |
| Linting Setup | 10% | Linter configuration quality |
| Dead Code | 15% | Unused code detection setup |
| Grade | Score Range | Meaning |
|---|---|---|
| A | 90-100 | Excellent - well maintained |
| B | 80-89 | Good - minor improvements needed |
| C | 70-79 | Fair - some attention required |
| D | 60-69 | Poor - significant improvements needed |
| F | 0-59 | Failing - major issues present |
upkeep quality --json
This returns:
Show the user:
For metrics scoring below 70, explain:
Many issues can be fixed automatically:
Dependency Freshness:
/upkeep:deps skill to update packagesSecurity:
/upkeep:audit skill to fix vulnerabilitiesTypeScript Strictness:
Linting Setup:
Test Coverage:
User: "How healthy is my project?"
upkeep quality --json# Check outdated packages
upkeep deps --json
# Update all patch versions (usually safe)
<pm> update
# Find vulnerabilities
upkeep audit --json
# Fix what's available
<pm> audit fix # npm
coverage/ directory<pm> test --coverageAdd to tsconfig.json:
{
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"exactOptionalPropertyTypes": true,
"noImplicitOverride": true
}
}
Then fix resulting type errors.
For a new project, recommend Biome:
bunx @biomejs/biome init
For existing ESLint projects, ensure Prettier is configured too.
Enable TypeScript dead code detection:
{
"compilerOptions": {
"noUnusedLocals": true,
"noUnusedParameters": true
}
}
Consider adding knip or ts-prune for advanced detection.
| Command | Purpose |
|---|---|
upkeep quality | Generate quality report |
upkeep detect | Check project configuration |
upkeep deps | Dependency freshness details |
upkeep audit | Security details |
After making improvements:
upkeep quality --jsonF → D (Quick wins):
D → C (Foundation):
C → B (Solid):
B → A (Excellence):