Health check all GrepAI components — Docker services, Ollama, PostgreSQL, pgvector, config, index, MCP registration, and watch daemon.
Diagnoses the health of all GrepAI infrastructure components and reports their status.
npx claudepluginhub jugrajsingh/skillgardenThis skill is limited to using the following tools:
Diagnose all GrepAI components and report status with indicators.
Run each check sequentially. Collect results, then print a unified report.
Check by image ancestry rather than hardcoded container names:
docker ps --filter ancestor=ollama/ollama --format "{{.Names}}\t{{.Status}}\t{{.Ports}}"
docker ps --filter ancestor=qdrant/qdrant --format "{{.Names}}\t{{.Status}}\t{{.Ports}}"
docker ps --filter ancestor=postgres --format "{{.Names}}\t{{.Status}}\t{{.Ports}}"
Record: which services are running.
curl -s --max-time 5 http://localhost:11434/api/tags
Record: reachable? Parse response for available models.
From the /api/tags response, list models that are embedding models:
Record: which embedding models are pulled.
Check if a postgres container is running (from step 1). If so, get the container name and check:
docker exec {POSTGRES_CONTAINER} pg_isready -U grepai
Skip if config shows GOB or qdrant backend and no postgres container is running. Record: accepting connections?
docker exec {POSTGRES_CONTAINER} psql -U grepai -d grepai -tAc "SELECT extname FROM pg_extension WHERE extname='vector'"
Skip if config shows GOB or qdrant backend. Record: vector extension installed?
Check Qdrant REST API on port 6333 (not 6334, which is gRPC):
curl -s --max-time 5 http://localhost:6333/collections
Skip if config does not use qdrant backend and no qdrant container is running. Record: reachable? Collection count.
Read: .grepai/config.yaml
If missing, report not initialized. Otherwise extract and report:
grepai status
Record: indexed files, chunks, last updated.
claude mcp list
Or read ~/.claude/mcp.json and ./.claude/mcp.json. Record: grepai MCP server registered?
grepai watch --status
Record: running or not.
grepai workspace list
If workspaces exist, get details for each:
grepai workspace show {NAME}
Optionally also read ~/.grepai/workspace.yaml for additional detail.
Record: configured workspaces, backend type, project count per workspace. Skip if no workspaces configured.
grepai workspace status {NAME}
And check workspace watcher:
grepai watch --workspace {NAME} --status
Record: per-workspace indexing health and watcher state. Skip if no workspaces configured.
Print unified status report:
============================================================================
GrepAI Health Check
============================================================================
Infrastructure:
{S} Docker ollama: {STATUS}
{S} Ollama http://localhost:11434 — {STATUS}
{S} Models {MODEL_LIST} (or "none pulled")
{S} PostgreSQL {STATUS} (only if postgres backend, otherwise "skipped")
{S} pgvector {STATUS} (only if postgres backend, otherwise "skipped")
{S} Qdrant http://localhost:6333 — {STATUS} (only if qdrant backend, otherwise "skipped")
Configuration:
{S} Config .grepai/config.yaml — {PROVIDER}/{MODEL}
{S} Storage {BACKEND}
Index:
{S} Files indexed {COUNT}
{S} Chunks {COUNT}
{S} Last updated {TIMESTAMP}
Integration:
{S} MCP server {SCOPE} — {STATUS}
{S} Watch daemon {STATUS}
Workspaces: (only if workspaces configured)
{S} {WORKSPACE_1} backend: {TYPE}, {PROJECT_COUNT} projects — {STATUS}
Watcher: {RUNNING|STOPPED}
============================================================================
Where {S} is one of: OK for healthy, FAIL for failed/missing, WARN for degraded/warning.
After the report, if any component shows FAIL, print targeted fix suggestions:
| Component | Fix |
|---|---|
| Docker not running | docker compose up -d or start Docker Desktop |
| Ollama unreachable | Start ollama container then wait 5s |
| No embedding models | docker exec {OLLAMA_CONTAINER} ollama pull nomic-embed-text |
| PostgreSQL down | Start postgres container |
| pgvector missing | Extensions auto-install on first grepai index |
| No config | Run /grepai:init to initialize |
| No index | Run grepai index to build initial index |
| MCP not registered | claude mcp add grepai -- grepai mcp-serve |
| Watch not running | grepai watch --background |
| Qdrant unreachable | Start qdrant container then wait 5s |
| Workspace watcher stopped | grepai watch --workspace {NAME} --background |
| Workspace issues | Run /grepai:workspace:status {NAME} for details |
Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.