@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,324 @@
|
|
|
1
|
+
# Language Syntax Translation Guide
|
|
2
|
+
|
|
3
|
+
Guidance for translating Semgrep patterns between languages. This is NOT a pre-built mapping—use these principles to research and adapt patterns for your specific case.
|
|
4
|
+
|
|
5
|
+
## General Translation Principles
|
|
6
|
+
|
|
7
|
+
### 1. Never Assume Syntax Equivalence
|
|
8
|
+
|
|
9
|
+
What looks similar may parse differently:
|
|
10
|
+
|
|
11
|
+
```python
|
|
12
|
+
# Python: method call on object
|
|
13
|
+
obj.method(arg)
|
|
14
|
+
|
|
15
|
+
# Go: might be method OR field access + function call
|
|
16
|
+
obj.Method(arg) # Method call
|
|
17
|
+
obj.Field(arg) # Field holding function, then called
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Always dump the AST** for your target language to see the actual structure.
|
|
21
|
+
|
|
22
|
+
### 2. Research Before Translating
|
|
23
|
+
|
|
24
|
+
For each construct in the original rule:
|
|
25
|
+
1. Search target language documentation for equivalent
|
|
26
|
+
2. Look for multiple ways the same thing can be written
|
|
27
|
+
3. Check if language idioms differ significantly
|
|
28
|
+
|
|
29
|
+
### 3. Preserve Detection Intent, Not Literal Syntax
|
|
30
|
+
|
|
31
|
+
The goal is detecting the same vulnerability, not matching identical syntax.
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
# Original (Python) - detects eval of user input
|
|
35
|
+
pattern: eval($USER_INPUT)
|
|
36
|
+
|
|
37
|
+
# Go doesn't have eval() - what's the equivalent danger?
|
|
38
|
+
# Research shows: template execution, reflect-based eval, etc.
|
|
39
|
+
# Adapt to what actually creates the vulnerability in Go
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## AST Analysis
|
|
43
|
+
|
|
44
|
+
### Always Dump the AST
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
semgrep --dump-ast -l <target-language> test-file
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Compare how similar constructs are represented:
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
# Python
|
|
54
|
+
cursor.execute(query)
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
```go
|
|
58
|
+
// Go
|
|
59
|
+
db.Query(query)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The AST structure may differ significantly even for conceptually similar operations.
|
|
63
|
+
|
|
64
|
+
### Key Differences to Watch
|
|
65
|
+
|
|
66
|
+
| Aspect | May Differ |
|
|
67
|
+
|--------|-----------|
|
|
68
|
+
| Method calls | Receiver position, syntax |
|
|
69
|
+
| Function arguments | Named vs positional, defaults |
|
|
70
|
+
| String handling | Interpolation, concatenation |
|
|
71
|
+
| Error handling | Exceptions vs return values |
|
|
72
|
+
| Imports | How namespaces work |
|
|
73
|
+
|
|
74
|
+
## Metavariable Adaptation
|
|
75
|
+
|
|
76
|
+
### Metavariables Work Cross-Language
|
|
77
|
+
|
|
78
|
+
Semgrep metavariables (`$X`, `$FUNC`, etc.) work in all languages:
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
# Works in Python
|
|
82
|
+
pattern: $OBJ.execute($QUERY)
|
|
83
|
+
|
|
84
|
+
# Works in Java
|
|
85
|
+
pattern: $OBJ.executeQuery($QUERY)
|
|
86
|
+
|
|
87
|
+
# Works in Go
|
|
88
|
+
pattern: $DB.Query($QUERY, ...)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Ellipsis Behavior
|
|
92
|
+
|
|
93
|
+
`...` matches language-appropriate constructs:
|
|
94
|
+
- In Python: matches arguments, statements
|
|
95
|
+
- In Go: matches arguments, statements (handles multi-return)
|
|
96
|
+
- In Java: matches arguments, statements, annotations
|
|
97
|
+
|
|
98
|
+
## Common Translation Categories
|
|
99
|
+
|
|
100
|
+
### Database Queries
|
|
101
|
+
|
|
102
|
+
**Research for your target language:**
|
|
103
|
+
- Standard library database package
|
|
104
|
+
- Popular ORM frameworks
|
|
105
|
+
- Raw query execution methods
|
|
106
|
+
|
|
107
|
+
Common patterns to look for:
|
|
108
|
+
- Query execution methods
|
|
109
|
+
- Prepared statement patterns
|
|
110
|
+
- String interpolation into queries
|
|
111
|
+
|
|
112
|
+
### Command Execution
|
|
113
|
+
|
|
114
|
+
**Research for your target language:**
|
|
115
|
+
- Standard library process/exec package
|
|
116
|
+
- Shell execution vs direct execution
|
|
117
|
+
- Argument passing (array vs string)
|
|
118
|
+
|
|
119
|
+
### File Operations
|
|
120
|
+
|
|
121
|
+
**Research for your target language:**
|
|
122
|
+
- File open/read/write APIs
|
|
123
|
+
- Path construction methods
|
|
124
|
+
- Directory traversal patterns
|
|
125
|
+
|
|
126
|
+
### HTTP Handling
|
|
127
|
+
|
|
128
|
+
**Research for your target language:**
|
|
129
|
+
- Request parameter access
|
|
130
|
+
- Header access
|
|
131
|
+
- Body parsing
|
|
132
|
+
|
|
133
|
+
## Researching Equivalents
|
|
134
|
+
|
|
135
|
+
### Step 1: Identify What the Original Detects
|
|
136
|
+
|
|
137
|
+
Parse the original rule:
|
|
138
|
+
- What function/method is the sink?
|
|
139
|
+
- What's the vulnerability being detected?
|
|
140
|
+
- What makes it dangerous?
|
|
141
|
+
|
|
142
|
+
### Step 2: Search Target Language Docs
|
|
143
|
+
|
|
144
|
+
Search for:
|
|
145
|
+
- `"<target language> <functionality>"` (e.g., "golang exec command")
|
|
146
|
+
- `"<target language> <vulnerability>"` (e.g., "java sql injection")
|
|
147
|
+
- Standard library documentation
|
|
148
|
+
- [Semgrep Pattern Examples](https://semgrep.dev/docs/writing-rules/pattern-examples) - Per-language pattern references
|
|
149
|
+
|
|
150
|
+
### Step 3: Find All Variants
|
|
151
|
+
|
|
152
|
+
A single Python function may have multiple equivalents:
|
|
153
|
+
|
|
154
|
+
```python
|
|
155
|
+
# Python has one main way
|
|
156
|
+
os.system(cmd)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
```java
|
|
160
|
+
// Java has multiple
|
|
161
|
+
Runtime.getRuntime().exec(cmd);
|
|
162
|
+
new ProcessBuilder(cmd).start();
|
|
163
|
+
ProcessBuilder.command(cmd).start();
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Include all common variants in your rule.
|
|
167
|
+
|
|
168
|
+
### Step 4: Check for Idioms
|
|
169
|
+
|
|
170
|
+
Languages have preferred patterns:
|
|
171
|
+
|
|
172
|
+
```python
|
|
173
|
+
# Python: often inline
|
|
174
|
+
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```go
|
|
178
|
+
// Go: typically uses placeholders
|
|
179
|
+
db.Query("SELECT * FROM users WHERE id = ?", userID)
|
|
180
|
+
// Vulnerability is when they DON'T use placeholders
|
|
181
|
+
db.Query("SELECT * FROM users WHERE id = " + userID)
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Source Pattern Translation
|
|
185
|
+
|
|
186
|
+
### Web Framework Sources
|
|
187
|
+
|
|
188
|
+
Original rule sources need framework-specific translation:
|
|
189
|
+
|
|
190
|
+
```yaml
|
|
191
|
+
# Python Flask
|
|
192
|
+
pattern: request.args.get(...)
|
|
193
|
+
|
|
194
|
+
# Java Servlet
|
|
195
|
+
pattern: $REQUEST.getParameter(...)
|
|
196
|
+
|
|
197
|
+
# Go net/http
|
|
198
|
+
pattern: $R.URL.Query().Get(...)
|
|
199
|
+
pattern: $R.FormValue(...)
|
|
200
|
+
|
|
201
|
+
# Node.js Express
|
|
202
|
+
pattern: $REQ.query.$PARAM
|
|
203
|
+
pattern: $REQ.body.$PARAM
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### User Input Sources
|
|
207
|
+
|
|
208
|
+
Research common input sources for target language, for example:
|
|
209
|
+
- HTTP request parameters
|
|
210
|
+
- Command line arguments
|
|
211
|
+
- Environment variables
|
|
212
|
+
- File reads
|
|
213
|
+
- Standard input
|
|
214
|
+
|
|
215
|
+
## Sanitizer Translation
|
|
216
|
+
|
|
217
|
+
### Research Sanitization Patterns
|
|
218
|
+
|
|
219
|
+
Each language has different sanitization approaches:
|
|
220
|
+
|
|
221
|
+
```python
|
|
222
|
+
# Python
|
|
223
|
+
shlex.quote(cmd) # Shell escaping
|
|
224
|
+
html.escape(s) # HTML escaping
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
```go
|
|
228
|
+
// Go
|
|
229
|
+
template.HTMLEscapeString(s)
|
|
230
|
+
// Prepared statements (implicit sanitization)
|
|
231
|
+
db.Query("SELECT ... WHERE id = ?", id)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
```java
|
|
235
|
+
// Java
|
|
236
|
+
StringEscapeUtils.escapeHtml4(s)
|
|
237
|
+
PreparedStatement (implicit sanitization)
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## Import/Namespace Considerations
|
|
241
|
+
|
|
242
|
+
### Pattern May Need Context
|
|
243
|
+
|
|
244
|
+
Some languages require matching imports:
|
|
245
|
+
|
|
246
|
+
```yaml
|
|
247
|
+
# Python - function in global namespace after import
|
|
248
|
+
pattern: pickle.loads(...)
|
|
249
|
+
|
|
250
|
+
# Java - may need full path or import context
|
|
251
|
+
pattern: java.io.ObjectInputStream
|
|
252
|
+
pattern: ObjectInputStream
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### When to Use Full Paths
|
|
256
|
+
|
|
257
|
+
- When function name is common/ambiguous
|
|
258
|
+
- When you want to match specific library
|
|
259
|
+
- When namespace matters for security
|
|
260
|
+
|
|
261
|
+
## Testing Your Translation
|
|
262
|
+
|
|
263
|
+
### Verify with AST Dump
|
|
264
|
+
|
|
265
|
+
After writing test cases, verify patterns match:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# Dump AST of test file
|
|
269
|
+
semgrep --dump-ast -l <lang> test-file
|
|
270
|
+
|
|
271
|
+
# Compare with your pattern
|
|
272
|
+
# Adjust pattern to match AST structure
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### Test Edge Cases
|
|
276
|
+
|
|
277
|
+
Each language has unique edge cases:
|
|
278
|
+
- Different string types (Go: string vs []byte)
|
|
279
|
+
- Different call syntaxes (method chaining)
|
|
280
|
+
- Different argument patterns
|
|
281
|
+
|
|
282
|
+
## Example: Translating SQL Injection Rule
|
|
283
|
+
|
|
284
|
+
**Original (Python):**
|
|
285
|
+
```yaml
|
|
286
|
+
pattern-sinks:
|
|
287
|
+
- pattern: $CURSOR.execute($QUERY, ...)
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
**Research for Go:**
|
|
291
|
+
1. Standard database package: `database/sql`
|
|
292
|
+
2. Query methods: `Query`, `QueryRow`, `Exec`, `QueryContext`, etc.
|
|
293
|
+
3. ORM equivalents: GORM, sqlx, etc.
|
|
294
|
+
|
|
295
|
+
**Translated (Go - standard library):**
|
|
296
|
+
```yaml
|
|
297
|
+
pattern-sinks:
|
|
298
|
+
- pattern: $DB.Query($QUERY, ...)
|
|
299
|
+
- pattern: $DB.QueryRow($QUERY, ...)
|
|
300
|
+
- pattern: $DB.Exec($QUERY, ...)
|
|
301
|
+
- pattern: $DB.QueryContext($CTX, $QUERY, ...)
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**Research for Java:**
|
|
305
|
+
1. JDBC: `Statement`, `PreparedStatement`
|
|
306
|
+
2. Query methods: `executeQuery`, `executeUpdate`, `execute`
|
|
307
|
+
|
|
308
|
+
**Translated (Java):**
|
|
309
|
+
```yaml
|
|
310
|
+
pattern-sinks:
|
|
311
|
+
- pattern: (Statement $S).executeQuery($QUERY)
|
|
312
|
+
- pattern: (Statement $S).executeUpdate($QUERY)
|
|
313
|
+
- pattern: (Statement $S).execute($QUERY)
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
## Checklist Before Writing Rule
|
|
317
|
+
|
|
318
|
+
- [ ] Dumped AST for target language test file
|
|
319
|
+
- [ ] Researched equivalent functions/methods
|
|
320
|
+
- [ ] Identified all common variants
|
|
321
|
+
- [ ] Checked for language-specific idioms
|
|
322
|
+
- [ ] Identified appropriate source patterns
|
|
323
|
+
- [ ] Identified appropriate sanitizer patterns
|
|
324
|
+
- [ ] Verified patterns match AST structure
|