@elizaos/skills 2.0.0-alpha.43 → 2.0.0-alpha.430

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +4 -0
  2. package/dist/formatter.d.ts.map +1 -1
  3. package/dist/formatter.js +3 -3
  4. package/dist/frontmatter.d.ts +13 -1
  5. package/dist/frontmatter.d.ts.map +1 -1
  6. package/dist/frontmatter.js +51 -1
  7. package/dist/index.d.ts +3 -3
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +2 -2
  10. package/dist/loader.d.ts.map +1 -1
  11. package/dist/loader.js +10 -3
  12. package/dist/resolver.d.ts +17 -0
  13. package/dist/resolver.d.ts.map +1 -1
  14. package/dist/resolver.js +54 -1
  15. package/dist/types.d.ts +38 -1
  16. package/dist/types.d.ts.map +1 -1
  17. package/package.json +7 -6
  18. package/skills/apple-reminders/SKILL.md +1 -1
  19. package/skills/blucli/SKILL.md +1 -1
  20. package/skills/bluebubbles/SKILL.md +1 -1
  21. package/skills/camsnap/SKILL.md +1 -1
  22. package/skills/canvas/SKILL.md +6 -6
  23. package/skills/coding-agent/SKILL.md +2 -2
  24. package/skills/eliza-app-development/SKILL.md +62 -0
  25. package/skills/eliza-app-development/references/repo-map.md +70 -0
  26. package/skills/eliza-app-development/references/runtime-and-cloud.md +61 -0
  27. package/skills/eliza-cloud/SKILL.md +39 -0
  28. package/skills/eliza-cloud/references/apps-and-containers.md +73 -0
  29. package/skills/eliza-cloud/references/cloud-backend-and-monetization.md +99 -0
  30. package/skills/elizaos/SKILL.md +27 -0
  31. package/skills/elizaos/references/core-abstractions.md +101 -0
  32. package/skills/elizaos/references/plugin-development.md +74 -0
  33. package/skills/github/SKILL.md +1 -1
  34. package/skills/imsg/SKILL.md +1 -1
  35. package/skills/nano-banana-pro/SKILL.md +1 -1
  36. package/skills/nano-pdf/SKILL.md +1 -1
  37. package/skills/notion/SKILL.md +1 -1
  38. package/skills/obsidian/SKILL.md +1 -1
  39. package/skills/ordercli/SKILL.md +1 -1
  40. package/skills/skill-creator/SKILL.md +1 -1
  41. package/skills/slack/SKILL.md +1 -1
  42. package/skills/spotify-player/SKILL.md +1 -1
  43. package/skills/tmux/SKILL.md +1 -1
  44. package/skills/trello/SKILL.md +1 -1
  45. package/skills/wacli/SKILL.md +1 -1
  46. package/skills/weather/SKILL.md +1 -1
  47. package/skills/yara-authoring/SKILL.md +111 -0
  48. package/skills/bear-notes/SKILL.md +0 -107
  49. package/skills/bird/SKILL.md +0 -224
  50. package/skills/blogwatcher/SKILL.md +0 -69
  51. package/skills/clawhub/SKILL.md +0 -77
  52. package/skills/eightctl/SKILL.md +0 -50
  53. package/skills/food-order/SKILL.md +0 -48
  54. package/skills/gemini/SKILL.md +0 -43
  55. package/skills/gifgrep/SKILL.md +0 -79
  56. package/skills/gog/SKILL.md +0 -116
  57. package/skills/goplaces/SKILL.md +0 -52
  58. package/skills/himalaya/SKILL.md +0 -257
  59. package/skills/himalaya/references/configuration.md +0 -184
  60. package/skills/himalaya/references/message-composition.md +0 -199
  61. package/skills/local-places/SERVER_README.md +0 -101
  62. package/skills/local-places/SKILL.md +0 -102
  63. package/skills/local-places/pyproject.toml +0 -21
  64. package/skills/local-places/src/local_places/__init__.py +0 -2
  65. package/skills/local-places/src/local_places/google_places.py +0 -314
  66. package/skills/local-places/src/local_places/main.py +0 -65
  67. package/skills/local-places/src/local_places/schemas.py +0 -107
  68. package/skills/mcporter/SKILL.md +0 -61
  69. package/skills/model-usage/SKILL.md +0 -69
  70. package/skills/model-usage/references/codexbar-cli.md +0 -33
  71. package/skills/model-usage/scripts/model_usage.py +0 -310
  72. package/skills/openai-image-gen/SKILL.md +0 -89
  73. package/skills/openai-image-gen/scripts/gen.py +0 -240
  74. package/skills/openai-whisper/SKILL.md +0 -38
  75. package/skills/openai-whisper-api/SKILL.md +0 -52
  76. package/skills/openai-whisper-api/scripts/transcribe.sh +0 -85
  77. package/skills/openhue/SKILL.md +0 -51
  78. package/skills/oracle/SKILL.md +0 -125
  79. package/skills/peekaboo/SKILL.md +0 -190
  80. package/skills/sag/SKILL.md +0 -87
  81. package/skills/session-logs/SKILL.md +0 -115
  82. package/skills/sharp-edges/.claude-plugin/plugin.json +0 -10
  83. package/skills/sharp-edges/README.md +0 -48
  84. package/skills/sharp-edges/SKILL.md +0 -292
  85. package/skills/sharp-edges/skills/sharp-edges/SKILL.md +0 -292
  86. package/skills/sharp-edges/skills/sharp-edges/references/auth-patterns.md +0 -252
  87. package/skills/sharp-edges/skills/sharp-edges/references/case-studies.md +0 -274
  88. package/skills/sharp-edges/skills/sharp-edges/references/config-patterns.md +0 -333
  89. package/skills/sharp-edges/skills/sharp-edges/references/crypto-apis.md +0 -190
  90. package/skills/sharp-edges/skills/sharp-edges/references/lang-c.md +0 -205
  91. package/skills/sharp-edges/skills/sharp-edges/references/lang-csharp.md +0 -285
  92. package/skills/sharp-edges/skills/sharp-edges/references/lang-go.md +0 -270
  93. package/skills/sharp-edges/skills/sharp-edges/references/lang-java.md +0 -263
  94. package/skills/sharp-edges/skills/sharp-edges/references/lang-javascript.md +0 -269
  95. package/skills/sharp-edges/skills/sharp-edges/references/lang-kotlin.md +0 -265
  96. package/skills/sharp-edges/skills/sharp-edges/references/lang-php.md +0 -245
  97. package/skills/sharp-edges/skills/sharp-edges/references/lang-python.md +0 -274
  98. package/skills/sharp-edges/skills/sharp-edges/references/lang-ruby.md +0 -273
  99. package/skills/sharp-edges/skills/sharp-edges/references/lang-rust.md +0 -272
  100. package/skills/sharp-edges/skills/sharp-edges/references/lang-swift.md +0 -287
  101. package/skills/sharp-edges/skills/sharp-edges/references/language-specific.md +0 -588
  102. package/skills/sherpa-onnx-tts/SKILL.md +0 -103
  103. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
  104. package/skills/songsee/SKILL.md +0 -49
  105. package/skills/sonoscli/SKILL.md +0 -46
  106. package/skills/spec-to-code-compliance/.claude-plugin/plugin.json +0 -10
  107. package/skills/spec-to-code-compliance/README.md +0 -67
  108. package/skills/spec-to-code-compliance/SKILL.md +0 -349
  109. package/skills/spec-to-code-compliance/commands/spec-compliance.md +0 -22
  110. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/SKILL.md +0 -349
  111. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +0 -69
  112. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +0 -417
  113. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +0 -105
  114. package/skills/static-analysis/.claude-plugin/plugin.json +0 -8
  115. package/skills/static-analysis/README.md +0 -59
  116. package/skills/static-analysis/SKILL.md +0 -91
  117. package/skills/static-analysis/skills/codeql/SKILL.md +0 -315
  118. package/skills/static-analysis/skills/sarif-parsing/SKILL.md +0 -479
  119. package/skills/static-analysis/skills/sarif-parsing/resources/jq-queries.md +0 -162
  120. package/skills/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +0 -331
  121. package/skills/static-analysis/skills/semgrep/SKILL.md +0 -337
  122. package/skills/summarize/SKILL.md +0 -87
  123. package/skills/testing-handbook-skills/.claude-plugin/plugin.json +0 -8
  124. package/skills/testing-handbook-skills/README.md +0 -241
  125. package/skills/testing-handbook-skills/SKILL.md +0 -104
  126. package/skills/testing-handbook-skills/scripts/pyproject.toml +0 -8
  127. package/skills/testing-handbook-skills/scripts/validate-skills.py +0 -657
  128. package/skills/testing-handbook-skills/skills/address-sanitizer/SKILL.md +0 -341
  129. package/skills/testing-handbook-skills/skills/aflpp/SKILL.md +0 -640
  130. package/skills/testing-handbook-skills/skills/atheris/SKILL.md +0 -515
  131. package/skills/testing-handbook-skills/skills/cargo-fuzz/SKILL.md +0 -454
  132. package/skills/testing-handbook-skills/skills/codeql/SKILL.md +0 -549
  133. package/skills/testing-handbook-skills/skills/constant-time-testing/SKILL.md +0 -507
  134. package/skills/testing-handbook-skills/skills/coverage-analysis/SKILL.md +0 -607
  135. package/skills/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md +0 -297
  136. package/skills/testing-handbook-skills/skills/fuzzing-obstacles/SKILL.md +0 -426
  137. package/skills/testing-handbook-skills/skills/harness-writing/SKILL.md +0 -614
  138. package/skills/testing-handbook-skills/skills/libafl/SKILL.md +0 -625
  139. package/skills/testing-handbook-skills/skills/libfuzzer/SKILL.md +0 -795
  140. package/skills/testing-handbook-skills/skills/ossfuzz/SKILL.md +0 -426
  141. package/skills/testing-handbook-skills/skills/ruzzy/SKILL.md +0 -443
  142. package/skills/testing-handbook-skills/skills/semgrep/SKILL.md +0 -601
  143. package/skills/testing-handbook-skills/skills/testing-handbook-generator/SKILL.md +0 -372
  144. package/skills/testing-handbook-skills/skills/testing-handbook-generator/agent-prompt.md +0 -280
  145. package/skills/testing-handbook-skills/skills/testing-handbook-generator/discovery.md +0 -452
  146. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/domain-skill.md +0 -504
  147. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/fuzzer-skill.md +0 -454
  148. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/technique-skill.md +0 -527
  149. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/tool-skill.md +0 -366
  150. package/skills/testing-handbook-skills/skills/testing-handbook-generator/testing.md +0 -482
  151. package/skills/testing-handbook-skills/skills/wycheproof/SKILL.md +0 -533
  152. package/skills/video-frames/SKILL.md +0 -46
  153. package/skills/video-frames/scripts/frame.sh +0 -81
  154. package/skills/voice-call/SKILL.md +0 -45
