docs: refine skills

This commit is contained in:
Peter Steinberger
2025-12-20 12:54:15 +01:00
parent 0e2993a6c8
commit 2d8e11b78b
24 changed files with 363 additions and 189 deletions

View File

@@ -1,15 +0,0 @@
---
name: agent-tools
description: Utility toolkit for automations and MCP-friendly scripts.
metadata: {"clawdis":{"requires":{"bins":["agent-tools"]}}}
---
# agent-tools
Use `agent-tools` for helper utilities and automations. Start with:
```bash
agent-tools --help
```
Prefer small, composable commands.

View File

@@ -1,19 +1,24 @@
--- ---
name: bird name: bird
description: X/Twitter CLI to tweet, reply, read threads, and search. description: X/Twitter CLI for reading, searching, and posting via cookies or Sweetistics.
metadata: {"clawdis":{"requires":{"bins":["bird"]}}} metadata: {"clawdis":{"requires":{"bins":["bird"]}}}
--- ---
# bird # bird
Use `bird` to interact with X/Twitter. Use `bird` to read/search X and post tweets/replies.
- Tweet: `bird tweet "..."` Quick start
- Reply: `bird reply <tweet-id> "..."` - `bird whoami`
- Read: `bird read <tweet-id>` - `bird read <url-or-id>`
- Thread: `bird thread <tweet-id>` - `bird thread <url-or-id>`
- Search: `bird search "query"` - `bird search "query" -n 5`
- Mentions: `bird mentions`
- Whoami: `bird whoami`
Confirm before posting publicly. Posting (confirm with user first)
- `bird tweet "text"`
- `bird reply <id-or-url> "text"`
Auth sources
- Browser cookies (default: Firefox/Chrome)
- Sweetistics API: set `SWEETISTICS_API_KEY` or use `--engine sweetistics`
- Check sources: `bird check`

View File

@@ -1,15 +1,26 @@
--- ---
name: blucli name: blucli
description: Control BluOS players from the CLI. description: BluOS CLI (blu) for discovery, playback, grouping, and volume.
metadata: {"clawdis":{"requires":{"bins":["blucli"]}}} metadata: {"clawdis":{"requires":{"bins":["blu"]}}}
--- ---
# blucli # blucli (blu)
Use `blucli` to control BluOS players. Start with: Use `blu` to control Bluesound/NAD players.
```bash Quick start
blucli --help - `blu devices` (pick target)
``` - `blu --device <id> status`
- `blu play|pause|stop`
- `blu volume set 15`
Confirm target player before changing playback. Target selection (in priority order)
- `--device <id|name|alias>`
- `BLU_DEVICE`
- config default (if set)
Common tasks
- Grouping: `blu group status|add|remove`
- TuneIn search/play: `blu tunein search "query"`, `blu tunein play "query"`
Prefer `--json` for scripts. Confirm the target device before changing playback.

View File

@@ -0,0 +1,21 @@
---
name: brave-search
description: Headless web search and content extraction via Brave Search scripts.
metadata: {"clawdis":{"requires":{"bins":["search.js","content.js"]}}}
---
# brave-search
Use `search.js` and `content.js` from `~/agent-tools/brave-search` (PATH).
Search
- `search.js "query"`
- `search.js "query" -n 10`
- `search.js "query" --content`
Extract content
- `content.js https://example.com/article`
Notes
- No browser required; results come from Brave Search HTML.
- If commands are missing, add `~/agent-tools/brave-search` to PATH and install deps.

View File

