Loading...
Loading...
OrchestKit health diagnostics for health diagnostics. Use when checking plugin health or troubleshooting issues.
npx skill4agent add yonatangross/orchestkit doctor/ork:doctornpm run build/ork:doctor # Standard health check
/ork:doctor -v # Verbose output
/ork:doctor --json # Machine-readable for CI| Flag | Description |
|---|---|
| Detailed output per check |
| JSON output for CI integration |
| Run only specific category |
# Detection logic:
# - Scans for .claude-plugin/plugin.json in plugin paths
# - Identifies orkl or ork
# - Counts skills/agents per installed pluginInstalled Plugins: 1
- orkl: 109 skills, 36 agents, 119 hook entriesInstalled Plugins: 1
- ork: 200 skills, 36 agents, 119 hook entries# Checks performed:
# - SKILL.md frontmatter (name, description, user-invocable)
# - context: fork field (required for CC 2.1.0+)
# - Token budget compliance (300-5000 tokens)
# - Internal link validation (references/ paths)
# - Related Skills references existSkills: 186/186 valid
- User-invocable: 24 commands
- Reference skills: 163Skills: 18/18 valid
- User-invocable: 0 commands
- Reference skills: 18# Checks performed:
# - Frontmatter fields (name, description, model, tools, skills)
# - Model validation (opus, sonnet, haiku only)
# - Skills references exist in src/skills/
# - Tools are valid CC toolsAgents: 35/35 valid
- Models: 12 sonnet, 15 haiku, 8 opus
- All skill references valid# Checks performed:
# - hooks.json schema valid
# - Bundle files exist (11 .mjs bundles)
# - Async hooks use fire-and-forget pattern (6 async)
# - Background hook metrics health (Issue #243)Hooks: 22/22 entries valid (11 bundles)
- PreToolUse: 8, PostToolUse: 3, PermissionRequest: 3
- Async hooks: 6 (fire-and-forget)
- Error Rate: 0.3%# Automated checks:
# - Tier 1 (Graph): .claude/memory/ exists, decisions.jsonl valid JSONL, queue depth
# - Tier 2 (Mem0): MEM0_API_KEY detection, mem0-queue.jsonl depth, last sync
# - Tier 3 (Fabric): Both tiers available, session registry
# Run these commands to gather memory health data:
wc -l .claude/memory/decisions.jsonl 2>/dev/null || echo "No decisions yet"
wc -l .claude/memory/graph-queue.jsonl 2>/dev/null || echo "No graph queue"
wc -l .claude/memory/mem0-queue.jsonl 2>/dev/null || echo "No mem0 queue"
ls -la .claude/memory/ 2>/dev/null || echo "Memory directory missing".claude/memory/decisions.jsonlMemory System: healthy
- Graph Memory: 42 decisions, 0 corrupt, queue depth 3
- Mem0 Cloud: available (API key detected), queue depth 0
- Memory Fabric: active (both tiers)# Checks performed:
# - plugins/ generated from src/
# - Manifest counts match actual files
# - No orphaned skills/agentsBuild System: in sync
- Skills: 186 src/ = 186 plugins/
- Agents: 35 src/ = 35 plugins/
- Last build: 2 minutes agoPermission Rules: 12/12 reachableSchemas: 15/15 compliantCoordination: healthy
- Active instances: 1
- Stale locks: 0Context Budget: 1850/2200 tokens (84%)Claude Code: 2.1.25 (OK)
- Minimum required: 2.1.16+===================================================================+
| OrchestKit Health Report |
+===================================================================+
| Version: 5.4.0 | CC: 2.1.25 | Plugins: ork + ork |
+===================================================================+
| Skills | 186/186 valid |
| Agents | 35/35 valid |
| Hooks | 22/22 entries (11 bundles) |
| Memory | 3/3 tiers healthy |
| Permissions | 12/12 reachable |
| Schemas | 15/15 compliant |
| Context | 1850/2200 tokens (84%) |
| Coordination | 0 stale locks |
| CC Version | 2.1.25 (OK) |
+===================================================================+
| Status: HEALTHY (9/9 checks passed) |
+===================================================================++===================================================================+
| OrchestKit Health Report |
+===================================================================+
| Version: 5.4.0 | CC: 2.1.25 | Plugins: 3 installed |
+===================================================================+
| Installed | ork, orkl, orkl |
| Skills | 38/38 valid (combined) |
| Agents | 2/2 valid |
| Hooks | 22/22 entries (via ork) |
| Memory | 1/3 tiers (graph only) |
+===================================================================+/ork:doctor --json{
"version": "5.4.0",
"claudeCode": "2.1.25",
"status": "healthy",
"plugins": {
"installed": ["ork", "ork"],
"count": 2
},
"checks": {
"skills": {"passed": true, "count": 186, "perPlugin": {"ork": 186}},
"agents": {"passed": true, "count": 35, "perPlugin": {"ork": 35}},
"hooks": {"passed": true, "entries": 22, "bundles": 11, "source": "ork"},
"memory": {"passed": true, "tiers": 3, "available": ["graph", "mem0", "fabric"]},
"permissions": {"passed": true, "count": 12},
"schemas": {"passed": true, "count": 15},
"context": {"passed": true, "usage": 0.84},
"coordination": {"passed": true, "staleLocks": 0},
"ccVersion": {"passed": true, "version": "2.1.25"}
},
"exitCode": 0
}| Code | Meaning |
|---|---|
| 0 | All checks pass |
| 1 | One or more checks failed |
| Status | Meaning | Action |
|---|---|---|
| All checks pass | Plugin healthy | None required |
| Skills warning | Invalid frontmatter | Run |
| Agents warning | Invalid frontmatter | Run |
| Hook error | Missing/broken hook | Check hooks.json and bundles |
| Memory warning | Tier unavailable | Check .claude/memory/ or MEM0_API_KEY |
| Build warning | Out of sync | Run |
| Permission warning | Unreachable rules | Review |
# Run skill structure tests
npm run test:skills
./tests/skills/structure/test-skill-md.sh# Rebuild plugins from source
npm run build# Check graph memory
ls -la .claude/memory/
# Check Mem0 (optional)
echo $MEM0_API_KEYconfigurequality-gatessecurity-scanning