Back to Discover

parallax-workflows

connector

bencharoenwong

Skills using Parallax MCP for Claude Code, etc.

View on GitHub
3 starsMITSynced Aug 2, 2026

Install to Claude Code

/plugin marketplace add bencharoenwong/parallax-workflows

README

Parallax Workflows

AI-powered equity research workflows for Parallax, built for Claude Code.

Who this is for:

  • Fund managers — morning briefs, scenario analysis, rebalancing decisions
  • Relationship managers (RMs) — client meeting prep, portfolio reviews with talk tracks
  • Research analysts — due diligence, peer comparison, earnings forensics
  • Wealth advisors — portfolio health checks, plain-language recommendations for clients
  • Individual investors — quick stock evaluations, thematic screening, watchlist monitoring
  • Engineering teams — embedding Parallax into internal research tools, B-CIO synthesis layers, white-label investment products. Workflows are reference implementations under MIT — fork them, modify the prompts, swap the inputs, ship in your own harness.

Run commands like /parallax-should-i-buy AAPL or /parallax-client-review [holdings] and get a structured research report. Each workflow orchestrates Parallax MCP tools in parallel — company data, factor scores, macro analysis, news — so you get comprehensive output from a single command.

Quick Start

If you have Parallax connected and want to try it now, three commands cover 80% of usage:

If you want to…Run
Be guided to the right workflowHi Parallax (or /parallax-concierge)
Evaluate a single stock/parallax-should-i-buy AAPL
Run a portfolio health check/parallax-portfolio-checkup [{"symbol":"AAPL.O","weight":0.4},{"symbol":"MSFT.O","weight":0.6}]
Pressure-test an investment thesis/parallax-stress-test-thesis "I like NVDA because AI capex keeps compounding and rate cuts extend the duration trade"

Everything below is the full catalog. The concierge is the recommended entry point for first-time users — it asks one clarifying question and routes you.

What's in this repo

The repo is open-source. Two layers:

  1. Framework (free, public, MIT): skill prompts, YAML schemas, validators, extraction logic, regression corpus. Includes the house-view ingestion framework — a schema + loader + extraction pipeline for codifying CIO investment views into structured tilts that any equity scoring engine can consume. Swap out the MCP layer and it works with any scoring provider.
  2. Parallax MCP (paid, required for the workflows to return data): the quantitative scoring engine — factor scores, peer comparisons, macro analysis, news synthesis. The framework above is the prompt/schema layer; Parallax is the data layer.

You can run the framework's validation, regression tests, and schema tooling without a Parallax subscription. To get actual portfolio output, you need Parallax connected.

Prerequisites

These workflows require an active Parallax subscription from Chicago Global Capital. API credentials and MCP connection details are provided to clients upon onboarding. If you are not yet a client, contact us at chicago.global to get started.

Setup

1. Connect the Parallax MCP server

Add the Parallax MCP server to Claude Code. Connection details are provided during client onboarding. The server should appear as claude_ai_Parallax in your MCP configuration.

2. Install the workflows

Option A — plugin (recommended). This repo hosts a Claude Code plugin marketplace with the general-release workflow set. Inside Claude Code:

/plugin marketplace add bencharoenwong/parallax-workflows
/plugin install parallax@parallax-workflows

Plugin skills are namespaced — invoke them as /parallax:parallax-should-i-buy. Updates arrive with /plugin marketplace update parallax-workflows.

Option B — full clone (development, or if you want every workflow including the house-view operator tools):

git clone https://github.com/bencharoenwong/parallax-workflows.git
cd parallax-workflows
./install.sh

This copies all workflows and shared conventions into ~/.claude/skills/. Restart Claude Code after installing.

To install a single workflow:

cp -r skills/parallax-should-i-buy ~/.claude/skills/parallax-should-i-buy
cp -r skills/_parallax ~/.claude/skills/_parallax

The _parallax directory contains shared conventions, token-cost reference, and the AI-profiles framework (required by the parallax-ai-* skills). Always copy it alongside any individual workflow.

3. Verify

/parallax-should-i-buy AAPL

(or /parallax:parallax-should-i-buy AAPL for the plugin install). If you see "tool not found" errors, the MCP server is not connected.

