Analyze codebase health - large files, test coverage gaps, duplicate code, dead/legacy code, and documentation issues. Use when asked to scan, audit, or assess code quality, find refactoring targets, or identify technical debt.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: code-health
description: Analyze codebase health - large files, test coverage gaps, duplicate code, dead/legacy code, and documentation issues. Use when asked to scan, audit, or assess code quality, find refactoring targets, or identify technical debt.
---
# Code Health Analysis
Run `scripts/health.py` to analyze codebase health. The script auto-detects project type (Go, Python, JS/TS) and runs appropriate checks.
## Usage
**Primary (LLM/programmatic use):**
```bash
# Full scan with JSON output (recommended for LLM consumption)
python /path/to/skill/scripts/health.py --json [directory]
# Specific checks with JSON output
python /path/to/skill/scripts/health.py --check size --json [directory]
python /path/to/skill/scripts/health.py --check tests --json [directory]
python /path/to/skill/scripts/health.py --check dupes --json [directory]
python /path/to/skill/scripts/health.py --check dead --json [directory]
python /path/to/skill/scripts/health.py --check docs --json [directory]
```
**Secondary (human debugging):**
```bash
# Human-readable output with emojis (for manual inspection)
python /path/to/skill/scripts/health.py [directory]
python /path/to/skill/scripts/health.py --check size [directory]
```
## Checks
| Check | Description |
|-------|-------------|
| `size` | Large files, function counts, git churn |
| `tests` | Coverage gaps, missing test files, test quality |
| `dupes` | Duplicate function names, similar patterns |
| `dead` | Legacy markers, unused exports, stale code |
| `docs` | Undocumented exports, missing READMEs |
## Output
**JSON format (recommended):** Structured output for LLM/programmatic parsing with severity levels:
- `"critical"`: Immediate attention needed
- `"warning"`: Should address soon
- `"info"`: Nice to fix
Each finding includes file path, line number (when applicable), message, and suggested action.
**Human-readable format (debugging only):** Pretty-printed output with emoji severity indicators (🔴 critical, 🟡 warning, 🟢 info) for manual inspection.
## AST-Based Function Analysis
For more accurate function analysis, use the included AST parsers:
### gofuncs - Go Function Analyzer
```bash
go run scripts/gofuncs.go -dir /path/to/project
```
**Output format:** `file:line:type:exported:name:receiver:signature`
- `type`: `f`=function, `m`=method
- `exported`: `y`=public, `n`=private
**Example:**
```plain
api.go:15:f:n:fetchItems:()[]Item
config.go:144:m:y:GetCategory:*Mapper:(string)string
```
### pyfuncs - Python Function Analyzer
```bash
python scripts/pyfuncs.py --dir /path/to/project
```
**Output format:** `file:line:type:exported:name:class:signature:decorators`
- `type`: `f`=function, `m`=method, `s`=staticmethod, `c`=classmethod, `p`=property
- `exported`: `y`=public, `n`=private (underscore prefix)
**Example:**
```plain
main.py:15:f:y:process_data::(data:List[str])->Dict[str,int]:
api.py:45:m:y:fetch:APIClient:async (url:str)->Response:cache,retry
```
### jsfuncs - JavaScript/TypeScript Function Analyzer
```bash
node scripts/jsfuncs.js --dir /path/to/project
```
**Output format:** `file:line:type:exported:name:class:signature:decorators`
- `type`: `f`=function, `m`=method, `a`=arrow, `c`=constructor, `g`=getter, `s`=setter
- `exported`: `y`=public, `n`=private
**Example:**
```plain
main.js:15:f:y:processData::(data:string[])=>Promise<Object>:
api.ts:45:m:y:fetch:APIClient:async (url:string)=>Response:
```
## Use Cases for AST Tools
These tools provide accurate function-level analysis for:
- **Complexity analysis**: Count functions per file, analyze parameter complexity
- **Test coverage**: Identify which specific functions lack tests
- **Duplicate detection**: Find similar function signatures across the codebase
- **API surface analysis**: List all public vs private functions
- **Documentation gaps**: Cross-reference with doc comments
Combine with `health.py` for comprehensive codebase health analysis.
## Requirements
Required: `python3`
Optional (for better results): `rg` (ripgrep), `fd`, `git`, `go` (for Go projects), `staticcheck`, `node` (for JS/TS projects)
Missing tools are reported but don't block execution.
No comments yet. Be the first to comment!