Install
mkdir -p .claude/skills/mot && curl -L -o skill.zip "https://mcp.directory/api/skills/download/5910" && unzip -o skill.zip -d .claude/skills/mot && rm skill.zipInstalls to .claude/skills/mot
About this skill
MOT - System Health Check
Run comprehensive health checks on all Claude Code components.
Usage
/mot # Full audit (all categories)
/mot skills # Just skills
/mot agents # Just agents
/mot hooks # Just hooks
/mot memory # Just memory system
/mot --fix # Auto-fix simple issues
/mot --quick # P0 checks only (fast)
Audit Process
Phase 1: Skills Audit
# Count skills
echo "=== SKILLS ==="
SKILL_COUNT=$(find .claude/skills -name "SKILL.md" | wc -l | xargs)
echo "Found $SKILL_COUNT skill files"
# Check frontmatter parsing
FAIL=0
for skill in $(find .claude/skills -name "SKILL.md"); do
if ! head -1 "$skill" | grep -q "^---$"; then
echo "FAIL: No frontmatter: $skill"
FAIL=$((FAIL+1))
fi
done
echo "Frontmatter: $((SKILL_COUNT - FAIL)) pass, $FAIL fail"
# Check name matches directory
FAIL=0
for skill in $(find .claude/skills -name "SKILL.md"); do
dir=$(basename $(dirname "$skill"))
name=$(grep "^name:" "$skill" 2>/dev/null | head -1 | cut -d: -f2 | xargs)
if [ -n "$name" ] && [ "$dir" != "$name" ]; then
echo "FAIL: Name mismatch $dir vs $name"
FAIL=$((FAIL+1))
fi
done
echo "Name consistency: $((SKILL_COUNT - FAIL)) pass, $FAIL fail"
Phase 2: Agents Audit
echo "=== AGENTS ==="
AGENT_COUNT=$(ls .claude/agents/*.md 2>/dev/null | wc -l | xargs)
echo "Found $AGENT_COUNT agent files"
# Check required fields
FAIL=0
for agent in .claude/agents/*.md; do
[ -f "$agent" ] || continue
# Check name field exists
if ! grep -q "^name:" "$agent"; then
echo "FAIL: Missing name: $agent"
FAIL=$((FAIL+1))
continue
fi
# Check model is valid
model=$(grep "^model:" "$agent" | head -1 | cut -d: -f2 | xargs)
case "$model" in
opus|sonnet|haiku) ;;
*) echo "FAIL: Invalid model '$model': $agent"; FAIL=$((FAIL+1)) ;;
esac
done
echo "Agent validation: $((AGENT_COUNT - FAIL)) pass, $FAIL fail"
# Check for dangling references (agents that reference non-existent agents)
echo "Checking agent cross-references..."
for agent in .claude/agents/*.md; do
[ -f "$agent" ] || continue
# Find subagent_type references
refs=$(grep -oE 'subagent_type[=:]["'\'']*([a-z-]+)' "$agent" 2>/dev/null | sed 's/.*["'\'']//' | sed 's/["'\'']$//')
for ref in $refs; do
if [ ! -f ".claude/agents/$ref.md" ]; then
echo "WARN: $agent references non-existent agent: $ref"
fi
done
done
Phase 3: Hooks Audit
echo "=== HOOKS ==="
# Check TypeScript source count
TS_COUNT=$(ls .claude/hooks/src/*.ts 2>/dev/null | wc -l | xargs)
echo "Found $TS_COUNT TypeScript source files"
# Check bundles exist
BUNDLE_COUNT=$(ls .claude/hooks/dist/*.mjs 2>/dev/null | wc -l | xargs)
echo "Found $BUNDLE_COUNT built bundles"
# Check shell wrappers are executable
FAIL=0
for sh in .claude/hooks/*.sh; do
[ -f "$sh" ] || continue
if [ ! -x "$sh" ]; then
echo "FAIL: Not executable: $sh"
FAIL=$((FAIL+1))
fi
done
SH_COUNT=$(ls .claude/hooks/*.sh 2>/dev/null | wc -l | xargs)
echo "Shell wrappers: $((SH_COUNT - FAIL)) executable, $FAIL need chmod +x"
# Check hooks registered in settings.json exist
echo "Checking registered hooks..."
FAIL=0
# Extract hook commands from settings.json and verify files exist
grep -oE '"command":\s*"[^"]*\.sh"' .claude/settings.json 2>/dev/null | \
sed 's/.*"\([^"]*\.sh\)".*/\1/' | \
sed 's|\$CLAUDE_PROJECT_DIR|.claude|g' | \
sed "s|\$HOME|$HOME|g" | \
sort -u | while read hook; do
# Resolve to actual path
resolved=$(echo "$hook" | sed 's|^\./||')
if [ ! -f "$resolved" ] && [ ! -f "./$resolved" ]; then
echo "WARN: Registered hook not found: $hook"
fi
done
Phase 4: Memory Audit
echo "=== MEMORY SYSTEM ==="
# Check DATABASE_URL
if [ -z "$DATABASE_URL" ]; then
echo "FAIL: DATABASE_URL not set"
else
echo "PASS: DATABASE_URL is set"
# Test connection
if psql "$DATABASE_URL" -c "SELECT 1" > /dev/null 2>&1; then
echo "PASS: PostgreSQL reachable"
# Check pgvector
if psql "$DATABASE_URL" -c "SELECT extname FROM pg_extension WHERE extname='vector'" 2>/dev/null | grep -q vector; then
echo "PASS: pgvector extension installed"
else
echo "FAIL: pgvector extension not installed"
fi
# Check table exists
if psql "$DATABASE_URL" -c "\d archival_memory" > /dev/null 2>&1; then
echo "PASS: archival_memory table exists"
# Count learnings
COUNT=$(psql "$DATABASE_URL" -t -c "SELECT COUNT(*) FROM archival_memory" 2>/dev/null | xargs)
echo "INFO: $COUNT learnings stored"
else
echo "FAIL: archival_memory table missing"
fi
else
echo "FAIL: PostgreSQL not reachable"
fi
fi
# Check Python dependencies
echo "Checking Python dependencies..."
(cd opc && uv run python -c "import psycopg2; import pgvector; import sentence_transformers" 2>/dev/null) && \
echo "PASS: Python dependencies available" || \
echo "WARN: Some Python dependencies missing"
Phase 5: Cross-Reference Audit
echo "=== CROSS-REFERENCES ==="
# Check skills reference valid agents
echo "Checking skill → agent references..."
FAIL=0
for skill in $(find .claude/skills -name "SKILL.md"); do
refs=$(grep -oE 'subagent_type[=:]["'\'']*([a-z-]+)' "$skill" 2>/dev/null | sed 's/.*["'\'']//' | sed 's/["'\'']$//')
for ref in $refs; do
if [ -n "$ref" ] && [ ! -f ".claude/agents/$ref.md" ]; then
echo "FAIL: $skill references missing agent: $ref"
FAIL=$((FAIL+1))
fi
done
done
echo "Skill→Agent refs: $FAIL broken"
Auto-Fix (--fix flag)
If --fix is specified, automatically fix:
-
Make shell wrappers executable
chmod +x .claude/hooks/*.sh -
Rebuild hooks if TypeScript newer than bundles
cd .claude/hooks && npm run build -
Create missing cache directories
mkdir -p .claude/cache/agents/{scout,kraken,oracle,spark} mkdir -p .claude/cache/mot
Output Format
Write full report to .claude/cache/mot/report-{timestamp}.md:
# MOT Health Report
Generated: {timestamp}
## Summary
| Category | Pass | Fail | Warn |
|----------|------|------|------|
| Skills | 204 | 2 | 0 |
| Agents | 47 | 1 | 3 |
| Hooks | 58 | 2 | 1 |
| Memory | 4 | 0 | 1 |
| X-Refs | 0 | 0 | 2 |
## Issues Found
### P0 - Critical
- [FAIL] Hook build failed: tldr-context-inject.ts
### P1 - High
- [FAIL] Agent references missing: scot → scout (typo)
### P2 - Medium
- [WARN] 3 hooks need rebuild (dist older than src)
### P3 - Low
- [INFO] VOYAGE_API_KEY not set (using local BGE)
Exit Codes
0- All P0/P1 checks pass1- Any P0/P1 failure2- Only P2/P3 warnings
Quick Mode (--quick)
Only run P0 checks:
- Frontmatter parses
- Hooks build
- Shell wrappers executable
- PostgreSQL reachable
More by parcadei
View all skills by parcadei →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversExtend your developer tools with GitHub MCP Server for advanced automation, supporting GitHub Student and student packag
Optimize your codebase for AI with Repomix—transform, compress, and secure repos for easier analysis with modern AI tool
Explore official Google BigQuery MCP servers. Find resources and examples to build context-aware apps in Google's ecosys
Find official MCP servers for Google Maps. Explore resources to build, integrate, and extend apps with Google directions
Explore MCP servers for Google Compute Engine. Integrate model context protocol solutions to streamline GCE app developm
Explore Google Kubernetes Engine (GKE) MCP servers. Access resources and examples for context-aware app development in G
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.