✳ClaudeModsClaude Code mod directory
☰
● 0 online · Views 0 times
+ Submit a project
← Back to projects
Reddit posts · Dashboards & HUD / Prompts & input / Other / Tools & integrations / Workflows & CI

agent-quick-menu: Claude Code plugin quick menu

A clickable quick menu for Claude Code built on the mods API introduced in version 2.1.287, consolidating each installed plugin's commands and settings into one collapsible panel, with pinnable buttons and input argument prompts.

DDasGanni@DasGanni
agent-quick-menu: Claude Code plugin quick menuimage1
Translated

About this mod

The author developed a plugin menu called agent-quick-menu using Claude Code itself. Based on the mods API introduced in 2.1.287, it brings commands and settings from installed plugins into the /menu panel: one collapsible section per plugin, commands appear as buttons with slash commands and descriptions, and settings render as toggles, option buttons, or inline editors (with save/cancel). Claude Code's own /config settings can also be filtered and viewed in the same panel. There is a bar above the prompt: ≣ opens the panel, and commands pinned with ☆ appear as one-click buttons next to it. Commands that require arguments (branch name, ticket number) first show an input box. For plugin commands not added by the user, a second confirmation is required before running. Plugin authors only need one JSON file .claude-plugin/quick-menu.json to declare commands and userConfig settings to display, with a JSON schema and conventions, no dependencies, no code. The author handled the product side (conventions, UX, information architecture), while Claude Code wrote almost all TypeScript and 118 tests; the workflow was writing slice specs, implementation, running claude plugin validate and claude plugin test, then the author reloaded and provided screenshot feedback on UI issues. Lessons the author summarized: interactive command.run has no return value, writing settings must be followed by reading back; setting changes reload the mod, $.state is preserved but module variables are not; glyph width should be chosen as 1

Installation

Check the author's README for the marketplace and plugin name first. Commands may change as the repository evolves.

/plugin marketplace add agentic-workbench/agent-quick-menu && /plugin install agent-quick-menu@agent-quick-menu && /reload-plugins
Original text / README

What I built agent-quick-menu is a menu for Claude Code, built on the mods API that arrived in 2.1.287. It gathers the commands and settings of every installed plugin in one place, so you stop memorising slash commands and digging through /config. A /menu pane with one foldable section per plugin: commands as buttons with their slash command and a description, settings as toggles, option buttons or an inline editor with save/cancel. Claude Code's own /config settings in the same pane, with a filter. A band above the prompt : ≣ menu opens the pane; commands you pin with ☆ sit next to it as one-click buttons. Commands that need an argument (a branch name, a ticket) open an input first instead of running blind. A confirm-twice before running a command from a plugin you didn't add to the menu yourself. For plugin authors it's one JSON file: .claude-plugin/quick-menu.json lists your commands (label, args, description, optional ask ) and which of your userConfig settings to show. No dependency, no code; there's a JSON schema and a written convention. How I used Claude Code I did the product side: the convention, the UX, and what goes where. Claude Code wrote nearly all of the TypeScript and the 118 tests (the mods testing kit with a mocked clock). The loop was always the same: Claude writes a slice spec, implements it, runs claude plugin validate and claude plugin test , I reload, screenshot the terminal and paste the screenshot back in with "this is ugly / this doesn't fold / the focus is wrong". Most of the UX came out of those screenshot rounds. It also did the boring open-source parts: CI, rulesets, SECURITY/PRIVACY docs, and the release automation (a PR from develop to main bumps the version from the Conventional Commits and publishes the release on merge). What I learned Interactive command.run returns nothing. Running /config key=value from a mod answers {} in an interactive session, so "did the write work?" has to be answered by reading the setting back. Before I changed that, the menu showed "not changed" on every successful write. A settings change reloads your mod. register() runs again with the new options; $.state survives, module variables don't. Glyph width matters. ☰ is two cells wide in many terminals and left a stray character behind; everything in the UI is now a width-1 glyph ( ≣ , ▸ , ● ). The plugin directory's validator is stricter than Claude Code. Don't alias or shadow $ or on , write calls as $.noun.method() , keep userConfig free of options , and declare "types" in plugin.json, or validation rejects every state key. Mods compose. Two plugins drawing into the band must call next(e) , or one silently swallows the other's band. Try it /plugin marketplace add agentic-workbench/agent-quick-menu /plugin install agent-quick-menu@agent-quick-menu then /reload-plugins . MIT, fully local, sends nothing anywhere. Repo: https://github.com/agentic-workbench/agent-quick-menu Feedback welcome, especially from plugin authors: what would you put in your plugin's menu? submitted by /u/DasGanni [link] [comments]

View original source ↗

Similar projects