yakit-rightclick-plugin

Build Yakit codec right-click plugins with a single handle(input) function in Yaklang.

10|1|Updated Jun 16, 2026
One-click install
npx skills add https://github.com/yaklang/yak-skills --skill yakit-rightclick-plugin-yaklang
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: yakit-rightclick-plugin
Source: https://github.com/yaklang/yak-skills/tree/main/skills/yakit-rightclick-plugin
Command: npx skills add https://github.com/yaklang/yak-skills --skill yakit-rightclick-plugin-yaklang

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing small text-transformation and data-extraction utilities inside Yakit normally requires learning a full plugin framework; this Skill shows that a codec right-click plugin needs only one handle(input) function plus the correct tag to appear in every HTTP editor's context menu. ## Core Features & Use Cases - Codec plugin contract: Implement handle(input) to transform selected text (Base64, JWT decode, Unicode unescape, timestamp conversion) and surface results in the Codec result panel. - History right-click extraction: Handle the special contract where input is a flow id (single or comma-separated), reverse-query packets via db.QueryHTTPFlowsByID, and extract paths, parameter names, or cookies with yakit.SetProgress progress bars. - CLI parameters and Web Fuzzer transforms: Add cli.StringSlice dropdowns to let users pick extraction modes, and apply per-character mixed-encoding transforms to Web Fuzzer selections. - Use Case: A penetration tester selects a JWT in the MITM editor, right-clicks, runs a custom codec plugin, and immediately sees the decoded header and payload; or right-clicks History rows to extract all paths of a host into a Payload dictionary. ## Quick Start Ask the AI to write a Yakit codec right-click plugin that Base64-encodes the selected text and verify it with the yak codec-plugin command.

Frequently Asked Questions about yakit-rightclick-plugin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a Yakit right-click codec plugin?▼

Define a single handle(input) function that receives the selected text and returns a string. Set the plugin type to codec and enable the "用于数据包右键" switch, which adds the allow-custom-context-menu-execute tag so it appears in the right-click menu.

How to make a codec plugin appear in the Yakit context menu?▼

The plugin must have type codec and carry the tag allow-custom-context-menu-execute, added by enabling the packet right-click switch in the plugin editor. Yakit queries scripts with that tag and injects them into the plugin extension submenu.

Why does my History right-click plugin receive a number instead of text?▼

In History table right-clicks, Yakit passes the flow id as input, not selected text; multi-select passes comma-separated ids. Use db.QueryHTTPFlowsByID to reverse-query the actual packets before extracting data.

Can codec plugins accept user parameters in Yakit?▼

Yes, codec plugins can declare cli parameters such as cli.StringSlice with setSelectOption to render a dropdown form before execution. The selected value is read alongside handle(input) to control behavior like choosing which field to extract.

How do I test a codec plugin from the command line?▼

Run yak codec-plugin --script yourfile.yak --input "text" to feed input into handle and print the return value. This uses the same execution path as the Yakit right-click menu, so CLI success means UI success.

Does a codec plugin result replace the editor text automatically?▼

No, codec plugin results are shown in the Codec result panel and must be copied manually. Only built-in encode/decode actions and HTTP packet mutation plugins with allow-custom-http-packet-mutate write back to the editor.