π§° Rossum toolkit for Claude Code
Turn Claude into a Rossum implementation partner β audit hooks, analyze schemas, query Data Storage, upgrade extensions, and generate SOWs, all from your terminal.
16 skills Β· 13 reference packs Β· 69 MCP tools β Claude Code plugin marketplace for Rossum.ai.
<!-- TODO: add a terminal demo GIF here (e.g. invoice extraction or hook audit) -->
π Quick start
You need the Claude Code CLI and a Rossum account.
/plugin marketplace add rossumai/claude-marketplace
/plugin install rossum-sa@rossumai-claude-marketplace
> Note: Auto-updates are off by default for third-party marketplaces. Enable them in /plugin β Marketplaces tab.
Optional: For a better experience when developing and implementing projects, install the superpowers plugin β it adds structured planning, TDD workflows, and code review skills that pair well with rossum-sa:
/plugin install superpowers@claude-plugins-official
π§ Two ways in
- Explore a live org β connect to a running Rossum environment and ask questions about it. Anyone with a Rossum login can do this; it's the lowest-barrier way to start.
- Work on an implementation β pull a project to a local checkout with
prd2and use the skills to audit, document, upgrade, and build. The day-to-day SA loop.
π Explore a live org
Connect to Rossum and map out the entire org β workspaces, queues, hooks,
schemas β and draw an ASCII architecture diagram. Add emoji health
indicators next to each component (π’ healthy, π‘ warning, π΄ broken).
Claude prompts for your credentials when it connects, so nothing sensitive goes into the chat:
- Rossum staff / admins β paste a connection string (the
curlsnippet from the Rossum admin UI), or an API token. - Implementation partners β your Rossum username + password.
- Either way, give the base URL (
https://elis.rossum.ai, orhttps://<your-org>.rossum.app). No organization ID needed β the base URL identifies the org.
See What can you do with this? below for more live-org prompts.
π οΈ Work on an implementation
For real implementation work, pull a project to a local checkout with prd2, then let Claude work on the files:
prd2 pull <org-dir> # needs prd2 + admin-role credentials (Rossum staff: a service token)
/rossum-sa:init-claude-md # teach Claude this checkout is a Rossum project
/rossum-sa:analyze # find configuration errors
/rossum-sa:dead-code # prune unused hooks, formulas, and rules
/rossum-sa:document # generate a reference doc for the project
From here the full skill set applies β see Skills below. New to prd2? The autoloaded prd-reference knowledge covers install, config, and credentials β just ask Claude how to set it up.
β‘ Skills
rossum-sa
| Skill | Description | |-------|-------------| | /rossum-sa:write-sow | Generate a Statement of Work from project requirements | | /rossum-sa:analyze [path] | Check an implementation for configuration errors | | /rossum-sa:document [path] | Produce a queue-focused reference document | | /rossum-sa:implement | Plan and execute an integration project end-to-end | | /rossum-sa:refine-deployment [deploy-file] [impl-path] | Enhance prd2 deploy files with target IDs and attribute overrides | | /rossum-sa:upgrade [path] | Upgrade deprecated extensions to formula fields and bump old Python runtimes on function hooks to python3.12 | | /rossum-sa:iterate [annotation-id] | Tight inner loop on a deliverable β re-fire a hook/formula/rule against one annotation and check the result until the goal is met | | /rossum-sa:test-behavioral-equivalence [path] | Snapshot-replay-diff an implementation against a baseline env to verify a change preserved behavior | | /rossum-sa:dead-code [path] | Find unused hooks, formulas, rules, labels, and engines with a deterministic detector | | /rossum-sa:queue-engine-binding [mode] [queue-id] | Bind queues to custom extraction engines β convert from generic, create engine-bound queues, attach to an existing engine, or revert | | /rossum-sa:evaluate-namings [path] | Audit naming conventions across workspaces, queues, hooks, schema fields, and MDH datasets | | /rossum-sa:coding-best-practices [path] | Review serverless hook functions (custom Python extensions) for code quality, security, and correctness | | /rossum-sa:init-claude-md [path] | Generate a project-specific CLAUDE.md for a pulled prd2 project so future Claude Code sessions recognize it as a Rossum implementation | | /rossum-sa:coupa-bulk-replication [dataset] | Bulk-replicate Coupa master data into Data Storage when import-hook timeouts block standard sync β resumable, sync writes, automatic token refresh | | /rossum-sa:render-export-template [hook-id] [annotation-id] | Render a Custom Format Templating export hook against a real annotation to preview the exact file it outputs, then extract/edit/generate the Jinja2 template β legacy template export, not the Request Processor | | /rossum-sa:automation-report [queue-id-or-url] | Diagnose what blocks queue automation and produce an actionable report with threshold, schema, and rule recommendations |
π Autoloaded references
When rossum-sa is enabled, Claude automatically gets domain knowledge for:
- Rossum platform β queues, schemas, hooks, annotations, workflows
- MongoDB β query syntax, aggregation pipelines
- Master Data Hub (MDH) β matching, scoring, collections
- Data Storage API β CRUD, indexing, search
- TxScript & Serverless Functions β formula fields, extension development
- SAP Integration β connector setup, mapping
- Export Pipeline (Request Processor) β multi-stage API integration engine, SFTP export, auth, response handling
- Coupa Integration Baseline (CIB) β schema, MDH matching, export pipeline, business rules
- prd2 CLI β deployment and management commands
- Structured Formats Import (SFI) β XML/JSON import setup, XPath/JMESPath selectors, e-invoicing (ZUGFeRD, X-Rechnung)
- Approval workflows β read-only workflow/step/run/activity API + the
resetaction, step modes & conditions, approver assignees (a paid, Rossum-configured feature) - Business rules & validation β native Rules vs. the legacy Business Rules Validation extension, conditions, actions, automation blocking
- Email Body Converter β hosted webhook that turns email HTML bodies (and HTML/TXT attachments or uploads) into PDF documents for extraction β setup, full settings schema, regional availability, body-only email recipes
π‘ What can you do with this?
More read-only prompts to run against a connected org:
π΅οΈ Who's been busy? β Pull a year of audit logs and surface suspicious activity patterns.
Connect to Rossum, pull all audit logs for the last year, and print a histogram
of user activity. Highlight suspicious patterns.
π Find broken hooks β Audit your hook chains across all queues.
Connect to Rossum and list all hooks. Group them by queue and flag any that are inactive,
have no queues attached, or have a broken run_after chain.
π Spot missing indexes β Catch Data Storage performance problems before they bite.
Connect to Rossum and check all Data Storage collections. List their indexes and search
indexes, flag any missing __dynamic_index or duplicate/redundant indexes.
π― Tune fuzzy matching β Optimize MDH search scores with real data.
Connect to Rossum and find the $search query in the MDH matching extension. Verify and
calibrate the score thresholds against real data in the collection. Use at least 1000 samples.
π Detect schema drift β Find fields that diverged across queues.
Connect to Rossum and compare schemas across all active queues. List fields that exist in
one schema but not another.
π MCP tools (rossum-api)
The MCP server starts automatically when rossum-sa is enabled. Write and destructive tools require explicit user approval.
Connection
| Tool | Description | |------|-------------| | rossum_set_token | Authenticate with a Rossum environment (API token, username+password, or pasted curl connection string) | | rossum_whoami | Show authenticated user, organization, and role | | rossum_get | Read-only GET of any API resource without a dedicated tool (engines, labels, automation_blockers, β¦) |
Rossum API
| Tool | Description | |------|-------------| | rossum_list_workspaces | List workspaces | | rossum_get_workspace | Get full workspace details | | rossum_list_queues | List queues (filter by workspace, status) | | rossum_get_queue | Get full queue details | | rossum_get_automation_insights | Queue automation analytics: rates, blockers, per-field statistics (compact digest by default, full payload cached) | | rossum_get_automation_projections | Simulate automation at recalibrated confidence thresholds; degrades gracefully when the queue has too little reviewed data | | rossum_get_schema | Get queue schema (datapoints, sections, tables) | | rossum_patch_schema | βοΈ Update a schema (name, content, metadata) | | rossum_list_schemas | List all schemas | | rossum_list_hooks | List hooks/extensions (filter by queue, active) | | rossum_get_hook | Get full hook details including code and config | | rossum_create_hook | βοΈ Create a new hook (serverless function or webhook) | | rossum_delete_hook | β οΈ Delete a hook | | rossum_patch_hook | βοΈ Update an existing hook (code, events, active, queues) | | rossum_extract_export_template | Pull a Custom Format Templating export template out of a hook's export_configs into editable text | | rossum_generate_export_settings | Turn a local Jinja2 template into the export_configs settings block to push back | | rossum_generate_export_payload | Generate an annotation's export payload (feeds the local render preview) | | rossum_list_hook_logs | List hook execution logs (filter by hook, annotation, queue, status) | | rossum_test_hook | βοΈ Test a hook in isolation: auto-generate a payload (event/action) and execute it (dry-run; optional config override) | | rossum_list_rules | List business rules (filter by queue) | | rossum_get_rule | Get full rule details (trigger_condition, actions, queues) | | rossum_create_rule | βοΈ Create a new business rule (trigger_condition + actions) | | rossum_patch_rule | βοΈ Update an existing rule (trigger_condition, enabled, actions, queues) | | rossum_delete_rule | β οΈ Delete a business rule | | rossum_list_rule_execution_logs | List rule execution logs (filter by rule, queue, annotation, event, result, time) | | rossum_list_annotations | List annotations in a queue (filter by status) | | rossum_search_annotations | Search annotations across queues (filter by status, date range, workspace) | | rossum_search_annotations_advanced | Content/field-value + full-text search via POST /annotations/search (MongoDB-subset query + query_string); read-only despite being a POST | | rossum_get_annotation | Compact merged view: metadata + extracted fields + tables + resolved automation_blocker items + recent hook logs in one call. Caches raw payload to .rossum-cache/annotations/<id>.json. | | rossum_get_annotation_meta | Raw annotation metadata only (status, timestamps, URLs) β use when you want the unprojected resource | | rossum_get_annotation_content | Raw content tree (extracted data) β use when you need the unprojected nested structure | | rossum_patch_annotation | βοΈ Update annotation status or metadata (confirm, reject, export) | | rossum_start_annotation | βοΈ Start a review session (transitions to reviewing, locks to caller) | | rossum_cancel_annotation | βοΈ Cancel a review session (releases the lock) | | rossum_confirm_annotation | β οΈ Confirm an annotation (POST /confirm) β transitions to exported/exporting/confirmed and FIRES THE EXPORT | | rossum_validate_content | βοΈ Fire the hook chain via content/validate with specified actions | | rossum_refire_annotation | βοΈ Inner-loop re-fire primitive (mode=validate\|toggle\|reupload) with try/finally cancel, dedup auto-restore, and merged compact response | | rossum_update_annotation_content | βοΈ Write field values via bulk content-operations (replace/add/remove); self-managing startβopsβrelease | | rossum_get_document | Get document metadata (filename, MIME type) | | rossum_list_connectors | List export connectors (filter by queue) | | rossum_list_emails | List emails (filter by queue, type) | | rossum_get_email | Get full email details (subject, body, attachments) | | rossum_list_email_threads | List email threads (filter by queue) | | rossum_list_groups | List available user roles (groups) and their IDs | | rossum_list_users | List organization users | | rossum_create_user | βοΈ Create a new user in the organization | | rossum_list_audit_logs | Query audit logs (admin only) |
Data Storage
| Tool | Description | |------|-------------| | data_storage_healthz | Check API reachability | | data_storage_list_collections | List collections | | data_storage_find | Query documents with filter/projection/sort | | data_storage_aggregate | Run MongoDB aggregation pipelines | | data_storage_list_indexes | List collection indexes | | data_storage_list_search_indexes | List Atlas Search indexes | | data_storage_insert | βοΈ Insert one or more documents into a collection | | data_storage_update_one | βοΈ Update first document matching a filter | | data_storage_update_many | βοΈ Update all documents matching a filter | | data_storage_replace_one | βοΈ Replace first document matching a filter | | data_storage_delete_one | β οΈ Delete first document matching a filter | | data_storage_delete_many | β οΈ Delete all documents matching a filter | | data_storage_bulk_write | βοΈ Perform multiple write operations atomically | | data_storage_create_index | βοΈ Create a database index | | data_storage_create_search_index | βοΈ Create an Atlas Search index | | data_storage_drop_index | β οΈ Drop a database index | | data_storage_drop_collection | β οΈ Drop a collection and all its indexes | | data_storage_rename_collection | β οΈ Rename a collection | | data_storage_drop_search_index | β οΈ Drop an Atlas Search index |
βοΈ = write (requires approval) Β· β οΈ = destructive (requires approval)
π§ͺ Running from a local checkout (feature branch)
To test a feature branch before it's published to the marketplace, clone the repo and point Claude Code at the plugin directory with --plugin-dir.
git clone -b <feature-branch> https://github.com/rossumai/claude-marketplace.git rossum-claude-plugin
claude --plugin-dir rossum-claude-plugin/plugins/rossum-sa
π License
MIT Β© Rossum