@@ -6,10 +6,19 @@ metadata: {"clawdis":{"requires":{"bins":["camsnap"]}}}
# camsnap # camsnap
Use `camsnap` to grab frames or clips from configured cameras. Start with: Use `camsnap` to grab snapshots, clips, or motion events from configured cameras.
```bash Setup
camsnap --help - Config file: `~/.config/camsnap/config.yaml`
``` - Add camera: `camsnap add --name kitchen --host 192.168.0.10 --user user --pass pass`
Prefer small test captures before longer clips. Common commands
- Discover: `camsnap discover --info`
- Snapshot: `camsnap snap kitchen --out shot.jpg`
- Clip: `camsnap clip kitchen --dur 5s --out clip.mp4`
- Motion watch: `camsnap watch kitchen --threshold 0.2 --action '...'`
- Doctor: `camsnap doctor --probe`
Notes
- Requires `ffmpeg` on PATH.
- Prefer a short test capture before longer clips.

View File

@@ -6,13 +6,26 @@ metadata: {"clawdis":{"requires":{"config":["browser.enabled"]}}}
# Clawdis Browser # Clawdis Browser
Use the clawd-managed Chrome/Chromium instance through `clawdis browser` commands. Use the clawd-managed Chrome/Chromium instance through `clawdis browser`.
Only available when `browser.enabled` is true.
## Common commands Core flow
- `clawdis browser status`
- `clawdis browser start` (if stopped)
- `clawdis browser tabs`
- `clawdis browser open <url>`
- Status/start/stop: `clawdis browser status|start|stop` Inspection
- Tabs: `clawdis browser tabs|open <url>|focus <id>|close <id>` - `clawdis browser snapshot --format ai|aria [--limit N]`
- Snapshot/screenshot: `clawdis browser snapshot --format ai|aria`, `clawdis browser screenshot [--full-page]` - `clawdis browser screenshot [--full-page]`
- Actions: `clawdis browser click|type|hover|drag|select|upload|press|wait|navigate|back|evaluate|run`
If disabled, ask the user to enable `browser.enabled` in `~/.clawdis/clawdis.json`. Actions
- `clawdis browser click <ref>`
- `clawdis browser type <ref> "text" --submit`
- `clawdis browser press Enter`
- `clawdis browser navigate <url>`
- `clawdis browser wait --text "Done"`
Notes
- This is a dedicated profile; do not use the user's personal browser.
- If disabled, ask the user to enable `browser.enabled` in `~/.clawdis/clawdis.json`.

View File

@@ -8,15 +8,16 @@ metadata: {"clawdis":{"always":true}}
Use Canvas to render HTML/JS or A2UI surfaces and capture snapshots. Use Canvas to render HTML/JS or A2UI surfaces and capture snapshots.
## Core commands Core commands
- Present: `clawdis canvas present [--node <id>] [--target <path>]`
- Show/hide: `clawdis canvas present [--node <id>] [--target <path>]`, `clawdis canvas hide` - Hide: `clawdis canvas hide`
- JS eval: `clawdis canvas eval --js "..."` - Eval JS: `clawdis canvas eval --js "..."`
- Snapshot: `clawdis canvas snapshot` - Snapshot: `clawdis canvas snapshot`
## A2UI A2UI
- Push JSONL: `clawdis canvas a2ui push --jsonl /path/to/file.jsonl` - Push JSONL: `clawdis canvas a2ui push --jsonl /path/to/file.jsonl`
- Reset: `clawdis canvas a2ui reset` - Reset: `clawdis canvas a2ui reset`
If targeting remote nodes, use the canvas host (LAN/tailnet) and keep HTML under `~/clawd/canvas`. Notes
- Keep HTML under `~/clawd/canvas` when targeting remote nodes.
- Use snapshot after renders to verify UI state.

View File

