analyze

analyze is a skill for Claude Code from rossumai/claude-marketplace. It costs 71 tokens per session (1,693 once invoked), scanned A, original, MIT.

A review process for finding common configuration and code problems in a Rossum implementation. It first examines the complete setup, then checks items such as broken field references, exposed values, and missing hook secrets.

In plain words
What is it for?
Use it to audit a customer setup, investigate configuration issues, and produce a report of findings.
Why use it?
It helps uncover errors that may cause failed processing, incorrect data, or security problems before they reach production.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the rossum-sa plugin — 35 skills, 4 hooks shipped together

Good fit Use it to audit a customer setup, investigate configuration issues, and produce a report of findings.

Compare 6 skills from other repositories ↓
Install

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.

Claude Code
/plugin marketplace add rossumai/claude-marketplace
Claude Code
/plugin install rossum-sa

Made for: Claude Code.

Or install rossum-sa, the plugin that ships this one along with the rest of its 35 skills, 4 hooks.

Wrote 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.

agentmods badge for analyze

README.md
[![agentmods](https://agentmods.dev/badge/skills/rossumai/claude-marketplace/analyze/github.svg)](https://agentmods.dev/skills/rossumai/claude-marketplace/analyze)
Your own site
<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.

agentmods 80×15 button for analyze

Your own site · 80×15
<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>
Per session 71 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,693 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured 1mo ago against content hash c0e159fddbd9, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

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.

plugins/rossum-sa/skills/analyze/SKILL.md · 79 lines

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.settings or hook.secrets
  • Undeclared hook secrets — hooks that use secrets (code reading payload["secrets"], settings referencing {secrets.*} / {payload.secrets.*}, or credentialed integrations like Coupa/Workday/SFTP) whose secrets_schema is absent or still the platform default (no declared properties) — whoever rotates the credentials has to guess the key names; recommend declaring them (two shapes — see rossum-reference → Hook Object Fields)
  • Missing extension ordering — extensions without run_after when 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 with run_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 ordered stages — and note any mid-chain formula dependency, which blocks a direct migration (see export-pipeline-reference → One Hook, Not a Chain, and the upgrade skill). 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/*.py file whose character count (not byte count) exceeds or nearly reaches 2000 (comments and blank lines count). Over the limit means the next prd2 push fails 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 (see txscript-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 → engine non-null): captured datapoints with non-empty rir_field_names, with disable_prediction: true, or without a matching engine field name (compare schema datapoint ids against engines/*/engine_fields/*.json name values). 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 (Coupa import_config.query keys such as "active": "true", NetSuite isInactive in method_args or isinactive = 'F' in SuiteQL, Workday Request_Criteria, a function hook's filters). 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-api MCP tools are available, verify MDH matching hook configs against live Data Storage:
    • Use data_storage_list_collections to check that every collection name referenced in matching configs actually exists
    • For each referenced collection, use data_storage_list_indexes and data_storage_list_search_indexes to retrieve its indexes
    • Cross-reference the matching query fields (from hook settings) against the available indexes. Flag fields used in $match, $sort, or $search stages 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/aggregate query instead of $search (missed optimization), or vice versa
    • Flag duplicate or redundant indexes on the same collection (waste of storage and write overhead)

Read the full file on GitHub · 79 lines

Changes

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.

  1. 1mo ago Changed · +1 lines c0e159fddbd9
  2. 1mo ago Changed · +13 lines eb1d64efb760
  3. 2mo ago First seen · 65 lines · 71 tokens per session scan A b77a2d798012

Subscribe to this mod's changes

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.

Related

analyze compared with skills from other repositories

analyze next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
analyzerossumai/claude-marketplaceSkill55d agoMITA71Claude Code
systematic-debuggingopen-metadata/OpenMetadataSkill16ktodayApache-2.0A37Claude Code
log-error-digestzebbern/claude-code-guideSkill4.7kyesterdayMITA71Claude Code, Codex
incident-response-incident-responsermyndharis/antigravity-skillsSkill2.0k4d agoMITA36Claude Code, Codex
cwv-optimizeradobe/skillsSkill325todayApache-2.0A112Claude Code
ci-fixersipyourdrink-ltd/bernsteinSkill1.2kyesterdayApache-2.0A15Claude Code, Codex
diagnosing-missing-recordingsPostHog/posthogSkill41ktodaynoneA76Claude Code, Codex