What problem does it solve? Writing reusable Yakit plugins requires understanding how cli.* calls become parameter forms in the Yakit execution page and how mitm-type plugins register hooks for passive scanning, which differs from inline hot-patch code and is poorly documented. ## Core Features & Use Cases - cli Parameter Form Mapping: Complete reference of cli.String/Int/Bool/Urls/Ports/StringSlice/File/LineDict and options like setRequired, setDefault, setVerboseName, setCliGroup, and setSelectOption that Yakit renders as form controls. - Native Plugin vs Hot Patch: Clarifies when to ship a saved YakScript plugin with a parameter form versus writing inline MITM/Fuzzer hot-patch code. - Three Runnable Cases: yak plugin collecting cli input, mitm plugin passively scanning responses for phone numbers, ID cards, JWTs, and AKSK keys with risk.NewRisk, and an interactive mitm+cli plugin loading keyword dictionaries and scope from parameters. - Use Case: Build a mitm plugin that scans proxied traffic for sensitive data leaks using a user-supplied keyword dictionary, then verify it locally with yak <file> self-tests guarded by YAK_MAIN. ## Quick Start Ask the AI to write a Yakit mitm native plugin that uses cli.LineDict to load a keyword dictionary and reports matches via risk.NewRisk, with a YAK_MAIN self-test.