@@ -1,15 +1,28 @@
--- ---
name: eightctl name: eightctl
description: Control sleep workflows with eightctl. description: Control Eight Sleep pods (status, temperature, alarms, schedules).
metadata: {"clawdis":{"requires":{"bins":["eightctl"]}}} metadata: {"clawdis":{"requires":{"bins":["eightctl"]}}}
--- ---
# eightctl # eightctl
Use `eightctl` for sleep/wake automation. Start with: Use `eightctl` for Eight Sleep pod control. Requires auth.
```bash Auth
eightctl --help - Config: `~/.config/eightctl/config.yaml`
``` - Env: `EIGHTCTL_EMAIL`, `EIGHTCTL_PASSWORD`
Confirm before scheduling disruptive actions. Quick start
- `eightctl status`
- `eightctl on|off`
- `eightctl temp 20`
Common tasks
- Alarms: `eightctl alarm list|create|dismiss`
- Schedules: `eightctl schedule list|create|update`
- Audio: `eightctl audio state|play|pause`
- Base: `eightctl base info|angle`
Notes
- API is unofficial and rate-limited; avoid repeated logins.
- Confirm before changing temperature or alarms.

View File

@@ -1,15 +0,0 @@
---
name: gemini-cli
description: Use the Gemini CLI for fast Q&A and generation.
metadata: {"clawdis":{"requires":{"bins":["gemini"]}}}
---
# Gemini CLI
Use `gemini` for quick prompts. Start with:
```bash
gemini --help
```
If auth is required, set the provider's API key in the environment.

View File

@@ -1,21 +1,22 @@
--- ---
name: gemini name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups. description: Gemini CLI for one-shot Q&A, summaries, and generation.
metadata: {"clawdis":{"requires":{"bins":["gemini"]}}} metadata: {"clawdis":{"requires":{"bins":["gemini"]}}}
--- ---
# Gemini # Gemini CLI
Use `gemini` in **one-shot mode** via the positional prompt (avoid interactive mode). Use Gemini in one-shot mode with a positional prompt (avoid interactive mode).
Good for: Quick start
- Coding agent Q&A and fixes. - `gemini "Answer this question..."`
- Google search style lookups (ask for sources, dates, and summaries). - `gemini --model <name> "Prompt..."`
- `gemini --output-format json "Return JSON"`
Examples: Extensions
- List: `gemini --list-extensions`
- Manage: `gemini extensions <command>`
```bash Notes
gemini "Search Google for the latest X. Return top 5 results with title, URL, date, and 1-line summary." - If auth is required, run `gemini` once interactively and follow the login flow.
``` - Avoid `--yolo` for safety.
If you need structured output, add `--output-format json`.

View File

@@ -1,15 +1,25 @@
--- ---
name: gog name: gog
description: Google Suite CLI for Gmail, Calendar, Drive, and Contacts. description: Google Workspace CLI for Gmail, Calendar, Drive, and Contacts.
metadata: {"clawdis":{"requires":{"bins":["gog"]}}} metadata: {"clawdis":{"requires":{"bins":["gog"]}}}
--- ---
# gog # gog
Use `gog` for Gmail/Calendar/Drive/Contacts. Start with: Use `gog` for Gmail/Calendar/Drive/Contacts. Requires OAuth setup.
```bash Setup (once)
gog --help - `gog auth credentials /path/to/client_secret.json`
``` - `gog auth add you@gmail.com --services gmail,calendar,drive,contacts`
- `gog auth list`
Ask for confirmation before sending emails or creating events. Common commands
- Gmail search: `gog gmail search 'newer_than:7d' --max 10`
- Gmail send: `gog gmail send --to a@b.com --subject "Hi" --body "Hello"`
- Calendar: `gog calendar events <calendarId> --from <iso> --to <iso>`
- Drive: `gog drive search "query" --max 10`
- Contacts: `gog contacts list --max 20`
Notes
- Set `GOG_ACCOUNT=you@gmail.com` to avoid repeating `--account`.
- Confirm before sending mail or creating events.

View File