Claude web and mobile (claude.ai)

The claude.ai apps don't load plugins; they take one uploaded skill at a time. Build self-contained .skill zips (shared files vendored inside each zip, descriptions trimmed to the claude.ai limit):

python3 skills/_parallax/scripts/build_bundle.py web

The build ends with a leak-scan gate that expects a maintainer-local extra term list and fails closed without it; on a fresh clone, set PARALLAX_ALLOW_PARTIAL_SCAN=1 to build with the built-in scan terms only.

Then upload the zips from ~/Downloads/claude-web-skills/ in claude.ai → Settings → Capabilities → Skills. On Team/Enterprise plans an org admin can enable them workspace-wide instead of per-user. The Parallax MCP server must also be connected in claude.ai for the workflows to return data.

Forking and Customizing

Every workflow is a SKILL.md file — a structured prompt the model orchestrates. To customize:

# Develop against the repo directly. install.sh symlinks each skill, so edits
# in the repo propagate live without re-installing.
git clone https://github.com/bencharoenwong/parallax-workflows.git
cd parallax-workflows
./install.sh

# Fork a workflow
cp -r skills/parallax-should-i-buy skills/my-should-i-buy
$EDITOR skills/my-should-i-buy/SKILL.md   # change behavior, output format, MCP tool sequence
./install.sh                              # picks up the new skill on next Claude Code restart

A few common customizations:

  • Different output format. Edit the "Output Format" section of SKILL.md. The model follows it verbatim.
  • Different tool sequence. Add or remove mcp__claude_ai_Parallax__* calls in the workflow steps.
  • Different scoring backend. The schema and loader under skills/_parallax/house-view/ are scoring-engine-agnostic; the SKILL.md files are the layer that's coupled to Parallax MCP. Replace those calls with your own data source and the rest keeps working.
  • Different storage path. House-view artifacts default to ~/.parallax/active-house-view/. The path is referenced in SKILL.md and the Python helpers under _parallax/house-view/.

The Python modules (audit_chain, chain_emit, manifest_verify, gap_detect, gap_suggest) are pure functions with no MCP coupling — they import cleanly into any harness.

Audit & Compliance

For compliance, vendor risk, and information security reviews:

  • Documented methodology. Six-factor framework with academic foundations (Markowitz, Fama). Not a black-box ML model labeled as a factor model. See skills/_parallax/house-view/loader.md.
  • Hash-chained audit log. Every house-view save and every consume appends an entry to ~/.parallax/active-house-view/audit.jsonl with prev_entry_hash linking. Tampering with any entry breaks the chain on next verification.
  • Ed25519-signed reasoning chains. Every consume writes a structured reasoning chain to ~/.parallax/reasoning-chains/ capturing the inputs, the manifest reference, and the output. Designed for 7-year replay against pinned tool versions.
  • Regulator-grade export. /parallax-load-house-view --export <view_id> packages view + prose + provenance + full hash-chained audit trail into a tarball. Refuses to ship if the chain is broken.
  • Per-tilt provenance. Every non-neutral tilt carries a derivation record: prose-extraction (with source span), macro-regime rule (with rule reference and trigger), or manual edit (with prior value and edit notes). --why <tilt-path> reconstructs the answer.
  • Local-only by default. No telemetry. No external calls during ingest beyond the LLM the operator chose. Files are written with restrictive permissions.

Implementation lives in skills/_parallax/house-view/audit_chain.py, chain_emit.py, manifest_verify.py, manifest_cache.py, audit_export.py, gate_present.py (shared Step 3 confirmation gate for both writer skills), and provenance_classes.py (6-class registry enforcing the canonical provenance vocabulary). Test coverage is in the adjacent tests/ directory; the test signing key and fixtures are deliberately public so auditors can verify round-trip on a fresh clone.

Workflows

Concierge

CommandWhat it does
Hi Parallax or /parallax-conciergeFriendly concierge that opens a four-branch menu (Stock / Portfolio / Discovery / Investor profile), asks one clarifying question, then routes you to the right /parallax-* workflow. The magic front door for everyday users. Also triggers on "what can Parallax do" and similar exploratory phrasings.

