@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,252 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: guidelines-advisor
|
|
3
|
+
description: Smart contract development advisor based on Trail of Bits' best practices. Analyzes codebase to generate documentation/specifications, review architecture, check upgradeability patterns, assess implementation quality, identify pitfalls, review dependencies, and evaluate testing. Provides actionable recommendations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Guidelines Advisor
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Systematically analyzes the codebase and provides guidance based on Trail of Bits' development guidelines:
|
|
11
|
+
|
|
12
|
+
1. **Generate documentation and specifications** (plain English descriptions, architectural diagrams, code documentation)
|
|
13
|
+
2. **Optimize on-chain/off-chain architecture** (only if applicable)
|
|
14
|
+
3. **Review upgradeability patterns** (if your project has upgrades)
|
|
15
|
+
4. **Check delegatecall/proxy implementations** (if present)
|
|
16
|
+
5. **Assess implementation quality** (functions, inheritance, events)
|
|
17
|
+
6. **Identify common pitfalls**
|
|
18
|
+
7. **Review dependencies**
|
|
19
|
+
8. **Evaluate test suite and suggest improvements**
|
|
20
|
+
|
|
21
|
+
**Framework**: Building Secure Contracts - Development Guidelines
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## How This Works
|
|
26
|
+
|
|
27
|
+
### Phase 1: Discovery & Context
|
|
28
|
+
Explores the codebase to understand:
|
|
29
|
+
- Project structure and platform
|
|
30
|
+
- Contract/module files and their purposes
|
|
31
|
+
- Existing documentation
|
|
32
|
+
- Architecture patterns (proxies, upgrades, etc.)
|
|
33
|
+
- Testing setup
|
|
34
|
+
- Dependencies
|
|
35
|
+
|
|
36
|
+
### Phase 2: Documentation Generation
|
|
37
|
+
Helps create:
|
|
38
|
+
- Plain English system description
|
|
39
|
+
- Architectural diagrams (using Slither printers for Solidity)
|
|
40
|
+
- Code documentation recommendations (NatSpec for Solidity)
|
|
41
|
+
|
|
42
|
+
### Phase 3: Architecture Analysis
|
|
43
|
+
Analyzes:
|
|
44
|
+
- On-chain vs off-chain component distribution (if applicable)
|
|
45
|
+
- Upgradeability approach (if applicable)
|
|
46
|
+
- Delegatecall proxy patterns (if present)
|
|
47
|
+
|
|
48
|
+
### Phase 4: Implementation Review
|
|
49
|
+
Assesses:
|
|
50
|
+
- Function composition and clarity
|
|
51
|
+
- Inheritance structure
|
|
52
|
+
- Event logging practices
|
|
53
|
+
- Common pitfalls presence
|
|
54
|
+
- Dependencies quality
|
|
55
|
+
- Testing coverage and techniques
|
|
56
|
+
|
|
57
|
+
### Phase 5: Recommendations
|
|
58
|
+
Provides:
|
|
59
|
+
- Prioritized improvement suggestions
|
|
60
|
+
- Best practice guidance
|
|
61
|
+
- Actionable next steps
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Assessment Areas
|
|
66
|
+
|
|
67
|
+
I analyze 11 comprehensive areas covering all aspects of smart contract development. For detailed criteria, best practices, and specific checks, see [ASSESSMENT_AREAS.md](resources/ASSESSMENT_AREAS.md).
|
|
68
|
+
|
|
69
|
+
### Quick Reference:
|
|
70
|
+
|
|
71
|
+
1. **Documentation & Specifications**
|
|
72
|
+
- Plain English system descriptions
|
|
73
|
+
- Architectural diagrams
|
|
74
|
+
- NatSpec completeness (Solidity)
|
|
75
|
+
- Documentation gaps identification
|
|
76
|
+
|
|
77
|
+
2. **On-Chain vs Off-Chain Computation**
|
|
78
|
+
- Complexity analysis
|
|
79
|
+
- Gas optimization opportunities
|
|
80
|
+
- Verification vs computation patterns
|
|
81
|
+
|
|
82
|
+
3. **Upgradeability**
|
|
83
|
+
- Migration vs upgradeability trade-offs
|
|
84
|
+
- Data separation patterns
|
|
85
|
+
- Upgrade procedure documentation
|
|
86
|
+
|
|
87
|
+
4. **Delegatecall Proxy Pattern**
|
|
88
|
+
- Storage layout consistency
|
|
89
|
+
- Initialization patterns
|
|
90
|
+
- Function shadowing risks
|
|
91
|
+
- Slither upgradeability checks
|
|
92
|
+
|
|
93
|
+
5. **Function Composition**
|
|
94
|
+
- Function size and clarity
|
|
95
|
+
- Logical grouping
|
|
96
|
+
- Modularity assessment
|
|
97
|
+
|
|
98
|
+
6. **Inheritance**
|
|
99
|
+
- Hierarchy depth/width
|
|
100
|
+
- Diamond problem risks
|
|
101
|
+
- Inheritance visualization
|
|
102
|
+
|
|
103
|
+
7. **Events**
|
|
104
|
+
- Critical operation coverage
|
|
105
|
+
- Event naming consistency
|
|
106
|
+
- Indexed parameters
|
|
107
|
+
|
|
108
|
+
8. **Common Pitfalls**
|
|
109
|
+
- Reentrancy patterns
|
|
110
|
+
- Integer overflow/underflow
|
|
111
|
+
- Access control issues
|
|
112
|
+
- Platform-specific vulnerabilities
|
|
113
|
+
|
|
114
|
+
9. **Dependencies**
|
|
115
|
+
- Library quality assessment
|
|
116
|
+
- Version management
|
|
117
|
+
- Dependency manager usage
|
|
118
|
+
- Copied code detection
|
|
119
|
+
|
|
120
|
+
10. **Testing & Verification**
|
|
121
|
+
- Coverage analysis
|
|
122
|
+
- Fuzzing techniques
|
|
123
|
+
- Formal verification
|
|
124
|
+
- CI/CD integration
|
|
125
|
+
|
|
126
|
+
11. **Platform-Specific Guidance**
|
|
127
|
+
- Solidity version recommendations
|
|
128
|
+
- Compiler warning checks
|
|
129
|
+
- Inline assembly warnings
|
|
130
|
+
- Platform-specific tools
|
|
131
|
+
|
|
132
|
+
For complete details on each area including what I'll check, analyze, and recommend, see [ASSESSMENT_AREAS.md](resources/ASSESSMENT_AREAS.md).
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Example Output
|
|
137
|
+
|
|
138
|
+
When the analysis is complete, you'll receive comprehensive guidance covering:
|
|
139
|
+
|
|
140
|
+
- System documentation with plain English descriptions
|
|
141
|
+
- Architectural diagrams and documentation gaps
|
|
142
|
+
- Architecture analysis (on-chain/off-chain, upgradeability, proxies)
|
|
143
|
+
- Implementation review (functions, inheritance, events, pitfalls)
|
|
144
|
+
- Dependencies and testing evaluation
|
|
145
|
+
- Prioritized recommendations (CRITICAL, HIGH, MEDIUM, LOW)
|
|
146
|
+
- Overall assessment and path to production
|
|
147
|
+
|
|
148
|
+
For a complete example analysis report, see [EXAMPLE_REPORT.md](resources/EXAMPLE_REPORT.md).
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Deliverables
|
|
153
|
+
|
|
154
|
+
I provide four comprehensive deliverable categories:
|
|
155
|
+
|
|
156
|
+
### 1. System Documentation
|
|
157
|
+
- Plain English descriptions
|
|
158
|
+
- Architectural diagrams
|
|
159
|
+
- Documentation gaps analysis
|
|
160
|
+
|
|
161
|
+
### 2. Architecture Analysis
|
|
162
|
+
- On-chain/off-chain assessment
|
|
163
|
+
- Upgradeability review
|
|
164
|
+
- Proxy pattern security review
|
|
165
|
+
|
|
166
|
+
### 3. Implementation Review
|
|
167
|
+
- Function composition analysis
|
|
168
|
+
- Inheritance assessment
|
|
169
|
+
- Events coverage
|
|
170
|
+
- Pitfall identification
|
|
171
|
+
- Dependencies evaluation
|
|
172
|
+
- Testing analysis
|
|
173
|
+
|
|
174
|
+
### 4. Prioritized Recommendations
|
|
175
|
+
- CRITICAL (address immediately)
|
|
176
|
+
- HIGH (address before deployment)
|
|
177
|
+
- MEDIUM (address for production quality)
|
|
178
|
+
- LOW (nice to have)
|
|
179
|
+
|
|
180
|
+
For detailed templates and examples of each deliverable, see [DELIVERABLES.md](resources/DELIVERABLES.md).
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Assessment Process
|
|
185
|
+
|
|
186
|
+
When invoked, I will:
|
|
187
|
+
|
|
188
|
+
1. **Explore the codebase**
|
|
189
|
+
- Identify all contract/module files
|
|
190
|
+
- Find existing documentation
|
|
191
|
+
- Locate test files
|
|
192
|
+
- Check for proxies/upgrades
|
|
193
|
+
- Identify dependencies
|
|
194
|
+
|
|
195
|
+
2. **Generate documentation**
|
|
196
|
+
- Create plain English system description
|
|
197
|
+
- Generate architectural diagrams (if tools available)
|
|
198
|
+
- Identify documentation gaps
|
|
199
|
+
|
|
200
|
+
3. **Analyze architecture**
|
|
201
|
+
- Assess on-chain/off-chain distribution (if applicable)
|
|
202
|
+
- Review upgradeability approach (if applicable)
|
|
203
|
+
- Audit proxy patterns (if present)
|
|
204
|
+
|
|
205
|
+
4. **Review implementation**
|
|
206
|
+
- Analyze functions, inheritance, events
|
|
207
|
+
- Check for common pitfalls
|
|
208
|
+
- Assess dependencies
|
|
209
|
+
- Evaluate testing
|
|
210
|
+
|
|
211
|
+
5. **Provide recommendations**
|
|
212
|
+
- Present findings with file references
|
|
213
|
+
- Ask clarifying questions about design decisions
|
|
214
|
+
- Suggest prioritized improvements
|
|
215
|
+
- Offer actionable next steps
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Rationalizations (Do Not Skip)
|
|
220
|
+
|
|
221
|
+
| Rationalization | Why It's Wrong | Required Action |
|
|
222
|
+
|-----------------|----------------|-----------------|
|
|
223
|
+
| "System is simple, description covers everything" | Plain English descriptions miss security-critical details | Complete all 5 phases: documentation, architecture, implementation, dependencies, recommendations |
|
|
224
|
+
| "No upgrades detected, skip upgradeability section" | Upgradeability can be implicit (ownable patterns, delegatecall) | Search for proxy patterns, delegatecall, storage collisions before declaring N/A |
|
|
225
|
+
| "Not applicable" without verification | Premature scope reduction misses vulnerabilities | Verify with explicit codebase search before skipping any guideline section |
|
|
226
|
+
| "Architecture is straightforward, no analysis needed" | Obvious architectures have subtle trust boundaries | Analyze on-chain/off-chain distribution, access control flow, external dependencies |
|
|
227
|
+
| "Common pitfalls don't apply to this codebase" | Every codebase has common pitfalls | Systematically check all guideline pitfalls with grep/code search |
|
|
228
|
+
| "Tests exist, testing guideline is satisfied" | Test existence ≠ test quality | Check coverage, property-based tests, integration tests, failure cases |
|
|
229
|
+
| "I can provide generic best practices" | Generic advice isn't actionable | Provide project-specific findings with file:line references |
|
|
230
|
+
| "User knows what to improve from findings" | Findings without prioritization = no action plan | Generate prioritized improvement roadmap with specific next steps |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Notes
|
|
235
|
+
|
|
236
|
+
- I'll only analyze relevant sections (won't hallucinate about upgrades if not present)
|
|
237
|
+
- I'll adapt to your platform (Solidity, Rust, Cairo, etc.)
|
|
238
|
+
- I'll use available tools (Slither, etc.) but work without them if unavailable
|
|
239
|
+
- I'll provide file references and line numbers for all findings
|
|
240
|
+
- I'll ask questions about design decisions I can't infer from code
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Ready to Begin
|
|
245
|
+
|
|
246
|
+
**What I'll need**:
|
|
247
|
+
- Access to your codebase
|
|
248
|
+
- Context about your project goals
|
|
249
|
+
- Any existing documentation or specifications
|
|
250
|
+
- Information about deployment plans
|
|
251
|
+
|
|
252
|
+
Let's analyze your codebase and improve it using Trail of Bits' best practices!
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
## Assessment Areas
|
|
2
|
+
|
|
3
|
+
### 1. DOCUMENTATION & SPECIFICATIONS
|
|
4
|
+
|
|
5
|
+
**What I'll do**:
|
|
6
|
+
- Read existing documentation (README, specs, comments)
|
|
7
|
+
- Analyze contract/module purposes and interactions
|
|
8
|
+
- Identify undocumented assumptions
|
|
9
|
+
- For Solidity projects: check NatSpec completeness
|
|
10
|
+
- Generate architectural diagrams using Slither printers (if available)
|
|
11
|
+
|
|
12
|
+
**I'll generate**:
|
|
13
|
+
- Plain English system description
|
|
14
|
+
- Contract interaction diagrams
|
|
15
|
+
- State machine diagrams (where applicable)
|
|
16
|
+
- Documentation gaps list
|
|
17
|
+
|
|
18
|
+
**Best practices**:
|
|
19
|
+
- Every contract should have a clear purpose statement
|
|
20
|
+
- All assumptions should be explicitly documented
|
|
21
|
+
- Critical functions should have detailed documentation
|
|
22
|
+
- System interactions should be visualized
|
|
23
|
+
- State transitions should be clear
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
### 2. ON-CHAIN vs OFF-CHAIN COMPUTATION
|
|
28
|
+
|
|
29
|
+
**What I'll analyze**:
|
|
30
|
+
- Current on-chain logic complexity
|
|
31
|
+
- Data processing patterns
|
|
32
|
+
- Verification vs computation patterns
|
|
33
|
+
|
|
34
|
+
**I'll look for**:
|
|
35
|
+
- Complex computations that could move off-chain
|
|
36
|
+
- Sorting/ordering operations done on-chain
|
|
37
|
+
- Data preprocessing opportunities
|
|
38
|
+
- Gas optimization potential
|
|
39
|
+
|
|
40
|
+
**I'll suggest**:
|
|
41
|
+
- Off-chain preprocessing with on-chain verification
|
|
42
|
+
- Data structure optimizations
|
|
43
|
+
- Gas-efficient architectural changes
|
|
44
|
+
|
|
45
|
+
**Note**: Only applicable if your project has off-chain components or could benefit from them. I won't hallucinate this if it's not relevant.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### 3. UPGRADEABILITY
|
|
50
|
+
|
|
51
|
+
**What I'll check**:
|
|
52
|
+
- Does the project support upgrades?
|
|
53
|
+
- What upgradeability pattern is used?
|
|
54
|
+
- Is the approach documented?
|
|
55
|
+
|
|
56
|
+
**I'll analyze**:
|
|
57
|
+
- Migration vs upgradeability trade-offs
|
|
58
|
+
- Data separation vs delegatecall proxy patterns
|
|
59
|
+
- Upgrade/migration procedure documentation
|
|
60
|
+
- Deployment and initialization scripts
|
|
61
|
+
|
|
62
|
+
**I'll recommend**:
|
|
63
|
+
- Whether migration might be better than upgradeability
|
|
64
|
+
- Data separation pattern if suitable
|
|
65
|
+
- Documenting the upgrade procedure before deployment
|
|
66
|
+
|
|
67
|
+
**Best practices**:
|
|
68
|
+
- Favor contract migration over upgradeability
|
|
69
|
+
- Use data separation instead of delegatecall proxy when possible
|
|
70
|
+
- Document migration/upgrade procedure including:
|
|
71
|
+
- Calls to initiate new contracts
|
|
72
|
+
- Key storage locations and access methods
|
|
73
|
+
- Deployment verification scripts
|
|
74
|
+
|
|
75
|
+
**Note**: Only applicable if your project has or plans upgradeability. I'll skip this if not relevant.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### 4. DELEGATECALL PROXY PATTERN
|
|
80
|
+
|
|
81
|
+
**What I'll check**:
|
|
82
|
+
- Is delegatecall used for proxies?
|
|
83
|
+
- Storage layout consistency
|
|
84
|
+
- Inheritance order implications
|
|
85
|
+
- Initialization patterns
|
|
86
|
+
|
|
87
|
+
**I'll analyze for**:
|
|
88
|
+
|
|
89
|
+
**Storage Layout**:
|
|
90
|
+
- Proxy and implementation storage compatibility
|
|
91
|
+
- Shared base contract for state variables
|
|
92
|
+
- Storage slot conflicts
|
|
93
|
+
|
|
94
|
+
**Inheritance**:
|
|
95
|
+
- Inheritance order consistency
|
|
96
|
+
- Storage layout effects from inheritance changes
|
|
97
|
+
|
|
98
|
+
**Initialization**:
|
|
99
|
+
- Implementation initialization status
|
|
100
|
+
- Front-running risks
|
|
101
|
+
- Factory pattern usage
|
|
102
|
+
|
|
103
|
+
**Function Shadowing**:
|
|
104
|
+
- Same methods on proxy and implementation
|
|
105
|
+
- Administrative function shadowing
|
|
106
|
+
- Call routing correctness
|
|
107
|
+
|
|
108
|
+
**Direct Implementation Usage**:
|
|
109
|
+
- Implementation state protection
|
|
110
|
+
- Direct usage prevention mechanisms
|
|
111
|
+
- Self-destruct risks
|
|
112
|
+
|
|
113
|
+
**Immutable/Constant Variables**:
|
|
114
|
+
- Sync between proxy and implementation
|
|
115
|
+
- Bytecode embedding issues
|
|
116
|
+
|
|
117
|
+
**Contract Existence Checks**:
|
|
118
|
+
- Low-level call protections
|
|
119
|
+
- Empty bytecode handling
|
|
120
|
+
- Constructor execution considerations
|
|
121
|
+
|
|
122
|
+
**Tools I'll use**:
|
|
123
|
+
- Slither's `slither-check-upgradeability` (if available)
|
|
124
|
+
- Manual pattern analysis
|
|
125
|
+
|
|
126
|
+
**Note**: Only applicable if delegatecall proxies are present. I'll skip this if not relevant.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### 5. FUNCTION COMPOSITION
|
|
131
|
+
|
|
132
|
+
**What I'll analyze**:
|
|
133
|
+
- System logic organization
|
|
134
|
+
- Function sizes and purposes
|
|
135
|
+
- Code modularity
|
|
136
|
+
|
|
137
|
+
**I'll look for**:
|
|
138
|
+
- Large functions doing too many things
|
|
139
|
+
- Unclear function purposes
|
|
140
|
+
- Logic that could be better separated
|
|
141
|
+
- Grouping opportunities (authentication, arithmetic, etc.)
|
|
142
|
+
|
|
143
|
+
**I'll recommend**:
|
|
144
|
+
- Function splitting for clarity
|
|
145
|
+
- Logical grouping strategies
|
|
146
|
+
- Component isolation for testing
|
|
147
|
+
|
|
148
|
+
**Best practices**:
|
|
149
|
+
- Divide system logic through contracts or function groups
|
|
150
|
+
- Write small functions with clear purposes
|
|
151
|
+
- Make code easy to review and test
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### 6. INHERITANCE
|
|
156
|
+
|
|
157
|
+
**What I'll check**:
|
|
158
|
+
- Inheritance tree depth and width
|
|
159
|
+
- Inheritance complexity
|
|
160
|
+
|
|
161
|
+
**I'll analyze**:
|
|
162
|
+
- Inheritance hierarchy using Slither (if available)
|
|
163
|
+
- Diamond problem risks
|
|
164
|
+
- Override patterns
|
|
165
|
+
- Virtual function usage
|
|
166
|
+
|
|
167
|
+
**I'll recommend**:
|
|
168
|
+
- Simplifying complex hierarchies
|
|
169
|
+
- Flattening when appropriate
|
|
170
|
+
- Clear inheritance documentation
|
|
171
|
+
|
|
172
|
+
**Best practices**:
|
|
173
|
+
- Keep inheritance manageable
|
|
174
|
+
- Minimize depth and width
|
|
175
|
+
- Use Slither's inheritance printer to visualize
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
### 7. EVENTS
|
|
180
|
+
|
|
181
|
+
**What I'll check**:
|
|
182
|
+
- Events for critical operations
|
|
183
|
+
- Event completeness
|
|
184
|
+
- Event naming consistency
|
|
185
|
+
|
|
186
|
+
**I'll look for**:
|
|
187
|
+
- Critical operations without events
|
|
188
|
+
- Inconsistent event patterns
|
|
189
|
+
- Missing indexed parameters
|
|
190
|
+
- Event documentation
|
|
191
|
+
|
|
192
|
+
**I'll recommend**:
|
|
193
|
+
- Adding events for critical operations:
|
|
194
|
+
- State changes
|
|
195
|
+
- Transfers
|
|
196
|
+
- Access control changes
|
|
197
|
+
- Parameter updates
|
|
198
|
+
- Event naming conventions
|
|
199
|
+
- Indexed parameters for filtering
|
|
200
|
+
|
|
201
|
+
**Best practices**:
|
|
202
|
+
- Log all critical operations
|
|
203
|
+
- Events facilitate debugging during development
|
|
204
|
+
- Events enable monitoring after deployment
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
### 8. COMMON PITFALLS
|
|
209
|
+
|
|
210
|
+
**What I'll check**:
|
|
211
|
+
- Known vulnerability patterns
|
|
212
|
+
- Platform-specific issues
|
|
213
|
+
- Language-specific gotchas
|
|
214
|
+
|
|
215
|
+
**I'll analyze for**:
|
|
216
|
+
- Reentrancy patterns
|
|
217
|
+
- Integer overflow/underflow (pre-0.8 Solidity)
|
|
218
|
+
- Access control issues
|
|
219
|
+
- Front-running vulnerabilities
|
|
220
|
+
- Oracle manipulation risks
|
|
221
|
+
- Timestamp dependence
|
|
222
|
+
- Uninitialized variables
|
|
223
|
+
- Delegatecall risks
|
|
224
|
+
- Platform-specific pitfalls
|
|
225
|
+
|
|
226
|
+
**Resources I reference**:
|
|
227
|
+
- Not So Smart Contracts (Trail of Bits)
|
|
228
|
+
- Solidity documentation warnings
|
|
229
|
+
- Platform-specific vulnerability databases
|
|
230
|
+
|
|
231
|
+
**I'll recommend**:
|
|
232
|
+
- Specific fixes for identified issues
|
|
233
|
+
- Prevention patterns
|
|
234
|
+
- Security review resources
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
### 9. DEPENDENCIES
|
|
239
|
+
|
|
240
|
+
**What I'll analyze**:
|
|
241
|
+
- External libraries used
|
|
242
|
+
- Library versions
|
|
243
|
+
- Dependency management approach
|
|
244
|
+
- Copy-pasted code
|
|
245
|
+
|
|
246
|
+
**I'll check for**:
|
|
247
|
+
- Well-tested libraries (OpenZeppelin, etc.)
|
|
248
|
+
- Dependency manager usage
|
|
249
|
+
- Outdated dependencies
|
|
250
|
+
- Copied code instead of imports
|
|
251
|
+
- Custom implementations of standard functionality
|
|
252
|
+
|
|
253
|
+
**I'll recommend**:
|
|
254
|
+
- Using established libraries
|
|
255
|
+
- Dependency manager setup
|
|
256
|
+
- Updating outdated dependencies
|
|
257
|
+
- Replacing copied code with imports
|
|
258
|
+
|
|
259
|
+
**Best practices**:
|
|
260
|
+
- Use well-tested libraries
|
|
261
|
+
- Use dependency manager (npm, forge, cargo, etc.)
|
|
262
|
+
- Keep external sources up-to-date
|
|
263
|
+
- Avoid reinventing the wheel
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
### 10. TESTING & VERIFICATION
|
|
268
|
+
|
|
269
|
+
**What I'll analyze**:
|
|
270
|
+
- Test files and coverage
|
|
271
|
+
- Testing techniques used
|
|
272
|
+
- CI/CD setup
|
|
273
|
+
- Automated security testing
|
|
274
|
+
|
|
275
|
+
**I'll check for**:
|
|
276
|
+
- Unit test completeness
|
|
277
|
+
- Integration tests
|
|
278
|
+
- Edge case testing
|
|
279
|
+
- Slither checks
|
|
280
|
+
- Fuzzing (Echidna, Foundry, AFL, etc.)
|
|
281
|
+
- Formal verification
|
|
282
|
+
- CI/CD configuration
|
|
283
|
+
|
|
284
|
+
**I'll recommend**:
|
|
285
|
+
- Test coverage improvements
|
|
286
|
+
- Advanced testing techniques:
|
|
287
|
+
- Fuzzing with Echidna or Foundry
|
|
288
|
+
- Custom Slither detectors
|
|
289
|
+
- Formal verification properties
|
|
290
|
+
- Mutation testing
|
|
291
|
+
- CI/CD integration
|
|
292
|
+
- Pre-deployment verification scripts
|
|
293
|
+
|
|
294
|
+
**Best practices**:
|
|
295
|
+
- Create thorough unit tests
|
|
296
|
+
- Develop custom Slither and Echidna checks
|
|
297
|
+
- Automate security testing in CI
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
### 11. PLATFORM-SPECIFIC GUIDANCE
|
|
302
|
+
|
|
303
|
+
#### Solidity Projects
|
|
304
|
+
|
|
305
|
+
**I'll check**:
|
|
306
|
+
- Solidity version used
|
|
307
|
+
- Compiler warnings
|
|
308
|
+
- Inline assembly usage
|
|
309
|
+
|
|
310
|
+
**I'll recommend**:
|
|
311
|
+
- Stable Solidity versions (per Slither recommendations)
|
|
312
|
+
- Compiling with stable version
|
|
313
|
+
- Checking warnings with latest version
|
|
314
|
+
- Avoiding inline assembly without EVM expertise
|
|
315
|
+
|
|
316
|
+
**Best practices**:
|
|
317
|
+
- Favor Solidity 0.8.x for overflow protection
|
|
318
|
+
- Compile with stable release
|
|
319
|
+
- Check for warnings with latest release
|
|
320
|
+
- Avoid inline assembly unless absolutely necessary
|
|
321
|
+
|
|
322
|
+
#### Other Platforms
|
|
323
|
+
|
|
324
|
+
**I'll provide**:
|
|
325
|
+
- Platform-specific best practices
|
|
326
|
+
- Tool recommendations
|
|
327
|
+
- Security considerations
|
|
328
|
+
|
|
329
|
+
---
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
|
|
2
|
+
## Deliverables
|
|
3
|
+
|
|
4
|
+
### 1. System Documentation
|
|
5
|
+
|
|
6
|
+
**Plain English Description**:
|
|
7
|
+
```
|
|
8
|
+
[Project Name] System Overview
|
|
9
|
+
|
|
10
|
+
Purpose:
|
|
11
|
+
[Clear description of what the system does]
|
|
12
|
+
|
|
13
|
+
Components:
|
|
14
|
+
[List of contracts/modules and their roles]
|
|
15
|
+
|
|
16
|
+
Assumptions:
|
|
17
|
+
[Explicit assumptions about the codebase, environment, users]
|
|
18
|
+
|
|
19
|
+
Interactions:
|
|
20
|
+
[How components interact with each other]
|
|
21
|
+
|
|
22
|
+
Critical Operations:
|
|
23
|
+
[Key operations and their purposes]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Architectural Diagrams**:
|
|
27
|
+
- Contract inheritance graph
|
|
28
|
+
- Contract interaction graph
|
|
29
|
+
- State machine diagram (if applicable)
|
|
30
|
+
|
|
31
|
+
**Code Documentation Gaps**:
|
|
32
|
+
- List of undocumented functions
|
|
33
|
+
- Missing NatSpec/documentation
|
|
34
|
+
- Unclear assumptions
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
### 2. Architecture Analysis
|
|
39
|
+
|
|
40
|
+
**On-Chain/Off-Chain Assessment**:
|
|
41
|
+
- Current distribution
|
|
42
|
+
- Optimization opportunities
|
|
43
|
+
- Gas savings potential
|
|
44
|
+
- Complexity reduction suggestions
|
|
45
|
+
|
|
46
|
+
**Upgradeability Review**:
|
|
47
|
+
- Current approach assessment
|
|
48
|
+
- Alternative patterns consideration
|
|
49
|
+
- Procedure documentation status
|
|
50
|
+
- Recommendations
|
|
51
|
+
|
|
52
|
+
**Proxy Pattern Review** (if applicable):
|
|
53
|
+
- Security assessment
|
|
54
|
+
- Slither-check-upgradeability findings
|
|
55
|
+
- Specific risks identified
|
|
56
|
+
- Mitigation recommendations
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
### 3. Implementation Review
|
|
61
|
+
|
|
62
|
+
**Function Composition**:
|
|
63
|
+
- Complex functions requiring splitting
|
|
64
|
+
- Logic grouping suggestions
|
|
65
|
+
- Modularity improvements
|
|
66
|
+
|
|
67
|
+
**Inheritance**:
|
|
68
|
+
- Hierarchy visualization
|
|
69
|
+
- Complexity assessment
|
|
70
|
+
- Simplification recommendations
|
|
71
|
+
|
|
72
|
+
**Events**:
|
|
73
|
+
- Missing events list
|
|
74
|
+
- Event improvements
|
|
75
|
+
- Monitoring setup suggestions
|
|
76
|
+
|
|
77
|
+
**Pitfalls**:
|
|
78
|
+
- Identified vulnerabilities
|
|
79
|
+
- Severity assessment
|
|
80
|
+
- Fix recommendations
|
|
81
|
+
|
|
82
|
+
**Dependencies**:
|
|
83
|
+
- Library assessment
|
|
84
|
+
- Update recommendations
|
|
85
|
+
- Dependency management suggestions
|
|
86
|
+
|
|
87
|
+
**Testing**:
|
|
88
|
+
- Coverage analysis
|
|
89
|
+
- Testing gaps
|
|
90
|
+
- Advanced technique recommendations
|
|
91
|
+
- CI/CD suggestions
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
### 4. Prioritized Recommendations
|
|
96
|
+
|
|
97
|
+
**CRITICAL** (address immediately):
|
|
98
|
+
- Security vulnerabilities
|
|
99
|
+
- Proxy implementation issues
|
|
100
|
+
- Missing critical events
|
|
101
|
+
- Broken upgrade paths
|
|
102
|
+
|
|
103
|
+
**HIGH** (address before deployment):
|
|
104
|
+
- Documentation gaps
|
|
105
|
+
- Testing improvements
|
|
106
|
+
- Dependency updates
|
|
107
|
+
- Architecture optimizations
|
|
108
|
+
|
|
109
|
+
**MEDIUM** (address for production quality):
|
|
110
|
+
- Code organization
|
|
111
|
+
- Event completeness
|
|
112
|
+
- Function clarity
|
|
113
|
+
- Inheritance simplification
|
|
114
|
+
|
|
115
|
+
**LOW** (nice to have):
|
|
116
|
+
- Additional tests
|
|
117
|
+
- Documentation enhancements
|
|
118
|
+
- Gas optimizations
|