@@ -1,15 +1,24 @@
--- ---
name: imsg name: imsg
description: Send or read iMessage/SMS using the imsg CLI. description: iMessage/SMS CLI for listing chats, history, watch, and sending.
metadata: {"clawdis":{"requires":{"bins":["imsg"]}}} metadata: {"clawdis":{"requires":{"bins":["imsg"]}}}
--- ---
# imsg # imsg
Use `imsg` for iMessage/SMS. Start with: Use `imsg` to read and send Messages.app iMessage/SMS on macOS.
```bash Requirements
imsg --help - Messages.app signed in
``` - Full Disk Access for your terminal
- Automation permission to control Messages.app (for sending)
Confirm recipients and message text before sending. Common commands
- List chats: `imsg chats --limit 10`
- History: `imsg history --chat-id 1 --limit 20 --attachments --json`
- Watch: `imsg watch --chat-id 1 --attachments`
- Send: `imsg send --to "+14155551212" --text "hi" --file /path/pic.jpg`
Notes
- `--service imessage|sms|auto` controls delivery.
- Confirm recipient + message before sending.

View File

@@ -1,15 +1,26 @@
--- ---
name: mcporter name: mcporter
description: Manage MCP servers (install, list, sync) with mcporter. description: Manage and call MCP servers (list, call, auth, daemon).
metadata: {"clawdis":{"requires":{"bins":["mcporter"]}}} metadata: {"clawdis":{"requires":{"bins":["mcporter"]}}}
--- ---
# mcporter # mcporter
Use the `mcporter` CLI to install, list, and sync MCP servers. Start with: Use `mcporter` to list MCP servers and call tools.
```bash Quick start
mcporter --help - `mcporter list`
``` - `mcporter list <server> --schema`
- `mcporter call <server.tool> arg=value`
If the tool is missing, ask the user to install it from the Tools tab. Auth + lifecycle
- OAuth: `mcporter auth <server>`
- Daemon: `mcporter daemon status|start|stop`
Ad-hoc servers
- HTTP: `mcporter list --http-url https://host/mcp --name <name>`
- STDIO: `mcporter call --stdio "bun run ./server.ts" --name <name>`
Notes
- Config sources: `~/.mcporter/mcporter.json[c]` and `config/mcporter.json`.
- Prefer `--json` when you need machine-readable output.

View File

@@ -1,42 +1,28 @@
--- ---
name: nano-banana-pro name: nano-banana-pro
description: Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro). description: Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
metadata: {"clawdis":{"requires":{"env":["GEMINI_API_KEY"]},"primaryEnv":"GEMINI_API_KEY"}} metadata: {"clawdis":{"requires":{"bins":["uv"],"env":["GEMINI_API_KEY"]},"primaryEnv":"GEMINI_API_KEY"}}
--- ---
# Nano Banana Pro Image Generation & Editing # Nano Banana Pro (Gemini 3 Pro Image)
Generate new images or edit existing ones using Google's Nano Banana Pro API. Use the bundled script to generate or edit images.
## Usage (always run from the current working directory) Generate
**Generate new image:**
```bash ```bash
uv run {baseDir}/scripts/generate_image.py --prompt "your image description" --filename "output-name.png" [--resolution 1K|2K|4K] uv run {baseDir}/scripts/generate_image.py --prompt "your image description" --filename "output.png" --resolution 1K
``` ```
**Edit existing image:** Edit
```bash ```bash
uv run {baseDir}/scripts/generate_image.py --prompt "editing instructions" --filename "output-name.png" --input-image "path/to/input.png" [--resolution 1K|2K|4K] uv run {baseDir}/scripts/generate_image.py --prompt "edit instructions" --filename "output.png" --input-image "/path/in.png" --resolution 2K
``` ```
## API key API key
- `GEMINI_API_KEY` env var
- Or set `skills."nano-banana-pro".apiKey` / `skills."nano-banana-pro".env.GEMINI_API_KEY` in `~/.clawdis/clawdis.json`
The script uses: Notes
1) `GEMINI_API_KEY` environment variable - Resolutions: `1K` (default), `2K`, `4K`.
2) `--api-key` argument (optional) - Use timestamps in filenames: `yyyy-mm-dd-hh-mm-ss-name.png`.
- Do not read the image back; report the saved path only.
If the key is missing, check `skills."nano-banana-pro".apiKey` or `skills."nano-banana-pro".env.GEMINI_API_KEY` in `~/.clawdis/clawdis.json`, or ask the user to provide one.
## Resolution
- `1K` (default), `2K`, `4K`
- Map user intent: low/1080 → `1K`, medium/2K → `2K`, high/ultra/4K → `4K`
## Filename
Use `{timestamp}-{short-name}.png` (yyyy-mm-dd-hh-mm-ss, lowercase, hyphens).
## Output
Do **not** read the image back; just report the saved path.

