create-streamdeck-page
Create, iterate, and deploy dynamic Stream Deck button pages.
Two Modes
A) Create Mode — Design and Deploy
# Generate layout from workflows
run.sh create --context browser --workflows "compose,search,reply"
# Deploy from existing template
run.sh create --from-template browser_nav
# Interactive guided setup
run.sh create --interactive
# Push template to hardware
run.sh deploy --template browser_nav --page 5
B) Lab Mode — Iterate and Optimize
# Benchmark context-match accuracy
run.sh evaluate --template browser_nav --ground-truth contexts.json
# Self-correction loop (Design -> Evaluate -> Correct)
run.sh optimize --template browser_nav --rounds 3
# View iteration history
run.sh history --template browser_nav
Self-Correction Loop (Lab Mode)
- Design: Generate page layout for a context
- Evaluate: Score against ground truth (context-match %, button coverage, workflow completeness)
- Self-correct: If score < threshold, feed errors back
- Store: Winners saved as templates with taxonomy tags
- Deploy: Push winning layout to live Stream Deck
Integration
- Shells out to
streamdeck page create/reload/save-templateCLI commands - Templates stored in
~/workspace/streamdeck/config/page_templates/ - Memory integration via
/memoryskill for cross-session recall - Taxonomy tags enable graph traversal queries
Ground Truth Format
ground_truth/contexts.json:
[
{
"context": {"app_class": "google-chrome", "window_title": "Gmail"},
"expected_buttons": ["compose", "search", "reply", "archive", "back"]
}
]