@@ -1,52 +0,0 @@
1
- ---
2
- name: openai-whisper-api
3
- description: Transcribe audio via OpenAI Audio Transcriptions API (Whisper).
4
- homepage: https://platform.openai.com/docs/guides/speech-to-text
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "☁️",
10
- "requires": { "bins": ["curl"], "env": ["OPENAI_API_KEY"] },
11
- "primaryEnv": "OPENAI_API_KEY",
12
- },
13
- }
14
- ---
15
-
16
- # OpenAI Whisper API (curl)
17
-
18
- Transcribe an audio file via OpenAI’s `/v1/audio/transcriptions` endpoint.
19
-
20
- ## Quick start
21
-
22
- ```bash
23
- {baseDir}/scripts/transcribe.sh /path/to/audio.m4a
24
- ```
25
-
26
- Defaults:
27
-
28
- - Model: `whisper-1`
29
- - Output: `<input>.txt`
30
-
31
- ## Useful flags
32
-
33
- ```bash
34
- {baseDir}/scripts/transcribe.sh /path/to/audio.ogg --model whisper-1 --out /tmp/transcript.txt
35
- {baseDir}/scripts/transcribe.sh /path/to/audio.m4a --language en
36
- {baseDir}/scripts/transcribe.sh /path/to/audio.m4a --prompt "Speaker names: Peter, Daniel"
37
- {baseDir}/scripts/transcribe.sh /path/to/audio.m4a --json --out /tmp/transcript.json
38
- ```
39
-
40
- ## API key
41
-
42
- Set `OPENAI_API_KEY`, or configure it in `~/.otto/otto.json`:
43
-
44
- ```json5
45
- {
46
- skills: {
47
- "openai-whisper-api": {
48
- apiKey: "OPENAI_KEY_HERE",
49
- },
50
- },
51
- }
52
- ```
@@ -1,85 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- usage() {
5
- cat >&2 <<'EOF'
6
- Usage:
7
- transcribe.sh <audio-file> [--model whisper-1] [--out /path/to/out.txt] [--language en] [--prompt "hint"] [--json]
8
- EOF
9
- exit 2
10
- }
11
-
12
- if [[ "${1:-}" == "" || "${1:-}" == "-h" || "${1:-}" == "--help" ]]; then
13
- usage
14
- fi
15
-
16
- in="${1:-}"
17
- shift || true
18
-
19
- model="whisper-1"
20
- out=""
21
- language=""
22
- prompt=""
23
- response_format="text"
24
-
25
- while [[ $# -gt 0 ]]; do
26
- case "$1" in
27
- --model)
28
- model="${2:-}"
29
- shift 2
30
- ;;
31
- --out)
32
- out="${2:-}"
33
- shift 2
34
- ;;
35
- --language)
36
- language="${2:-}"
37
- shift 2
38
- ;;
39
- --prompt)
40
- prompt="${2:-}"
41
- shift 2
42
- ;;
43
- --json)
44
- response_format="json"
45
- shift 1
46
- ;;
47
- *)
48
- echo "Unknown arg: $1" >&2
49
- usage
50
- ;;
51
- esac
52
- done
53
-
54
- if [[ ! -f "$in" ]]; then
55
- echo "File not found: $in" >&2
56
- exit 1
57
- fi
58
-
59
- if [[ "${OPENAI_API_KEY:-}" == "" ]]; then
60
- echo "Missing OPENAI_API_KEY" >&2
61
- exit 1
62
- fi
63
-
64
- if [[ "$out" == "" ]]; then
65
- base="${in%.*}"
66
- if [[ "$response_format" == "json" ]]; then
67
- out="${base}.json"
68
- else
69
- out="${base}.txt"
70
- fi
71
- fi
72
-
73
- mkdir -p "$(dirname "$out")"
74
-
75
- curl -sS https://api.openai.com/v1/audio/transcriptions \
76
- -H "Authorization: Bearer $OPENAI_API_KEY" \
77
- -H "Accept: application/json" \
78
- -F "file=@${in}" \
79
- -F "model=${model}" \
80
- -F "response_format=${response_format}" \
81
- ${language:+-F "language=${language}"} \
82
- ${prompt:+-F "prompt=${prompt}"} \
83
- >"$out"
84
-
85
- echo "$out"
@@ -1,51 +0,0 @@
1
- ---
2
- name: openhue
3
- description: Control Philips Hue lights/scenes via the OpenHue CLI.
4
- homepage: https://www.openhue.io/cli
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "💡",
10
- "requires": { "bins": ["openhue"] },
11
- "install":
12
- [
13
- {
14
- "id": "brew",
15
- "kind": "brew",
16
- "formula": "openhue/cli/openhue-cli",
17
- "bins": ["openhue"],
18
- "label": "Install OpenHue CLI (brew)",
19
- },
20
- ],
21
- },
22
- }
23
- ---
24
-
25
- # OpenHue CLI
26
-
27
- Use `openhue` to control Hue lights and scenes via a Hue Bridge.
28
-
29
- Setup
30
-
31
- - Discover bridges: `openhue discover`
32
- - Guided setup: `openhue setup`
33
-
34
- Read
35
-
36
- - `openhue get light --json`
37
- - `openhue get room --json`
38
- - `openhue get scene --json`
39
-
40
- Write
41
-
42
- - Turn on: `openhue set light <id-or-name> --on`
43
- - Turn off: `openhue set light <id-or-name> --off`
44
- - Brightness: `openhue set light <id> --on --brightness 50`
45
- - Color: `openhue set light <id> --on --rgb #3399FF`
46
- - Scene: `openhue set scene <scene-id>`
47
-
48
- Notes
49
-
50
- - You may need to press the Hue Bridge button during setup.
51
- - Use `--room "Room Name"` when light names are ambiguous.
@@ -1,125 +0,0 @@
1
- ---
2
- name: oracle
3
- description: Best practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
4
- homepage: https://askoracle.dev
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "🧿",
10
- "requires": { "bins": ["oracle"] },
11
- "install":
12
- [
13
- {
14
- "id": "node",
15
- "kind": "node",
16
- "package": "@steipete/oracle",
17
- "bins": ["oracle"],
18
- "label": "Install oracle (node)",
19
- },
20
- ],
21
- },
22
- }
23
- ---
24
-
25
- # oracle — best use
26
-
27
- Oracle bundles your prompt + selected files into one “one-shot” request so another model can answer with real repo context (API or browser automation). Treat output as advisory: verify against code + tests.
28
-
29
- ## Main use case (browser, GPT‑5.2 Pro)
30
-
31
- Default workflow here: `--engine browser` with GPT‑5.2 Pro in ChatGPT. This is the common “long think” path: ~10 minutes to ~1 hour is normal; expect a stored session you can reattach to.
32
-
33
- Recommended defaults:
34
-
35
- - Engine: browser (`--engine browser`)
36
- - Model: GPT‑5.2 Pro (`--model gpt-5.2-pro` or `--model "5.2 Pro"`)
37
-
38
- ## Golden path
39
-
40
- 1. Pick a tight file set (fewest files that still contain the truth).
41
- 2. Preview payload + token spend (`--dry-run` + `--files-report`).
42
- 3. Use browser mode for the usual GPT‑5.2 Pro workflow; use API only when you explicitly want it.
43
- 4. If the run detaches/timeouts: reattach to the stored session (don’t re-run).
44
-
45
- ## Commands (preferred)
46
-
47
- - Help:
48
- - `oracle --help`
49
- - If the binary isn’t installed: `npx -y @steipete/oracle --help` (avoid `pnpx` here; sqlite bindings).
50
-
51
- - Preview (no tokens):
52
- - `oracle --dry-run summary -p "<task>" --file "src/**" --file "!**/*.test.*"`
53
- - `oracle --dry-run full -p "<task>" --file "src/**"`
54
-
55
- - Token sanity:
56
- - `oracle --dry-run summary --files-report -p "<task>" --file "src/**"`
57
-
58
- - Browser run (main path; long-running is normal):
59
- - `oracle --engine browser --model gpt-5.2-pro -p "<task>" --file "src/**"`
60
-
61
- - Manual paste fallback:
62
- - `oracle --render --copy -p "<task>" --file "src/**"`
63
- - Note: `--copy` is a hidden alias for `--copy-markdown`.
64
-
65
- ## Attaching files (`--file`)
66
-
67
- `--file` accepts files, directories, and globs. You can pass it multiple times; entries can be comma-separated.
68
-
69
- - Include:
70
- - `--file "src/**"`
71
- - `--file src/index.ts`
72
- - `--file docs --file README.md`
73
-
74
- - Exclude:
75
- - `--file "src/**" --file "!src/**/*.test.ts" --file "!**/*.snap"`
76
-
77
- - Defaults (implementation behavior):
78
- - Default-ignored dirs: `node_modules`, `dist`, `coverage`, `.git`, `.turbo`, `.next`, `build`, `tmp` (skipped unless explicitly passed as literal dirs/files).
79
- - Honors `.gitignore` when expanding globs.
80
- - Does not follow symlinks.
81
- - Dotfiles filtered unless opted in via pattern (e.g. `--file ".github/**"`).
82
- - Files > 1 MB rejected.
83
-
84
- ## Engines (API vs browser)
85
-
86
- - Auto-pick: `api` when `OPENAI_API_KEY` is set; otherwise `browser`.
87
- - Browser supports GPT + Gemini only; use `--engine api` for Claude/Grok/Codex or multi-model runs.
88
- - Browser attachments:
89
- - `--browser-attachments auto|never|always` (auto pastes inline up to ~60k chars then uploads).
90
- - Remote browser host:
91
- - Host: `oracle serve --host 0.0.0.0 --port 9473 --token <secret>`
92
- - Client: `oracle --engine browser --remote-host <host:port> --remote-token <secret> -p "<task>" --file "src/**"`
93
-
94
- ## Sessions + slugs
95
-
96
- - Stored under `~/.oracle/sessions` (override with `ORACLE_HOME_DIR`).
97
- - Runs may detach or take a long time (browser + GPT‑5.2 Pro often does). If the CLI times out: don’t re-run; reattach.
98
- - List: `oracle status --hours 72`
99
- - Attach: `oracle session <id> --render`
100
- - Use `--slug "<3-5 words>"` to keep session IDs readable.
101
- - Duplicate prompt guard exists; use `--force` only when you truly want a fresh run.
102
-
103
- ## Prompt template (high signal)
104
-
105
- Oracle starts with **zero** project knowledge. Assume the model cannot infer your stack, build tooling, conventions, or “obvious” paths. Include:
106
-
107
- - Project briefing (stack + build/test commands + platform constraints).
108
- - “Where things live” (key directories, entrypoints, config files, boundaries).
109
- - Exact question + what you tried + the error text (verbatim).
110
- - Constraints (“don’t change X”, “must keep public API”, etc).
111
- - Desired output (“return patch plan + tests”, “give 3 options with tradeoffs”).
112
-
113
- ## Safety
114
-
115
- - Don’t attach secrets by default (`.env`, key files, auth tokens). Redact aggressively; share only what’s required.
116
-
117
- ## “Exhaustive prompt” restoration pattern
118
-
119
- For long investigations, write a standalone prompt + file set so you can rerun days later:
120
-
121
- - 6–30 sentence project briefing + the goal.
122
- - Repro steps + exact errors + what you tried.
123
- - Attach all context files needed (entrypoints, configs, key modules, docs).
124
-
125
- Oracle runs are one-shot; the model doesn’t remember prior runs. “Restoring context” means re-running with the same prompt + `--file …` set (or reattaching a still-running stored session).
@@ -1,190 +0,0 @@
1
- ---
2
- name: peekaboo
3
- description: Capture and automate macOS UI with the Peekaboo CLI.
4
- homepage: https://peekaboo.boo
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "👀",
10
- "os": ["darwin"],
11
- "requires": { "bins": ["peekaboo"] },
12
- "install":
13
- [
14
- {
15
- "id": "brew",
16
- "kind": "brew",
17
- "formula": "steipete/tap/peekaboo",
18
- "bins": ["peekaboo"],
19
- "label": "Install Peekaboo (brew)",
20
- },
21
- ],
22
- },
23
- }
24
- ---
25
-
26
- # Peekaboo
27
-
28
- Peekaboo is a full macOS UI automation CLI: capture/inspect screens, target UI
29
- elements, drive input, and manage apps/windows/menus. Commands share a snapshot
30
- cache and support `--json`/`-j` for scripting. Run `peekaboo` or
31
- `peekaboo <cmd> --help` for flags; `peekaboo --version` prints build metadata.
32
- Tip: run via `polter peekaboo` to ensure fresh builds.
33
-
34
- ## Features (all CLI capabilities, excluding agent/MCP)
35
-
36
- Core
37
-
38
- - `bridge`: inspect Peekaboo Bridge host connectivity
39
- - `capture`: live capture or video ingest + frame extraction
40
- - `clean`: prune snapshot cache and temp files
41
- - `config`: init/show/edit/validate, providers, models, credentials
42
- - `image`: capture screenshots (screen/window/menu bar regions)
43
- - `learn`: print the full agent guide + tool catalog
44
- - `list`: apps, windows, screens, menubar, permissions
45
- - `permissions`: check Screen Recording/Accessibility status
46
- - `run`: execute `.peekaboo.json` scripts
47
- - `sleep`: pause execution for a duration
48
- - `tools`: list available tools with filtering/display options
49
-
50
- Interaction
51
-
52
- - `click`: target by ID/query/coords with smart waits
53
- - `drag`: drag & drop across elements/coords/Dock
54
- - `hotkey`: modifier combos like `cmd,shift,t`
55
- - `move`: cursor positioning with optional smoothing
56
- - `paste`: set clipboard -> paste -> restore
57
- - `press`: special-key sequences with repeats
58
- - `scroll`: directional scrolling (targeted + smooth)
59
- - `swipe`: gesture-style drags between targets
60
- - `type`: text + control keys (`--clear`, delays)
61
-
62
- System
63
-
64
- - `app`: launch/quit/relaunch/hide/unhide/switch/list apps
65
- - `clipboard`: read/write clipboard (text/images/files)
66
- - `dialog`: click/input/file/dismiss/list system dialogs
67
- - `dock`: launch/right-click/hide/show/list Dock items
68
- - `menu`: click/list application menus + menu extras
69
- - `menubar`: list/click status bar items
70
- - `open`: enhanced `open` with app targeting + JSON payloads
71
- - `space`: list/switch/move-window (Spaces)
72
- - `visualizer`: exercise Peekaboo visual feedback animations
73
- - `window`: close/minimize/maximize/move/resize/focus/list
74
-
75
- Vision
76
-
77
- - `see`: annotated UI maps, snapshot IDs, optional analysis
78
-
79
- Global runtime flags
80
-
81
- - `--json`/`-j`, `--verbose`/`-v`, `--log-level <level>`
82
- - `--no-remote`, `--bridge-socket <path>`
83
-
84
- ## Quickstart (happy path)
85
-
86
- ```bash
87
- peekaboo permissions
88
- peekaboo list apps --json
89
- peekaboo see --annotate --path /tmp/peekaboo-see.png
90
- peekaboo click --on B1
91
- peekaboo type "Hello" --return
92
- ```
93
-
94
- ## Common targeting parameters (most interaction commands)
95
-
96
- - App/window: `--app`, `--pid`, `--window-title`, `--window-id`, `--window-index`
97
- - Snapshot targeting: `--snapshot` (ID from `see`; defaults to latest)
98
- - Element/coords: `--on`/`--id` (element ID), `--coords x,y`
99
- - Focus control: `--no-auto-focus`, `--space-switch`, `--bring-to-current-space`,
100
- `--focus-timeout-seconds`, `--focus-retry-count`
101
-
102
- ## Common capture parameters
103
-
104
- - Output: `--path`, `--format png|jpg`, `--retina`
105
- - Targeting: `--mode screen|window|frontmost`, `--screen-index`,
106
- `--window-title`, `--window-id`
107
- - Analysis: `--analyze "prompt"`, `--annotate`
108
- - Capture engine: `--capture-engine auto|classic|cg|modern|sckit`
109
-
110
- ## Common motion/typing parameters
111
-
112
- - Timing: `--duration` (drag/swipe), `--steps`, `--delay` (type/scroll/press)
113
- - Human-ish movement: `--profile human|linear`, `--wpm` (typing)
114
- - Scroll: `--direction up|down|left|right`, `--amount <ticks>`, `--smooth`
115
-
116
- ## Examples
117
-
118
- ### See -> click -> type (most reliable flow)
119
-
120
- ```bash
121
- peekaboo see --app Safari --window-title "Login" --annotate --path /tmp/see.png
122
- peekaboo click --on B3 --app Safari
123
- peekaboo type "user@example.com" --app Safari
124
- peekaboo press tab --count 1 --app Safari
125
- peekaboo type "supersecret" --app Safari --return
126
- ```
127
-
128
- ### Target by window id
129
-
130
- ```bash
131
- peekaboo list windows --app "Visual Studio Code" --json
132
- peekaboo click --window-id 12345 --coords 120,160
133
- peekaboo type "Hello from Peekaboo" --window-id 12345
134
- ```
135
-
136
- ### Capture screenshots + analyze
137
-
138
- ```bash
139
- peekaboo image --mode screen --screen-index 0 --retina --path /tmp/screen.png
140
- peekaboo image --app Safari --window-title "Dashboard" --analyze "Summarize KPIs"
141
- peekaboo see --mode screen --screen-index 0 --analyze "Summarize the dashboard"
142
- ```
143
-
144
- ### Live capture (motion-aware)
145
-
146
- ```bash
147
- peekaboo capture live --mode region --region 100,100,800,600 --duration 30 \
148
- --active-fps 8 --idle-fps 2 --highlight-changes --path /tmp/capture
149
- ```
150
-
151
- ### App + window management
152
-
153
- ```bash
154
- peekaboo app launch "Safari" --open https://example.com
155
- peekaboo window focus --app Safari --window-title "Example"
156
- peekaboo window set-bounds --app Safari --x 50 --y 50 --width 1200 --height 800
157
- peekaboo app quit --app Safari
158
- ```
159
-
160
- ### Menus, menubar, dock
161
-
162
- ```bash
163
- peekaboo menu click --app Safari --item "New Window"
164
- peekaboo menu click --app TextEdit --path "Format > Font > Show Fonts"
165
- peekaboo menu click-extra --title "WiFi"
166
- peekaboo dock launch Safari
167
- peekaboo menubar list --json
168
- ```
169
-
170
- ### Mouse + gesture input
171
-
172
- ```bash
173
- peekaboo move 500,300 --smooth
174
- peekaboo drag --from B1 --to T2
175
- peekaboo swipe --from-coords 100,500 --to-coords 100,200 --duration 800
176
- peekaboo scroll --direction down --amount 6 --smooth
177
- ```
178
-
179
- ### Keyboard input
180
-
181
- ```bash
182
- peekaboo hotkey --keys "cmd,shift,t"
183
- peekaboo press escape
184
- peekaboo type "Line 1\nLine 2" --delay 10
185
- ```
186
-
187
- Notes
188
-
189
- - Requires Screen Recording + Accessibility permissions.
190
- - Use `peekaboo see --annotate` to identify targets before clicking.
@@ -1,87 +0,0 @@
1
- ---
2
- name: sag
3
- description: ElevenLabs text-to-speech with mac-style say UX.
4
- homepage: https://sag.sh
5
- metadata:
6
- {
7
- "otto":
8
- {
9
- "emoji": "🗣️",
10
- "requires": { "bins": ["sag"], "env": ["ELEVENLABS_API_KEY"] },
11
- "primaryEnv": "ELEVENLABS_API_KEY",
12
- "install":
13
- [
14
- {
15
- "id": "brew",
16
- "kind": "brew",
17
- "formula": "steipete/tap/sag",
18
- "bins": ["sag"],
19
- "label": "Install sag (brew)",
20
- },
21
- ],
22
- },
23
- }
24
- ---
25
-
26
- # sag
27
-
28
- Use `sag` for ElevenLabs TTS with local playback.
29
-
30
- API key (required)
31
-
32
- - `ELEVENLABS_API_KEY` (preferred)
33
- - `SAG_API_KEY` also supported by the CLI
34
-
35
- Quick start
36
-
37
- - `sag "Hello there"`
38
- - `sag speak -v "Roger" "Hello"`
39
- - `sag voices`
40
- - `sag prompting` (model-specific tips)
41
-
42
- Model notes
43
-
44
- - Default: `eleven_v3` (expressive)
45
- - Stable: `eleven_multilingual_v2`
46
- - Fast: `eleven_flash_v2_5`
47
-
48
- Pronunciation + delivery rules
49
-
50
- - First fix: respell (e.g. "key-note"), add hyphens, adjust casing.
51
- - Numbers/units/URLs: `--normalize auto` (or `off` if it harms names).
52
- - Language bias: `--lang en|de|fr|...` to guide normalization.
53
- - v3: SSML `<break>` not supported; use `[pause]`, `[short pause]`, `[long pause]`.
54
- - v2/v2.5: SSML `<break time="1.5s" />` supported; `<phoneme>` not exposed in `sag`.
55
-
56
- v3 audio tags (put at the entrance of a line)
57
-
58
- - `[whispers]`, `[shouts]`, `[sings]`
59
- - `[laughs]`, `[starts laughing]`, `[sighs]`, `[exhales]`
60
- - `[sarcastic]`, `[curious]`, `[excited]`, `[crying]`, `[mischievously]`
61
- - Example: `sag "[whispers] keep this quiet. [short pause] ok?"`
62
-
63
- Voice defaults
64
-
65
- - `ELEVENLABS_VOICE_ID` or `SAG_VOICE_ID`
66
-
67
- Confirm voice + speaker before long output.
68
-
69
- ## Chat voice responses
70
-
71
- When the user asks for a "voice" reply (e.g., "crazy scientist voice", "explain in voice"), generate audio and send it:
72
-
73
- ```bash
74
- # Generate audio file
75
- sag -v Agent -o /tmp/voice-reply.mp3 "Your message here"
76
-
77
- # Then include in reply:
78
- # MEDIA:/tmp/voice-reply.mp3
79
- ```
80
-
81
- Voice character tips:
82
-
83
- - Crazy scientist: Use `[excited]` tags, dramatic pauses `[short pause]`, vary intensity
84
- - Calm: Use `[whispers]` or slower pacing
85
- - Dramatic: Use `[sings]` or `[shouts]` sparingly
86
-
87
- Default voice: `lj2rcrvANS3gaWWnczSX` (or just `-v Agent`)