View File

@@ -0,0 +1,36 @@
---
name: openai-image-gen
description: Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
metadata: {"clawdis":{"requires":{"bins":["python3"],"env":["OPENAI_API_KEY"]},"primaryEnv":"OPENAI_API_KEY"}}
---
# OpenAI Image Gen
Generate a handful of "random but structured" prompts and render them via OpenAI Images API.
## Setup
- Needs env: `OPENAI_API_KEY`
## Run
From any directory (outputs to `~/Projects/tmp/...` when present; else `./tmp/...`):
```bash
python3 ~/Projects/agent-scripts/skills/openai-image-gen/scripts/gen.py
open ~/Projects/tmp/openai-image-gen-*/index.html
```
Useful flags:
```bash
python3 ~/Projects/agent-scripts/skills/openai-image-gen/scripts/gen.py --count 16 --model gpt-image-1.5
python3 ~/Projects/agent-scripts/skills/openai-image-gen/scripts/gen.py --prompt "ultra-detailed studio photo of a lobster astronaut" --count 4
python3 ~/Projects/agent-scripts/skills/openai-image-gen/scripts/gen.py --size 1536x1024 --quality high --out-dir ./out/images
```
## Output
- `*.png` images
- `prompts.json` (prompt to file mapping)
- `index.html` (thumbnail gallery)

View File

@@ -1,15 +1,18 @@
--- ---
name: openai-whisper name: openai-whisper
description: Local speech-to-text using OpenAI Whisper CLI. description: Local speech-to-text with the Whisper CLI (no API key).
metadata: {"clawdis":{"requires":{"bins":["whisper"]}}} metadata: {"clawdis":{"requires":{"bins":["whisper"]}}}
--- ---
# OpenAI Whisper (CLI) # Whisper (CLI)
Use `whisper` for local speech-to-text. Start with: Use `whisper` to transcribe audio locally.
```bash Quick start
whisper --help - `whisper /path/audio.mp3 --model medium --output_format txt --output_dir .`
``` - `whisper /path/audio.m4a --task translate --output_format srt`
Prefer small files first; keep outputs in the current working directory. Notes
- Models download to `~/.cache/whisper` on first run.
- `--model` defaults to `turbo` on this install.
- Use smaller models for speed, larger for accuracy.

View File

@@ -1,15 +1,29 @@
--- ---
name: openhue name: openhue
description: Control Philips Hue lights and scenes via CLI. description: Control Philips Hue lights/scenes via the OpenHue CLI.
metadata: {"clawdis":{"requires":{"bins":["openhue"]}}} metadata: {"clawdis":{"requires":{"bins":["openhue"]}}}
--- ---
# OpenHue CLI # OpenHue CLI
Use `openhue` to control Hue lights/scenes. Start with: Use `openhue` to control Hue lights and scenes via a Hue Bridge.
```bash Setup
openhue --help - Discover bridges: `openhue discover`
``` - Guided setup: `openhue setup`
Prefer listing lights/scenes before toggling. Read
- `openhue get light --json`
- `openhue get room --json`
- `openhue get scene --json`
Write
- Turn on: `openhue set light <id-or-name> --on`
- Turn off: `openhue set light <id-or-name> --off`
- Brightness: `openhue set light <id> --on --brightness 50`
- Color: `openhue set light <id> --on --rgb #3399FF`
- Scene: `openhue set scene <scene-id>`
Notes
- You may need to press the Hue Bridge button during setup.
- Use `--room "Room Name"` when light names are ambiguous.

