@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.
- package/README.md +4 -0
- package/dist/formatter.d.ts.map +1 -1
- package/dist/formatter.js +3 -3
- package/dist/frontmatter.d.ts +13 -1
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +51 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +10 -3
- package/dist/resolver.d.ts +17 -0
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +54 -1
- package/dist/types.d.ts +38 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -6
- package/skills/apple-reminders/SKILL.md +1 -1
- package/skills/blucli/SKILL.md +1 -1
- package/skills/bluebubbles/SKILL.md +1 -1
- package/skills/camsnap/SKILL.md +1 -1
- package/skills/canvas/SKILL.md +6 -6
- package/skills/coding-agent/SKILL.md +2 -2
- package/skills/eliza-app-development/SKILL.md +62 -0
- package/skills/eliza-app-development/references/repo-map.md +70 -0
- package/skills/eliza-app-development/references/runtime-and-cloud.md +61 -0
- package/skills/eliza-cloud/SKILL.md +39 -0
- package/skills/eliza-cloud/references/apps-and-containers.md +73 -0
- package/skills/eliza-cloud/references/cloud-backend-and-monetization.md +99 -0
- package/skills/elizaos/SKILL.md +27 -0
- package/skills/elizaos/references/core-abstractions.md +101 -0
- package/skills/elizaos/references/plugin-development.md +74 -0
- package/skills/github/SKILL.md +1 -1
- package/skills/imsg/SKILL.md +1 -1
- package/skills/nano-banana-pro/SKILL.md +1 -1
- package/skills/nano-pdf/SKILL.md +1 -1
- package/skills/notion/SKILL.md +1 -1
- package/skills/obsidian/SKILL.md +1 -1
- package/skills/ordercli/SKILL.md +1 -1
- package/skills/skill-creator/SKILL.md +1 -1
- package/skills/slack/SKILL.md +1 -1
- package/skills/spotify-player/SKILL.md +1 -1
- package/skills/tmux/SKILL.md +1 -1
- package/skills/trello/SKILL.md +1 -1
- package/skills/wacli/SKILL.md +1 -1
- package/skills/weather/SKILL.md +1 -1
- package/skills/yara-authoring/SKILL.md +111 -0
- package/skills/bear-notes/SKILL.md +0 -107
- package/skills/bird/SKILL.md +0 -224
- package/skills/blogwatcher/SKILL.md +0 -69
- package/skills/clawhub/SKILL.md +0 -77
- package/skills/eightctl/SKILL.md +0 -50
- package/skills/food-order/SKILL.md +0 -48
- package/skills/gemini/SKILL.md +0 -43
- package/skills/gifgrep/SKILL.md +0 -79
- package/skills/gog/SKILL.md +0 -116
- package/skills/goplaces/SKILL.md +0 -52
- package/skills/himalaya/SKILL.md +0 -257
- package/skills/himalaya/references/configuration.md +0 -184
- package/skills/himalaya/references/message-composition.md +0 -199
- package/skills/local-places/SERVER_README.md +0 -101
- package/skills/local-places/SKILL.md +0 -102
- package/skills/local-places/pyproject.toml +0 -21
- package/skills/local-places/src/local_places/__init__.py +0 -2
- package/skills/local-places/src/local_places/google_places.py +0 -314
- package/skills/local-places/src/local_places/main.py +0 -65
- package/skills/local-places/src/local_places/schemas.py +0 -107
- package/skills/mcporter/SKILL.md +0 -61
- package/skills/model-usage/SKILL.md +0 -69
- package/skills/model-usage/references/codexbar-cli.md +0 -33
- package/skills/model-usage/scripts/model_usage.py +0 -310
- package/skills/openai-image-gen/SKILL.md +0 -89
- package/skills/openai-image-gen/scripts/gen.py +0 -240
- package/skills/openai-whisper/SKILL.md +0 -38
- package/skills/openai-whisper-api/SKILL.md +0 -52
- package/skills/openai-whisper-api/scripts/transcribe.sh +0 -85
- package/skills/openhue/SKILL.md +0 -51
- package/skills/oracle/SKILL.md +0 -125
- package/skills/peekaboo/SKILL.md +0 -190
- package/skills/sag/SKILL.md +0 -87
- package/skills/session-logs/SKILL.md +0 -115
- package/skills/sharp-edges/.claude-plugin/plugin.json +0 -10
- package/skills/sharp-edges/README.md +0 -48
- package/skills/sharp-edges/SKILL.md +0 -292
- package/skills/sharp-edges/skills/sharp-edges/SKILL.md +0 -292
- package/skills/sharp-edges/skills/sharp-edges/references/auth-patterns.md +0 -252
- package/skills/sharp-edges/skills/sharp-edges/references/case-studies.md +0 -274
- package/skills/sharp-edges/skills/sharp-edges/references/config-patterns.md +0 -333
- package/skills/sharp-edges/skills/sharp-edges/references/crypto-apis.md +0 -190
- package/skills/sharp-edges/skills/sharp-edges/references/lang-c.md +0 -205
- package/skills/sharp-edges/skills/sharp-edges/references/lang-csharp.md +0 -285
- package/skills/sharp-edges/skills/sharp-edges/references/lang-go.md +0 -270
- package/skills/sharp-edges/skills/sharp-edges/references/lang-java.md +0 -263
- package/skills/sharp-edges/skills/sharp-edges/references/lang-javascript.md +0 -269
- package/skills/sharp-edges/skills/sharp-edges/references/lang-kotlin.md +0 -265
- package/skills/sharp-edges/skills/sharp-edges/references/lang-php.md +0 -245
- package/skills/sharp-edges/skills/sharp-edges/references/lang-python.md +0 -274
- package/skills/sharp-edges/skills/sharp-edges/references/lang-ruby.md +0 -273
- package/skills/sharp-edges/skills/sharp-edges/references/lang-rust.md +0 -272
- package/skills/sharp-edges/skills/sharp-edges/references/lang-swift.md +0 -287
- package/skills/sharp-edges/skills/sharp-edges/references/language-specific.md +0 -588
- package/skills/sherpa-onnx-tts/SKILL.md +0 -103
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
- package/skills/songsee/SKILL.md +0 -49
- package/skills/sonoscli/SKILL.md +0 -46
- package/skills/spec-to-code-compliance/.claude-plugin/plugin.json +0 -10
- package/skills/spec-to-code-compliance/README.md +0 -67
- package/skills/spec-to-code-compliance/SKILL.md +0 -349
- package/skills/spec-to-code-compliance/commands/spec-compliance.md +0 -22
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/SKILL.md +0 -349
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +0 -69
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +0 -417
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +0 -105
- package/skills/static-analysis/.claude-plugin/plugin.json +0 -8
- package/skills/static-analysis/README.md +0 -59
- package/skills/static-analysis/SKILL.md +0 -91
- package/skills/static-analysis/skills/codeql/SKILL.md +0 -315
- package/skills/static-analysis/skills/sarif-parsing/SKILL.md +0 -479
- package/skills/static-analysis/skills/sarif-parsing/resources/jq-queries.md +0 -162
- package/skills/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +0 -331
- package/skills/static-analysis/skills/semgrep/SKILL.md +0 -337
- package/skills/summarize/SKILL.md +0 -87
- package/skills/testing-handbook-skills/.claude-plugin/plugin.json +0 -8
- package/skills/testing-handbook-skills/README.md +0 -241
- package/skills/testing-handbook-skills/SKILL.md +0 -104
- package/skills/testing-handbook-skills/scripts/pyproject.toml +0 -8
- package/skills/testing-handbook-skills/scripts/validate-skills.py +0 -657
- package/skills/testing-handbook-skills/skills/address-sanitizer/SKILL.md +0 -341
- package/skills/testing-handbook-skills/skills/aflpp/SKILL.md +0 -640
- package/skills/testing-handbook-skills/skills/atheris/SKILL.md +0 -515
- package/skills/testing-handbook-skills/skills/cargo-fuzz/SKILL.md +0 -454
- package/skills/testing-handbook-skills/skills/codeql/SKILL.md +0 -549
- package/skills/testing-handbook-skills/skills/constant-time-testing/SKILL.md +0 -507
- package/skills/testing-handbook-skills/skills/coverage-analysis/SKILL.md +0 -607
- package/skills/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md +0 -297
- package/skills/testing-handbook-skills/skills/fuzzing-obstacles/SKILL.md +0 -426
- package/skills/testing-handbook-skills/skills/harness-writing/SKILL.md +0 -614
- package/skills/testing-handbook-skills/skills/libafl/SKILL.md +0 -625
- package/skills/testing-handbook-skills/skills/libfuzzer/SKILL.md +0 -795
- package/skills/testing-handbook-skills/skills/ossfuzz/SKILL.md +0 -426
- package/skills/testing-handbook-skills/skills/ruzzy/SKILL.md +0 -443
- package/skills/testing-handbook-skills/skills/semgrep/SKILL.md +0 -601
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/SKILL.md +0 -372
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/agent-prompt.md +0 -280
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/discovery.md +0 -452
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/domain-skill.md +0 -504
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/fuzzer-skill.md +0 -454
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/technique-skill.md +0 -527
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/tool-skill.md +0 -366
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/testing.md +0 -482
- package/skills/testing-handbook-skills/skills/wycheproof/SKILL.md +0 -533
- package/skills/video-frames/SKILL.md +0 -46
- package/skills/video-frames/scripts/frame.sh +0 -81
- package/skills/voice-call/SKILL.md +0 -45
package/skills/weather/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: weather
|
|
3
|
-
description: Get current weather and forecasts (no API key required).
|
|
3
|
+
description: Get current weather and forecasts (no API key required). Use when the user asks about the weather, temperature, forecast, wind, humidity, or climate conditions for a city or location. Fetches real-time weather data from free services using curl.
|
|
4
4
|
homepage: https://wttr.in/:help
|
|
5
5
|
metadata: { "otto": { "emoji": "🌤️", "requires": { "bins": ["curl"] } } }
|
|
6
6
|
---
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: yara-authoring
|
|
3
|
+
description: "Write and test YARA rules for malware detection and threat hunting. Use when creating YARA signatures, detecting malware families, scanning files or memory for indicators of compromise, or building detection rules for threat intelligence."
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# YARA Rule Authoring
|
|
13
|
+
|
|
14
|
+
## When to Use
|
|
15
|
+
|
|
16
|
+
- Writing YARA rules to detect malware samples or families
|
|
17
|
+
- Creating detection signatures for indicators of compromise (IOCs)
|
|
18
|
+
- Scanning files or directories for known threat patterns
|
|
19
|
+
- Building threat hunting rules from intelligence reports
|
|
20
|
+
- Classifying unknown samples based on behavioral or structural patterns
|
|
21
|
+
|
|
22
|
+
## When NOT to Use
|
|
23
|
+
|
|
24
|
+
- Dynamic malware analysis (use sandbox environments)
|
|
25
|
+
- Network traffic analysis (use Suricata/Snort rules)
|
|
26
|
+
- Static analysis of source code (use Semgrep/CodeQL)
|
|
27
|
+
|
|
28
|
+
## Rule Template
|
|
29
|
+
|
|
30
|
+
```yara
|
|
31
|
+
rule MalwareFamily_Variant : tag1 tag2 {
|
|
32
|
+
meta:
|
|
33
|
+
author = "analyst"
|
|
34
|
+
description = "Detects MalwareFamily variant based on unique strings"
|
|
35
|
+
date = "2024-01-01"
|
|
36
|
+
reference = "https://example.com/report"
|
|
37
|
+
hash = "abc123..."
|
|
38
|
+
severity = "high"
|
|
39
|
+
|
|
40
|
+
strings:
|
|
41
|
+
$s1 = "unique_malware_string" ascii
|
|
42
|
+
$s2 = { 4D 5A 90 00 03 00 } // hex pattern
|
|
43
|
+
$s3 = /https?:\/\/[a-z0-9]+\.evil\.com/ nocase // regex
|
|
44
|
+
|
|
45
|
+
condition:
|
|
46
|
+
uint16(0) == 0x5A4D and // MZ header (PE file)
|
|
47
|
+
filesize < 5MB and
|
|
48
|
+
(2 of ($s*))
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## String Types
|
|
53
|
+
|
|
54
|
+
| Type | Syntax | Use Case |
|
|
55
|
+
|------|--------|----------|
|
|
56
|
+
| Text | `"string"` | ASCII strings |
|
|
57
|
+
| Hex | `{ AA BB CC }` | Byte patterns, shellcode |
|
|
58
|
+
| Regex | `/pattern/` | Flexible text matching |
|
|
59
|
+
|
|
60
|
+
### Modifiers
|
|
61
|
+
- `ascii` / `wide` — encoding
|
|
62
|
+
- `nocase` — case insensitive
|
|
63
|
+
- `fullword` — word boundary matching
|
|
64
|
+
- `xor` — XOR-encoded strings
|
|
65
|
+
- `base64` — base64-encoded strings
|
|
66
|
+
|
|
67
|
+
## Condition Operators
|
|
68
|
+
|
|
69
|
+
```yara
|
|
70
|
+
condition:
|
|
71
|
+
all of them // All strings match
|
|
72
|
+
any of ($a*) // Any string starting with $a
|
|
73
|
+
2 of ($s1, $s2, $s3) // At least 2 of listed strings
|
|
74
|
+
#s1 > 3 // String $s1 appears more than 3 times
|
|
75
|
+
@s1 < 0x100 // String $s1 found before offset 0x100
|
|
76
|
+
filesize < 1MB // File size constraint
|
|
77
|
+
uint16(0) == 0x5A4D // Magic bytes at offset
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Scanning
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Scan a file
|
|
84
|
+
yara rule.yar target_file
|
|
85
|
+
|
|
86
|
+
# Scan directory recursively
|
|
87
|
+
yara -r rules/ /path/to/scan/
|
|
88
|
+
|
|
89
|
+
# Scan with metadata output
|
|
90
|
+
yara -m -s rule.yar target_file
|
|
91
|
+
|
|
92
|
+
# Compile rules for faster repeated scanning
|
|
93
|
+
yarac rules/ compiled.yarc
|
|
94
|
+
yara -C compiled.yarc /path/to/scan/
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Best Practices
|
|
98
|
+
|
|
99
|
+
1. Always include `meta` with author, description, date, and reference
|
|
100
|
+
2. Use `filesize` and magic byte checks to limit scope
|
|
101
|
+
3. Prefer multiple weak indicators over one strong indicator
|
|
102
|
+
4. Test against known samples AND clean files for false positives
|
|
103
|
+
5. Use `private` rules for helper conditions
|
|
104
|
+
6. Avoid overly broad regex patterns that cause performance issues
|
|
105
|
+
7. Version control your rules and track detection rates
|
|
106
|
+
|
|
107
|
+
## Resources
|
|
108
|
+
|
|
109
|
+
- YARA Documentation — https://yara.readthedocs.io/
|
|
110
|
+
- YARA Rules Repository — https://github.com/Yara-Rules/rules
|
|
111
|
+
- VirusTotal YARA — https://docs.virustotal.com/docs/yara
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bear-notes
|
|
3
|
-
description: Create, search, and manage Bear notes via grizzly CLI.
|
|
4
|
-
homepage: https://bear.app
|
|
5
|
-
metadata:
|
|
6
|
-
{
|
|
7
|
-
"otto":
|
|
8
|
-
{
|
|
9
|
-
"emoji": "🐻",
|
|
10
|
-
"os": ["darwin"],
|
|
11
|
-
"requires": { "bins": ["grizzly"] },
|
|
12
|
-
"install":
|
|
13
|
-
[
|
|
14
|
-
{
|
|
15
|
-
"id": "go",
|
|
16
|
-
"kind": "go",
|
|
17
|
-
"module": "github.com/tylerwince/grizzly/cmd/grizzly@latest",
|
|
18
|
-
"bins": ["grizzly"],
|
|
19
|
-
"label": "Install grizzly (go)",
|
|
20
|
-
},
|
|
21
|
-
],
|
|
22
|
-
},
|
|
23
|
-
}
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
# Bear Notes
|
|
27
|
-
|
|
28
|
-
Use `grizzly` to create, read, and manage notes in Bear on macOS.
|
|
29
|
-
|
|
30
|
-
Requirements
|
|
31
|
-
|
|
32
|
-
- Bear app installed and running
|
|
33
|
-
- For some operations (add-text, tags, open-note --selected), a Bear app token (stored in `~/.config/grizzly/token`)
|
|
34
|
-
|
|
35
|
-
## Getting a Bear Token
|
|
36
|
-
|
|
37
|
-
For operations that require a token (add-text, tags, open-note --selected), you need an authentication token:
|
|
38
|
-
|
|
39
|
-
1. Open Bear → Help → API Token → Copy Token
|
|
40
|
-
2. Save it: `echo "YOUR_TOKEN" > ~/.config/grizzly/token`
|
|
41
|
-
|
|
42
|
-
## Common Commands
|
|
43
|
-
|
|
44
|
-
Create a note
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
echo "Note content here" | grizzly create --title "My Note" --tag work
|
|
48
|
-
grizzly create --title "Quick Note" --tag inbox < /dev/null
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Open/read a note by ID
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
grizzly open-note --id "NOTE_ID" --enable-callback --json
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Append text to a note
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
echo "Additional content" | grizzly add-text --id "NOTE_ID" --mode append --token-file ~/.config/grizzly/token
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
List all tags
|
|
64
|
-
|
|
65
|
-
```bash
|
|
66
|
-
grizzly tags --enable-callback --json --token-file ~/.config/grizzly/token
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Search notes (via open-tag)
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
grizzly open-tag --name "work" --enable-callback --json
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Options
|
|
76
|
-
|
|
77
|
-
Common flags:
|
|
78
|
-
|
|
79
|
-
- `--dry-run` — Preview the URL without executing
|
|
80
|
-
- `--print-url` — Show the x-callback-url
|
|
81
|
-
- `--enable-callback` — Wait for Bear's response (needed for reading data)
|
|
82
|
-
- `--json` — Output as JSON (when using callbacks)
|
|
83
|
-
- `--token-file PATH` — Path to Bear API token file
|
|
84
|
-
|
|
85
|
-
## Configuration
|
|
86
|
-
|
|
87
|
-
Grizzly reads config from (in priority order):
|
|
88
|
-
|
|
89
|
-
1. CLI flags
|
|
90
|
-
2. Environment variables (`GRIZZLY_TOKEN_FILE`, `GRIZZLY_CALLBACK_URL`, `GRIZZLY_TIMEOUT`)
|
|
91
|
-
3. `.grizzly.toml` in current directory
|
|
92
|
-
4. `~/.config/grizzly/config.toml`
|
|
93
|
-
|
|
94
|
-
Example `~/.config/grizzly/config.toml`:
|
|
95
|
-
|
|
96
|
-
```toml
|
|
97
|
-
token_file = "~/.config/grizzly/token"
|
|
98
|
-
callback_url = "http://127.0.0.1:42123/success"
|
|
99
|
-
timeout = "5s"
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Notes
|
|
103
|
-
|
|
104
|
-
- Bear must be running for commands to work
|
|
105
|
-
- Note IDs are Bear's internal identifiers (visible in note info or via callbacks)
|
|
106
|
-
- Use `--enable-callback` when you need to read data back from Bear
|
|
107
|
-
- Some operations require a valid token (add-text, tags, open-note --selected)
|
package/skills/bird/SKILL.md
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bird
|
|
3
|
-
description: X/Twitter CLI for reading, searching, posting, and engagement via cookies.
|
|
4
|
-
homepage: https://bird.fast
|
|
5
|
-
metadata:
|
|
6
|
-
{
|
|
7
|
-
"otto":
|
|
8
|
-
{
|
|
9
|
-
"emoji": "🐦",
|
|
10
|
-
"requires": { "bins": ["bird"] },
|
|
11
|
-
"install":
|
|
12
|
-
[
|
|
13
|
-
{
|
|
14
|
-
"id": "brew",
|
|
15
|
-
"kind": "brew",
|
|
16
|
-
"formula": "steipete/tap/bird",
|
|
17
|
-
"bins": ["bird"],
|
|
18
|
-
"label": "Install bird (brew)",
|
|
19
|
-
"os": ["darwin"],
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"id": "npm",
|
|
23
|
-
"kind": "node",
|
|
24
|
-
"package": "@steipete/bird",
|
|
25
|
-
"bins": ["bird"],
|
|
26
|
-
"label": "Install bird (npm)",
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
},
|
|
30
|
-
}
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
# bird 🐦
|
|
34
|
-
|
|
35
|
-
Fast X/Twitter CLI using GraphQL + cookie auth.
|
|
36
|
-
|
|
37
|
-
## Install
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
# npm/pnpm/bun
|
|
41
|
-
npm install -g @steipete/bird
|
|
42
|
-
|
|
43
|
-
# Homebrew (macOS, prebuilt binary)
|
|
44
|
-
brew install steipete/tap/bird
|
|
45
|
-
|
|
46
|
-
# One-shot (no install)
|
|
47
|
-
bunx @steipete/bird whoami
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Authentication
|
|
51
|
-
|
|
52
|
-
`bird` uses cookie-based auth.
|
|
53
|
-
|
|
54
|
-
Use `--auth-token` / `--ct0` to pass cookies directly, or `--cookie-source` for browser cookies.
|
|
55
|
-
|
|
56
|
-
Run `bird check` to see which source is active. For Arc/Brave, use `--chrome-profile-dir <path>`.
|
|
57
|
-
|
|
58
|
-
## Commands
|
|
59
|
-
|
|
60
|
-
### Account & Auth
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
bird whoami # Show logged-in account
|
|
64
|
-
bird check # Show credential sources
|
|
65
|
-
bird query-ids --fresh # Refresh GraphQL query ID cache
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Reading Tweets
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
bird read <url-or-id> # Read a single tweet
|
|
72
|
-
bird <url-or-id> # Shorthand for read
|
|
73
|
-
bird thread <url-or-id> # Full conversation thread
|
|
74
|
-
bird replies <url-or-id> # List replies to a tweet
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Timelines
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
bird home # Home timeline (For You)
|
|
81
|
-
bird home --following # Following timeline
|
|
82
|
-
bird user-tweets @handle -n 20 # User's profile timeline
|
|
83
|
-
bird mentions # Tweets mentioning you
|
|
84
|
-
bird mentions --user @handle # Mentions of another user
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Search
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
bird search "query" -n 10
|
|
91
|
-
bird search "from:steipete" --all --max-pages 3
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### News & Trending
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
bird news -n 10 # AI-curated from Explore tabs
|
|
98
|
-
bird news --ai-only # Filter to AI-curated only
|
|
99
|
-
bird news --sports # Sports tab
|
|
100
|
-
bird news --with-tweets # Include related tweets
|
|
101
|
-
bird trending # Alias for news
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Lists
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
bird lists # Your lists
|
|
108
|
-
bird lists --member-of # Lists you're a member of
|
|
109
|
-
bird list-timeline <id> -n 20 # Tweets from a list
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Bookmarks & Likes
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
bird bookmarks -n 10
|
|
116
|
-
bird bookmarks --folder-id <id> # Specific folder
|
|
117
|
-
bird bookmarks --include-parent # Include parent tweet
|
|
118
|
-
bird bookmarks --author-chain # Author's self-reply chain
|
|
119
|
-
bird bookmarks --full-chain-only # Full reply chain
|
|
120
|
-
bird unbookmark <url-or-id>
|
|
121
|
-
bird likes -n 10
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### Social Graph
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
bird following -n 20 # Users you follow
|
|
128
|
-
bird followers -n 20 # Users following you
|
|
129
|
-
bird following --user <id> # Another user's following
|
|
130
|
-
bird about @handle # Account origin/location info
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### Engagement Actions
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
bird follow @handle # Follow a user
|
|
137
|
-
bird unfollow @handle # Unfollow a user
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### Posting
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
bird tweet "hello world"
|
|
144
|
-
bird reply <url-or-id> "nice thread!"
|
|
145
|
-
bird tweet "check this out" --media image.png --alt "description"
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**⚠️ Posting risks**: Posting is more likely to be rate limited; if blocked, use the browser tool instead.
|
|
149
|
-
|
|
150
|
-
## Media Uploads
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
bird tweet "hi" --media img.png --alt "description"
|
|
154
|
-
bird tweet "pics" --media a.jpg --media b.jpg # Up to 4 images
|
|
155
|
-
bird tweet "video" --media clip.mp4 # Or 1 video
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## Pagination
|
|
159
|
-
|
|
160
|
-
Commands supporting pagination: `replies`, `thread`, `search`, `bookmarks`, `likes`, `list-timeline`, `following`, `followers`, `user-tweets`
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
bird bookmarks --all # Fetch all pages
|
|
164
|
-
bird bookmarks --max-pages 3 # Limit pages
|
|
165
|
-
bird bookmarks --cursor <cursor> # Resume from cursor
|
|
166
|
-
bird replies <id> --all --delay 1000 # Delay between pages (ms)
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
## Output Options
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
--json # JSON output
|
|
173
|
-
--json-full # JSON with raw API response
|
|
174
|
-
--plain # No emoji, no color (script-friendly)
|
|
175
|
-
--no-emoji # Disable emoji
|
|
176
|
-
--no-color # Disable ANSI colors (or set NO_COLOR=1)
|
|
177
|
-
--quote-depth n # Max quoted tweet depth in JSON (default: 1)
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
## Global Options
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
--auth-token <token> # Set auth_token cookie
|
|
184
|
-
--ct0 <token> # Set ct0 cookie
|
|
185
|
-
--cookie-source <source> # Cookie source for browser cookies (repeatable)
|
|
186
|
-
--chrome-profile <name> # Chrome profile name
|
|
187
|
-
--chrome-profile-dir <path> # Chrome/Chromium profile dir or cookie DB path
|
|
188
|
-
--firefox-profile <name> # Firefox profile
|
|
189
|
-
--timeout <ms> # Request timeout
|
|
190
|
-
--cookie-timeout <ms> # Cookie extraction timeout
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
## Config File
|
|
194
|
-
|
|
195
|
-
`~/.config/bird/config.json5` (global) or `./.birdrc.json5` (project):
|
|
196
|
-
|
|
197
|
-
```json5
|
|
198
|
-
{
|
|
199
|
-
cookieSource: ["chrome"],
|
|
200
|
-
chromeProfileDir: "/path/to/Arc/Profile",
|
|
201
|
-
timeoutMs: 20000,
|
|
202
|
-
quoteDepth: 1,
|
|
203
|
-
}
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
Environment variables: `BIRD_TIMEOUT_MS`, `BIRD_COOKIE_TIMEOUT_MS`, `BIRD_QUOTE_DEPTH`
|
|
207
|
-
|
|
208
|
-
## Troubleshooting
|
|
209
|
-
|
|
210
|
-
### Query IDs stale (404 errors)
|
|
211
|
-
|
|
212
|
-
```bash
|
|
213
|
-
bird query-ids --fresh
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Cookie extraction fails
|
|
217
|
-
|
|
218
|
-
- Check browser is logged into X
|
|
219
|
-
- Try different `--cookie-source`
|
|
220
|
-
- For Arc/Brave: use `--chrome-profile-dir`
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
**TL;DR**: Read/search/engage with CLI. Post carefully or use browser. 🐦
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: blogwatcher
|
|
3
|
-
description: Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
|
|
4
|
-
homepage: https://github.com/Hyaxia/blogwatcher
|
|
5
|
-
metadata:
|
|
6
|
-
{
|
|
7
|
-
"otto":
|
|
8
|
-
{
|
|
9
|
-
"emoji": "📰",
|
|
10
|
-
"requires": { "bins": ["blogwatcher"] },
|
|
11
|
-
"install":
|
|
12
|
-
[
|
|
13
|
-
{
|
|
14
|
-
"id": "go",
|
|
15
|
-
"kind": "go",
|
|
16
|
-
"module": "github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest",
|
|
17
|
-
"bins": ["blogwatcher"],
|
|
18
|
-
"label": "Install blogwatcher (go)",
|
|
19
|
-
},
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
}
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# blogwatcher
|
|
26
|
-
|
|
27
|
-
Track blog and RSS/Atom feed updates with the `blogwatcher` CLI.
|
|
28
|
-
|
|
29
|
-
Install
|
|
30
|
-
|
|
31
|
-
- Go: `go install github.com/Hyaxia/blogwatcher/cmd/blogwatcher@latest`
|
|
32
|
-
|
|
33
|
-
Quick start
|
|
34
|
-
|
|
35
|
-
- `blogwatcher --help`
|
|
36
|
-
|
|
37
|
-
Common commands
|
|
38
|
-
|
|
39
|
-
- Add a blog: `blogwatcher add "My Blog" https://example.com`
|
|
40
|
-
- List blogs: `blogwatcher blogs`
|
|
41
|
-
- Scan for updates: `blogwatcher scan`
|
|
42
|
-
- List articles: `blogwatcher articles`
|
|
43
|
-
- Mark an article read: `blogwatcher read 1`
|
|
44
|
-
- Mark all articles read: `blogwatcher read-all`
|
|
45
|
-
- Remove a blog: `blogwatcher remove "My Blog"`
|
|
46
|
-
|
|
47
|
-
Example output
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
$ blogwatcher blogs
|
|
51
|
-
Tracked blogs (1):
|
|
52
|
-
|
|
53
|
-
xkcd
|
|
54
|
-
URL: https://xkcd.com
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
$ blogwatcher scan
|
|
59
|
-
Scanning 1 blog(s)...
|
|
60
|
-
|
|
61
|
-
xkcd
|
|
62
|
-
Source: RSS | Found: 4 | New: 4
|
|
63
|
-
|
|
64
|
-
Found 4 new article(s) total!
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Notes
|
|
68
|
-
|
|
69
|
-
- Use `blogwatcher <command> --help` to discover flags and options.
|
package/skills/clawhub/SKILL.md
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: clawhub
|
|
3
|
-
description: Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawhub CLI.
|
|
4
|
-
metadata:
|
|
5
|
-
{
|
|
6
|
-
"otto":
|
|
7
|
-
{
|
|
8
|
-
"requires": { "bins": ["clawhub"] },
|
|
9
|
-
"install":
|
|
10
|
-
[
|
|
11
|
-
{
|
|
12
|
-
"id": "node",
|
|
13
|
-
"kind": "node",
|
|
14
|
-
"package": "clawhub",
|
|
15
|
-
"bins": ["clawhub"],
|
|
16
|
-
"label": "Install ClawHub CLI (npm)",
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
},
|
|
20
|
-
}
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
# ClawHub CLI
|
|
24
|
-
|
|
25
|
-
Install
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npm i -g clawhub
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Auth (publish)
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
clawhub login
|
|
35
|
-
clawhub whoami
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Search
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
clawhub search "postgres backups"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Install
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
clawhub install my-skill
|
|
48
|
-
clawhub install my-skill --version 1.2.3
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Update (hash-based match + upgrade)
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
clawhub update my-skill
|
|
55
|
-
clawhub update my-skill --version 1.2.3
|
|
56
|
-
clawhub update --all
|
|
57
|
-
clawhub update my-skill --force
|
|
58
|
-
clawhub update --all --no-input --force
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
List
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
clawhub list
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Publish
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
clawhub publish ./my-skill --slug my-skill --name "My Skill" --version 1.2.0 --changelog "Fixes + docs"
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
Notes
|
|
74
|
-
|
|
75
|
-
- Default registry: https://clawhub.com (override with CLAWHUB_REGISTRY or --registry)
|
|
76
|
-
- Default workdir: cwd (falls back to Otto workspace); install dir: ./skills (override with --workdir / --dir / CLAWHUB_WORKDIR)
|
|
77
|
-
- Update command hashes local files, resolves matching version, and upgrades to latest unless --version is set
|
package/skills/eightctl/SKILL.md
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: eightctl
|
|
3
|
-
description: Control Eight Sleep pods (status, temperature, alarms, schedules).
|
|
4
|
-
homepage: https://eightctl.sh
|
|
5
|
-
metadata:
|
|
6
|
-
{
|
|
7
|
-
"otto":
|
|
8
|
-
{
|
|
9
|
-
"emoji": "🎛️",
|
|
10
|
-
"requires": { "bins": ["eightctl"] },
|
|
11
|
-
"install":
|
|
12
|
-
[
|
|
13
|
-
{
|
|
14
|
-
"id": "go",
|
|
15
|
-
"kind": "go",
|
|
16
|
-
"module": "github.com/steipete/eightctl/cmd/eightctl@latest",
|
|
17
|
-
"bins": ["eightctl"],
|
|
18
|
-
"label": "Install eightctl (go)",
|
|
19
|
-
},
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
}
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# eightctl
|
|
26
|
-
|
|
27
|
-
Use `eightctl` for Eight Sleep pod control. Requires auth.
|
|
28
|
-
|
|
29
|
-
Auth
|
|
30
|
-
|
|
31
|
-
- Config: `~/.config/eightctl/config.yaml`
|
|
32
|
-
- Env: `EIGHTCTL_EMAIL`, `EIGHTCTL_PASSWORD`
|
|
33
|
-
|
|
34
|
-
Quick start
|
|
35
|
-
|
|
36
|
-
- `eightctl status`
|
|
37
|
-
- `eightctl on|off`
|
|
38
|
-
- `eightctl temp 20`
|
|
39
|
-
|
|
40
|
-
Common tasks
|
|
41
|
-
|
|
42
|
-
- Alarms: `eightctl alarm list|create|dismiss`
|
|
43
|
-
- Schedules: `eightctl schedule list|create|update`
|
|
44
|
-
- Audio: `eightctl audio state|play|pause`
|
|
45
|
-
- Base: `eightctl base info|angle`
|
|
46
|
-
|
|
47
|
-
Notes
|
|
48
|
-
|
|
49
|
-
- API is unofficial and rate-limited; avoid repeated logins.
|
|
50
|
-
- Confirm before changing temperature or alarms.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: food-order
|
|
3
|
-
description: "Reorder Foodora orders + track ETA/status with ordercli. Never confirm without explicit user approval. Triggers: order food, reorder, track ETA."
|
|
4
|
-
homepage: https://ordercli.sh
|
|
5
|
-
metadata: {"otto":{"emoji":"🥡","requires":{"bins":["ordercli"]},"install":[{"id":"go","kind":"go","module":"github.com/steipete/ordercli/cmd/ordercli@latest","bins":["ordercli"],"label":"Install ordercli (go)"}]}}
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Food order (Foodora via ordercli)
|
|
9
|
-
|
|
10
|
-
Goal: reorder a previous Foodora order safely (preview first; confirm only on explicit user “yes/confirm/place the order”).
|
|
11
|
-
|
|
12
|
-
Hard safety rules
|
|
13
|
-
|
|
14
|
-
- Never run `ordercli foodora reorder ... --confirm` unless user explicitly confirms placing the order.
|
|
15
|
-
- Prefer preview-only steps first; show what will happen; ask for confirmation.
|
|
16
|
-
- If user is unsure: stop at preview and ask questions.
|
|
17
|
-
|
|
18
|
-
Setup (once)
|
|
19
|
-
|
|
20
|
-
- Country: `ordercli foodora countries` → `ordercli foodora config set --country AT`
|
|
21
|
-
- Login (password): `ordercli foodora login --email you@example.com --password-stdin`
|
|
22
|
-
- Login (no password, preferred): `ordercli foodora session chrome --url https://www.foodora.at/ --profile "Default"`
|
|
23
|
-
|
|
24
|
-
Find what to reorder
|
|
25
|
-
|
|
26
|
-
- Recent list: `ordercli foodora history --limit 10`
|
|
27
|
-
- Details: `ordercli foodora history show <orderCode>`
|
|
28
|
-
- If needed (machine-readable): `ordercli foodora history show <orderCode> --json`
|
|
29
|
-
|
|
30
|
-
Preview reorder (no cart changes)
|
|
31
|
-
|
|
32
|
-
- `ordercli foodora reorder <orderCode>`
|
|
33
|
-
|
|
34
|
-
Place reorder (cart change; explicit confirmation required)
|
|
35
|
-
|
|
36
|
-
- Confirm first, then run: `ordercli foodora reorder <orderCode> --confirm`
|
|
37
|
-
- Multiple addresses? Ask user for the right `--address-id` (take from their Foodora account / prior order data) and run:
|
|
38
|
-
- `ordercli foodora reorder <orderCode> --confirm --address-id <id>`
|
|
39
|
-
|
|
40
|
-
Track the order
|
|
41
|
-
|
|
42
|
-
- ETA/status (active list): `ordercli foodora orders`
|
|
43
|
-
- Live updates: `ordercli foodora orders --watch`
|
|
44
|
-
- Single order detail: `ordercli foodora order <orderCode>`
|
|
45
|
-
|
|
46
|
-
Debug / safe testing
|
|
47
|
-
|
|
48
|
-
- Use a throwaway config: `ordercli --config /tmp/ordercli.json ...`
|