npx claudepluginhub chadronbryant/napa-cowork-plugins --plugin jarvisThis skill uses the workspace's default tool permissions.
Set up and configure Jarvis infrastructure components.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Set up and configure Jarvis infrastructure components.
This skill requires local shell, Docker, and filesystem write access.
Jarvis/console/servicenow_data/mcp/napa-mcp/ (isolated venv).env.test / .env.dev / .env.prod (in mcp dir, gitignored — .env.example is template)Jarvis/console/backend/.envJarvis/console/backend/config/mcp_config.jsonJARVIS SETUP
─────────────────────────────────
[1] MCP Server Install or update ServiceNow MCP server
[2] Docker Set up or fix Docker environment for frontend
[3] Credentials Configure ServiceNow instance credentials
[4] AI Assist Configure Anthropic API key for NL interpreter
[5] Health Check Verify all infrastructure components
[6] Instance Pipeline Configure dev/test/prod instances
[7] Story Mode Validate router-first execution readiness
─────────────────────────────────
Install Path: servicenow_data/mcp/napa-mcp/ (isolated venv) | GitHub: chadronbryant/napa-mcp (private)
MCP servers are registered by instance name, NOT generic "servicenow":
| Environment | Instance | MCP Server Key | Tools | Lazy? | Purpose |
|---|---|---|---|---|---|
| Test | napaanesthesiatest | napaanesthesiatest | 388 | Yes | Reads / analysis (default) |
| Dev | napaanesthesiadev | napaanesthesiadev | 388 | Yes | Writes / builds |
| Prod | napaanesthesia | napaanesthesia | 388 | Yes | Read-only, OAuth svc_napa_mcp |
Lazy mode: only tool_search, tool_execute, list_tool_packages load at startup (not all 388 tools).
Register in ~/.claude.json (Claude Code). Config source of truth: Jarvis/console/backend/config/mcp_config.json.
The brain_reader.py health check looks for the instance-keyed name.
napaanesthesia (prod) requires manual add by Claude Code — AG cannot edit ~/.claude.json.
Hallucination guardrail: Never use napaanesthesia-dev variant — only officially configured URLs.
Prefer batch/aggregate tools over chained individual calls:
batch_request / snow_batch_request — collapse multi-record readsaggregate_query — replaces query + manual count in one callsnow_record_manage — unified CRUD, avoid switching specialized toolsnl_query_search — build encoded queries without iteration.env in Jarvis/console/backend/:
ANTHROPIC_API_KEY=sk-ant-api03-...
load_dotenv(override=False) at startup — container env vars win over baked values.GET /api/mcp/nl/status → {"available": true}~/.claude.json for instance key → venv exists → API connectivityconsole-backend-1 and console-frontend-1 containers runningcurl http://localhost:8000/api/health/api/mcp/nl/status → Anthropic API key configuredlast_data_pull vs todayPOST http://100.86.223.86:8000/api/inference (jarvis-brain, Tailscale)GET /api/mesh → all nodes healthyUse this before ServiceNow story execution in lite profile:
scripts/claude/story_mode.sh ready
Expected:
jarvis-router is up and exposes execute_tool.If router preflight fails:
scripts/claude/switch_mcp_profile.sh full
docker compose -f docker-compose.headless.yml after changespython3 not pythonbin/pythonnapaanesthesia) is read-only by default — confirm test validation before any writeplugin.json + marketplace.json → uninstall+reinstall → restart session