✳ClaudeModsClaude Code mod 디렉터리
☰
● 0 명 접속 중 · 조회 0 회
+ 프로젝트 제출
← 프로젝트 목록으로
Reddit 게시물 · 대시보드 및 HUD / 프롬프트 및 입력 / 기타 / 도구 및 연동 / 워크플로 및 CI

agent-quick-menu: Claude Code 플러그인 빠른 메뉴

2.1.287 버전에서 새로 추가된 mods API를 기반으로 만든 Claude Code 클릭 가능한 빠른 메뉴로, 설치된 각 플러그인의 명령과 설정을 하나의 접이식 패널에 모아두고, 고정 가능한 버튼과 입력 인수 프롬프트도 제공합니다.

DDasGanni@DasGanni
agent-quick-menu: Claude Code 플러그인 빠른 메뉴이미지1
번역 완료

이 mod 소개

저자는 Claude Code 자체를 사용해 agent-quick-menu라는 플러그인 메뉴를 개발했습니다. 2.1.287에서 도입된 mods API를 기반으로 설치된 플러그인의 명령과 설정을 /menu 패널에 모읍니다. 각 플러그인마다 접을 수 있는 섹션이 있고, 명령은 슬래시 명령과 설명이 있는 버튼으로 표시되며, 설정은 토글, 옵션 버튼 또는 인라인 편집기(저장/취소 포함)로 렌더링됩니다. Claude Code 자체의 /config 설정도 같은 패널에서 필터링해 볼 수 있습니다. 프롬프트 위에 bar가 있어 ≣로 패널을 열고, ☆로 고정한 명령은 원클릭 버튼으로 옆에 나열됩니다. 인수가 필요한 명령(브랜치 이름, 티켓 번호)은 먼저 입력 상자를 띄웁니다. 사용자가 직접 추가하지 않은 플러그인 명령은 실행 전에 이차 확인을 요구합니다. 플러그인 작성자는 JSON 파일 .claude-plugin/quick-menu.json 하나로 명령과 표시할 userConfig 설정을 선언하기만 하면 되며, JSON schema와 규약이 포함되어 있고 의존성도 코드도 없습니다. 저자는 제품 측(규약, UX, 정보 아키텍처)을 담당했고, Claude Code가 거의 모든 TypeScript와 118개의 테스트를 작성했습니다. 워크플로는 슬라이스 사양을 작성하고, 구현하고, claude plugin validate와 claude plugin test를 실행한 뒤, 저자가 다시 로드해 UI 문제를 스크린샷으로 피드백하는 방식이었습니다. 저자가 정리한 교훈: 대화형 command.run은 반환값이 없고, 설정을 쓴 뒤에는 반드시 다시 읽어야 합니다. 설정 변경은 mod를 다시 로드하며, $.state는 유지되지만 모듈 변수는 유지되지 않습니다. 글리프 너비는 1을 선택해야 합니다

설치

먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.

/plugin marketplace add agentic-workbench/agent-quick-menu && /plugin install agent-quick-menu@agent-quick-menu && /reload-plugins
원문 / 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]

원본 출처 보기 ↗

비슷한 프로젝트