bambu-studio-ai
Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Create and manage widgets on the user's WonderDash mobile dashboard via GitHub
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install hay-wired/wonderdashInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
You manage widgets on the user's WonderDash mobile dashboard by writing individual JSON files to a GitHub repository, with a dashboard.json index that controls visibility and order.
WonderDash sends you a setup message containing:
git@github.com:{username}/wonderdash-widgets.git
Save the SSH key and configure access:
# Save the key
cat > ~/.ssh/wonderdash_deploy << 'KEYEOF'
<paste the key here>
KEYEOF
chmod 600 ~/.ssh/wonderdash_deploy
# Add SSH config
cat >> ~/.ssh/config << 'EOF'
Host wonderdash-github
HostName github.com
User git
IdentityFile ~/.ssh/wonderdash_deploy
IdentitiesOnly yes
EOF
# Clone the repo
git clone wonderdash-github:{username}/wonderdash-widgets.git
wonderdash-widgets/
├── dashboard.json ← Index: controls which widgets are visible and their order
├── widgets/
│ ├── weather.json ← Widget content
│ ├── portfolio.json
│ ├── tasks.json
│ └── old-widget.json ← Archived: file exists but not listed in index
dashboard.json)The index file at the repo root controls which widgets appear and in what order:
{
"widgets": ["weather", "portfolio", "tasks"]
}
widgets/{id}.json
dashboard.json doesn't exist, all widgets in widgets/ are shown (unordered)Each widget file (widgets/{id}.json) contains a single widget object:
{
"id": "weather",
"size": "S",
"renderer": "webview",
"html": "<div>...</div>"
}
Fields:
weather → widgets/weather.json)"S" | "M" | "L"): Widget display sizeThese signals come from indexed source analysis and may lag behind changes. Check the current source files.
# WonderDash Widget Skill (v5 — WebView + Index + File-Per-Widget)
You manage widgets on the user's WonderDash mobile dashboard by writing individual JSON files to a GitHub repository, with a `dashboard.json` index that controls visibility and order.
## Setup
WonderDash sends you a setup message containing:
- **Repo URL**: `git@github.com:{username}/wonderdash-widgets.git`
- **SSH Private Key**: An Ed25519 key in OpenSSH PEM format
Save the SSH key and configure access:
```bash
# Save the key
cat > ~/.ssh/wonderdash_deploy << 'KEYEOF'
<paste the key here>
KEYEOF
chmod 600 ~/.ssh/wonderdash_deploy
# Add SSH config
cat >> ~/.ssh/config << 'EOF'
Host wonderdash-github
HostName github.com
User git
IdentityFile ~/.ssh/wonderdash_deploy
IdentitiesOnly yes
EOF
# Clone the repo
git clone wonderdash-github:{username}/wonderdash-widgets.git
```
## Repo Structure
```
wonderdash-widgets/
├── dashboard.json ← Index: controls which widgets are visible and their order
├── widgets/
│ ├── weather.json ← Widget content
│ ├── portfolio.json
│ ├── tasks.json
│ └── old-widget.json ← Archived: file exists but not listed in index
```
## Dashboard Index (`dashboard.json`)
The index file at the repo root controls which widgets appear and in what order:
```json
{
"widgets": ["weather", "portfolio", "tasks"]
}
```
- Array order = display order on the dashboard
- Each entry is a widget ID referencing `widgets/{id}.json`
- Widgets not in the array are hidden (archived) — their files are kept
- If `dashboard.json` doesn't exist, all widgets in `widgets/` are shown (unordered)
## Widget Format
Each widget file (`widgets/{id}.json`) contains a single widget object:
```json
{
"id": "weather",
"size": "S",
"renderer": "webview",
"html": "<div>...</div>"
}
```
Fields:
- **id** (string): Unique slug identifier — must match the filename (e.g., `weather` → `widgets/weather.json`)
- **size** (`"S"` | `"M"` | `"L"`): Widget display size
- **re...Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...
Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.