workspace-health-monitor
by @jpengcheng523-netizen
Performs comprehensive workspace health checks including disk usage, file counts, skill health, large files, and empty directories with actionable recommenda...
clawhub install jpeng-workspace-health-monitorπ About This Skill
name: workspace-health-monitor description: Performs comprehensive workspace health checks including disk usage, file counts, skill health, large files, and empty directories with actionable recommendations. Use when checking workspace health, diagnosing issues, or performing maintenance.
Workspace Health Monitor
Performs comprehensive workspace health checks and generates actionable recommendations.
Usage
const monitor = require('./skills/workspace-health-monitor');// Perform health check
const report = monitor.check('/path/to/workspace');
// Generate markdown report
console.log(monitor.generateReport(report));
API
check(workspacePath, options)
Performs comprehensive workspace health check.
Options:
largeFileThresholdMB (number): Size threshold for large files. Default: 10includeEmptyDirs (boolean): Check for empty directories. Default: trueincludeLargeFiles (boolean): Check for large files. Default: trueReturns:
{
healthScore: number, // 0-100
status: 'healthy' | 'warning' | 'critical',
metrics: {
timestamp: string,
workspace: string,
diskUsage: {
totalSize: number,
totalSizeMB: number,
totalSizeFormatted: string
},
files: {
total: number,
directories: number
},
skills: {
total: number,
healthy: number,
broken: number,
missingIndex: string[],
missingSkillMd: string[],
missingPackage: string[]
},
largeFiles: [{ path, size, sizeFormatted }],
emptyDirs: string[],
fileTypes: { [extension]: count }
},
recommendations: [{
severity: 'high' | 'medium' | 'low' | 'info',
category: string,
message: string,
details?: string,
action: string
}]
}
checkSkillHealth(skillsDir)
Checks health of all skills in a directory.
findLargeFiles(workspacePath, thresholdMB)
Finds files larger than the threshold.
findEmptyDirectories(workspacePath)
Finds empty directories in the workspace.
generateReport(report)
Generates a markdown-formatted health report.
formatBytes(bytes)
Formats bytes to human-readable size.
Example Output
# Workspace Health ReportStatus: β
HEALTHY (Score: 92/100)
Timestamp: 2026-03-27T04:30:00.000Z
Disk Usage
Total Size: 256.78 MB
Files: 3,456
Directories: 234 Skills Health
Total Skills: 150
Healthy: 145
Broken: 5
Missing index.js: skill-a, skill-b, skill-c Large Files (>10MB)
logs/evolution.log (45.23 MB)
data/cache.json (23.45 MB)Recommendations
π΄ skills: 5 broken skill(s) found
- Missing index.js: skill-a, skill-b, skill-c
- Action: Fix or remove broken skills
π‘ storage: 2 large file(s) found (>10MB)
- logs/evolution.log (45.23 MB), data/cache.json (23.45 MB)
- Action: Consider archiving or removing large files
Health Score Calculation
The health score (0-100) is calculated based on:
Status Levels
π‘ Examples
const monitor = require('./skills/workspace-health-monitor');// Perform health check
const report = monitor.check('/path/to/workspace');
// Generate markdown report
console.log(monitor.generateReport(report));