@meridiantoolkit/plugin
v0.1.0
Published
Meridian plugin umbrella — status command, live-action context, router skill, and MCP wiring for pi and Claude Code. Ties together @meridiantoolkit/mcp and @meridiantoolkit/skills.
Maintainers
Readme
@meridiantoolkit/plugin
Plugin for Meridian — user-facing helpers to use the platform through your API key (mrd_). Ships as both a pi package (extensions + skills + prompts) and a Claude Code plugin (commands + hooks + skills + the meridian MCP server wired in). Codex CLI has no plugin/extension system — Codex users get the same status/guard behavior implicitly through the meridian MCP server's tool descriptions and their own AGENTS.md (see meridian-mcp's README).
What's included
| Concept | pi | Claude Code | What it does |
|---|---|---|---|
| Status check | meridian-context extension → /meridian command, meridian_status tool | /meridian command (calls the meridian_status MCP tool) | API key setup + connectivity summary |
| Live-action safety | meridian-guard extension → interactive confirm before payment/request mutations | PreToolUse hook → dry-run calls auto-allowed, live calls get an additionalContext explainer and fall through to Claude Code's own permission prompt | Never silently fires a real payment or request mutation |
| Session notice | meridian-context → session_start notify | SessionStart hook | Flags a missing MERIDIAN_API_KEY at the start of a session |
| Router skill | skills/meridian | same file, works unmodified | Points at the right meridian-skills skill |
| Prompts | prompts/meridian-request.md | n/a (pi-only concept; use the skill/command instead) | Template for drafting a request |
Install
pi:
# Local (recommended while iterating)
pi install ./meridian-plugin
pi install ./meridian-skills # also install the detailed skills
# Or global via path
pi install /absolute/path/to/meridian-plugin
# After publish
pi install npm:@meridiantoolkit/plugin
pi install npm:@meridiantoolkit/skillsAdd to .pi/settings.json for project-local installs that the team shares:
{
"packages": ["./meridian-plugin"]
}Claude Code:
/plugin marketplace add meridian-silkdev/meridian-plugin
/plugin install meridian-plugin@meridian
/plugin install meridian-skills@meridianOr locally while iterating: claude plugin marketplace add /absolute/path/to/meridian-plugin, then claude plugin install meridian-plugin@meridian.
Extensions (pi only)
Loaded from extensions/ automatically when the package is installed via pi.
/meridian— check API key setup and show available skills.meridian_statustool — LLM-callable, no params, returns API connectivity and account summary.
Note: meridian_status also exists as a plain MCP tool on the meridian server (meridian-mcp's meridian_status), so it works in Claude Code/Codex too without any pi-specific code — the extension's copy is pi's own UI-integrated version (shows up as a native tool/command instead of routing through MCP).
Commands (Claude Code only)
/meridian— calls themeridian_statusMCP tool and reports which skill to load next.
Hooks (Claude Code only)
SessionStart— flags a missingMERIDIAN_API_KEY.PreToolUse(onverify_payment,create_service_request,update_request_status) — dry-run calls (no API key) are explicitly allowed with no prompt; live calls get an explanatoryadditionalContextnote and otherwise fall through to Claude Code's normal tool-permission prompt. Hooks can't open their own confirmation dialog — that's what the built-in permission system is for.
Skills
meridian— router: tells you which user-facing skill to load (api → services → requests → payments → meetings).
Load the focused skill directly: meridian-api, meridian-services, meridian-requests, meridian-payments, meridian-meetings (provided by meridian-skills). Invocation is /skill:meridian-api in pi, /meridian-api in Claude Code — see meridian-skills's README for the full table.
Prompts (pi only)
meridian-request— template for drafting a service request via API.
Development
No build step for the pi extensions (loaded via jiti, TypeScript directly) or the Claude Code hooks (plain Node scripts, run directly). Skills, commands, and prompts are Markdown.
# Exercise the hook scripts standalone (no host required):
node hooks/session-start.mjs
echo '{"tool_name":"mcp__meridian__verify_payment","tool_input":{}}' | node hooks/guard.mjs
# Validate the Claude Code plugin/marketplace manifests:
claude plugin validate .