Single Stock

CommandWhat it does
/parallax-should-i-buy AAPLQuick evaluation — two-lens read (Fundamentals + Technicals), scores, macro, dividends, news, outlook
/parallax-deep-dive AAPL.OFull analysis with technicals and AI assessment
/parallax-due-diligence AAPL.OAll financials, Palepu framework, Parallax research report
/parallax-earnings-quality AAPL.OAccruals, revenue quality, manipulation risk
/parallax-score-explainer AAPL.O "why is value low?"Plain-language methodology explanation
/parallax-peer-comparison AAPL.OFactor scores and price performance vs peers
/parallax-pair-finder NVDA.O long (or short, or long=X short=Y)Long/short pair construction — find the other leg from peers, or evaluate a pair you have, with full residual-exposure decomposition

Portfolio

All portfolio workflows take holdings as JSON: [{"symbol":"AAPL.O","weight":0.25}, ...]

CommandWhat it does
/parallax-portfolio-checkup [holdings]Health flags, scores, plain-language recommendations
/parallax-explain-portfolio [holdings] "down 4%"Attribution — regime vs factor vs stock-specific
/parallax-client-review [holdings]Full analysis, talk tracks, meeting prep
/parallax-morning-brief [holdings]Market regime, macro, portfolio health, news
/parallax-rebalance [holdings]Prioritized trades with health flags and score rationale
/parallax-scenario-analysis "event" portfolio=[holdings]Exposure assessment and rotation candidates

Desk

CommandWhat it does
/parallax-desk-call-listScan the deduplicated union of saved client books for overnight movers, rank affected clients by weighted book impact, and draft bounded RM talk tracks. Also accepts an inline client array; see skills/parallax-desk-call-list/references/desk-book-format.md.

House View — flagship complex workflow

Bring your own house view. The CIO memo, IC strategy doc, or macro-desk PDF that anchors your book becomes a first-class object every portfolio workflow auto-loads.

For users: load it once, every portfolio command picks it up. Skip to the table. For builders: this is the most involved skill in the repo — schema, validation, hash-chained audit log, Ed25519-signed reasoning chains, calibration manifest verifier, regulator-grade export. If you're studying how a complex /parallax-* skill is structured, start here. The implementation under skills/_parallax/house-view/ is authored by load-house-view but its loader.md and render_helpers.md are deliberately shared — the consuming portfolio and single-stock skills JIT-load them when surfacing view conflicts.

CommandWhat it does
/parallax-load-house-view <pdf or .md or url>Ingest, extract structured tilts, confirm with uploader, save as active view
/parallax-load-house-viewWizard mode for guided manual entry
/parallax-load-house-view --statusShow active view summary
/parallax-load-house-view --extend <date>Push valid_through forward
/parallax-load-house-view --re-pairRe-pair after manual prose edit
/parallax-load-house-view --why <tilt-path>Trace any tilt to the source span that generated it
/parallax-load-house-view --export <view_id>Export regulator-grade compliance bundle
/parallax-load-house-view --clearRemove active view
/parallax-make-house-viewSynthesize a draft view from Parallax MCP signals (no CIO PDF needed). Routes through the same confirmation gate; saves with generator_synthesis provenance
/parallax-make-house-view --shadow-diffSynthesize but do NOT save; render an additive diff vs the active bank view (preserves bank-view sovereignty)
/parallax-make-house-view --markets us,japan,ukRestrict synthesis fan-out scope
/parallax-make-house-view --compare <view_a> <view_b>Diff two saved view bundles cell-by-cell — tilts + excludes (e.g. UBS vs Goldman). No MCP, no synthesis, no save; neither view treated as authoritative
/parallax-judge-house-viewRead-only LLM-as-judge — compare saved view to current Parallax signals, classify drift severity, emit cited per-cell recommendations + bundle
/parallax-judge-house-view --jsonStructured output for cron consumption
/parallax-judge-house-view --drySkip the Phase 5 LLM recommendation step; return deterministic drift severity from MCP signals alone
/parallax-judge-house-view --mock-mcp <path>Replace live MCP fan-out with a canned JSON payload (CI / testing). Independent of --dry — combinable

