apiel/zicbox/zic-grid-menu-view

Claude Code and agent skill by apiel/zicbox

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Architecture standards, single encoder navigation, and 4-pad control layout (Z=Up, X=Down, C=OK, V=Cancel/Back) for zicGridV2 MenuView.

Install

npx vskill@latest install apiel/zicbox/zic-grid-menu-view

SKILL.md

zicGridV2 MenuView Skill

This skill defines the control, navigation, and visual standards for MenuView in zicGridV2 (located in zicGridV2/views/MenuView.h).

Core Principles & Design Rules

1. Single Parameter Navigation Control
  • MenuView must use only 1 active parameter/encoder (Encoder 0) to navigate or select options within the active menu list/sub-menu.
  • Encoders 1 through 11 must remain cleared/hidden:

``cpp for (int i = 1; i < TOTAL_ENCODERS; ++i) { gridState.setEncoder(i, "", 0.0f, 0.0f, 1.0f, 1.0f, nullptr, { 0, 0, 0, 0 }); } ``

2. Standard 4-Pad Utility Controls (Z, X, C, V)

Navigation and actions in MenuView are bound to the 4 utility pads in Row 3 (Columns 8 through 11):

PadKey / PositionIcon / LabelBehavior
ZutilCol 0 (gridState.pads[8][3])&icon::arrowUp::filledMove selection Up (decrement index)
XutilCol 1 (gridState.pads[9][3])&icon::arrowDown::filledMove selection Down (increment index)
CutilCol 2 (gridState.pads[10][3])"OK"Confirm / Select option
VutilCol 3 (gridState.pads[11][3])"Back" / "Cancel" / HiddenGo back or cancel operation
Conditional Visibility of Pad V (Cancel / Back)
  • Pad V is visible ONLY when necessary:
  • Visible in sub-menus (e.g. MODE_AUDIO_SELECT -> "Back").
  • Visible during confirmation prompts (e.g. confirmShutdown -> "Cancel").
  • Hidden / Empty when at the top-level main menu with no active modal or sub-view.
  • Implementation pattern for Pad V:

``cpp if (confirmShutdown) { gridState.pads[11][3].label = "Cancel"; gridState.pads[11][3].color = { 220, 60, 60, 255 }; } else if (currentMode == MODE_AUDIO_SELECT) { gridState.pads[11][3].label = "Back"; gridState.pads[11][3].color = { 220, 100, 60, 255 }; } else { // Hidden when not needed gridState.pads[11][3].label = ""; gridState.pads[11][3].color = { 25, 30, 40, 255 }; } ``


Input Event Handling

Encoder Input (handleEncoder)
cpp
void handleEncoder(int encoderId, int delta) override
{
if (encoderId == 0) {
// Increment/decrement option using delta and clamp bounds
selectedOption = std::clamp(selectedOption + delta, 0, OPTION_COUNT - 1);
updateEncoderLabels();
updatePadLeds();
}
}
Pad Input (handleUtilityPadPress)
cpp
void handleUtilityPadPress(int utilCol, bool pressed) override
{
if (!pressed) return;
if (utilCol == 0) {
// Pad Z: Move Up
} else if (utilCol == 1) {
// Pad X: Move Down
} else if (utilCol == 2) {
// Pad C: Confirm / OK
} else if (utilCol == 3) {
// Pad V: Cancel / Back (Only process when active/visible)
}
}

Lifecycle Cleanup

When deactivating MenuView, utility pads must be restored to defaults so other views can take control:

cpp
void onDeactivate() override
{
restoreDefaultUtilityPads();
}

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
289
Repository forks
15
7-day trend score
28

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/apiel/zicbox/zic-grid-menu-view/badge)](https://verified-skill.com/skills/apiel/zicbox/zic-grid-menu-view)

Something wrong with this skill or its page? Tell us.