@elizaos/skills 2.0.0-alpha.10

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 (291) hide show
  1. package/README.md +126 -0
  2. package/dist/formatter.d.ts +44 -0
  3. package/dist/formatter.d.ts.map +1 -0
  4. package/dist/formatter.js +182 -0
  5. package/dist/frontmatter.d.ts +39 -0
  6. package/dist/frontmatter.d.ts.map +1 -0
  7. package/dist/frontmatter.js +105 -0
  8. package/dist/index.d.ts +29 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +31 -0
  11. package/dist/loader.d.ts +33 -0
  12. package/dist/loader.d.ts.map +1 -0
  13. package/dist/loader.js +362 -0
  14. package/dist/resolver.d.ts +18 -0
  15. package/dist/resolver.d.ts.map +1 -0
  16. package/dist/resolver.js +90 -0
  17. package/dist/types.d.ts +201 -0
  18. package/dist/types.d.ts.map +1 -0
  19. package/dist/types.js +1 -0
  20. package/package.json +57 -0
  21. package/skills/1password/SKILL.md +70 -0
  22. package/skills/1password/references/cli-examples.md +29 -0
  23. package/skills/1password/references/get-started.md +17 -0
  24. package/skills/apple-notes/SKILL.md +77 -0
  25. package/skills/apple-reminders/SKILL.md +96 -0
  26. package/skills/bear-notes/SKILL.md +107 -0
  27. package/skills/bird/SKILL.md +224 -0
  28. package/skills/blogwatcher/SKILL.md +69 -0
  29. package/skills/blucli/SKILL.md +47 -0
  30. package/skills/bluebubbles/SKILL.md +131 -0
  31. package/skills/camsnap/SKILL.md +45 -0
  32. package/skills/canvas/SKILL.md +203 -0
  33. package/skills/clawhub/SKILL.md +77 -0
  34. package/skills/coding-agent/SKILL.md +284 -0
  35. package/skills/discord/SKILL.md +578 -0
  36. package/skills/eightctl/SKILL.md +50 -0
  37. package/skills/food-order/SKILL.md +48 -0
  38. package/skills/gemini/SKILL.md +43 -0
  39. package/skills/gifgrep/SKILL.md +79 -0
  40. package/skills/github/SKILL.md +77 -0
  41. package/skills/gog/SKILL.md +116 -0
  42. package/skills/goplaces/SKILL.md +52 -0
  43. package/skills/healthcheck/SKILL.md +245 -0
  44. package/skills/himalaya/SKILL.md +257 -0
  45. package/skills/himalaya/references/configuration.md +184 -0
  46. package/skills/himalaya/references/message-composition.md +199 -0
  47. package/skills/imsg/SKILL.md +74 -0
  48. package/skills/local-places/SERVER_README.md +101 -0
  49. package/skills/local-places/SKILL.md +102 -0
  50. package/skills/local-places/pyproject.toml +21 -0
  51. package/skills/local-places/src/local_places/__init__.py +2 -0
  52. package/skills/local-places/src/local_places/google_places.py +314 -0
  53. package/skills/local-places/src/local_places/main.py +65 -0
  54. package/skills/local-places/src/local_places/schemas.py +107 -0
  55. package/skills/mcporter/SKILL.md +61 -0
  56. package/skills/model-usage/SKILL.md +69 -0
  57. package/skills/model-usage/references/codexbar-cli.md +33 -0
  58. package/skills/model-usage/scripts/model_usage.py +310 -0
  59. package/skills/nano-banana-pro/SKILL.md +58 -0
  60. package/skills/nano-banana-pro/scripts/generate_image.py +184 -0
  61. package/skills/nano-pdf/SKILL.md +38 -0
  62. package/skills/notion/SKILL.md +172 -0
  63. package/skills/obsidian/SKILL.md +81 -0
  64. package/skills/openai-image-gen/SKILL.md +89 -0
  65. package/skills/openai-image-gen/scripts/gen.py +240 -0
  66. package/skills/openai-whisper/SKILL.md +38 -0
  67. package/skills/openai-whisper-api/SKILL.md +52 -0
  68. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  69. package/skills/openhue/SKILL.md +51 -0
  70. package/skills/oracle/SKILL.md +125 -0
  71. package/skills/ordercli/SKILL.md +78 -0
  72. package/skills/peekaboo/SKILL.md +190 -0
  73. package/skills/sag/SKILL.md +87 -0
  74. package/skills/security-ask-questions-if-underspecified/.claude-plugin/plugin.json +10 -0
  75. package/skills/security-ask-questions-if-underspecified/README.md +24 -0
  76. package/skills/security-ask-questions-if-underspecified/SKILL.md +85 -0
  77. package/skills/security-ask-questions-if-underspecified/skills/ask-questions-if-underspecified/SKILL.md +85 -0
  78. package/skills/security-audit-context-building/.claude-plugin/plugin.json +10 -0
  79. package/skills/security-audit-context-building/README.md +58 -0
  80. package/skills/security-audit-context-building/SKILL.md +297 -0
  81. package/skills/security-audit-context-building/commands/audit-context.md +21 -0
  82. package/skills/security-audit-context-building/skills/audit-context-building/SKILL.md +297 -0
  83. package/skills/security-audit-context-building/skills/audit-context-building/resources/COMPLETENESS_CHECKLIST.md +47 -0
  84. package/skills/security-audit-context-building/skills/audit-context-building/resources/FUNCTION_MICRO_ANALYSIS_EXAMPLE.md +355 -0
  85. package/skills/security-audit-context-building/skills/audit-context-building/resources/OUTPUT_REQUIREMENTS.md +71 -0
  86. package/skills/security-building-secure-contracts/.claude-plugin/plugin.json +10 -0
  87. package/skills/security-building-secure-contracts/README.md +241 -0
  88. package/skills/security-building-secure-contracts/SKILL.md +67 -0
  89. package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/SKILL.md +284 -0
  90. package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +405 -0
  91. package/skills/security-building-secure-contracts/skills/audit-prep-assistant/SKILL.md +409 -0
  92. package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/SKILL.md +329 -0
  93. package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +722 -0
  94. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/SKILL.md +218 -0
  95. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/ASSESSMENT_CRITERIA.md +355 -0
  96. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/EXAMPLE_REPORT.md +248 -0
  97. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/REPORT_FORMAT.md +33 -0
  98. package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/SKILL.md +334 -0
  99. package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +740 -0
  100. package/skills/security-building-secure-contracts/skills/guidelines-advisor/SKILL.md +252 -0
  101. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/ASSESSMENT_AREAS.md +329 -0
  102. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/DELIVERABLES.md +118 -0
  103. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/EXAMPLE_REPORT.md +298 -0
  104. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/SKILL.md +161 -0
  105. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/EXAMPLE_REPORT.md +279 -0
  106. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/WORKFLOW_STEPS.md +132 -0
  107. package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/SKILL.md +389 -0
  108. package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +669 -0
  109. package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/SKILL.md +298 -0
  110. package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +791 -0
  111. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/SKILL.md +362 -0
  112. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/ASSESSMENT_CATEGORIES.md +571 -0
  113. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/REPORT_TEMPLATES.md +141 -0
  114. package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/SKILL.md +388 -0
  115. package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +595 -0
  116. package/skills/security-differential-review/.claude-plugin/plugin.json +10 -0
  117. package/skills/security-differential-review/README.md +109 -0
  118. package/skills/security-differential-review/SKILL.md +220 -0
  119. package/skills/security-differential-review/commands/diff-review.md +21 -0
  120. package/skills/security-differential-review/skills/differential-review/SKILL.md +220 -0
  121. package/skills/security-differential-review/skills/differential-review/adversarial.md +203 -0
  122. package/skills/security-differential-review/skills/differential-review/methodology.md +234 -0
  123. package/skills/security-differential-review/skills/differential-review/patterns.md +300 -0
  124. package/skills/security-differential-review/skills/differential-review/reporting.md +369 -0
  125. package/skills/security-entry-point-analyzer/.claude-plugin/plugin.json +10 -0
  126. package/skills/security-entry-point-analyzer/README.md +74 -0
  127. package/skills/security-entry-point-analyzer/SKILL.md +251 -0
  128. package/skills/security-entry-point-analyzer/commands/entry-points.md +18 -0
  129. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/SKILL.md +251 -0
  130. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/cosmwasm.md +182 -0
  131. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-aptos.md +107 -0
  132. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-sui.md +87 -0
  133. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solana.md +155 -0
  134. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solidity.md +135 -0
  135. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/ton.md +185 -0
  136. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/vyper.md +141 -0
  137. package/skills/security-fix-review/.claude-plugin/plugin.json +13 -0
  138. package/skills/security-fix-review/README.md +118 -0
  139. package/skills/security-fix-review/SKILL.md +264 -0
  140. package/skills/security-fix-review/commands/fix-review.md +24 -0
  141. package/skills/security-fix-review/skills/fix-review/SKILL.md +264 -0
  142. package/skills/security-fix-review/skills/fix-review/references/bug-detection.md +408 -0
  143. package/skills/security-fix-review/skills/fix-review/references/finding-matching.md +298 -0
  144. package/skills/security-fix-review/skills/fix-review/references/report-parsing.md +398 -0
  145. package/skills/security-insecure-defaults/.claude-plugin/plugin.json +10 -0
  146. package/skills/security-insecure-defaults/README.md +45 -0
  147. package/skills/security-insecure-defaults/SKILL.md +117 -0
  148. package/skills/security-insecure-defaults/skills/insecure-defaults/SKILL.md +117 -0
  149. package/skills/security-insecure-defaults/skills/insecure-defaults/references/examples.md +409 -0
  150. package/skills/security-modern-python/.claude-plugin/plugin.json +10 -0
  151. package/skills/security-modern-python/README.md +58 -0
  152. package/skills/security-modern-python/SKILL.md +333 -0
  153. package/skills/security-modern-python/hooks/hooks.json +16 -0
  154. package/skills/security-modern-python/hooks/intercept-legacy-python.bats +388 -0
  155. package/skills/security-modern-python/hooks/intercept-legacy-python.sh +109 -0
  156. package/skills/security-modern-python/hooks/test_helper.bash +75 -0
  157. package/skills/security-modern-python/skills/modern-python/SKILL.md +333 -0
  158. package/skills/security-modern-python/skills/modern-python/references/dependabot.md +43 -0
  159. package/skills/security-modern-python/skills/modern-python/references/migration-checklist.md +141 -0
  160. package/skills/security-modern-python/skills/modern-python/references/pep723-scripts.md +259 -0
  161. package/skills/security-modern-python/skills/modern-python/references/prek.md +211 -0
  162. package/skills/security-modern-python/skills/modern-python/references/pyproject.md +254 -0
  163. package/skills/security-modern-python/skills/modern-python/references/ruff-config.md +240 -0
  164. package/skills/security-modern-python/skills/modern-python/references/security-setup.md +255 -0
  165. package/skills/security-modern-python/skills/modern-python/references/testing.md +284 -0
  166. package/skills/security-modern-python/skills/modern-python/references/uv-commands.md +200 -0
  167. package/skills/security-modern-python/skills/modern-python/templates/dependabot.yml +36 -0
  168. package/skills/security-modern-python/skills/modern-python/templates/pre-commit-config.yaml +66 -0
  169. package/skills/security-property-based-testing/.claude-plugin/plugin.json +9 -0
  170. package/skills/security-property-based-testing/README.md +47 -0
  171. package/skills/security-property-based-testing/SKILL.md +109 -0
  172. package/skills/security-property-based-testing/skills/property-based-testing/README.md +88 -0
  173. package/skills/security-property-based-testing/skills/property-based-testing/SKILL.md +109 -0
  174. package/skills/security-property-based-testing/skills/property-based-testing/references/design.md +191 -0
  175. package/skills/security-property-based-testing/skills/property-based-testing/references/generating.md +200 -0
  176. package/skills/security-property-based-testing/skills/property-based-testing/references/libraries.md +130 -0
  177. package/skills/security-property-based-testing/skills/property-based-testing/references/refactoring.md +181 -0
  178. package/skills/security-property-based-testing/skills/property-based-testing/references/reviewing.md +209 -0
  179. package/skills/security-property-based-testing/skills/property-based-testing/references/strategies.md +124 -0
  180. package/skills/semgrep-rule-creator/.claude-plugin/plugin.json +8 -0
  181. package/skills/semgrep-rule-creator/README.md +43 -0
  182. package/skills/semgrep-rule-creator/SKILL.md +168 -0
  183. package/skills/semgrep-rule-creator/commands/semgrep-rule.md +26 -0
  184. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/SKILL.md +168 -0
  185. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/quick-reference.md +203 -0
  186. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/workflow.md +240 -0
  187. package/skills/session-logs/SKILL.md +115 -0
  188. package/skills/sharp-edges/.claude-plugin/plugin.json +10 -0
  189. package/skills/sharp-edges/README.md +48 -0
  190. package/skills/sharp-edges/SKILL.md +292 -0
  191. package/skills/sharp-edges/skills/sharp-edges/SKILL.md +292 -0
  192. package/skills/sharp-edges/skills/sharp-edges/references/auth-patterns.md +252 -0
  193. package/skills/sharp-edges/skills/sharp-edges/references/case-studies.md +274 -0
  194. package/skills/sharp-edges/skills/sharp-edges/references/config-patterns.md +333 -0
  195. package/skills/sharp-edges/skills/sharp-edges/references/crypto-apis.md +190 -0
  196. package/skills/sharp-edges/skills/sharp-edges/references/lang-c.md +205 -0
  197. package/skills/sharp-edges/skills/sharp-edges/references/lang-csharp.md +285 -0
  198. package/skills/sharp-edges/skills/sharp-edges/references/lang-go.md +270 -0
  199. package/skills/sharp-edges/skills/sharp-edges/references/lang-java.md +263 -0
  200. package/skills/sharp-edges/skills/sharp-edges/references/lang-javascript.md +269 -0
  201. package/skills/sharp-edges/skills/sharp-edges/references/lang-kotlin.md +265 -0
  202. package/skills/sharp-edges/skills/sharp-edges/references/lang-php.md +245 -0
  203. package/skills/sharp-edges/skills/sharp-edges/references/lang-python.md +274 -0
  204. package/skills/sharp-edges/skills/sharp-edges/references/lang-ruby.md +273 -0
  205. package/skills/sharp-edges/skills/sharp-edges/references/lang-rust.md +272 -0
  206. package/skills/sharp-edges/skills/sharp-edges/references/lang-swift.md +287 -0
  207. package/skills/sharp-edges/skills/sharp-edges/references/language-specific.md +588 -0
  208. package/skills/sherpa-onnx-tts/SKILL.md +103 -0
  209. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  210. package/skills/skill-creator/SKILL.md +370 -0
  211. package/skills/skill-creator/license.txt +202 -0
  212. package/skills/skill-creator/scripts/init_skill.py +378 -0
  213. package/skills/skill-creator/scripts/package_skill.py +111 -0
  214. package/skills/skill-creator/scripts/quick_validate.py +101 -0
  215. package/skills/slack/SKILL.md +144 -0
  216. package/skills/songsee/SKILL.md +49 -0
  217. package/skills/sonoscli/SKILL.md +46 -0
  218. package/skills/spec-to-code-compliance/.claude-plugin/plugin.json +10 -0
  219. package/skills/spec-to-code-compliance/README.md +67 -0
  220. package/skills/spec-to-code-compliance/SKILL.md +349 -0
  221. package/skills/spec-to-code-compliance/commands/spec-compliance.md +22 -0
  222. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/SKILL.md +349 -0
  223. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +69 -0
  224. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +417 -0
  225. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +105 -0
  226. package/skills/spotify-player/SKILL.md +64 -0
  227. package/skills/static-analysis/.claude-plugin/plugin.json +8 -0
  228. package/skills/static-analysis/README.md +59 -0
  229. package/skills/static-analysis/SKILL.md +91 -0
  230. package/skills/static-analysis/skills/codeql/SKILL.md +315 -0
  231. package/skills/static-analysis/skills/sarif-parsing/SKILL.md +479 -0
  232. package/skills/static-analysis/skills/sarif-parsing/resources/jq-queries.md +162 -0
  233. package/skills/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +331 -0
  234. package/skills/static-analysis/skills/semgrep/SKILL.md +337 -0
  235. package/skills/summarize/SKILL.md +87 -0
  236. package/skills/testing-handbook-skills/.claude-plugin/plugin.json +8 -0
  237. package/skills/testing-handbook-skills/README.md +241 -0
  238. package/skills/testing-handbook-skills/SKILL.md +104 -0
  239. package/skills/testing-handbook-skills/scripts/pyproject.toml +8 -0
  240. package/skills/testing-handbook-skills/scripts/validate-skills.py +657 -0
  241. package/skills/testing-handbook-skills/skills/address-sanitizer/SKILL.md +341 -0
  242. package/skills/testing-handbook-skills/skills/aflpp/SKILL.md +640 -0
  243. package/skills/testing-handbook-skills/skills/atheris/SKILL.md +515 -0
  244. package/skills/testing-handbook-skills/skills/cargo-fuzz/SKILL.md +454 -0
  245. package/skills/testing-handbook-skills/skills/codeql/SKILL.md +549 -0
  246. package/skills/testing-handbook-skills/skills/constant-time-testing/SKILL.md +507 -0
  247. package/skills/testing-handbook-skills/skills/coverage-analysis/SKILL.md +607 -0
  248. package/skills/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md +297 -0
  249. package/skills/testing-handbook-skills/skills/fuzzing-obstacles/SKILL.md +426 -0
  250. package/skills/testing-handbook-skills/skills/harness-writing/SKILL.md +614 -0
  251. package/skills/testing-handbook-skills/skills/libafl/SKILL.md +625 -0
  252. package/skills/testing-handbook-skills/skills/libfuzzer/SKILL.md +795 -0
  253. package/skills/testing-handbook-skills/skills/ossfuzz/SKILL.md +426 -0
  254. package/skills/testing-handbook-skills/skills/ruzzy/SKILL.md +443 -0
  255. package/skills/testing-handbook-skills/skills/semgrep/SKILL.md +601 -0
  256. package/skills/testing-handbook-skills/skills/testing-handbook-generator/SKILL.md +372 -0
  257. package/skills/testing-handbook-skills/skills/testing-handbook-generator/agent-prompt.md +280 -0
  258. package/skills/testing-handbook-skills/skills/testing-handbook-generator/discovery.md +452 -0
  259. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/domain-skill.md +504 -0
  260. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/fuzzer-skill.md +454 -0
  261. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/technique-skill.md +527 -0
  262. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/tool-skill.md +366 -0
  263. package/skills/testing-handbook-skills/skills/testing-handbook-generator/testing.md +482 -0
  264. package/skills/testing-handbook-skills/skills/wycheproof/SKILL.md +533 -0
  265. package/skills/things-mac/SKILL.md +86 -0
  266. package/skills/tmux/SKILL.md +135 -0
  267. package/skills/tmux/scripts/find-sessions.sh +112 -0
  268. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  269. package/skills/trello/SKILL.md +95 -0
  270. package/skills/variant-analysis/.claude-plugin/plugin.json +8 -0
  271. package/skills/variant-analysis/README.md +41 -0
  272. package/skills/variant-analysis/SKILL.md +142 -0
  273. package/skills/variant-analysis/commands/variants.md +23 -0
  274. package/skills/variant-analysis/skills/variant-analysis/METHODOLOGY.md +327 -0
  275. package/skills/variant-analysis/skills/variant-analysis/SKILL.md +142 -0
  276. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/cpp.ql +119 -0
  277. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/go.ql +69 -0
  278. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/java.ql +71 -0
  279. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/javascript.ql +63 -0
  280. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/python.ql +80 -0
  281. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/cpp.yaml +98 -0
  282. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/go.yaml +63 -0
  283. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/java.yaml +61 -0
  284. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/javascript.yaml +60 -0
  285. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/python.yaml +72 -0
  286. package/skills/variant-analysis/skills/variant-analysis/resources/variant-report-template.md +75 -0
  287. package/skills/video-frames/SKILL.md +46 -0
  288. package/skills/video-frames/scripts/frame.sh +81 -0
  289. package/skills/voice-call/SKILL.md +45 -0
  290. package/skills/wacli/SKILL.md +72 -0
  291. package/skills/weather/SKILL.md +54 -0
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@elizaos/skills",
3
+ "version": "2.0.0-alpha.10",
4
+ "description": "Bundled skills and skill loading utilities for elizaOS agents",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./skills": "./skills/",
14
+ "./package.json": "./package.json"
15
+ },
16
+ "scripts": {
17
+ "clean": "rm -rf dist",
18
+ "build": "tsc -p tsconfig.build.json",
19
+ "dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
20
+ "test": "node --test --import tsx test/*.test.ts",
21
+ "prepublishOnly": "npm run clean && npm run build",
22
+ "lint": "bunx @biomejs/biome check --write ./src",
23
+ "lint:check": "bunx @biomejs/biome check ./src"
24
+ },
25
+ "files": [
26
+ "dist/**/*",
27
+ "skills/**/*",
28
+ "README.md"
29
+ ],
30
+ "keywords": [
31
+ "elizaos",
32
+ "skills",
33
+ "agent",
34
+ "ai",
35
+ "llm",
36
+ "automation"
37
+ ],
38
+ "author": "elizaOS",
39
+ "license": "MIT",
40
+ "repository": {
41
+ "type": "git",
42
+ "url": "git+https://github.com/elizaos/eliza.git",
43
+ "directory": "packages/skills"
44
+ },
45
+ "engines": {
46
+ "node": ">=22.0.0"
47
+ },
48
+ "dependencies": {
49
+ "yaml": "^2.8.2"
50
+ },
51
+ "devDependencies": {
52
+ "tsx": "^4.19.0"
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ }
57
+ }
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: 1password
3
+ description: Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
4
+ homepage: https://developer.1password.com/docs/cli/get-started/
5
+ metadata:
6
+ {
7
+ "otto":
8
+ {
9
+ "emoji": "🔐",
10
+ "requires": { "bins": ["op"] },
11
+ "install":
12
+ [
13
+ {
14
+ "id": "brew",
15
+ "kind": "brew",
16
+ "formula": "1password-cli",
17
+ "bins": ["op"],
18
+ "label": "Install 1Password CLI (brew)",
19
+ },
20
+ ],
21
+ },
22
+ }
23
+ ---
24
+
25
+ # 1Password CLI
26
+
27
+ Follow the official CLI get-started steps. Don't guess install commands.
28
+
29
+ ## References
30
+
31
+ - `references/get-started.md` (install + app integration + sign-in flow)
32
+ - `references/cli-examples.md` (real `op` examples)
33
+
34
+ ## Workflow
35
+
36
+ 1. Check OS + shell.
37
+ 2. Verify CLI present: `op --version`.
38
+ 3. Confirm desktop app integration is enabled (per get-started) and the app is unlocked.
39
+ 4. REQUIRED: create a fresh tmux session for all `op` commands (no direct `op` calls outside tmux).
40
+ 5. Sign in / authorize inside tmux: `op signin` (expect app prompt).
41
+ 6. Verify access inside tmux: `op whoami` (must succeed before any secret read).
42
+ 7. If multiple accounts: use `--account` or `OP_ACCOUNT`.
43
+
44
+ ## REQUIRED tmux session (T-Max)
45
+
46
+ The shell tool uses a fresh TTY per command. To avoid re-prompts and failures, always run `op` inside a dedicated tmux session with a fresh socket/session name.
47
+
48
+ Example (see `tmux` skill for socket conventions, do not reuse old session names):
49
+
50
+ ```bash
51
+ SOCKET_DIR="${OTTO_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/otto-tmux-sockets}"
52
+ mkdir -p "$SOCKET_DIR"
53
+ SOCKET="$SOCKET_DIR/otto-op.sock"
54
+ SESSION="op-auth-$(date +%Y%m%d-%H%M%S)"
55
+
56
+ tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
57
+ tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op signin --account my.1password.com" Enter
58
+ tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op whoami" Enter
59
+ tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- "op vault list" Enter
60
+ tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
61
+ tmux -S "$SOCKET" kill-session -t "$SESSION"
62
+ ```
63
+
64
+ ## Guardrails
65
+
66
+ - Never paste secrets into logs, chat, or code.
67
+ - Prefer `op run` / `op inject` over writing secrets to disk.
68
+ - If sign-in without app integration is needed, use `op account add`.
69
+ - If a command returns "account is not signed in", re-run `op signin` inside tmux and authorize in the app.
70
+ - Do not run `op` outside tmux; stop and ask if tmux is unavailable.
@@ -0,0 +1,29 @@
1
+ # op CLI examples (from op help)
2
+
3
+ ## Sign in
4
+
5
+ - `op signin`
6
+ - `op signin --account <shorthand|signin-address|account-id|user-id>`
7
+
8
+ ## Read
9
+
10
+ - `op read op://app-prod/db/password`
11
+ - `op read "op://app-prod/db/one-time password?attribute=otp"`
12
+ - `op read "op://app-prod/ssh key/private key?ssh-format=openssh"`
13
+ - `op read --out-file ./key.pem op://app-prod/server/ssh/key.pem`
14
+
15
+ ## Run
16
+
17
+ - `export DB_PASSWORD="op://app-prod/db/password"`
18
+ - `op run --no-masking -- printenv DB_PASSWORD`
19
+ - `op run --env-file="./.env" -- printenv DB_PASSWORD`
20
+
21
+ ## Inject
22
+
23
+ - `echo "db_password: {{ op://app-prod/db/password }}" | op inject`
24
+ - `op inject -i config.yml.tpl -o config.yml`
25
+
26
+ ## Whoami / accounts
27
+
28
+ - `op whoami`
29
+ - `op account list`
@@ -0,0 +1,17 @@
1
+ # 1Password CLI get-started (summary)
2
+
3
+ - Works on macOS, Windows, and Linux.
4
+ - macOS/Linux shells: bash, zsh, sh, fish.
5
+ - Windows shell: PowerShell.
6
+ - Requires a 1Password subscription and the desktop app to use app integration.
7
+ - macOS requirement: Big Sur 11.0.0 or later.
8
+ - Linux app integration requires PolKit + an auth agent.
9
+ - Install the CLI per the official doc for your OS.
10
+ - Enable desktop app integration in the 1Password app:
11
+ - Open and unlock the app, then select your account/collection.
12
+ - macOS: Settings > Developer > Integrate with 1Password CLI (Touch ID optional).
13
+ - Windows: turn on Windows Hello, then Settings > Developer > Integrate.
14
+ - Linux: Settings > Security > Unlock using system authentication, then Settings > Developer > Integrate.
15
+ - After integration, run any command to sign in (example in docs: `op vault list`).
16
+ - If multiple accounts: use `op signin` to pick one, or `--account` / `OP_ACCOUNT`.
17
+ - For non-integration auth, use `op account add`.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: apple-notes
3
+ description: Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Otto to add a note, list notes, search notes, or manage note folders.
4
+ homepage: https://github.com/antoniorodr/memo
5
+ metadata:
6
+ {
7
+ "otto":
8
+ {
9
+ "emoji": "📝",
10
+ "os": ["darwin"],
11
+ "requires": { "bins": ["memo"] },
12
+ "install":
13
+ [
14
+ {
15
+ "id": "brew",
16
+ "kind": "brew",
17
+ "formula": "antoniorodr/memo/memo",
18
+ "bins": ["memo"],
19
+ "label": "Install memo via Homebrew",
20
+ },
21
+ ],
22
+ },
23
+ }
24
+ ---
25
+
26
+ # Apple Notes CLI
27
+
28
+ Use `memo notes` to manage Apple Notes directly from the terminal. Create, view, edit, delete, search, move notes between folders, and export to HTML/Markdown.
29
+
30
+ Setup
31
+
32
+ - Install (Homebrew): `brew tap antoniorodr/memo && brew install antoniorodr/memo/memo`
33
+ - Manual (pip): `pip install .` (after cloning the repo)
34
+ - macOS-only; if prompted, grant Automation access to Notes.app.
35
+
36
+ View Notes
37
+
38
+ - List all notes: `memo notes`
39
+ - Filter by folder: `memo notes -f "Folder Name"`
40
+ - Search notes (fuzzy): `memo notes -s "query"`
41
+
42
+ Create Notes
43
+
44
+ - Add a new note: `memo notes -a`
45
+ - Opens an interactive editor to compose the note.
46
+ - Quick add with title: `memo notes -a "Note Title"`
47
+
48
+ Edit Notes
49
+
50
+ - Edit existing note: `memo notes -e`
51
+ - Interactive selection of note to edit.
52
+
53
+ Delete Notes
54
+
55
+ - Delete a note: `memo notes -d`
56
+ - Interactive selection of note to delete.
57
+
58
+ Move Notes
59
+
60
+ - Move note to folder: `memo notes -m`
61
+ - Interactive selection of note and destination folder.
62
+
63
+ Export Notes
64
+
65
+ - Export to HTML/Markdown: `memo notes -ex`
66
+ - Exports selected note; uses Mistune for markdown processing.
67
+
68
+ Limitations
69
+
70
+ - Cannot edit notes containing images or attachments.
71
+ - Interactive prompts may require terminal access.
72
+
73
+ Notes
74
+
75
+ - macOS-only.
76
+ - Requires Apple Notes.app to be accessible.
77
+ - For automation, grant permissions in System Settings > Privacy & Security > Automation.
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: apple-reminders
3
+ description: Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
4
+ homepage: https://github.com/steipete/remindctl
5
+ metadata:
6
+ {
7
+ "otto":
8
+ {
9
+ "emoji": "⏰",
10
+ "os": ["darwin"],
11
+ "requires": { "bins": ["remindctl"] },
12
+ "install":
13
+ [
14
+ {
15
+ "id": "brew",
16
+ "kind": "brew",
17
+ "formula": "steipete/tap/remindctl",
18
+ "bins": ["remindctl"],
19
+ "label": "Install remindctl via Homebrew",
20
+ },
21
+ ],
22
+ },
23
+ }
24
+ ---
25
+
26
+ # Apple Reminders CLI (remindctl)
27
+
28
+ Use `remindctl` to manage Apple Reminders directly from the terminal. It supports list filtering, date-based views, and scripting output.
29
+
30
+ Setup
31
+
32
+ - Install (Homebrew): `brew install steipete/tap/remindctl`
33
+ - From source: `pnpm install && pnpm build` (binary at `./bin/remindctl`)
34
+ - macOS-only; grant Reminders permission when prompted.
35
+
36
+ Permissions
37
+
38
+ - Check status: `remindctl status`
39
+ - Request access: `remindctl authorize`
40
+
41
+ View Reminders
42
+
43
+ - Default (today): `remindctl`
44
+ - Today: `remindctl today`
45
+ - Tomorrow: `remindctl tomorrow`
46
+ - Week: `remindctl week`
47
+ - Overdue: `remindctl overdue`
48
+ - Upcoming: `remindctl upcoming`
49
+ - Completed: `remindctl completed`
50
+ - All: `remindctl all`
51
+ - Specific date: `remindctl 2026-01-04`
52
+
53
+ Manage Lists
54
+
55
+ - List all lists: `remindctl list`
56
+ - Show list: `remindctl list Work`
57
+ - Create list: `remindctl list Projects --create`
58
+ - Rename list: `remindctl list Work --rename Office`
59
+ - Delete list: `remindctl list Work --delete`
60
+
61
+ Create Reminders
62
+
63
+ - Quick add: `remindctl add "Buy milk"`
64
+ - With list + due: `remindctl add --title "Call mom" --list Personal --due tomorrow`
65
+
66
+ Edit Reminders
67
+
68
+ - Edit title/due: `remindctl edit 1 --title "New title" --due 2026-01-04`
69
+
70
+ Complete Reminders
71
+
72
+ - Complete by id: `remindctl complete 1 2 3`
73
+
74
+ Delete Reminders
75
+
76
+ - Delete by id: `remindctl delete 4A83 --force`
77
+
78
+ Output Formats
79
+
80
+ - JSON (scripting): `remindctl today --json`
81
+ - Plain TSV: `remindctl today --plain`
82
+ - Counts only: `remindctl today --quiet`
83
+
84
+ Date Formats
85
+ Accepted by `--due` and date filters:
86
+
87
+ - `today`, `tomorrow`, `yesterday`
88
+ - `YYYY-MM-DD`
89
+ - `YYYY-MM-DD HH:mm`
90
+ - ISO 8601 (`2026-01-04T12:34:56Z`)
91
+
92
+ Notes
93
+
94
+ - macOS-only.
95
+ - If access is denied, enable Terminal/remindctl in System Settings → Privacy & Security → Reminders.
96
+ - If running over SSH, grant access on the Mac that runs the command.
@@ -0,0 +1,107 @@
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)
@@ -0,0 +1,224 @@
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. 🐦