{"skill":{"slug":"evm-analyst","displayName":"evm-analyst","summary":"Analyze Polygon EVM fund-flow patterns from seed addresses, tx hashes, and Dune log outputs. Use fixed registered Dune queries only.","description":"---\nname: fund-flow-analyst\ndescription: Analyze Polygon EVM fund-flow patterns from seed addresses, tx hashes, and Dune log outputs. Use fixed registered Dune queries only.\nversion: 0.2.1-slim\n---\n\n# Fund Flow Analyst\n\nUse this skill when the user provides Polygon seed addresses, transaction hashes, decoded logs, raw `polygon.logs` rows, or Dune query results and asks for fund-flow reconstruction, pattern annotation, or accounting classification.\n\n## Hard rules\n\n1. Use only registered Dune queries in `references/dune_query_registry.md`. Do not invent query IDs or URLs.\n2. Do not fabricate amounts, addresses, relationships, labels, or transaction counts.\n3. Do not hard-exclude a transaction merely because it contains a known pattern. Exclude only when all material logs are explained.\n4. Same address appears once in `addresses`; pattern differences belong in `flow_edges` and `log_annotations`.\n5. `flow_edges` contains only transfer-class events, including mint/burn. Swap, Sync, Approval, and custom events stay in `log_annotations` unless they directly transfer value.\n6. One transaction may match multiple patterns.\n7. Separate `external_capital_inflow` from `protocol_token_recycle`.\n8. If data is insufficient, output `next_query_plan` instead of guessing.\n9. For topic0 decoding, use `references/topic0_dictionary.md` when available. Unknown topic0 should be marked `unknown_event_signature`.\n10. Preserve raw evidence: include sample tx hash, log index, contract address, topic0, token address, and decoded from/to/amount where available.\n\n## Required output\n\nKeep results concise and structured. Prefer these tables when relevant:\n\n- `addresses`: address, role_guess, evidence, confidence\n- `patterns`: pattern_id, pattern_name, description, confidence\n- `pattern_steps`: pattern_id, step_no, event_type, contract_address, topic0, meaning\n- `flow_edges`: tx_hash, log_index, from_address, to_address, token_contract, amount_raw, amount_normalized, edge_type\n- `log_annotations`: tx_hash, log_index, contract_address, topic0, decoded_signature, interpretation\n- `tx_classification`: tx_hash, classification, reason, unresolved_items\n- `accounting_summary`: bucket, token_contract, gross_in, gross_out, net, notes\n- `discovered_addresses`: address, first_seen_tx, reason_to_follow\n- `next_query_plan`: query_code, purpose, parameters_needed\n\nDo not output prose-only analysis.\n","tags":{"latest":"1.0.3"},"stats":{"comments":0,"downloads":452,"installsAllTime":17,"installsCurrent":0,"stars":0,"versions":4},"createdAt":1778196869451,"updatedAt":1778492876503},"latestVersion":{"version":"1.0.3","createdAt":1778285091568,"changelog":"Slimmed-down version removing documentation and example/reference files; output schema and workflow simplified.\n\n- Major reduction: 14 documentation, reference, and example files removed; 2 minimal metadata/config files added.\n- Skill description and version updated to reflect EVM analysis focus and slimmer output.\n- Workflow and hard rules condensed; vague or duplicative instructions removed.\n- Output schemas tightened: retain structured tables only, drop prose-only analysis and instructional content.\n- For insufficient data, direct users via `next_query_plan`; avoid speculative output.","license":"MIT-0"},"metadata":null,"owner":{"handle":"leon5876","userId":"s178z0gkjq5dbr6bjefv0h68p1868tw2","displayName":"Leon","image":"https://avatars.githubusercontent.com/u/98368028?v=4"},"moderation":null}