docs: refine skills
This commit is contained in:
@@ -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.
|
|
||||||
@@ -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`
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
21
skills/brave-search/SKILL.md
Normal file
21
skills/brave-search/SKILL.md
Normal 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.
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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`.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
|
||||||
@@ -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`.
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
|
||||||
|
|||||||
36
skills/openai-image-gen/SKILL.md
Normal file
36
skills/openai-image-gen/SKILL.md
Normal 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)
|
||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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`.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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`.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user