{
  "markdown": "# Retail Reason client distribution\n\nRetail Reason is a hosted expert service for people who operate on Walmart's\nsupplier and seller platforms: Walmart suppliers, Sam's Club suppliers, Marketplace sellers, and the consultants and\nagencies who serve them. It answers operational questions about metric definitions, screen paths,\nthresholds and dispute channels. It checks draft deliverables for pitfalls and returns an `as_of`\nverification date with each answer.\nA dated answer is not a promise that every change is detected immediately.\n\nThis repository contains only the **thin clients**: a plugin for Claude Code and Cowork, a Codex CLI\nconfig, and the public capability map. All expertise is delivered by the hosted service\nover an authenticated MCP connection; a user-bound access key (`wadv_live_...`) is required\nfor Claude Code and Codex. The current, maintained setup instructions for every supported\nclient live at <https://retailreason.com/docs/connect/>; this README mirrors them.\nKeys are bound to one named user and Retail Reason account. Do not share them. Each named\nuser may keep at most two keys active so rotation can overlap; every key expires within 180 days\nand can be revoked sooner by the user or an account owner/admin.\n\nRetail Reason is an independent product. It is not affiliated with, endorsed by, or a\nproduct of Walmart Inc.; \"Walmart\" and the platform names below are used only to describe\nwho the service is for and what it covers.\n\n## Install: Claude Code\n\n1. Add the marketplace:\n\n   ```\n   /plugin marketplace add https://github.com/RetailReason/retail-reason-plugins\n   ```\n\n2. Install the plugin:\n\n   ```\n   /plugin install retail-reason@retail-reason\n   ```\n\n   (`retail-reason` is both the plugin and the marketplace identifier. Installs made before\n   September 6, 2026 used `walmart-advisor@walmart-advisory`; remove that marketplace with\n   `/plugin marketplace remove walmart-advisory`, then add and install as above.)\n\n3. When prompted, enter a **Retail Reason access key** (`wadv_live_...`) created in your\n   Retail Reason account at <https://app.retailreason.com/app/access>. An eligible account with\n   active access is required; this repository cannot issue a key. The service address is\n   included in the plugin, so no server address needs to be entered.\n\n4. Restart Claude Code and ask any Walmart supplier/seller question to confirm it works.\n\n**If the key stops working after a restart:** the key is stored in your OS keychain and can\noccasionally drop. Re-enter it in the plugin's settings (`/plugin` → Retail Reason →\nconfigure). If it keeps happening, use the env-var fallback: set\n`export WADV_LICENSE_KEY=\"wadv_live_...\"` in your shell profile and edit the installed\nplugin's `.mcp.json` to read `\"Authorization\": \"Bearer ${WADV_LICENSE_KEY}\"`. Claude Code\nexpands environment variables in MCP headers.\n\n## Install: Claude Cowork\n\n1. In Claude, open **Customize → Plugins → Add → Add marketplace** and choose **Add from a repository**.\n   Select `RetailReason/retail-reason-plugins` or enter\n   `https://github.com/RetailReason/retail-reason-plugins`, then sync the marketplace.\n2. Add **Retail Reason** and open its **Connectors** tab. Choose **Connect** for `retail-reason`.\n   The server address is `https://mcp.retailreason.com/mcp`.\n3. Use **Sign in now** and **Use Claude's published identity**. Add the connector, then choose\n   **Connect** if sign-in has not opened. Sign in with the same identity that owns your active\n   Retail Reason membership.\n4. Start a new Cowork task and ask a supplier or seller question using Retail Reason. Confirm\n   that a Retail Reason tool returns the answer and its `as_of` verification date.\n\nCowork uses account sign-in. Do not enter a Claude Code access key as a request header or in chat.\nIf authorization fails, share the displayed support reference with matt@retailreason.com.\nThe plugin's **Skills** tab should list both `setup` and `walmart-advisor`.\n\n## Install: Codex CLI\n\nSee [`codex/README.md`](./codex/README.md): export `WADV_LICENSE_KEY`, paste\n[`codex/config-snippet.toml`](./codex/config-snippet.toml) into `~/.codex/config.toml`, and\noptionally install the [Codex thin skill plugin](./codex/plugins/retail-reason/).\n\n## Hosted and command-line clients\n\nSupported at launch: Claude hosted, Claude Code, and Codex CLI. Claude hosted connects through\nRetail Reason's WorkOS-backed OAuth flow from the account application;\nit does not use the CLI key above. Follow the in-account connection\ninstructions, and never paste a `wadv_live_...` key into Claude hosted.\n\nChatGPT is coming soon and is not supported at launch. It remains disabled, and no ChatGPT\nsubscription or admin setup is required for the supported launch paths. This\nrepository intentionally does not invent a ChatGPT connector URL or imply that path is live.\n\n## Key and workspace management\n\n- Create a separate key for each named user; never reuse an owner, advisor, or client-guest\n  key for another person.\n- A user may have two active keys at once for overlap during rotation. Create the replacement,\n  update Claude Code/Codex, verify it, then revoke the old key. Keys expire after at most 180\n  days even if they are not rotated manually.\n- Users can revoke their own keys. Account owners/admins can revoke any key in their account.\n  Revocation is the first response to a copied, exposed, or lost key.\n- Operator accounts normally have one workspace. Advisor users with more than one available\n  client workspace select the workspace for each conversation; the client passes its\n  `workspace_id` on every workspace-sensitive call, including `get_capabilities`, questions,\n  and pitfall checks. A client guest is limited to the one workspace assigned by the Advisor\n  Practice or Advisor Network account.\n\n## The capability map (`capabilities/capabilities.json`)\n\nThis file is the curated, public description of what the service covers. **No client reads it.**\nIt is ingested by the hosted service, and the `get_capabilities` tool renders the same four\nsubject domains for accounts with active access. A workspace's verified Scintilla tier changes which guidance\nis applicable to that workspace; it does not remove a commercial subject domain. The response is:\n\n- **Merged and retitled.** The file is keyed internally (`supplier_academy`,\n  `scintilla_basic`, `scintilla_charter`, `marketplace`, `supplier_one`); the answer is grouped\n  under four presented areas: **Walmart supplier fundamentals**, **Scintilla / Walmart data**,\n  **Walmart Marketplace**, **Supplier One**. The two Scintilla source sets merge into the one\n  Scintilla area, with topics and example questions concatenated and de-duplicated.\n\nEditing this file changes what users see only after the service re-ingests the corpus;\nreinstalling the plugin changes nothing. Keep entries outcome-shaped: the leak-guard below cannot\ncatch a topic list that mirrors internal structure.\n\n## Support\n\nSupport is by email at **matt@retailreason.com**, a monitored mailbox answered by the\noperator directly. (Startup Success Lab LLC is the entity behind Retail Reason.) Include your org name and roughly when the\nproblem happened; never include your access key.\n\n## Contributing / maintainers\n\nBefore committing, run these checks. All must pass:\n\n```bash\n./scripts/leak-check.sh\n./scripts/brand-check.sh\nnode scripts/claude-plugin-check.mjs\n```\n\nClean-clone CI validates every shipped JSON file and runs the branding and static leak\nguards once on every pull request. The byte-identical merge to `main` does not rerun those\nchecks. Because that public CI checkout cannot read\nthe private corpus repository, a release still requires a separately recorded successful\n`leak-check.sh --strict` run against the exact corpus source checkout.\n\n### `leak-check.sh`: what must never ship\n\nIt scans every file in this repo for strings that must never ship publicly. Wire it as a\npre-commit hook. The script resolves its real location through the symlink. Any non-zero exit\nblocks the commit, whether a leak was found or the check failed to run:\n\n```bash\nln -s ../../scripts/leak-check.sh .git/hooks/pre-commit\n```\n\nTwo modes:\n\n- **Default**: if the private corpus repo is not on the machine, the internal-name\n  denylist is skipped with a note and the static checks still run. This is the contributor\n  mode: most machines legitimately lack the corpus repo.\n- **`--strict`**: fails (exit 2) unless the denylist was actually built from the corpus\n  repo. Use this wherever the corpus checkout exists (Matt's machine, release checks):\n  `WADV_CORPUS_REPO=path/to/corpus-repo ./scripts/leak-check.sh --strict`. A sibling\n  directory with the expected layout is auto-detected when the env var is unset.\n\nThe guard matches literal strings only. It cannot catch structural leaks: prose whose\nshape mirrors the private skill taxonomy one-to-one. Trigger language in `SKILL.md` and\ntool descriptions must stay broad and outcome-shaped; that part is human review.\n\n### `brand-check.sh`: what the buyer is told this product is\n\nEvery file here is something a buyer reads. The rename to Retail Reason reached the server\n(`serverInfo.name`, `/healthz`) without ever reaching this repo, so for a while the install\npath advertised a product name the customer had never been billed for. `brand-check.sh`\nfails when the retired name reappears, when a buyer-facing surface stops naming Retail\nReason, when install copy describes the shipped production endpoint as a local-development\nplaceholder, or when a customer-facing placeholder is left unresolved.\n\nIt deliberately does **not** police machine identifiers. The marketplace and plugin id\n(`retail-reason`), the skill directory (`walmart-advisor`), the MCP server\nkey, the `wadv_live_` key prefix and `WADV_LICENSE_KEY` are wire values pinned by the\nbackend's `test/distribution.test.ts`; the MCP tool names (`ask_walmart`,\n`check_walmart_pitfalls`, …) are the protocol contract. Changing any of them is a\ncoordinated two-repo change that breaks existing installs. It must not happen as a side\neffect of a copy edit.\n\nNaming rule the check encodes: the product is **Retail Reason**, and Walmart is named only\nto describe who the service is for (\"for Walmart suppliers\"). Walmart must not be part of the\nproduct's own name in a heading or manifest display field.\n\n## Endpoint\n\nThe plugin ships with this MCP endpoint configured:\n\n    https://mcp.retailreason.com/mcp\n\nThe endpoint has its own host, separate from the account/billing API. Access still requires\nan eligible account with active access and a user-bound key for Claude Code and Codex.\nFollow the current connection guide above for your client and account.\n\nDevelopers using a separate local backend can edit the URL in their local Claude Code or Codex\nMCP configuration to `http://localhost:8787/mcp`. Use credentials issued for that environment.\n\n## License\n\nThe files in this repository are released under the [MIT License](./LICENSE). The hosted\nRetail Reason service, its knowledge corpus, and its answers are not part of this repository\nand are governed by the Retail Reason Terms at <https://retailreason.com/terms/>.\n",
  "bytes": 11156,
  "sha": "d8137cd5d879324fdc7db0c476416b4571d2688e334be910c35ea9789f422d13",
  "repo_slug": "retailreason/retail-reason-plugins",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_retailreason_intelligence_dabb6d31/readme"
}