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.
npx agentmods add agents/wildcat-finance/skills/protocol-analyzergit clone --depth 1 https://github.com/wildcat-finance/skillsWrote 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/agents/wildcat-finance/skills/protocol-analyzer)<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>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 | $0.00000 | $0.01175 |
| Opus 5 | $0.00000 | $0.00588 |
| Sonnet 5 | $0.00000 | $0.00235 |
| Haiku 4.5 | $0.00000 | $0.00118 |
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.
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.
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 bycontracts.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.
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.
- 5d ago First seen · 79 lines · 0 tokens per session scan A 76c6e3c1b3ce
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.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
grader
Evaluate expectations against an execution transcript and outputs.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
agentic-workflows
GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing.