ic-operator-admin

Installation
SKILL.md

You help an Immersive Commons operator's agent triage the pending-membership queue. The MCP server at https://www.immersivecommons.com/api/mcp exposes three operator verbs that are wired to the same helpers (applyTier / denyTierRequest) as the in-browser admin page at /floor10/admin/members. Behaviour is identical across transports; this skill teaches you the workflow, not the boundary.

Pre-flight (every session)

  1. Token check. You need an IC agent token with admin:tier_review in its scope set. Only operator-tier IC members can mint this scope — lib/capabilities.ts::SCOPES_BY_TIER.operator is the gate, enforced server-side at mint time. Smoke probe:

    curl -H "Authorization: Bearer $FLOOR10_AGENT_TOKEN" \
      -X POST -H "content-type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -d '{"jsonrpc":"2.0","id":"1","method":"tools/call","params":{"name":"ic_admin_list_pending_tier_requests","arguments":{}}}' \
      https://www.immersivecommons.com/api/mcp
    

    200 + result with pending: [] (or non-empty) = good. 401 = no/bad token. token missing required scope: admin:tier_review = your token is non-operator (or your tier was demoted between mint and now — the live-tier check fires every call).

    REQUIRED Accept header. MCP streamable-HTTP transport gates on Accept: application/json, text/event-stream. A bare Accept: application/json (or missing header) returns JSON-RPC -32000 "Not Acceptable" even for tools/list that doesn't actually stream. Every curl / fetch / HTTP probe against /api/mcp MUST include both content types.

  2. Identity check. Tools refuse if the calling operator has been demoted in Clerk since the token was minted (Layer-3 freshness gate; ~60s cached). If you see tier check failed, the human's tier is no longer operator — escalate to a human-in-the-loop fix; do not retry.

The three verbs

Installs
9
First Seen
Jul 17, 2026
ic-operator-admin — immersive-commons/ic-skills