Skip to content
Back to skills

Health

ASecurity

Workspace health diagnostics. Runs targeted checks against the knowledge base: orphaned content, stale signals, missing cross-references, index drift, duplicate detection, broken references, embedding coverage, and quality distribution. Color-coded severity output. Triggers on: "health", "diagnose", "check health", "knowledge base status"

  • 229 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added June 6, 2026
toolsgobashnode

Works with

  • terminal
  • cli

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add Miosa-osa/canopy --skill health --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Health?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Health
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/miosa-osa-health/badge)](https://www.skillsdirectory.com/skills/miosa-osa-health)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: health
description: >
  Workspace health diagnostics. Runs targeted checks against the knowledge base:
  orphaned content, stale signals, missing cross-references, index drift, duplicate
  detection, broken references, embedding coverage, and quality distribution.
  Color-coded severity output.
  Triggers on: "health", "diagnose", "check health", "knowledge base status"
---

# /health

> Workspace health diagnostics — find what's broken, stale, or missing.

## Purpose

Run diagnostic checks against the workspace knowledge base to identify structural problems before they compound. Unlike `/audit` (which is broad and multi-domain), `/health` is laser-focused on knowledge base integrity: are files properly linked, is content fresh, are indexes in sync, are there orphans or duplicates? Think of it as `fsck` for your knowledge base.

## Usage

```bash
# Full health check
/health

# Check specific diagnostic
/health --check orphans

# Check a specific node
/health --scope node:ai-masters

# Run only quick checks (skip expensive ones)
/health --quick

# Output as JSON (for CI integration)
/health --format json

# Show only errors and warnings
/health --severity warn
```

## Arguments

| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--check` | string[] | `all` | Specific checks: `orphans`, `stale`, `cross-refs`, `index-drift`, `duplicates`, `broken-refs`, `embeddings`, `quality`, `frontmatter`, `naming` |
| `--scope` | string | `all` | `all`, `node:<name>`, `recent` (last 7 days) |
| `--quick` | flag | false | Skip expensive checks (duplicates, embeddings, quality) |
| `--severity` | enum | `all` | Filter: `error`, `warn`, `info` |
| `--format` | enum | `terminal` | `terminal` (color-coded), `json`, `markdown` |
| `--fix` | flag | false | Auto-fix trivially fixable issues |
| `--output` | path | stdout | Write report to file |

## Workflow

1. **Collect** — Enumerate all files in scope. Load index state.
2. **Run checks** — Execute each diagnostic:

| Check | What It Detects | Severity |
|-------|----------------|----------|
| `orphans` | Files not referenced by any other file or index | warn |
| `stale` | Content not updated in >90 days with active topics | warn |
| `cross-refs` | Missing cross-references (e.g., financial data not in money-revenue) | error |
| `index-drift` | Files on disk that don't match the search index | error |
| `duplicates` | Files with >80% content overlap | warn |
| `broken-refs` | Internal links pointing to non-existent files or sections | error |
| `embeddings` | Files without vector embeddings (if embedding store exists) | info |
| `quality` | Files below quality threshold (short, no structure, no metadata) | warn |
| `frontmatter` | Missing or malformed YAML frontmatter | warn |
| `naming` | Files not following naming conventions | info |

3. **Score** — Calculate overall health score: (total checks - weighted failures) / total checks * 100.
4. **Render** — Color-coded terminal output: red for errors, yellow for warnings, blue for info, green for passing.

## Output

```
╔══════════════════════════════════════════════╗
║       WORKSPACE HEALTH — Score: 78/100       ║
╠══════════════════════════════════════════════╣

  ✗ ERRORS (3)
    ├── cross-refs: money-revenue missing ClinicIQ deal data (from 06-agency-accelerants)
    ├── index-drift: 4 new files not in search index (run /index to fix)
    └── broken-refs: 03-lunivate/context.md links to ../pricing.md (deleted)

  ⚠ WARNINGS (7)
    ├── orphans: 09-new-stuff/signals/ has 3 unrouted files
    ├── stale: 05-os-architect/context.md last updated 102 days ago
    ├── stale: 07-accelerants-community/signal.md last updated 94 days ago
    ├── duplicates: 2 signal files have 87% overlap (ed-pricing-*)
    ├── quality: 04-ai-masters/signals/draft.md has no structure (43 words, no headers)
    ├── frontmatter: 6 signal files missing required date field
    └── frontmatter: 2 context files missing required type field

  ℹ INFO (4)
    ├── embeddings: 12 files without vector embeddings
    ├── naming: 3 files use spaces instead of hyphens
    ├── naming: 1 file uses uppercase extension (.MD)
    └── 127 files passed all checks

  RECOMMENDATIONS
    1. Run `mix optimal.index` to fix index drift (3 min)
    2. Route 09-new-stuff orphans to proper nodes (10 min)
    3. Update stale context files: os-architect, accelerants-community (20 min)
    4. Merge duplicate ed-pricing signal files (5 min)
```

## Dependencies

- Knowledge base file system access
- Search index (for drift detection)
- YAML parser (for frontmatter checks)
- Content hashing (for duplicate detection)
- Vector store (for embedding coverage check, optional)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…