@elizaos/skills 2.0.0-alpha.3
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 +126 -0
- package/package.json +53 -0
- package/skills/1password/SKILL.md +70 -0
- package/skills/1password/references/cli-examples.md +29 -0
- package/skills/1password/references/get-started.md +17 -0
- package/skills/apple-notes/SKILL.md +77 -0
- package/skills/apple-reminders/SKILL.md +96 -0
- package/skills/bear-notes/SKILL.md +107 -0
- package/skills/bird/SKILL.md +224 -0
- package/skills/blogwatcher/SKILL.md +69 -0
- package/skills/blucli/SKILL.md +47 -0
- package/skills/bluebubbles/SKILL.md +131 -0
- package/skills/camsnap/SKILL.md +45 -0
- package/skills/canvas/SKILL.md +203 -0
- package/skills/clawhub/SKILL.md +77 -0
- package/skills/coding-agent/SKILL.md +284 -0
- package/skills/discord/SKILL.md +578 -0
- package/skills/eightctl/SKILL.md +50 -0
- package/skills/food-order/SKILL.md +48 -0
- package/skills/gemini/SKILL.md +43 -0
- package/skills/gifgrep/SKILL.md +79 -0
- package/skills/github/SKILL.md +77 -0
- package/skills/gog/SKILL.md +116 -0
- package/skills/goplaces/SKILL.md +52 -0
- package/skills/healthcheck/SKILL.md +245 -0
- package/skills/himalaya/SKILL.md +257 -0
- package/skills/himalaya/references/configuration.md +184 -0
- package/skills/himalaya/references/message-composition.md +199 -0
- package/skills/imsg/SKILL.md +74 -0
- package/skills/local-places/SERVER_README.md +101 -0
- package/skills/local-places/SKILL.md +102 -0
- package/skills/local-places/pyproject.toml +21 -0
- package/skills/local-places/src/local_places/__init__.py +2 -0
- package/skills/local-places/src/local_places/google_places.py +314 -0
- package/skills/local-places/src/local_places/main.py +65 -0
- package/skills/local-places/src/local_places/schemas.py +107 -0
- package/skills/mcporter/SKILL.md +61 -0
- package/skills/model-usage/SKILL.md +69 -0
- package/skills/model-usage/references/codexbar-cli.md +33 -0
- package/skills/model-usage/scripts/model_usage.py +310 -0
- package/skills/nano-banana-pro/SKILL.md +58 -0
- package/skills/nano-banana-pro/scripts/generate_image.py +184 -0
- package/skills/nano-pdf/SKILL.md +38 -0
- package/skills/notion/SKILL.md +172 -0
- package/skills/obsidian/SKILL.md +81 -0
- package/skills/openai-image-gen/SKILL.md +89 -0
- package/skills/openai-image-gen/scripts/gen.py +240 -0
- package/skills/openai-whisper/SKILL.md +38 -0
- package/skills/openai-whisper-api/SKILL.md +52 -0
- package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
- package/skills/openhue/SKILL.md +51 -0
- package/skills/oracle/SKILL.md +125 -0
- package/skills/ordercli/SKILL.md +78 -0
- package/skills/peekaboo/SKILL.md +190 -0
- package/skills/sag/SKILL.md +87 -0
- package/skills/security-ask-questions-if-underspecified/.claude-plugin/plugin.json +10 -0
- package/skills/security-ask-questions-if-underspecified/README.md +24 -0
- package/skills/security-ask-questions-if-underspecified/skills/ask-questions-if-underspecified/SKILL.md +85 -0
- package/skills/security-audit-context-building/.claude-plugin/plugin.json +10 -0
- package/skills/security-audit-context-building/README.md +58 -0
- package/skills/security-audit-context-building/commands/audit-context.md +21 -0
- package/skills/security-audit-context-building/skills/audit-context-building/SKILL.md +297 -0
- package/skills/security-audit-context-building/skills/audit-context-building/resources/COMPLETENESS_CHECKLIST.md +47 -0
- package/skills/security-audit-context-building/skills/audit-context-building/resources/FUNCTION_MICRO_ANALYSIS_EXAMPLE.md +355 -0
- package/skills/security-audit-context-building/skills/audit-context-building/resources/OUTPUT_REQUIREMENTS.md +71 -0
- package/skills/security-building-secure-contracts/.claude-plugin/plugin.json +10 -0
- package/skills/security-building-secure-contracts/README.md +241 -0
- package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/SKILL.md +284 -0
- package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +405 -0
- package/skills/security-building-secure-contracts/skills/audit-prep-assistant/SKILL.md +409 -0
- package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/SKILL.md +329 -0
- package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +722 -0
- package/skills/security-building-secure-contracts/skills/code-maturity-assessor/SKILL.md +218 -0
- package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/ASSESSMENT_CRITERIA.md +355 -0
- package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/EXAMPLE_REPORT.md +248 -0
- package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/REPORT_FORMAT.md +33 -0
- package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/SKILL.md +334 -0
- package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +740 -0
- package/skills/security-building-secure-contracts/skills/guidelines-advisor/SKILL.md +252 -0
- package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/ASSESSMENT_AREAS.md +329 -0
- package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/DELIVERABLES.md +118 -0
- package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/EXAMPLE_REPORT.md +298 -0
- package/skills/security-building-secure-contracts/skills/secure-workflow-guide/SKILL.md +161 -0
- package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/EXAMPLE_REPORT.md +279 -0
- package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/WORKFLOW_STEPS.md +132 -0
- package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/SKILL.md +389 -0
- package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +669 -0
- package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/SKILL.md +298 -0
- package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +791 -0
- package/skills/security-building-secure-contracts/skills/token-integration-analyzer/SKILL.md +362 -0
- package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/ASSESSMENT_CATEGORIES.md +571 -0
- package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/REPORT_TEMPLATES.md +141 -0
- package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/SKILL.md +388 -0
- package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +595 -0
- package/skills/security-burpsuite-project-parser/.claude-plugin/plugin.json +10 -0
- package/skills/security-burpsuite-project-parser/README.md +103 -0
- package/skills/security-burpsuite-project-parser/commands/burp-search.md +18 -0
- package/skills/security-burpsuite-project-parser/skills/SKILL.md +358 -0
- package/skills/security-burpsuite-project-parser/skills/scripts/burp-search.sh +99 -0
- package/skills/security-claude-in-chrome-troubleshooting/.claude-plugin/plugin.json +8 -0
- package/skills/security-claude-in-chrome-troubleshooting/README.md +31 -0
- package/skills/security-claude-in-chrome-troubleshooting/skills/claude-in-chrome-troubleshooting/SKILL.md +251 -0
- package/skills/security-constant-time-analysis/.claude-plugin/plugin.json +9 -0
- package/skills/security-constant-time-analysis/README.md +381 -0
- package/skills/security-constant-time-analysis/commands/ct-check.md +20 -0
- package/skills/security-constant-time-analysis/ct_analyzer/__init__.py +49 -0
- package/skills/security-constant-time-analysis/ct_analyzer/analyzer.py +1284 -0
- package/skills/security-constant-time-analysis/ct_analyzer/script_analyzers.py +3081 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/__init__.py +1 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_analyzer.py +1397 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/bn_excerpt.js +205 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_constant_time.c +181 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.c +74 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.go +78 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.rs +92 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.cs +174 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.java +161 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.kt +181 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.php +140 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.py +252 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.rb +188 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.swift +199 -0
- package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.ts +154 -0
- package/skills/security-constant-time-analysis/pyproject.toml +52 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/README.md +90 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/SKILL.md +219 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/compiled.md +129 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/javascript.md +136 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/kotlin.md +252 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/php.md +172 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/python.md +179 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/ruby.md +198 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/swift.md +288 -0
- package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/vm-compiled.md +354 -0
- package/skills/security-constant-time-analysis/uv.lock +8 -0
- package/skills/security-culture-index/.claude-plugin/plugin.json +8 -0
- package/skills/security-culture-index/README.md +79 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/SKILL.md +293 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/anti-patterns.md +255 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/conversation-starters.md +408 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/interview-trait-signals.md +253 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/motivators.md +158 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/patterns-archetypes.md +147 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/primary-traits.md +307 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/secondary-traits.md +228 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/references/team-composition.md +148 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/check_deps.py +108 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/__init__.py +20 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/constants.py +122 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/extract.py +187 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/models.py +16 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/opencv_extractor.py +520 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/extract_pdf.py +237 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/scripts/pyproject.toml +18 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/templates/burnout-report.md +113 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/templates/comparison-report.md +103 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/templates/hiring-profile.md +127 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/templates/individual-report.md +85 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/templates/predicted-profile.md +165 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/templates/team-report.md +109 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/analyze-team.md +188 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/coach-manager.md +267 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/compare-profiles.md +188 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/define-hiring-profile.md +220 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/detect-burnout.md +206 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/extract-from-pdf.md +121 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/interpret-individual.md +183 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/interview-debrief.md +234 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/mediate-conflict.md +306 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/plan-onboarding.md +322 -0
- package/skills/security-culture-index/skills/interpreting-culture-index/workflows/predict-from-interview.md +250 -0
- package/skills/security-differential-review/.claude-plugin/plugin.json +10 -0
- package/skills/security-differential-review/README.md +109 -0
- package/skills/security-differential-review/commands/diff-review.md +21 -0
- package/skills/security-differential-review/skills/differential-review/SKILL.md +220 -0
- package/skills/security-differential-review/skills/differential-review/adversarial.md +203 -0
- package/skills/security-differential-review/skills/differential-review/methodology.md +234 -0
- package/skills/security-differential-review/skills/differential-review/patterns.md +300 -0
- package/skills/security-differential-review/skills/differential-review/reporting.md +369 -0
- package/skills/security-dwarf-expert/.claude-plugin/plugin.json +10 -0
- package/skills/security-dwarf-expert/README.md +38 -0
- package/skills/security-dwarf-expert/skills/dwarf-expert/SKILL.md +93 -0
- package/skills/security-dwarf-expert/skills/dwarf-expert/reference/coding.md +31 -0
- package/skills/security-dwarf-expert/skills/dwarf-expert/reference/dwarfdump.md +50 -0
- package/skills/security-dwarf-expert/skills/dwarf-expert/reference/readelf.md +8 -0
- package/skills/security-entry-point-analyzer/.claude-plugin/plugin.json +10 -0
- package/skills/security-entry-point-analyzer/README.md +74 -0
- package/skills/security-entry-point-analyzer/commands/entry-points.md +18 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/SKILL.md +251 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/cosmwasm.md +182 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-aptos.md +107 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-sui.md +87 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solana.md +155 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solidity.md +135 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/ton.md +185 -0
- package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/vyper.md +141 -0
- package/skills/security-firebase-apk-scanner/.claude-plugin/plugin.json +10 -0
- package/skills/security-firebase-apk-scanner/README.md +85 -0
- package/skills/security-firebase-apk-scanner/commands/scan-apk.md +18 -0
- package/skills/security-firebase-apk-scanner/scanner.sh +1408 -0
- package/skills/security-firebase-apk-scanner/skills/firebase-apk-scanner/SKILL.md +197 -0
- package/skills/security-firebase-apk-scanner/skills/firebase-apk-scanner/references/vulnerabilities.md +803 -0
- package/skills/security-fix-review/.claude-plugin/plugin.json +13 -0
- package/skills/security-fix-review/README.md +118 -0
- package/skills/security-fix-review/commands/fix-review.md +24 -0
- package/skills/security-fix-review/skills/fix-review/SKILL.md +264 -0
- package/skills/security-fix-review/skills/fix-review/references/bug-detection.md +408 -0
- package/skills/security-fix-review/skills/fix-review/references/finding-matching.md +298 -0
- package/skills/security-fix-review/skills/fix-review/references/report-parsing.md +398 -0
- package/skills/security-insecure-defaults/.claude-plugin/plugin.json +10 -0
- package/skills/security-insecure-defaults/README.md +45 -0
- package/skills/security-insecure-defaults/skills/insecure-defaults/SKILL.md +117 -0
- package/skills/security-insecure-defaults/skills/insecure-defaults/references/examples.md +409 -0
- package/skills/security-modern-python/.claude-plugin/plugin.json +10 -0
- package/skills/security-modern-python/README.md +58 -0
- package/skills/security-modern-python/hooks/hooks.json +16 -0
- package/skills/security-modern-python/hooks/intercept-legacy-python.bats +388 -0
- package/skills/security-modern-python/hooks/intercept-legacy-python.sh +109 -0
- package/skills/security-modern-python/hooks/test_helper.bash +75 -0
- package/skills/security-modern-python/skills/modern-python/SKILL.md +333 -0
- package/skills/security-modern-python/skills/modern-python/references/dependabot.md +43 -0
- package/skills/security-modern-python/skills/modern-python/references/migration-checklist.md +141 -0
- package/skills/security-modern-python/skills/modern-python/references/pep723-scripts.md +259 -0
- package/skills/security-modern-python/skills/modern-python/references/prek.md +211 -0
- package/skills/security-modern-python/skills/modern-python/references/pyproject.md +254 -0
- package/skills/security-modern-python/skills/modern-python/references/ruff-config.md +240 -0
- package/skills/security-modern-python/skills/modern-python/references/security-setup.md +255 -0
- package/skills/security-modern-python/skills/modern-python/references/testing.md +284 -0
- package/skills/security-modern-python/skills/modern-python/references/uv-commands.md +200 -0
- package/skills/security-modern-python/skills/modern-python/templates/dependabot.yml +36 -0
- package/skills/security-modern-python/skills/modern-python/templates/pre-commit-config.yaml +66 -0
- package/skills/security-property-based-testing/.claude-plugin/plugin.json +9 -0
- package/skills/security-property-based-testing/README.md +47 -0
- package/skills/security-property-based-testing/skills/property-based-testing/README.md +88 -0
- package/skills/security-property-based-testing/skills/property-based-testing/SKILL.md +109 -0
- package/skills/security-property-based-testing/skills/property-based-testing/references/design.md +191 -0
- package/skills/security-property-based-testing/skills/property-based-testing/references/generating.md +200 -0
- package/skills/security-property-based-testing/skills/property-based-testing/references/libraries.md +130 -0
- package/skills/security-property-based-testing/skills/property-based-testing/references/refactoring.md +181 -0
- package/skills/security-property-based-testing/skills/property-based-testing/references/reviewing.md +209 -0
- package/skills/security-property-based-testing/skills/property-based-testing/references/strategies.md +124 -0
- package/skills/semgrep-rule-creator/.claude-plugin/plugin.json +8 -0
- package/skills/semgrep-rule-creator/README.md +43 -0
- package/skills/semgrep-rule-creator/commands/semgrep-rule.md +26 -0
- package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/SKILL.md +168 -0
- package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/quick-reference.md +203 -0
- package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/workflow.md +240 -0
- package/skills/semgrep-rule-variant-creator/.claude-plugin/plugin.json +9 -0
- package/skills/semgrep-rule-variant-creator/README.md +86 -0
- package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/SKILL.md +205 -0
- package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/applicability-analysis.md +250 -0
- package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/language-syntax-guide.md +324 -0
- package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/workflow.md +518 -0
- package/skills/session-logs/SKILL.md +115 -0
- package/skills/sharp-edges/.claude-plugin/plugin.json +10 -0
- package/skills/sharp-edges/README.md +48 -0
- package/skills/sharp-edges/skills/sharp-edges/SKILL.md +292 -0
- package/skills/sharp-edges/skills/sharp-edges/references/auth-patterns.md +252 -0
- package/skills/sharp-edges/skills/sharp-edges/references/case-studies.md +274 -0
- package/skills/sharp-edges/skills/sharp-edges/references/config-patterns.md +333 -0
- package/skills/sharp-edges/skills/sharp-edges/references/crypto-apis.md +190 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-c.md +205 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-csharp.md +285 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-go.md +270 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-java.md +263 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-javascript.md +269 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-kotlin.md +265 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-php.md +245 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-python.md +274 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-ruby.md +273 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-rust.md +272 -0
- package/skills/sharp-edges/skills/sharp-edges/references/lang-swift.md +287 -0
- package/skills/sharp-edges/skills/sharp-edges/references/language-specific.md +588 -0
- package/skills/sherpa-onnx-tts/SKILL.md +103 -0
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
- package/skills/skill-creator/SKILL.md +370 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/scripts/init_skill.py +378 -0
- package/skills/skill-creator/scripts/package_skill.py +111 -0
- package/skills/skill-creator/scripts/quick_validate.py +101 -0
- package/skills/slack/SKILL.md +144 -0
- package/skills/songsee/SKILL.md +49 -0
- package/skills/sonoscli/SKILL.md +46 -0
- package/skills/spec-to-code-compliance/.claude-plugin/plugin.json +10 -0
- package/skills/spec-to-code-compliance/README.md +67 -0
- package/skills/spec-to-code-compliance/commands/spec-compliance.md +22 -0
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/SKILL.md +349 -0
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +69 -0
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +417 -0
- package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +105 -0
- package/skills/spotify-player/SKILL.md +64 -0
- package/skills/static-analysis/.claude-plugin/plugin.json +8 -0
- package/skills/static-analysis/README.md +59 -0
- package/skills/static-analysis/skills/codeql/SKILL.md +315 -0
- package/skills/static-analysis/skills/sarif-parsing/SKILL.md +479 -0
- package/skills/static-analysis/skills/sarif-parsing/resources/jq-queries.md +162 -0
- package/skills/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +331 -0
- package/skills/static-analysis/skills/semgrep/SKILL.md +337 -0
- package/skills/summarize/SKILL.md +87 -0
- package/skills/testing-handbook-skills/.claude-plugin/plugin.json +8 -0
- package/skills/testing-handbook-skills/README.md +241 -0
- package/skills/testing-handbook-skills/scripts/pyproject.toml +8 -0
- package/skills/testing-handbook-skills/scripts/validate-skills.py +657 -0
- package/skills/testing-handbook-skills/skills/address-sanitizer/SKILL.md +341 -0
- package/skills/testing-handbook-skills/skills/aflpp/SKILL.md +640 -0
- package/skills/testing-handbook-skills/skills/atheris/SKILL.md +515 -0
- package/skills/testing-handbook-skills/skills/cargo-fuzz/SKILL.md +454 -0
- package/skills/testing-handbook-skills/skills/codeql/SKILL.md +549 -0
- package/skills/testing-handbook-skills/skills/constant-time-testing/SKILL.md +507 -0
- package/skills/testing-handbook-skills/skills/coverage-analysis/SKILL.md +607 -0
- package/skills/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md +297 -0
- package/skills/testing-handbook-skills/skills/fuzzing-obstacles/SKILL.md +426 -0
- package/skills/testing-handbook-skills/skills/harness-writing/SKILL.md +614 -0
- package/skills/testing-handbook-skills/skills/libafl/SKILL.md +625 -0
- package/skills/testing-handbook-skills/skills/libfuzzer/SKILL.md +795 -0
- package/skills/testing-handbook-skills/skills/ossfuzz/SKILL.md +426 -0
- package/skills/testing-handbook-skills/skills/ruzzy/SKILL.md +443 -0
- package/skills/testing-handbook-skills/skills/semgrep/SKILL.md +601 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/SKILL.md +372 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/agent-prompt.md +280 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/discovery.md +452 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/domain-skill.md +504 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/fuzzer-skill.md +454 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/technique-skill.md +527 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/tool-skill.md +366 -0
- package/skills/testing-handbook-skills/skills/testing-handbook-generator/testing.md +482 -0
- package/skills/testing-handbook-skills/skills/wycheproof/SKILL.md +533 -0
- package/skills/things-mac/SKILL.md +86 -0
- package/skills/tmux/SKILL.md +135 -0
- package/skills/tmux/scripts/find-sessions.sh +112 -0
- package/skills/tmux/scripts/wait-for-text.sh +83 -0
- package/skills/trello/SKILL.md +95 -0
- package/skills/variant-analysis/.claude-plugin/plugin.json +8 -0
- package/skills/variant-analysis/README.md +41 -0
- package/skills/variant-analysis/commands/variants.md +23 -0
- package/skills/variant-analysis/skills/variant-analysis/METHODOLOGY.md +327 -0
- package/skills/variant-analysis/skills/variant-analysis/SKILL.md +142 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/codeql/cpp.ql +119 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/codeql/go.ql +69 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/codeql/java.ql +71 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/codeql/javascript.ql +63 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/codeql/python.ql +80 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/cpp.yaml +98 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/go.yaml +63 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/java.yaml +61 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/javascript.yaml +60 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/python.yaml +72 -0
- package/skills/variant-analysis/skills/variant-analysis/resources/variant-report-template.md +75 -0
- package/skills/video-frames/SKILL.md +46 -0
- package/skills/video-frames/scripts/frame.sh +81 -0
- package/skills/voice-call/SKILL.md +45 -0
- package/skills/wacli/SKILL.md +72 -0
- package/skills/weather/SKILL.md +54 -0
- package/skills/yara-authoring/.claude-plugin/plugin.json +9 -0
- package/skills/yara-authoring/README.md +131 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/SKILL.md +645 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_Mac_ProtonRAT_Jan25.yar +99 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_NPM_SupplyChain_Jan25.yar +170 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_Win_Remcos_Jan25.yar +103 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/examples/SUSP_CRX_SuspiciousPermissions.yar +134 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/examples/SUSP_JS_Obfuscation_Jan25.yar +185 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/references/crx-module.md +214 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/references/dex-module.md +383 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/references/performance.md +333 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/references/strings.md +433 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/references/style-guide.md +257 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/references/testing.md +399 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/scripts/atom_analyzer.py +526 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/scripts/pyproject.toml +25 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/scripts/yara_lint.py +631 -0
- package/skills/yara-authoring/skills/yara-rule-authoring/workflows/rule-development.md +493 -0
|
@@ -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. 🐦
|
|
@@ -0,0 +1,69 @@
|
|
|
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.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: blucli
|
|
3
|
+
description: BluOS CLI (blu) for discovery, playback, grouping, and volume.
|
|
4
|
+
homepage: https://blucli.sh
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"otto":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "🫐",
|
|
10
|
+
"requires": { "bins": ["blu"] },
|
|
11
|
+
"install":
|
|
12
|
+
[
|
|
13
|
+
{
|
|
14
|
+
"id": "go",
|
|
15
|
+
"kind": "go",
|
|
16
|
+
"module": "github.com/steipete/blucli/cmd/blu@latest",
|
|
17
|
+
"bins": ["blu"],
|
|
18
|
+
"label": "Install blucli (go)",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# blucli (blu)
|
|
26
|
+
|
|
27
|
+
Use `blu` to control Bluesound/NAD players.
|
|
28
|
+
|
|
29
|
+
Quick start
|
|
30
|
+
|
|
31
|
+
- `blu devices` (pick target)
|
|
32
|
+
- `blu --device <id> status`
|
|
33
|
+
- `blu play|pause|stop`
|
|
34
|
+
- `blu volume set 15`
|
|
35
|
+
|
|
36
|
+
Target selection (in priority order)
|
|
37
|
+
|
|
38
|
+
- `--device <id|name|alias>`
|
|
39
|
+
- `BLU_DEVICE`
|
|
40
|
+
- config default (if set)
|
|
41
|
+
|
|
42
|
+
Common tasks
|
|
43
|
+
|
|
44
|
+
- Grouping: `blu group status|add|remove`
|
|
45
|
+
- TuneIn search/play: `blu tunein search "query"`, `blu tunein play "query"`
|
|
46
|
+
|
|
47
|
+
Prefer `--json` for scripts. Confirm the target device before changing playback.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bluebubbles
|
|
3
|
+
description: Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
|
|
4
|
+
metadata: { "otto": { "emoji": "🫧", "requires": { "config": ["channels.bluebubbles"] } } }
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# BlueBubbles Actions
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
BlueBubbles is Otto’s recommended iMessage integration. Use the `message` tool with `channel: "bluebubbles"` to send messages and manage iMessage conversations: send texts and attachments, react (tapbacks), edit/unsend, reply in threads, and manage group participants/names/icons.
|
|
12
|
+
|
|
13
|
+
## Inputs to collect
|
|
14
|
+
|
|
15
|
+
- `target` (prefer `chat_guid:...`; also `+15551234567` in E.164 or `user@example.com`)
|
|
16
|
+
- `message` text for send/edit/reply
|
|
17
|
+
- `messageId` for react/edit/unsend/reply
|
|
18
|
+
- Attachment `path` for local files, or `buffer` + `filename` for base64
|
|
19
|
+
|
|
20
|
+
If the user is vague ("text my mom"), ask for the recipient handle or chat guid and the exact message content.
|
|
21
|
+
|
|
22
|
+
## Actions
|
|
23
|
+
|
|
24
|
+
### Send a message
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"action": "send",
|
|
29
|
+
"channel": "bluebubbles",
|
|
30
|
+
"target": "+15551234567",
|
|
31
|
+
"message": "hello from Otto"
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### React (tapback)
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"action": "react",
|
|
40
|
+
"channel": "bluebubbles",
|
|
41
|
+
"target": "+15551234567",
|
|
42
|
+
"messageId": "<message-guid>",
|
|
43
|
+
"emoji": "❤️"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Remove a reaction
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"action": "react",
|
|
52
|
+
"channel": "bluebubbles",
|
|
53
|
+
"target": "+15551234567",
|
|
54
|
+
"messageId": "<message-guid>",
|
|
55
|
+
"emoji": "❤️",
|
|
56
|
+
"remove": true
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Edit a previously sent message
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"action": "edit",
|
|
65
|
+
"channel": "bluebubbles",
|
|
66
|
+
"target": "+15551234567",
|
|
67
|
+
"messageId": "<message-guid>",
|
|
68
|
+
"message": "updated text"
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Unsend a message
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"action": "unsend",
|
|
77
|
+
"channel": "bluebubbles",
|
|
78
|
+
"target": "+15551234567",
|
|
79
|
+
"messageId": "<message-guid>"
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Reply to a specific message
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"action": "reply",
|
|
88
|
+
"channel": "bluebubbles",
|
|
89
|
+
"target": "+15551234567",
|
|
90
|
+
"replyTo": "<message-guid>",
|
|
91
|
+
"message": "replying to that"
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Send an attachment
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"action": "sendAttachment",
|
|
100
|
+
"channel": "bluebubbles",
|
|
101
|
+
"target": "+15551234567",
|
|
102
|
+
"path": "/tmp/photo.jpg",
|
|
103
|
+
"caption": "here you go"
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Send with an iMessage effect
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"action": "sendWithEffect",
|
|
112
|
+
"channel": "bluebubbles",
|
|
113
|
+
"target": "+15551234567",
|
|
114
|
+
"message": "big news",
|
|
115
|
+
"effect": "balloons"
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Notes
|
|
120
|
+
|
|
121
|
+
- Requires gateway config `channels.bluebubbles` (serverUrl/password/webhookPath).
|
|
122
|
+
- Prefer `chat_guid` targets when you have them (especially for group chats).
|
|
123
|
+
- BlueBubbles supports rich actions, but some are macOS-version dependent (for example, edit may be broken on macOS 26 Tahoe).
|
|
124
|
+
- The gateway may expose both short and full message ids; full ids are more durable across restarts.
|
|
125
|
+
- Developer reference for the underlying plugin lives in `extensions/bluebubbles/README.md`.
|
|
126
|
+
|
|
127
|
+
## Ideas to try
|
|
128
|
+
|
|
129
|
+
- React with a tapback to acknowledge a request.
|
|
130
|
+
- Reply in-thread when a user references a specific message.
|
|
131
|
+
- Send a file attachment with a short caption.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: camsnap
|
|
3
|
+
description: Capture frames or clips from RTSP/ONVIF cameras.
|
|
4
|
+
homepage: https://camsnap.ai
|
|
5
|
+
metadata:
|
|
6
|
+
{
|
|
7
|
+
"otto":
|
|
8
|
+
{
|
|
9
|
+
"emoji": "📸",
|
|
10
|
+
"requires": { "bins": ["camsnap"] },
|
|
11
|
+
"install":
|
|
12
|
+
[
|
|
13
|
+
{
|
|
14
|
+
"id": "brew",
|
|
15
|
+
"kind": "brew",
|
|
16
|
+
"formula": "steipete/tap/camsnap",
|
|
17
|
+
"bins": ["camsnap"],
|
|
18
|
+
"label": "Install camsnap (brew)",
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# camsnap
|
|
26
|
+
|
|
27
|
+
Use `camsnap` to grab snapshots, clips, or motion events from configured cameras.
|
|
28
|
+
|
|
29
|
+
Setup
|
|
30
|
+
|
|
31
|
+
- Config file: `~/.config/camsnap/config.yaml`
|
|
32
|
+
- Add camera: `camsnap add --name kitchen --host 192.168.0.10 --user user --pass pass`
|
|
33
|
+
|
|
34
|
+
Common commands
|
|
35
|
+
|
|
36
|
+
- Discover: `camsnap discover --info`
|
|
37
|
+
- Snapshot: `camsnap snap kitchen --out shot.jpg`
|
|
38
|
+
- Clip: `camsnap clip kitchen --dur 5s --out clip.mp4`
|
|
39
|
+
- Motion watch: `camsnap watch kitchen --threshold 0.2 --action '...'`
|
|
40
|
+
- Doctor: `camsnap doctor --probe`
|
|
41
|
+
|
|
42
|
+
Notes
|
|
43
|
+
|
|
44
|
+
- Requires `ffmpeg` on PATH.
|
|
45
|
+
- Prefer a short test capture before longer clips.
|