Skip to main content

avc

Use AVC (Agent View Controller) to present complex execution plans, architecture changes, and multi-step operations as interactive visual UIs. Instead of dumping walls of text, pipe structured JSON to `avc` for human visual review and confirmation. The human can drag-to-reorder, edit, skip, delete, and add steps before confirming.

Informações da origem

Repositório
study8677/Agent_View_Controller-AVC
Última atividade na origem
19 de maio de 2026 às 01:33
Idioma detectado do SKILL.md
inglês
Estrelas
68
Forks
6

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
avc
description
Use AVC (Agent View Controller) to present complex execution plans, architecture changes, and multi-step operations as interactive visual UIs. Instead of dumping walls of text, pipe structured JSON to `avc` for human visual review and confirmation. The human can drag-to-reorder, edit, skip, delete, and add steps before confirming.
# AVC — Agent View Controller AVC is a visual interaction tool that transforms JSON into interactive native WebView UIs. Use it when you need human approval for complex decisions. ## When to Use Use `avc` instead of printing plain text when: - **Execution plans** with more than 3 steps - **Architecture changes** involving multiple modules - **Multi-file refactoring** plans - **Deployment sequences** that need human review - **Any complex plan** where the human should visually review and reorder steps ## Prerequisites `avc` must be installed and available in PATH: ```bash # From source git clone https://github.com/study8677/Agent_View_Controller-AVC.git cd Agent_View_Controller-AVC && go build -o avc . && sudo cp avc /usr/local/bin/ ``` ## How to Use ### Step 1: Construct JSON Build a JSON object with `view` type and structured data: ```json { "view": "plan", "title": "Your Plan Title", "lang": "en", "editable": true, "token_count": 4500, "data": { "steps": [ {"id": 1, "label": "Step description", "status": "pending"}, {"id": 2, "label": "Another step", "status": "pending"} ] } } ``` > **Tip — `lang` field:** Localizes UI chrome (buttons / status bar / tooltips) only — not step content. Supported: `en` (default), `zh`, `ja`, `ko`, `es`, `fr`, `de`. Match it to the language of your step labels for a consistent UI. ### Step 2: Pipe to AVC ```bash echo '<json>' | avc ``` ### Step 3: Read the Result - Exit code `0` = human confirmed → stdout contains modified JSON - Exit code `130` = human cancelled ```bash RESULT=$(echo '{"view":"plan","title":"My Plan","token_count":5000,"data":{"steps":[{"id":1,"label":"Step 1","status":"pending"}]}}' | avc) if [ $? -eq 0 ]; then # Parse $RESULT — human may have reordered, edited, or removed steps echo "$RESULT" else echo "Human cancelled" fi ``` ## Important Behavior 1. `avc` **blocks** until the human clicks Confirm or Cancel 2. **stdout** contains the human-modified JSON (may have reordered/edited/removed steps) 3. If `token_count` ≤ 3000 (default threshold), AVC **passes through** without opening a window 4. Use `--no-threshold` to always show the WebView window 5. Use `--threshold=N` to set a custom threshold ## Token Threshold AVC has a smart filter: short content passes through directly. - If JSON contains `token_count` field → uses that value - Otherwise → estimates from byte length (`bytes / 3`) - If ≤ threshold → pass-through (no window, exit `0`, original JSON on stdout) **Include `token_count` in your JSON for accurate control.** ## What the Human Can Do When the human sees your plan in AVC, they can: - **Drag & drop** to reorder steps - **Edit** step descriptions by clicking on text - **Skip** steps they don't want executed - **Delete** steps entirely - **Add** new steps **Always respect the human's modifications in the returned JSON.** ## Supported Views | view | Use for | Data shape | |---------|------------------------------------------------------------------|---------------------------------------| | `plan` | Linear step-by-step execution plans (deploys, migrations, TODOs) | `data.steps[]` | | `graph` | Architecture topology / dependency map / ER / workflow | `data.nodes[]` + `data.edges[]` | **Pick `graph` when the agent's output is a relationship**, not a sequence — e.g., microservice architecture, module dependency map, database ER diagram, data flow. Nodes are `{ id, label, type?, x?, y? }` with `type ∈ { service, gateway, database, external, default }`. Edges are `{ from, to, label? }`. Positions persist on round-trip (so the human's layout survives). ## Example: Full Agent Workflow ```bash # 1. Agent generates a plan as JSON PLAN='{"view":"plan","title":"Refactor Auth","token_count":5000,"editable":true,"data":{"steps":[ {"id":1,"label":"Extract auth middleware","status":"pending"}, {"id":2,"label":"Create JWT service","status":"pending"}, {"id":3,"label":"Update route handlers","status":"pending"}, {"id":4,"label":"Add integration tests","status":"pending"} ]}}' # 2. Pipe to AVC for human review APPROVED=$(echo "$PLAN" | avc) # 3. If confirmed, execute only approved steps if [ $? -eq 0 ]; then echo "$APPROVED" | jq -r '.data.steps[] | select(.skipped != true) | .label' fi ```
Ver no GitHub