Three design choices worth knowing about:

  1. Your LLM, your prompt. Extraction runs in your harness, against your model. Documents do not leave your machine.
  2. Local by default. The view lives at ~/.parallax/active-house-view/view.yaml, prose.md, provenance.yaml, audit.jsonl. Files are written 0600, the directory is 0700. We do not host it.
  3. Audit was a design input. Every save writes a hash-chained audit entry, an Ed25519-signed reasoning chain, and a per-tilt provenance record. --export produces a regulator-grade bundle. --why tilts.factors.momentum traces any tilt back to the source span (or rule, or manual edit) that generated it.

Active view is consumed by: parallax-portfolio-builder, parallax-rebalance, parallax-thematic-screen, parallax-morning-brief, parallax-client-review, parallax-explain-portfolio. Conflict-flag-only by: parallax-should-i-buy, parallax-deep-dive. See skills/parallax-load-house-view/samples/ for sample CIO views, skills/_parallax/house-view/loader.md for the multiplier mapping and conflict-resolution rules, and skills/_parallax/house-view/README.md for the module reference.

parallax-portfolio-builder, parallax-rebalance, and parallax-thematic-screen JIT-load skills/_parallax/house-view/auto-on-load-judge-pattern.md and auto-fire /parallax-judge-house-view --dry --json when the active view is older than 30 days; a one-line banner surfaces only on drift_material severity. parallax-morning-brief surfaces a conditional one-liner suggesting the judge when its existing Batch B alignment check detects ≥3 misaligned holdings. parallax-client-review and parallax-explain-portfolio deliberately skip the auto-on-load drift gate (compliance + retrospective-replay contexts respectively).

Market & Discovery

CommandWhat it does
/parallax-macro-outlook "United States"Regime, macro analysis, factor implications
/parallax-country-deep-dive JapanMacro environment and equity opportunities
/parallax-thematic-screen "AI infrastructure" (or "trade ideas around energy transition", optionally with --no-macro)Discover stocks by theme; optional macro + regime-signal overlay for trade ideas
/parallax-portfolio-builder "defensive dividend Asian equities"Build allocation from thesis
/parallax-watchlist-monitor AAPL.O MSFT.O NVDA.OFlag score changes across a list
/parallax-halal-screen AAPL.OShariah compliance check

Thesis & Argument

Pressure-test the reasoning behind a stated view — not a stock, not a portfolio. Decomposes an argument into falsifiable assumptions across five layers (macro, sector/theme, position, implicit market preconditions, holder preconditions), tests the market ones against current Parallax signals, and surfaces which assumptions the case depends on and where it breaks first. Maps argument risk; it never issues a buy/sell/hold or suitability call, never persists anything, and never lets a client's situation rewrite what is true about the world.

CommandWhat it does
/parallax-stress-test-thesis "…your argument…"Decompose into assumptions, stress-test against live signals, rate Assumption Strength (🔴/🟡/🟢) alongside a Bias & Conviction "hype meter", and surface the load-bearing vulnerabilities and where the thesis breaks first
/parallax-stress-test-thesis "…" client_profile={…}Adds a client-conditioning pass — re-weights each break condition's severity for a specific holder (horizon, income reliance, risk capacity): same thesis, different verdict by investor. Pass-1 statuses stay fixed

Read-only, not advice; the client-conditioned pass is a heuristic risk observation, not a suitability determination. See skills/parallax-stress-test-thesis/samples/ for the test-thesis corpus.

Parallax AI Investor Profiles

A family of standalone skills that apply famous investors' workflow shapes (not just rubric thresholds) to current Parallax data, each anchored in published academic or biographical sources. Output is third-person ("Buffett-style"), always cites the source, and uses only public information.

