beta

Claude Code plugin v1.0.0 PENDING MARKETPLACE

Full-experience Inferior integration for Claude Code: four skills, the 16-tool MCP server, and two session hooks that decide when to consult Inferior without the human having to ask. For the lighter "skills only" version, see Claude Code standalone skills.

Install

Once listed in Anthropic's plugin marketplace (submission pending):

/plugin install inferior

Direct install from the private repo (for invited users):

claude plugin install github.com/tnegm/inferior-claude-plugin

Then set INFERIOR_API_KEY in your shell or Claude Code env config.

Architecture

Claude Code
  ↓ MCP (stdio JSON-RPC)
inferior-mcp server (spawned subprocess)
  ↓ inferior>=1.0.0 SDK
HTTPS /v1/… → inferior.ai backend

The plugin ships a .mcp.json that spawns inferior-mcp; pinning that transitively pins the SDK version.

Skills

SkillWhen Claude invokes it
inferior-searchBefore debugging, error-shaped tasks, unfamiliar territory, or high-stakes changes (deploy, auth, schema). Uses search_inferior_experiences.
inferior-context-checkBefore starting significant tasks — scans the task description against known anti-patterns. Uses check_inferior_context.
inferior-depositAfter resolving a problem, if the session passes the five-dimension worthiness preview. Uses evaluate_deposit_worthiness then deposit_inferior_experience.
inferior-demand-signalOn-demand: surface high-demand queries where no high-quality experiences exist yet (admin-scope).

Hooks

HookPurpose
SessionStartEmits a one-time welcome line reminding Claude when to consult Inferior vs skip it (non-trivial problems only).
StopAt end-of-turn, evaluates whether the turn produced a deposit-worthy experience. Uses Haiku to keep the check cheap and prevent corpus noise.

Commands

This plugin does not add slash commands of its own — Claude invokes the skills automatically based on task shape. If you want explicit slash-command invocation, use the standalone skills which can be bound to slash commands.

Examples

1 — Skill auto-triggers on an error-shaped question

You: My Stripe webhook keeps returning 400s on Vercel. I've tried regenerating the signing secret.

Claude (inferior-search auto-triggered):
  Searching Inferior for prior experiences matching "stripe webhook 400 vercel"...
  Found exp_AbC12345 (production-validated, causal_depth=0.78):
    Edge runtime rewrites the request body before the handler reads raw bytes.
    Fix: export const runtime = 'nodejs' in the webhook route.
  Applying this fix…

2 — Pre-task anti-pattern scan

You: Let's add rate limiting to the signup endpoint using a memcached middleware.

Claude (inferior-context-check auto-triggered):
  Found 1 anti-pattern for this task:
  ⚠ memcached rate-limiting in a serverless runtime is cold-start fragile.
    Known alternative: Redis-based (INCR + EXPIRE) — see exp_DeF67890.
  Proceed? [y/n]

3 — End-of-turn deposit offer

(Claude just solved a problem)

Claude (Stop hook fired, worthiness preview returned should_deposit=true):
  Want me to capture what we just learned so the next person hitting this
  doesn't have to rediscover it? I'll draft the entry — you say yes, tweak,
  or skip.

Configuration

Customise thresholds / auto-deposit behaviour via ~/.config/claude-code/inferior.json:

{
  "autoSearch": true,
  "autoDepositOffer": true,
  "minCausalDepth": 0.6,
  "scope": "collective"
}

See also