> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pluxx.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Sumble Example

> Import Sumble's MCP, generate a workflow-grouped plugin, validate outputs for Claude Code, Cursor, Codex, and OpenCode, and review the current Codex hook activation caveat.

## Overview

This example shows how to scaffold a Pluxx plugin from Sumble's remote MCP, generate workflow-oriented skills and commands, and validate the resulting project across the core four targets:

* Claude Code
* Cursor
* Codex
* OpenCode

Repository example:

* [`example/sumble-plugin`](https://github.com/orchidautomation/pluxx/tree/main/example/sumble-plugin)

## Prerequisites

* a Sumble API key exposed as `SUMBLE_API_KEY`
* Node 18+
* Pluxx installed or available via `npx @orchid-labs/pluxx`

## Scaffold Command

```bash theme={null}
SUMBLE_API_KEY=... \
npx @orchid-labs/pluxx init \
  --from-mcp https://mcp.sumble.com \
  --yes \
  --name sumble-plugin \
  --display-name "Sumble" \
  --author "Orchid Labs" \
  --targets claude-code,cursor,codex,opencode \
  --grouping workflow \
  --hooks safe \
  --auth-env SUMBLE_API_KEY \
  --auth-type bearer
```

## Validation Commands

```bash theme={null}
npx @orchid-labs/pluxx doctor
npx @orchid-labs/pluxx lint
npx @orchid-labs/pluxx build
npx @orchid-labs/pluxx test --target claude-code cursor codex opencode
```

## Generated Source Project

The maintained source project committed in the repository looks like this:

```text theme={null}
example/sumble-plugin/
  pluxx.config.ts
  INSTRUCTIONS.md
  skills/
    account-research/SKILL.md
    contact-discovery/SKILL.md
    general-research/SKILL.md
    hiring-signals/SKILL.md
    log-out/SKILL.md
    table-operations/SKILL.md
    technographics/SKILL.md
  commands/
    account-research.md
    contact-discovery.md
    general-research.md
    hiring-signals.md
    log-out.md
    table-operations.md
    technographics.md
  scripts/
    check-env.sh
    confirm-mutation.sh
  .pluxx/
    mcp.json
    taxonomy.json
    agent/
      context.md
      plan.json
      instructions-prompt.md
      review-prompt.md
```

## Workflow Grouping

The import grouped Sumble's raw MCP tools into these workflows:

* `account-research`
* `contact-discovery`
* `hiring-signals`
* `technographics`
* `table-operations`
* `general-research`
* `log-out`

## Key Generated Files

### `pluxx.config.ts`

```ts theme={null}
export default definePlugin({
  name: "sumble-plugin",
  instructions: './INSTRUCTIONS.md',
  skills: './skills/',
  commands: "./commands/",
  scripts: "./scripts/",
  mcp: {
    "sumble": {
      url: "https://mcp.sumble.com/",
      auth: {
        type: "bearer",
        envVar: "SUMBLE_API_KEY"
      }
    },
  },
  targets: ["claude-code", "cursor", "codex", "opencode"],
})
```

### Generated `INSTRUCTIONS.md` Structure

```md theme={null}
# Sumble

Use Sumble for account intelligence, buyer discovery, technographic research, and hiring-based timing signals.

## Setup And Boundaries

- Claude Code and Cursor use platform-managed auth. Codex and OpenCode require `SUMBLE_API_KEY`.
- If access, credits, territory context, or your company positioning is unclear, start with `/account-research`.

## Route By Workflow

- `account-research`
- `technographics`
- `general-research`
- `contact-discovery`
- `hiring-signals`
- `table-operations`
- `log-out`
```

### Generated Skill Frontmatter

```md theme={null}
---
name: "account-research"
description: "Research companies, organizations, and account context before taking action."
---
```

## Observed Build Outputs

These outputs were generated during a real `pluxx build` run. They are intentionally not committed in the repository, but they were produced successfully:

```text theme={null}
dist/claude-code/.claude-plugin/plugin.json
dist/claude-code/.mcp.json
dist/claude-code/CLAUDE.md
dist/claude-code/commands/*
dist/claude-code/hooks/hooks.json

dist/cursor/.cursor-plugin/plugin.json
dist/cursor/AGENTS.md
dist/cursor/commands/*
dist/cursor/hooks/hooks.json
dist/cursor/mcp.json

dist/codex/.codex-plugin/plugin.json
dist/codex/.mcp.json
dist/codex/AGENTS.md

dist/opencode/index.ts
dist/opencode/package.json
dist/opencode/commands/*
```

## Validation Result

Observed result from the real run:

* `doctor`: `0 error(s), 1 warning(s), 2 info message(s)`
* `lint`: `0 error(s), 1 warning(s)`
* `build`: generated all four core bundles
* `test`: passed on Claude Code, Cursor, Codex, and OpenCode

## Current Caveats

### Install trust for generated hooks

`doctor` reports that local hook commands require explicit trust at install time:

```text theme={null}
WARNING hooks-trust-required [pluxx.config.ts] Hook commands require install trust
Fix: Review the commands carefully. Users will need to opt in with pluxx install --trust.
```

This is expected:

* Pluxx generated local shell hooks under `scripts/`
* users should explicitly opt in before those commands run

### Codex hooks are bundled but may still be feature-gated

`build` also reports the current Codex hook activation caveat when the source scaffold declares Codex hooks without the host feature flag:

```text theme={null}
WARN codex-hooks-external-config [Codex] pluxx.config.ts:
Pluxx now bundles Codex hooks at hooks/hooks.json, but Codex hook loading may
still require plugin_hooks = true under [features] in the host runtime.
The general hooks flag covers non-plugin hook config, and older docs or configs
may still refer to deprecated codex_hooks.
```

What this means:

* Claude Code, Cursor, and Codex all receive packaged hook output from this scaffold
* Codex plugin-bundled hooks require `[features].plugin_hooks = true`; `[features].hooks = true` is the general non-plugin hook flag
* the Codex plugin still built and tested successfully
* the caveat is about runtime activation, not hook packaging parity

## Next Steps

After scaffolding, the next typical commands are:

```bash theme={null}
npx @orchid-labs/pluxx install --target claude-code --trust
npx @orchid-labs/pluxx agent run taxonomy --runner codex
npx @orchid-labs/pluxx agent run instructions --runner codex
```

Related examples:

* [Firecrawl, Sumble, and PlayKit-style examples](/examples/firecrawl-sumble-playkit)