CommandWorkflowAnchor
/parallax-ai-buffett <ticker>Bottom-up single-stock; Quality + Value + Defensive factor profileFrazzini-Kabiller-Pedersen (2018), FAJ; reconciled for 21st-century intangibles via Lev-Srivastava (2022)
/parallax-ai-greenblatt [ticker]Magic Formula: ROC + earnings yield → top-decile basketGreenblatt (2006); Gray-Carlisle (2012)
/parallax-ai-klarman <ticker>Balance-sheet-first margin-of-safety checks (incl. "no position warranted; cash is valid")Klarman, Margin of Safety (1991)
/parallax-ai-soros [ticker]Top-down macro → regime themes → dual-channel ticker exposureSoros, Alchemy of Finance (1987); Drobny (2006)
/parallax-ai-ptj <ticker>Tri-channel confluence: technical setup + macro-regime alignment + volatility risk/rewardSchwager, Market Wizards (1989)
/parallax-ai-consensus <ticker or basket>Runs all 5 profiles in parallel; surfaces super-majority + factor-level agreementMeta-skill

Framing and legal posture:

  • All profiles framed in third person ("Buffett-style," never "Buffett says")
  • Each output cites its academic/book source and includes a mandatory non-advice disclaimer
  • AI-inferred from publicly available information only — no proprietary endpoints
  • Not financial advice, not personalized, not endorsed by any named investor
  • See skills/_parallax/AI-profiles/README.md for inclusion criteria, v2 candidates, and design rationale

Symbol Format

Symbols use Reuters Instrument Code (RIC) format. /parallax-should-i-buy auto-resolves plain tickers (AAPL); other workflows require RIC format (AAPL.O).

ExchangeSuffixExample
NASDAQ.OAAPL.O
NYSE.NJPM.N
Tokyo.T7203.T
Hong Kong.HK0700.HK
London.LSHEL.L
Singapore.SID05.SI

Full exchange table in skills/_parallax/parallax-conventions.md.

Token Costs

Each Parallax API call consumes tokens. Quick reference:

Workflow typeTypical tokensExample
Quick stock check2–29/parallax-should-i-buy ~29
Deep analysis31–46/parallax-due-diligence ~31
Portfolio (10 holdings)36–105/parallax-portfolio-checkup ~36

Full breakdown in skills/_parallax/token-costs.md.

What's Inside

skills/
├── _parallax/                  # Shared conventions, token costs, AI profile framework
│   ├── parallax-conventions.md # RIC resolution, parallel execution, fallbacks
│   ├── token-costs.md          # Per-tool and per-workflow token estimates
│   ├── render_gate.py          # Shared deterministic pre-render gate (+ test_render_gate.py)
│   ├── AI-profiles/            # Schema, output template, and profile specs for AI-* skills
│   └── scripts/                # Build/gate tooling: spec-validate, section-ref-lint, tracked-file scan, run-gate-tests
├── parallax-should-i-buy/               # Quick stock evaluation
│   └── SKILL.md
├── parallax-deep-dive/                  # Full single-stock analysis
│   └── SKILL.md
├── parallax-client-review/              # RIA client meeting prep
│   ├── SKILL.md
│   └── references/
│       └── recommendation-matrix.md
├── parallax-portfolio-checkup/          # Individual investor health check
│   ├── SKILL.md
│   └── references/
│       └── health-flags.md
├── parallax-desk-call-list/             # Desk-wide RM morning call list
│   ├── SKILL.md, desk_call_list_logic.py
│   └── references/
├── parallax-ai-buffett/                 # Buffett-style factor profile dispatcher
│   └── SKILL.md
├── parallax-ai-consensus/               # Multi-profile super-majority meta-skill
│   └── SKILL.md
├── parallax-load-house-view/            # Ingest CIO PDF → structured house view (writer)
│   └── SKILL.md
├── parallax-make-house-view/            # Synthesize draft house view from MCP signals (writer)
│   ├── SKILL.md
│   ├── maker.py, pillar_compose.py, pillar_formulas.py,
│   ├── cross_country.py, prose_synth.py, shadow_diff.py
│   └── tests/
├── parallax-judge-house-view/           # Read-only drift monitor + per-cell recommendations
│   ├── SKILL.md
│   ├── judge.py, drift_classify.py, recommendation.py,
│   ├── render_judge.py, cadence.py
│   └── tests/
└── ... (20+ more workflows)

Each SKILL.md is a self-contained instruction set. Claude reads it when you invoke the command, then orchestrates the Parallax MCP tools accordingly. Some workflows also invoke adjacent deterministic Python helpers for local validation, arithmetic, or rendering.

