flowchart TD
A("User sends prompt"):::userNode
B["Claude Code processes request"]:::processNode
C{"Tool use needed?"}:::decisionNode
D["PreToolUse Hook fires"]:::hookNode
E["Script writes JSON with BLUE status"]:::blueNode
F["BetterTouchTool reads file"]:::bttNode
G("Touch Bar displays status!"):::displayNode
H["Claude responds directly"]:::processNode
I["Stop Hook fires"]:::hookNode
J["Script writes JSON with GREEN status"]:::greenNode
A --> B
B --> C
C -->|Yes| D
D --> E
E --> F
F --> G
C -->|No| H
H --> I
I --> J
J --> F
classDef userNode fill:#667eea,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef processNode fill:#764ba2,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef decisionNode fill:#f093fb,stroke:#333,stroke-width:2px,color:#333,font-size:16px
classDef hookNode fill:#ff6b6b,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef blueNode fill:#1e90ff,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef greenNode fill:#228b22,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef bttNode fill:#ffa502,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
classDef displayNode fill:#2ed573,stroke:#333,stroke-width:2px,color:#fff,font-size:16px
linkStyle default stroke:#999,stroke-width:2px,font-size:16px