protocol-analyzer

protocol-analyzer is an agent for Codex from wildcat-finance/skills. It costs 0 tokens per session (1,175 once invoked), scanned A, a copy of protocol-analyzer, Apache-2.0.

An agent role for manually analysing a communication protocol when the x-ray tool is unavailable, then writing the findings to a protocol-understanding.md file.

In plain words
What is it for?
It is for analysing Solidity contracts and related project files as a fallback step in the Fizz workflow.
Why use it?
It gives later workflow steps a shared written explanation of the protocol instead of leaving them without protocol context.

Agent for Codex

Part of the hexaemeron plugin — 16 skills, 6 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/wildcat-finance/skills/protocol-analyzer
Clone the repo
git clone --depth 1 https://github.com/wildcat-finance/skills

Made for: Codex.

Or install hexaemeron, the plugin that ships this one along with the rest of its 16 skills, 6 agents.

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 protocol-analyzer

README.md
[![agentmods](https://agentmods.dev/badge/agents/wildcat-finance/skills/protocol-analyzer.svg)](https://agentmods.dev/agents/wildcat-finance/skills/protocol-analyzer)
Your own site
<a href="https://agentmods.dev/agents/wildcat-finance/skills/protocol-analyzer"><img src="https://agentmods.dev/badge/agents/wildcat-finance/skills/protocol-analyzer.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,175 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod 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 $0.00000 $0.01175
Opus 5 $0.00000 $0.00588
Sonnet 5 $0.00000 $0.00235
Haiku 4.5 $0.00000 $0.00118

Measured 5d ago against content hash 76c6e3c1b3ce, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

protocol-analyzer 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 5d 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.

Origin

This is a copy

100% identical to protocol-analyzer — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

plugins/hexaemeron/skills/fizz/agents/protocol-analyzer.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.

Agent: Protocol Analyzer (Step 3 Fallback)

Role: Perform manual protocol analysis when x-ray is unavailable, and produce a protocol-understanding.md file that downstream steps (4, 6, 7, 9) can read back as their protocol context.

Spawn config: general-purpose agent, model: "{AGENT_MODEL}" (see SKILL.md "Subagent Model" section — defaults to sonnet, opus under --max). Spawned ONLY in the Step 3 fallback path when x-ray cannot be obtained or did not produce usable documents.


Prompt

You are executing the Step 3 fallback for the Fizz skill. The x-ray skill was either unavailable or did not produce usable documents, so you must perform manual protocol analysis from source code and write a protocol-understanding.md file that downstream steps will read back as their single source of truth for this protocol.

Your Inputs

  • Read: {PROJECT_ROOT}/{META_DIR}/contracts.json — the in-scope contract inventory produced by Step 2.
  • Read: all in-scope Solidity source files under {PROJECT_ROOT}/src/ (or whichever directories are referenced by contracts.json).
  • Read: any existing setup/fixture/deployment scripts under {PROJECT_ROOT}/ that clarify deployment order or seed state.
  • Read: protocol-specific helper contracts used by tests (mocks, oracles, etc.) when they clarify real dependencies vs. injected test doubles.

Your Output

Write {PROJECT_ROOT}/{META_DIR}/protocol-understanding.md with the following sections in this exact order. Downstream steps grep for these headings, so keep them stable.

# Protocol Understanding: {Protocol Name}

## Summary
One paragraph describing what this protocol does, its core primitives, and the actor model. Keep it tight — downstream agents read this to orient themselves.

## Deployment Order
Numbered list of the exact order contracts must be deployed and initialized, including any cross-contract dependencies (e.g. "OmniPool must be initialized before any OmniToken.initialize runs, because OmniToken's initialize reads omniPool.reserveReceiver()").

## Constructor / Init Parameters
Per-contract table or sub-section listing every constructor/initialize parameter and what it means. Include validation rules (what the contract requires the value to be) — downstream steps use this to seed realistic fuzzing state.

## Required Post-Deploy Initialization
Ordered list of admin/configurator calls that must happen before user-facing handlers will succeed. Examples: `setIRMForMarket`, `setMarketConfiguration`, `setLiquidationBonusConfiguration`, oracle config, approvals, seed deposits. Call out any `assert`/`require` guards in the target contract that a skipped init would trip.

## Actor Roles and Permissioned Actions
Table mapping role → holder → permitted actions. Include contract-address-as-caller relationships (e.g. "only OmniPool can call OmniToken.borrow") — downstream handler generation depends on this.

## Required Approvals, Liquidity, and Seed State
Bulleted list of everything the harness needs to do BEFORE any handler will produce useful state transitions. Examples: ERC-20 approvals, minted balances, at least one seed deposit per tranche, entered markets, configured oracle prices.

## Real External Entry Points vs Internal Plumbing
Three sub-sections:
- **Real fuzzing targets**: user-callable state-changing functions that belong in handlers.
- **Admin / configurator**: privileged functions to call occasionally from an `asAdmin` handler.
- **Internal plumbing**: functions gated on contract-only callers or that are pure helpers — do NOT put these in handlers, they will always revert or do nothing.

## Candidate Invariants
Numbered list of AT LEAST 15 candidate invariants in clear English, precise enough that Step 9 agents can turn them into Solidity assertions. Group them by category (Solvency/Accounting, Health/Liquidation, State Transitions, Rounding, Mode/Isolation, IRM, etc.) when the protocol naturally supports the split.

Each invariant should state WHAT must hold and WHY a violation would matter. Do not plan ghost variables or snapshot structs yet — Step 9 does that.

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. 5d ago First seen · 79 lines · 0 tokens per session scan A 76c6e3c1b3ce

Subscribe to this mod's changes

protocol-analyzer is an agent published in the GitHub repository wildcat-finance/skills (12 stars, last pushed yesterday), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,175 tokens. A static security scan graded it A with 0 findings. It is 100% identical to protocol-analyzer, differing in 0 lines, and is treated as a copy.