View File

@@ -6,10 +6,17 @@ metadata: {"clawdis":{"requires":{"bins":["oracle"]}}}
# oracle # oracle
Use `oracle` to run a second-model review or debugging pass. Use `oracle` to bundle prompts + files for a second model.
```bash Quick start
oracle --help - `oracle --help`
``` - `oracle -p "Review this" --file "src/**/*.ts"`
- `oracle --render --copy -p "Summarize" --file docs/README.md`
If the binary is missing, use `npx -y @steipete/oracle --help`. Engines
- API: requires `OPENAI_API_KEY` (plus `GEMINI_API_KEY` / `ANTHROPIC_API_KEY` for those models)
- Browser: `oracle --engine browser ...` (uses logged-in Chrome)
Notes
- If missing, run `npx -y @steipete/oracle --help`.
- For long runs, add `--wait` to block until done.

View File

@@ -1,20 +1,21 @@
--- ---
name: peekaboo name: peekaboo
description: Capture and inspect macOS UI via the Peekaboo CLI. description: Capture and automate macOS UI with the Peekaboo CLI.
metadata: {"clawdis":{"requires":{"bins":["peekaboo"]}}} metadata: {"clawdis":{"requires":{"bins":["peekaboo"]}}}
--- ---
# Peekaboo # Peekaboo
Fast UI capture and inspection. Use `peekaboo` to capture, inspect, and interact with macOS UI.
## Common commands
Core commands
- Capture: `peekaboo capture` - Capture: `peekaboo capture`
- Inspect: `peekaboo see` - Inspect: `peekaboo see --annotate`
- Click: `peekaboo click` - Click: `peekaboo click --target "..."`
- List windows: `peekaboo list` - List windows: `peekaboo list`
- Tool info: `peekaboo tools` - Tool info: `peekaboo tools`
- Permissions: `peekaboo permissions status` - Permissions: `peekaboo permissions status`
Requires Screen Recording + Accessibility permissions. Notes
- Requires Screen Recording + Accessibility permissions.
- Use `peekaboo see --annotate` to identify targets before clicking.

View File

@@ -1,15 +1,25 @@
--- ---
name: qmd name: qmd
description: Search notes/content with qmd (BM25 + vectors + rerank). description: Local search/indexing CLI (BM25 + vectors + rerank) with MCP mode.
metadata: {"clawdis":{"requires":{"bins":["qmd"]}}} metadata: {"clawdis":{"requires":{"bins":["qmd"]}}}
--- ---
# qmd # qmd
Use `qmd` to search local content. Start with: Use `qmd` to index local files and search them.
```bash Indexing
qmd --help - Add collection: `qmd collection add /path --name docs --mask "**/*.md"`
``` - Update index: `qmd update`
- Status: `qmd status`
Use concise queries and refine with filters if available. Search
- BM25: `qmd search "query"`
- Vector: `qmd vsearch "query"`
- Hybrid: `qmd query "query"`
- Get doc: `qmd get docs/path.md:10 -l 40`
Notes
- Embeddings/rerank use Ollama at `OLLAMA_URL` (default `http://localhost:11434`).
- Index lives under `~/.cache/qmd` by default.
- MCP mode: `qmd mcp`.

View File

@@ -1,15 +1,29 @@
--- ---
name: sag name: sag
description: ElevenLabs text-to-speech with mac-style say UX. description: ElevenLabs text-to-speech with mac-style say UX.
metadata: {"clawdis":{"requires":{"bins":["sag"]}}} metadata: {"clawdis":{"requires":{"bins":["sag"],"env":["ELEVENLABS_API_KEY"]},"primaryEnv":"ELEVENLABS_API_KEY"}}
--- ---
# sag # sag
Use `sag` to speak or stream text to speakers. Start with: Use `sag` for ElevenLabs TTS with local playback.
```bash API key (required)
sag --help - `ELEVENLABS_API_KEY` (preferred)
``` - `SAG_API_KEY` also supported by the CLI
Confirm the voice/speaker before long output. Quick start
- `sag "Hello there"`
- `sag speak -v "Roger" "Hello"`
- `sag voices`
- `sag prompting` (model-specific tips)
Model notes
- Default: `eleven_v3` (expressive)
- Stable: `eleven_multilingual_v2`
- Fast: `eleven_flash_v2_5`
Voice defaults
- `ELEVENLABS_VOICE_ID` or `SAG_VOICE_ID`
Confirm voice + speaker before long output.