Where things live:

  • skills/<workflow>/SKILL.md — the user-invocable workflows
  • plugin/ and .claude-plugin/marketplace.json — the generated Claude Code plugin bundle (general-release set). Never hand-edit: edit the sources under skills/ and rerun python3 skills/_parallax/scripts/build_bundle.py plugin; a gate test fails when the tracked bundle drifts from the sources.
  • skills/_parallax/parallax-conventions.md, token-costs.md, AI-profiles/ — genuinely shared across many skills (RIC resolution, parallel-call patterns, AI profile framework)
  • skills/_parallax/house-view/ — house-view subsystem. Three skills participate: /parallax-load-house-view (writer, bank CIO ingestion — schema, audit chain, signed reasoning chains, calibration manifest verifier), /parallax-make-house-view (writer, MCP-driven synthesis — routes through the same gate, persists with generator_synthesis provenance), and /parallax-judge-house-view (read-only consumer, drift monitor — emits judge audit rows and a per-cell recommendation bundle). Also consumed by the portfolio and single-stock skills that surface view conflicts (parallax-portfolio-builder, parallax-rebalance, parallax-client-review, parallax-morning-brief, parallax-explain-portfolio, parallax-thematic-screen, parallax-country-deep-dive, parallax-macro-outlook, parallax-deep-dive, parallax-should-i-buy). loader.md, render_helpers.md, gate_present.py (shared Step 3 confirmation gate), provenance_classes.py (canonical 6-class registry), aggregator_weights.yaml (cross-country weighting for the maker), MCP_FIELD_INVENTORY.md (Phase A0 capability map), and auto-on-load-judge-pattern.md (consumer drift-gate protocol — auto-fires /parallax-judge-house-view --dry --json for parallax-portfolio-builder / parallax-rebalance / parallax-thematic-screen when the active view is older than 30 days) are the shared interface; gap_detect / gap_suggest are loaded by portfolio-builder --augment-silent only.
  • skills/_parallax/white-label/ — white-label branding subsystem. Authored by /parallax-white-label-onboard; consumed by 16 visual-rendering skills (Tier 1 + Tier 2). integration-pattern.md (§1–§9) is the shared consumer-side contract — header rendering, About This Report line, color substitution, logo placement, fallback behavior — JIT-loaded by every consumer via the <!-- white-label: integration-pattern.md --> sentinel. loader.load_visual_branding() is the visual-consumer entry point (7-key subset; voice-exclusion guardrail), paired with loader.is_white_label_active(branding) (single source of truth for the rendering flag, per integration-pattern.md §2/§4/§8) and loader.safe_source_reference(branding) (display-safe About This Report source ref, per §7). The drift gate at tests/test_integration_pattern_referenced.py enforces sentinel ↔ load-directive pairing.

Reference templates. The newer skills (parallax-credit-lens, parallax-load-house-view, parallax-white-label-onboard) carry typed dataclasses, comprehensive test suites, and explicit reference modules. If you're authoring or upgrading a skill, model on those.

Known Limitations

  • Publicly traded securities only — most workflows are equity-only; /parallax-desk-call-list also prices ETFs, but ETF score and news enrichment is unavailable
  • RIC format required for most workflows (except /parallax-should-i-buy)
  • build_stock_universe uses keyword matching — use sector-level queries ("US large cap consumer staples"), not abstract concepts ("pricing power in stagflation")
  • Peer groups are industry-based — mega-caps may be compared to smaller industry peers
  • check_macro_health costs 5 tokens — known issue, fix planned

License

MIT — see LICENSE.

Disclaimer

These workflows are analytical tools that automate data retrieval and presentation from the Parallax platform. They do not constitute financial advice, investment recommendations, or solicitations to buy or sell securities. All outputs are informational only and should be independently verified and reviewed by qualified professionals before any investment decisions. Example Capital Ltd. assumes no liability for decisions made based on these outputs.

Rendered live from bencharoenwong/parallax-workflows's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
parallaxParallax equity-research workflows: stock evaluation, portfolio analysis, screening, translation, and client-review skills powered by the Parallax MCP server../plugin

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.