Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add rossumai/claude-marketplace/plugin install rossum-saWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/rossumai/claude-marketplace/analyze)<a href="https://agentmods.dev/skills/rossumai/claude-marketplace/analyze"><img src="https://agentmods.dev/badge/skills/rossumai/claude-marketplace/analyze/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/rossumai/claude-marketplace/analyze"><img src="https://agentmods.dev/badge/skills/rossumai/claude-marketplace/analyze.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.01693 |
| Opus 5.5 | $0.00028 | $0.00677 |
| Sonnet 5.5 | $0.00014 | $0.00339 |
| Haiku 4.5 | $0.00007 | $0.00169 |
Grade A, and why
analyze scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analyze Rossum Implementation
You are a Rossum.ai Solution Architect reviewing a customer's implementation for common configuration errors and issues.
Path or context: $ARGUMENTS
Start with the shape
Run ${CLAUDE_PLUGIN_ROOT}/recipes/tools/recipe_match.py --env <pulled-env> before the checks below. It
reports which recipe this implementation follows and where it deviates — a class of finding the
individual checks cannot produce, because nothing else knows what the shape was supposed to be:
a matching stage that runs after validation, a missing export guard, a core master-data role that is
never imported.
Two rules when reading it: a finding is actionable, informational usually is not (a recipe's role
list is the union across its cluster, so any one tree lacks several). And profile_missing is a real answer — the spine still applies, but no profile
describes this target yet. Writing one (payload, auth, master-data roles, coding model) is a
single file, not a new recipe.
Phase 1: Discover Everything
Follow the full discovery process in skills/__shared/discovery-checklist.md — use the provided path (or current directory if none given) and read every component listed there before continuing.
Do NOT produce output during this phase. Read everything first.
Phase 2: Check for Common Issues and Produce the Report
With the full picture from Phase 1, check for these issues:
- Broken schema references — fields referenced by extensions, formulas, or rules that don't exist in the schema (orphaned references, typos in field IDs)
- Hardcoded values in extensions — URLs, IDs, or credentials embedded in hook code that should be in
hook.settingsorhook.secrets - Undeclared hook secrets — hooks that use secrets (code reading
payload["secrets"], settings referencing{secrets.*}/{payload.secrets.*}, or credentialed integrations like Coupa/Workday/SFTP) whosesecrets_schemais absent or still the platform default (no declaredproperties) — whoever rotates the credentials has to guess the key names; recommend declaring them (two shapes — seerossum-reference→ Hook Object Fields) - Missing extension ordering — extensions without
run_afterwhen execution order matters (e.g., data enrichment must run before validation) - Numbered export webhook chain — three or more webhook hooks on the export event whose names start with an ordinal (
1.,3.,5.…) and are wired withrun_after, typically with a paired "extract response" hook after each call. This works but keeps execution order in a naming convention, so inserting or renumbering a hook silently reorders the export. Report it as a modernization opportunity — one Request Processor hook expresses the same flow as orderedstages— and note any mid-chain formula dependency, which blocks a direct migration (seeexport-pipeline-reference→ One Hook, Not a Chain, and theupgradeskill). Not a defect: do not report a working chain as broken - Deprecated extensions — Copy & Paste or Find & Replace extensions that no longer work correctly
- Formula field mismatches — formula files that reference schema fields not present in the queue's schema
- Formulas at the length limit — any
formulas/*.pyfile whose character count (not byte count) exceeds or nearly reaches 2000 (comments and blank lines count). Over the limit means the nextprd2 pushfails with an HTTP 400 that names the schema but not the field; within ~200 characters of it means the next inline comment will break it. Report the count per offending file (seetxscript-reference→ Formula constraints) - Broken rule references — rules referencing field IDs that don't exist in the schema
- Contradictory rules — rules where one requires what another forbids
- Environment drift — configuration differences between dev/test/prod environments that look unintentional (not just ID differences)
- Plain-text secrets — credentials, API keys, or secrets committed in plain text
- Engine-binding inconsistencies — for each engine-bound queue (
queue.json→enginenon-null): captured datapoints with non-emptyrir_field_names, withdisable_prediction: true, or without a matching engine field name (compare schema datapoint ids againstengines/*/engine_fields/*.jsonnamevalues). The live API rejects these states, so any hit means a stale local tree or a change that will fail on the next push. - Status filter on an incremental import — an import hook whose request carries both an incremental placeholder (
${last_modified_date},{last_modified_date},${window_start}) and a criterion on a field a record can change out of — active/inactive, status, blocked (Coupaimport_config.querykeys such as"active": "true", NetSuiteisInactiveinmethod_argsorisinactive = 'F'in SuiteQL, WorkdayRequest_Criteria, a function hook'sfilters). A record that changes out of the filter is never fetched again and stays in the dataset with its old status, so matching keeps offering it. Report it with the matching configs that read the dataset and whether each one filters the status itself. Not a finding when the field cannot change for a record, or the entry fully replaces the dataset. Detection and repair are in the connector pack (coupa-baseline-reference→ Status filters on incremental imports,netsuite-reference→ Incremental imports and status filters,workday-reference→ Differential sync placeholders) - Data Storage mismatches — if the
rossum-apiMCP tools are available, verify MDH matching hook configs against live Data Storage:- Use
data_storage_list_collectionsto check that every collection name referenced in matching configs actually exists - For each referenced collection, use
data_storage_list_indexesanddata_storage_list_search_indexesto retrieve its indexes - Cross-reference the matching query fields (from hook settings) against the available indexes. Flag fields used in
$match,$sort, or$searchstages that have no supporting index — these cause full collection scans and degrade matching performance - Flag collections that have Atlas Search indexes but whose matching config uses a plain
find/aggregatequery instead of$search(missed optimization), or vice versa - Flag duplicate or redundant indexes on the same collection (waste of storage and write overhead)
- Use
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed · +1 lines c0e159fddbd9
- 1mo ago Changed · +13 lines eb1d64efb760
- 2mo ago First seen · 65 lines · 71 tokens per session scan A b77a2d798012
analyze is a skill published in the GitHub repository rossumai/claude-marketplace (5 stars, last pushed 5d ago), licensed MIT. It adds 71 tokens to every session and 1,693 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
analyze compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| analyzerossumai/claude-marketplace | Skill | 5 | 5d ago | MIT | A | 71 | Claude Code |
| systematic-debuggingopen-metadata/OpenMetadata | Skill | 16k | today | Apache-2.0 | A | 37 | Claude Code |
| log-error-digestzebbern/claude-code-guide | Skill | 4.7k | yesterday | MIT | A | 71 | Claude Code, Codex |
| incident-response-incident-responsermyndharis/antigravity-skills | Skill | 2.0k | 4d ago | MIT | A | 36 | Claude Code, Codex |
| cwv-optimizeradobe/skills | Skill | 325 | today | Apache-2.0 | A | 112 | Claude Code |
| ci-fixersipyourdrink-ltd/bernstein | Skill | 1.2k | yesterday | Apache-2.0 | A | 15 | Claude Code, Codex |
| diagnosing-missing-recordingsPostHog/posthog | Skill | 41k | today | none | A | 76 | Claude Code, Codex |