# Operator Pass Call

> Invoke a specific JMC API tool by slug. Validates the API key, fetches the per-tool input schema, validates the user's inputs, makes the POST call, and pretty-prints the structured response. Loaded by the main operator-pass skill when the user knows which tool they want.

- **Type:** Skill
- **Install:** `agentstack add skill-jmc-go-to-market-claude-operator-pass-operator-pass-call`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [JMC-Go-to-market](https://agentstack.voostack.com/s/jmc-go-to-market)
- **Installs:** 0
- **Category:** [Communication](https://agentstack.voostack.com/c/communication)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [JMC-Go-to-market](https://github.com/JMC-Go-to-market)
- **Source:** https://github.com/JMC-Go-to-market/claude-operator-pass/tree/main/skills/operator-pass-call
- **Website:** https://jaymountconsulting.com/operator-pass

## Install

```sh
agentstack add skill-jmc-go-to-market-claude-operator-pass-operator-pass-call
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Operator Pass Call — sub-skill

Invokes a specific JMC API tool by slug.

## Activation

Loaded by `operator-pass` when intent is clear:
- "Run the cold-email-linter on "
- "Call evp-generator with "
- "Use the pipeline calculator"

## Workflow

### 1. Validate the API key

```bash
if [ -z "${OPERATOR_PASS_API_KEY:-}" ]; then
  echo "OPERATOR_PASS_API_KEY env var is not set."
  echo "Get a key at https://jaymountconsulting.com/operator-pass"
  exit 1
fi
```

Or via WebFetch validation:

```
GET https://api.jaymountconsulting.com/v1/me
Headers: Authorization: Bearer $OPERATOR_PASS_API_KEY
```

Expect 200 with `{ "user_id", "plan", "rate_limit_remaining" }`.
If 401/403, exit with the subscribe link.

### 2. Fetch the tool's input schema

```
GET https://api.jaymountconsulting.com/v1/tools//schema
```

Returns a JSON Schema describing required inputs. Parse it, compare
to what the user supplied, and ask for any missing required fields.

### 3. Validate inputs against the schema

Walk the schema's `required` array; ensure each is present in the
user's input. Validate types where the schema is strict.

If any required input is missing, ask:

> The `` tool needs `` (``, ``).
> What should I use?

### 4. Call the API

```bash
curl -sS -X POST "https://api.jaymountconsulting.com/v1/tools/" \
  -H "Authorization: Bearer $OPERATOR_PASS_API_KEY" \
  -H "Content-Type: application/json" \
  -d ''
```

### 5. Handle the response

| Status | Meaning | Action |
|---|---|---|
| 200 | Success | Pretty-print the JSON result + offer next step |
| 400 | Bad input | Surface the validation error + retry with corrected input |
| 401 | Invalid key | Tell user to renew via /operator-pass |
| 402 | Subscription expired | Tell user to renew |
| 429 | Rate-limited | Surface the retry-after header value |
| 5xx | API error | Surface the message; suggest retry |

### 6. Pretty-print + offer next step

Don't dump raw JSON unless asked. Convert to a human-readable summary:

```markdown
#  result

## Key findings

## Suggested next step
?">
```

## Common errors + their handling

| Error | User-facing message |
|---|---|
| Missing env var | "Set `OPERATOR_PASS_API_KEY`. Get a key at /operator-pass." |
| Key invalid (401) | "API key invalid or expired. Renew at /operator-pass." |
| Sub expired (402) | "Operator Pass subscription expired. Renew at /operator-pass." |
| Schema mismatch (400) | "Missing field `` — please provide." |
| Rate-limited (429) | "Rate-limited. Retry in  per the API." |
| Unknown slug (404) | "Tool `` doesn't exist. Run `/operator-pass list`." |

## Discipline

- **Never** invent tool results. If the API call fails, say so.
- **Never** call the API anonymously — always require a key.
- **Never** retry on 401/402 — those need user action.
- **Always** show the raw JSON if the user asks (`--raw` flag style).

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [JMC-Go-to-market](https://github.com/JMC-Go-to-market)
- **Source:** [JMC-Go-to-market/claude-operator-pass](https://github.com/JMC-Go-to-market/claude-operator-pass)
- **License:** MIT
- **Homepage:** https://jaymountconsulting.com/operator-pass

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-jmc-go-to-market-claude-operator-pass-operator-pass-call
- Seller: https://agentstack.voostack.com/s/jmc-go-to-market
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
