--- name: synopsis description: Generate a manager-focused synopsis with current context - ALWAYS includes save button --- # Synopsis Skill Generate a **manager-focused synopsis** that explains what's happening NOW and recent work. ## MANDATORY ELEMENTS (NEVER SKIP) Before outputting HTML, verify ALL of these are present: | Element | Required | Check | |---------|----------|-------| | **Current Context box** | YES | Blue box at top showing what we're doing RIGHT NOW | | **Hero section** | YES | Most recent completed task | | **Save button** | YES | Orange button at bottom with `exportSynopsis()` | | **Project path in JS** | YES | Replace `[PROJECT_PATH]` with actual path | **If any element is missing, the synopsis is INVALID. Do not output.** ## Trigger Phrases - "show synopsis" / "synopsis" / "session summary" - Display in A2UI panel - "export synopsis" - Display AND save to project folder ## Structure (Top to Bottom) 1. **CURRENT CONTEXT** (blue box) - What is actively happening right now 2. **HERO** (gradient box) - Most recent completed task 3. **TABS** - What Changed / Why It Matters / Technical 4. **SAVE BUTTON** (orange) - ALWAYS present at bottom ## Execution Steps ### Step 1: Gather Current Context Ask yourself: **What are we doing RIGHT NOW?** - What task is in progress? - What is the user trying to accomplish? - What's the immediate next step? ```bash # Get project context cat /.claude/CONTEXT.md 2>/dev/null git status --short git log --oneline -3 ``` ### Step 2: Identify Recent Completed Work What did we JUST finish? Pull from: - Current conversation - What the user asked for - What was actually implemented ### Step 3: Get A2UI Log Path Use the path from your terminal startup message: ``` A2UI VISUALIZATION: Write HTML to /home/yousuf/GoogleDrive/PROJECTS/.triclaude/runtime/terminals//a2ui_input.log ``` Or discover dynamically: ```bash python3 << 'PY' import json, urllib.request data = json.loads(urllib.request.urlopen("http://localhost:7690/api/projects").read()) active_proj_id = data.get('activeProjectId') for p in data.get('projects', []): if p.get('id') == active_proj_id: term_id = p.get('activeTerminalId') for t in p.get('terminals', []): if t.get('id') == term_id: print(f"TERMINAL_ID={term_id}") print(f"A2UI_LOG=/home/yousuf/GoogleDrive/PROJECTS/.triclaude/runtime/terminals/{term_id}/a2ui_input.log") PY ``` ### Step 4: Generate Synopsis HTML **CRITICAL: Copy the ENTIRE template below. Do not skip any section.** ```bash cat << 'A2UI_EOF' >> $A2UI_LOG
Current Context

[WHAT_WE_ARE_DOING_NOW]

[Brief description of active task - what is the user trying to accomplish?]

✓ JUST COMPLETED

[COMPLETED_TASK_HEADLINE]

[ONE_SENTENCE_SUMMARY - plain English, what did we do and why]

What Changed
Why It Matters
Technical

🔧 Changes Made

[CHANGE_1_TITLE]
[Plain English description - what does this do for the user?]
→ [Practical benefit]
[CHANGE_2_TITLE]
[Description]
→ [Benefit]

📋 Still Pending

[PENDING_ITEM]
[What still needs to be done]

💡 Why This Matters

[BENEFIT_1_TITLE]
[Explain the value - what problem does this solve? Who benefits?]
[BENEFIT_2_TITLE]
[Another angle on the value]

⚙️ Technical Details

Files Modified
[file1.ts] [file2.py]
What Was Wrong
[Root cause in technical terms]
How It Was Fixed
[Technical solution - function names, approach]
A2UI_EOF ``` ## Example: Good vs Bad ### BAD (old style): ``` Project: TriClaude Status: Complete Files Changed: - src/services/consigliereService.ts - skills/synopsis/SKILL.md Recent Commits: 6be15c3, 5e91989 ``` *Problem: Doesn't tell me what happened or why I should care* ### GOOD (new style): ``` ✓ JUST COMPLETED Fixed Synopsis Export Button The export button was failing on HTTPS. Updated it to detect the connection type and route correctly. What Changed: • Smart URL Detection Button now works on both localhost and mobile → Export works everywhere now Why It Matters: • Mobile Access Fixed When accessing from phone via Tailscale, export was broken ``` *Better: I know what happened, what changed, and why it matters* ## Export Location Synopses save to: ``` /.claude/synopses/synopsis_YYYYMMDD_HHMMSS.html ``` ## HTTPS Note The `getApiUrl()` function handles both: - **HTTP** (localhost:3001): Direct call to port 7690 - **HTTPS** (Tailscale:3443): Routes through Caddy proxy at `/api/*` --- ## FINAL VERIFICATION (Run Before Output) **STOP. Before writing to A2UI, verify:** ``` □ Current Context box present? (blue box with pulsing dot) □ Hero section present? (completed task) □ Save button present? (