jthorare

prismStatus

"Health check for prism-mcp. Reports dashboard reachability, MCP server connection, knowledge base population, and version."

jthorare 1 3 Updated 2w ago
GitHub

Install

npx skillscat add jthorare/agentic-workflow/prismstatus

Install via the SkillsCat registry.

SKILL.md

Prism Status — Verify Mind Palace Health

Quick health check for the prism-mcp Mind Palace.

Before anything else: read $HOME/.agentic-workflow/toolkit/skills/_preamble.md and follow it (skill index, provider capability map, bootstrap check, session context). Run its Session Close section when this skill finishes.

Preamble exemption: If the preamble's prism-mcp calls failed, continue anyway — diagnosing that failure is this skill's purpose; Session Close ledger/handoff are exempt for this skill.

Overview

Probes the prism-mcp dashboard HTTP endpoint, the MCP server connection, and the per-repo knowledge base. Returns a single status report; writes no file. Useful at session start (matches the prism-context.sh SessionStart hook) and on demand.

Inputs

  • --port <port> (optional) — override PRISM_DASHBOARD_PORT. Default port comes from the env var, or 7180 if unset.

Steps

Assign PORT explicitly at the top of every bash block (shell state does not persist between blocks): --port arg if provided, else $PRISM_DASHBOARD_PORT, else 7180.

  1. Dashboard reachability:

    PORT="${PRISM_DASHBOARD_PORT:-7180}"   # replace with the --port value if one was given
    curl -fsS --max-time 3 -o /dev/null "http://localhost:$PORT/"

    Capture exit code and body. Report ✓ on 0, ✗ on non-zero.

  2. MCP tool surface:
    Call mcp: prism-mcp/session_health_check. Report ✓ on success, ✗ + error on failure.

  3. Knowledge base population for current repo:
    Resolve the repo slug via the shared helper:

    SHARED_DIR="$HOME/.agentic-workflow/toolkit/skills/_shared"
    source "$SHARED_DIR/repo-slug.sh"
    echo "repo-slug: $REPO_SLUG"

    Call mcp: prism-mcp/session_load_context with project=$REPO_SLUG and level="minimal". Report ✓ "KB has N entries" or ✗ "KB empty".

  4. Version — structured sources, in order of preference:

    1. The version field of the session_health_check response from check 2, if present.
    2. The dashboard /health JSON body:
      PORT="${PRISM_DASHBOARD_PORT:-7180}"   # replace with the --port value if one was given
      curl -fsS --max-time 3 "http://localhost:$PORT/health" | jq -r '.version // "unknown"'
    3. Fallback: the host CLI's MCP registration for prism-mcp, taking the first strict semver match ([0-9]+.[0-9]+.[0-9]+) — claude mcp get prism-mcp (Claude Code), codex mcp get prism-mcp (Codex), or the prism-mcp entry in ~/.cursor/mcp.json (Cursor):
      { command -v claude >/dev/null && claude mcp get prism-mcp 2>/dev/null; \
        command -v codex >/dev/null && codex mcp get prism-mcp 2>/dev/null; \
        jq -c '.mcpServers["prism-mcp"] // empty' "$HOME/.cursor/mcp.json" 2>/dev/null; } \
        | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1

    Report the version (e.g., "5.1.0"); "unknown" if all three fail.

  5. Summarize with a 4-line block — one line per check (dashboard, MCP surface, KB, version) — each prefixed ✓ or ✗ . If any check failed, add a fix suggestion line at the bottom (re-run setup.sh, check env, etc.).

Outputs

stdout only. No file written.

Next steps

  • /officeHours — if KB is empty, start populating it with a brainstorm
  • /bootstrap — if you've never run it on this repo, do so to seed planning docs