View File

@@ -6,12 +6,20 @@ metadata: {"clawdis":{"requires":{"bins":["sonos"]}}}
# Sonos CLI # Sonos CLI
Use `sonos` to control Sonos speakers. Use `sonos` to control Sonos speakers on the local network.
- Discover: `sonos discover` Quick start
- Status: `sonos status` - `sonos discover`
- Playback: `sonos play|pause|stop` - `sonos status --name "Kitchen"`
- Volume: `sonos volume set <0-100>` - `sonos play|pause|stop --name "Kitchen"`
- Group: `sonos group <leader> <member>` - `sonos volume set 15 --name "Kitchen"`
If SSDP fails, specify `--ip <speaker-ip>`. Common tasks
- Grouping: `sonos group status|join|unjoin|party|solo`
- Favorites: `sonos favorites list|open`
- Queue: `sonos queue list|play|clear`
- Spotify search (via SMAPI): `sonos smapi search --service "Spotify" --category tracks "query"`
Notes
- If SSDP fails, specify `--ip <speaker-ip>`.
- Spotify Web API search is optional and requires `SPOTIFY_CLIENT_ID/SECRET`.

View File

@@ -1,15 +1,24 @@
--- ---
name: spotify-player name: spotify-player
description: Control Spotify playback from the terminal. description: Terminal Spotify client (TUI + CLI commands) for playback and search.
metadata: {"clawdis":{"requires":{"bins":["spotify-player"]}}} metadata: {"clawdis":{"requires":{"bins":["spotify_player"]}}}
--- ---
# spotify-player # spotify_player
Use `spotify-player` to search, queue, and control playback. Use `spotify_player` for Spotify playback/search in the terminal.
```bash Requirements
spotify-player --help - Spotify Premium account.
``` - First-time auth: `spotify_player authenticate`.
Confirm the device/target if multiple are available. Common CLI commands
- Search: `spotify_player search "query"`
- Playback: `spotify_player playback play|pause|next|previous`
- Connect device: `spotify_player connect`
- Like track: `spotify_player like`
Notes
- Config folder: `~/.config/spotify-player` (e.g., `app.toml`).
- For Spotify Connect integration, set a user `client_id` in config.
- TUI shortcuts are available via `?` in the app.

View File

@@ -1,15 +1,27 @@
--- ---
name: wacli name: wacli
description: WhatsApp CLI for syncing, searching, and sending messages. description: WhatsApp CLI for sync, search, and sending messages.
metadata: {"clawdis":{"requires":{"bins":["wacli"]}}} metadata: {"clawdis":{"requires":{"bins":["wacli"]}}}
--- ---
# wacli # wacli
Use `wacli` to sync/search/send WhatsApp messages. Start with: Use `wacli` for WhatsApp sync/search/send via WhatsApp Web protocol.
```bash Auth + sync
wacli --help - `wacli auth` (QR login + initial sync)
``` - `wacli sync --follow` (continuous sync)
- `wacli doctor`
Confirm before sending messages. Search + history
- `wacli messages search "query"`
- `wacli history backfill --chat <jid> --requests 5 --count 50`
Send
- Text: `wacli send text --to 1234567890 --message "hello"`
- File: `wacli send file --to 1234567890 --file /path/pic.jpg --caption "hi"`
Notes
- Store dir: `~/.wacli` (override with `--store`).
- Backfill requires your phone online; results are best-effort.
- Confirm recipient + message before sending.