Operator Pass Onboarding — first-run setup
10 minutes of setup that connects this pack to the real JMC API, captures your usage preferences, and writes the config files all downstream sub-skills load.
Activation
Loaded automatically by operator-pass on missing brand-config.json
or SOUL.md.
Also user-invocable: "Set up Operator Pass", "Configure operator-pass API".
Workflow
Step 1 — API key check
First — do you have an Operator Pass subscription?
This pack calls api.jaymountconsulting.com — without a key, it
can't do anything. Subscribe at jaymountconsulting.com/operator-pass.
Every tool also has a free browser version at jaymountconsulting.com/tools.
Once you have a key, set it as an env var:
export OPERATOR_PASS_API_KEY="jmc_live_..."
Then come back and run onboarding.
If env var is missing, stop here with the subscribe link. Don't continue setup.
Step 2 — Validate the key
curl -s https://api.jaymountconsulting.com/v1/me \
-H "Authorization: Bearer $OPERATOR_PASS_API_KEY"
If 401/403, surface: "Key invalid or expired. Renew at jaymountconsulting.com/operator-pass." Stop.
If 200, parse { user_id, plan, rate_limit_remaining } and continue.
Step 3 — Fetch the live tool catalog
curl -s https://api.jaymountconsulting.com/v1/tools \
-H "Authorization: Bearer $OPERATOR_PASS_API_KEY"
Show the operator the catalog grouped by category:
# Operator Pass API tools — <N> available
## Outbound
cold-email-linter Per-email score + line-level rewrite
linkedin-post-critic Critique + 3 register-varied rewrites
...
## Foundation
evp-generator Schwartz-tier EVP variants
...
(<full live catalog>)
Step 4 — Preferred tools
Which tools will you call most often? (Mark all that apply — these
get priority in routing suggestions.)
The skill defaults the most-popular operator picks. Override as needed:
- cold_email_validation: cold-email-linter
- evp_generation: evp-generator
- competitive_research: competitive-teardown
- geo_audit: geo-visibility
- pricing_lab: pricing-page-lab
Save to brand-config.preferred_tools.
Step 5 — Won't-call list
Any tools you specifically don't want auto-invoked? (Common reasons:
expensive ones, long-running, schema you haven't locked.)
Save to SOUL.md.
Step 6 — Failure handling preferences
How should the skill handle failures?
429 (rate-limited): Retry once (default) / Retry twice / Surface immediately
402 (sub-expired): Surface + stop (always — non-overridable)
401 (key invalid): Surface + stop (always — non-overridable)
5xx (API error): Log + skip / Retry once / Surface immediately
Network timeout: Retry once / Skip
Save to brand-config.api + SOUL.md.
Step 7 — Quota awareness
Operator Pass tiers have monthly quotas. Want a warning when you're
running low?
Warn at: 20% remaining (default) / 10% / 30% / Never warn
Where to log usage:
Default: .operator-pass-cache/usage.jsonl (per-call timestamp + tool + result)
Save to brand-config.usage.
Step 8 — Cache settings
Tool catalog and schemas don't change often. Cache them to save quota.
Catalog TTL: 300s (default) / 60s / 3600s / no-cache
Schema TTL: 3600s (default) / 600s / 86400s / no-cache
Cache dir: .operator-pass-cache (default — gitignored)
Save to brand-config.cache.
Step 9 — Write files + smoke test
✓ brand-config.json — API config + preferred tools + cache + usage
✓ SOUL.md — won't-call list + failure handling preferences
Quick smoke test:
> /operator-pass list
Should return the live tool catalog (cached for 5min).
Step 10 — Refresh
Re-run onboarding if:
- Your API key rotates
- You upgrade / downgrade tier
- New tools ship to the catalog
Refresh: `/operator-pass onboarding refresh`