@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.
Files changed (371) hide show
  1. package/README.md +126 -0
  2. package/package.json +53 -0
  3. package/skills/1password/SKILL.md +70 -0
  4. package/skills/1password/references/cli-examples.md +29 -0
  5. package/skills/1password/references/get-started.md +17 -0
  6. package/skills/apple-notes/SKILL.md +77 -0
  7. package/skills/apple-reminders/SKILL.md +96 -0
  8. package/skills/bear-notes/SKILL.md +107 -0
  9. package/skills/bird/SKILL.md +224 -0
  10. package/skills/blogwatcher/SKILL.md +69 -0
  11. package/skills/blucli/SKILL.md +47 -0
  12. package/skills/bluebubbles/SKILL.md +131 -0
  13. package/skills/camsnap/SKILL.md +45 -0
  14. package/skills/canvas/SKILL.md +203 -0
  15. package/skills/clawhub/SKILL.md +77 -0
  16. package/skills/coding-agent/SKILL.md +284 -0
  17. package/skills/discord/SKILL.md +578 -0
  18. package/skills/eightctl/SKILL.md +50 -0
  19. package/skills/food-order/SKILL.md +48 -0
  20. package/skills/gemini/SKILL.md +43 -0
  21. package/skills/gifgrep/SKILL.md +79 -0
  22. package/skills/github/SKILL.md +77 -0
  23. package/skills/gog/SKILL.md +116 -0
  24. package/skills/goplaces/SKILL.md +52 -0
  25. package/skills/healthcheck/SKILL.md +245 -0
  26. package/skills/himalaya/SKILL.md +257 -0
  27. package/skills/himalaya/references/configuration.md +184 -0
  28. package/skills/himalaya/references/message-composition.md +199 -0
  29. package/skills/imsg/SKILL.md +74 -0
  30. package/skills/local-places/SERVER_README.md +101 -0
  31. package/skills/local-places/SKILL.md +102 -0
  32. package/skills/local-places/pyproject.toml +21 -0
  33. package/skills/local-places/src/local_places/__init__.py +2 -0
  34. package/skills/local-places/src/local_places/google_places.py +314 -0
  35. package/skills/local-places/src/local_places/main.py +65 -0
  36. package/skills/local-places/src/local_places/schemas.py +107 -0
  37. package/skills/mcporter/SKILL.md +61 -0
  38. package/skills/model-usage/SKILL.md +69 -0
  39. package/skills/model-usage/references/codexbar-cli.md +33 -0
  40. package/skills/model-usage/scripts/model_usage.py +310 -0
  41. package/skills/nano-banana-pro/SKILL.md +58 -0
  42. package/skills/nano-banana-pro/scripts/generate_image.py +184 -0
  43. package/skills/nano-pdf/SKILL.md +38 -0
  44. package/skills/notion/SKILL.md +172 -0
  45. package/skills/obsidian/SKILL.md +81 -0
  46. package/skills/openai-image-gen/SKILL.md +89 -0
  47. package/skills/openai-image-gen/scripts/gen.py +240 -0
  48. package/skills/openai-whisper/SKILL.md +38 -0
  49. package/skills/openai-whisper-api/SKILL.md +52 -0
  50. package/skills/openai-whisper-api/scripts/transcribe.sh +85 -0
  51. package/skills/openhue/SKILL.md +51 -0
  52. package/skills/oracle/SKILL.md +125 -0
  53. package/skills/ordercli/SKILL.md +78 -0
  54. package/skills/peekaboo/SKILL.md +190 -0
  55. package/skills/sag/SKILL.md +87 -0
  56. package/skills/security-ask-questions-if-underspecified/.claude-plugin/plugin.json +10 -0
  57. package/skills/security-ask-questions-if-underspecified/README.md +24 -0
  58. package/skills/security-ask-questions-if-underspecified/skills/ask-questions-if-underspecified/SKILL.md +85 -0
  59. package/skills/security-audit-context-building/.claude-plugin/plugin.json +10 -0
  60. package/skills/security-audit-context-building/README.md +58 -0
  61. package/skills/security-audit-context-building/commands/audit-context.md +21 -0
  62. package/skills/security-audit-context-building/skills/audit-context-building/SKILL.md +297 -0
  63. package/skills/security-audit-context-building/skills/audit-context-building/resources/COMPLETENESS_CHECKLIST.md +47 -0
  64. package/skills/security-audit-context-building/skills/audit-context-building/resources/FUNCTION_MICRO_ANALYSIS_EXAMPLE.md +355 -0
  65. package/skills/security-audit-context-building/skills/audit-context-building/resources/OUTPUT_REQUIREMENTS.md +71 -0
  66. package/skills/security-building-secure-contracts/.claude-plugin/plugin.json +10 -0
  67. package/skills/security-building-secure-contracts/README.md +241 -0
  68. package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/SKILL.md +284 -0
  69. package/skills/security-building-secure-contracts/skills/algorand-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +405 -0
  70. package/skills/security-building-secure-contracts/skills/audit-prep-assistant/SKILL.md +409 -0
  71. package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/SKILL.md +329 -0
  72. package/skills/security-building-secure-contracts/skills/cairo-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +722 -0
  73. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/SKILL.md +218 -0
  74. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/ASSESSMENT_CRITERIA.md +355 -0
  75. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/EXAMPLE_REPORT.md +248 -0
  76. package/skills/security-building-secure-contracts/skills/code-maturity-assessor/resources/REPORT_FORMAT.md +33 -0
  77. package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/SKILL.md +334 -0
  78. package/skills/security-building-secure-contracts/skills/cosmos-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +740 -0
  79. package/skills/security-building-secure-contracts/skills/guidelines-advisor/SKILL.md +252 -0
  80. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/ASSESSMENT_AREAS.md +329 -0
  81. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/DELIVERABLES.md +118 -0
  82. package/skills/security-building-secure-contracts/skills/guidelines-advisor/resources/EXAMPLE_REPORT.md +298 -0
  83. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/SKILL.md +161 -0
  84. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/EXAMPLE_REPORT.md +279 -0
  85. package/skills/security-building-secure-contracts/skills/secure-workflow-guide/resources/WORKFLOW_STEPS.md +132 -0
  86. package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/SKILL.md +389 -0
  87. package/skills/security-building-secure-contracts/skills/solana-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +669 -0
  88. package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/SKILL.md +298 -0
  89. package/skills/security-building-secure-contracts/skills/substrate-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +791 -0
  90. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/SKILL.md +362 -0
  91. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/ASSESSMENT_CATEGORIES.md +571 -0
  92. package/skills/security-building-secure-contracts/skills/token-integration-analyzer/resources/REPORT_TEMPLATES.md +141 -0
  93. package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/SKILL.md +388 -0
  94. package/skills/security-building-secure-contracts/skills/ton-vulnerability-scanner/resources/VULNERABILITY_PATTERNS.md +595 -0
  95. package/skills/security-burpsuite-project-parser/.claude-plugin/plugin.json +10 -0
  96. package/skills/security-burpsuite-project-parser/README.md +103 -0
  97. package/skills/security-burpsuite-project-parser/commands/burp-search.md +18 -0
  98. package/skills/security-burpsuite-project-parser/skills/SKILL.md +358 -0
  99. package/skills/security-burpsuite-project-parser/skills/scripts/burp-search.sh +99 -0
  100. package/skills/security-claude-in-chrome-troubleshooting/.claude-plugin/plugin.json +8 -0
  101. package/skills/security-claude-in-chrome-troubleshooting/README.md +31 -0
  102. package/skills/security-claude-in-chrome-troubleshooting/skills/claude-in-chrome-troubleshooting/SKILL.md +251 -0
  103. package/skills/security-constant-time-analysis/.claude-plugin/plugin.json +9 -0
  104. package/skills/security-constant-time-analysis/README.md +381 -0
  105. package/skills/security-constant-time-analysis/commands/ct-check.md +20 -0
  106. package/skills/security-constant-time-analysis/ct_analyzer/__init__.py +49 -0
  107. package/skills/security-constant-time-analysis/ct_analyzer/analyzer.py +1284 -0
  108. package/skills/security-constant-time-analysis/ct_analyzer/script_analyzers.py +3081 -0
  109. package/skills/security-constant-time-analysis/ct_analyzer/tests/__init__.py +1 -0
  110. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_analyzer.py +1397 -0
  111. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/bn_excerpt.js +205 -0
  112. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_constant_time.c +181 -0
  113. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.c +74 -0
  114. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.go +78 -0
  115. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/decompose_vulnerable.rs +92 -0
  116. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.cs +174 -0
  117. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.java +161 -0
  118. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.kt +181 -0
  119. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.php +140 -0
  120. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.py +252 -0
  121. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.rb +188 -0
  122. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.swift +199 -0
  123. package/skills/security-constant-time-analysis/ct_analyzer/tests/test_samples/vulnerable.ts +154 -0
  124. package/skills/security-constant-time-analysis/pyproject.toml +52 -0
  125. package/skills/security-constant-time-analysis/skills/constant-time-analysis/README.md +90 -0
  126. package/skills/security-constant-time-analysis/skills/constant-time-analysis/SKILL.md +219 -0
  127. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/compiled.md +129 -0
  128. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/javascript.md +136 -0
  129. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/kotlin.md +252 -0
  130. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/php.md +172 -0
  131. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/python.md +179 -0
  132. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/ruby.md +198 -0
  133. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/swift.md +288 -0
  134. package/skills/security-constant-time-analysis/skills/constant-time-analysis/references/vm-compiled.md +354 -0
  135. package/skills/security-constant-time-analysis/uv.lock +8 -0
  136. package/skills/security-culture-index/.claude-plugin/plugin.json +8 -0
  137. package/skills/security-culture-index/README.md +79 -0
  138. package/skills/security-culture-index/skills/interpreting-culture-index/SKILL.md +293 -0
  139. package/skills/security-culture-index/skills/interpreting-culture-index/references/anti-patterns.md +255 -0
  140. package/skills/security-culture-index/skills/interpreting-culture-index/references/conversation-starters.md +408 -0
  141. package/skills/security-culture-index/skills/interpreting-culture-index/references/interview-trait-signals.md +253 -0
  142. package/skills/security-culture-index/skills/interpreting-culture-index/references/motivators.md +158 -0
  143. package/skills/security-culture-index/skills/interpreting-culture-index/references/patterns-archetypes.md +147 -0
  144. package/skills/security-culture-index/skills/interpreting-culture-index/references/primary-traits.md +307 -0
  145. package/skills/security-culture-index/skills/interpreting-culture-index/references/secondary-traits.md +228 -0
  146. package/skills/security-culture-index/skills/interpreting-culture-index/references/team-composition.md +148 -0
  147. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/check_deps.py +108 -0
  148. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/__init__.py +20 -0
  149. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/constants.py +122 -0
  150. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/extract.py +187 -0
  151. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/models.py +16 -0
  152. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/culture_index/opencv_extractor.py +520 -0
  153. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/extract_pdf.py +237 -0
  154. package/skills/security-culture-index/skills/interpreting-culture-index/scripts/pyproject.toml +18 -0
  155. package/skills/security-culture-index/skills/interpreting-culture-index/templates/burnout-report.md +113 -0
  156. package/skills/security-culture-index/skills/interpreting-culture-index/templates/comparison-report.md +103 -0
  157. package/skills/security-culture-index/skills/interpreting-culture-index/templates/hiring-profile.md +127 -0
  158. package/skills/security-culture-index/skills/interpreting-culture-index/templates/individual-report.md +85 -0
  159. package/skills/security-culture-index/skills/interpreting-culture-index/templates/predicted-profile.md +165 -0
  160. package/skills/security-culture-index/skills/interpreting-culture-index/templates/team-report.md +109 -0
  161. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/analyze-team.md +188 -0
  162. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/coach-manager.md +267 -0
  163. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/compare-profiles.md +188 -0
  164. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/define-hiring-profile.md +220 -0
  165. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/detect-burnout.md +206 -0
  166. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/extract-from-pdf.md +121 -0
  167. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/interpret-individual.md +183 -0
  168. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/interview-debrief.md +234 -0
  169. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/mediate-conflict.md +306 -0
  170. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/plan-onboarding.md +322 -0
  171. package/skills/security-culture-index/skills/interpreting-culture-index/workflows/predict-from-interview.md +250 -0
  172. package/skills/security-differential-review/.claude-plugin/plugin.json +10 -0
  173. package/skills/security-differential-review/README.md +109 -0
  174. package/skills/security-differential-review/commands/diff-review.md +21 -0
  175. package/skills/security-differential-review/skills/differential-review/SKILL.md +220 -0
  176. package/skills/security-differential-review/skills/differential-review/adversarial.md +203 -0
  177. package/skills/security-differential-review/skills/differential-review/methodology.md +234 -0
  178. package/skills/security-differential-review/skills/differential-review/patterns.md +300 -0
  179. package/skills/security-differential-review/skills/differential-review/reporting.md +369 -0
  180. package/skills/security-dwarf-expert/.claude-plugin/plugin.json +10 -0
  181. package/skills/security-dwarf-expert/README.md +38 -0
  182. package/skills/security-dwarf-expert/skills/dwarf-expert/SKILL.md +93 -0
  183. package/skills/security-dwarf-expert/skills/dwarf-expert/reference/coding.md +31 -0
  184. package/skills/security-dwarf-expert/skills/dwarf-expert/reference/dwarfdump.md +50 -0
  185. package/skills/security-dwarf-expert/skills/dwarf-expert/reference/readelf.md +8 -0
  186. package/skills/security-entry-point-analyzer/.claude-plugin/plugin.json +10 -0
  187. package/skills/security-entry-point-analyzer/README.md +74 -0
  188. package/skills/security-entry-point-analyzer/commands/entry-points.md +18 -0
  189. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/SKILL.md +251 -0
  190. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/cosmwasm.md +182 -0
  191. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-aptos.md +107 -0
  192. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/move-sui.md +87 -0
  193. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solana.md +155 -0
  194. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/solidity.md +135 -0
  195. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/ton.md +185 -0
  196. package/skills/security-entry-point-analyzer/skills/entry-point-analyzer/references/vyper.md +141 -0
  197. package/skills/security-firebase-apk-scanner/.claude-plugin/plugin.json +10 -0
  198. package/skills/security-firebase-apk-scanner/README.md +85 -0
  199. package/skills/security-firebase-apk-scanner/commands/scan-apk.md +18 -0
  200. package/skills/security-firebase-apk-scanner/scanner.sh +1408 -0
  201. package/skills/security-firebase-apk-scanner/skills/firebase-apk-scanner/SKILL.md +197 -0
  202. package/skills/security-firebase-apk-scanner/skills/firebase-apk-scanner/references/vulnerabilities.md +803 -0
  203. package/skills/security-fix-review/.claude-plugin/plugin.json +13 -0
  204. package/skills/security-fix-review/README.md +118 -0
  205. package/skills/security-fix-review/commands/fix-review.md +24 -0
  206. package/skills/security-fix-review/skills/fix-review/SKILL.md +264 -0
  207. package/skills/security-fix-review/skills/fix-review/references/bug-detection.md +408 -0
  208. package/skills/security-fix-review/skills/fix-review/references/finding-matching.md +298 -0
  209. package/skills/security-fix-review/skills/fix-review/references/report-parsing.md +398 -0
  210. package/skills/security-insecure-defaults/.claude-plugin/plugin.json +10 -0
  211. package/skills/security-insecure-defaults/README.md +45 -0
  212. package/skills/security-insecure-defaults/skills/insecure-defaults/SKILL.md +117 -0
  213. package/skills/security-insecure-defaults/skills/insecure-defaults/references/examples.md +409 -0
  214. package/skills/security-modern-python/.claude-plugin/plugin.json +10 -0
  215. package/skills/security-modern-python/README.md +58 -0
  216. package/skills/security-modern-python/hooks/hooks.json +16 -0
  217. package/skills/security-modern-python/hooks/intercept-legacy-python.bats +388 -0
  218. package/skills/security-modern-python/hooks/intercept-legacy-python.sh +109 -0
  219. package/skills/security-modern-python/hooks/test_helper.bash +75 -0
  220. package/skills/security-modern-python/skills/modern-python/SKILL.md +333 -0
  221. package/skills/security-modern-python/skills/modern-python/references/dependabot.md +43 -0
  222. package/skills/security-modern-python/skills/modern-python/references/migration-checklist.md +141 -0
  223. package/skills/security-modern-python/skills/modern-python/references/pep723-scripts.md +259 -0
  224. package/skills/security-modern-python/skills/modern-python/references/prek.md +211 -0
  225. package/skills/security-modern-python/skills/modern-python/references/pyproject.md +254 -0
  226. package/skills/security-modern-python/skills/modern-python/references/ruff-config.md +240 -0
  227. package/skills/security-modern-python/skills/modern-python/references/security-setup.md +255 -0
  228. package/skills/security-modern-python/skills/modern-python/references/testing.md +284 -0
  229. package/skills/security-modern-python/skills/modern-python/references/uv-commands.md +200 -0
  230. package/skills/security-modern-python/skills/modern-python/templates/dependabot.yml +36 -0
  231. package/skills/security-modern-python/skills/modern-python/templates/pre-commit-config.yaml +66 -0
  232. package/skills/security-property-based-testing/.claude-plugin/plugin.json +9 -0
  233. package/skills/security-property-based-testing/README.md +47 -0
  234. package/skills/security-property-based-testing/skills/property-based-testing/README.md +88 -0
  235. package/skills/security-property-based-testing/skills/property-based-testing/SKILL.md +109 -0
  236. package/skills/security-property-based-testing/skills/property-based-testing/references/design.md +191 -0
  237. package/skills/security-property-based-testing/skills/property-based-testing/references/generating.md +200 -0
  238. package/skills/security-property-based-testing/skills/property-based-testing/references/libraries.md +130 -0
  239. package/skills/security-property-based-testing/skills/property-based-testing/references/refactoring.md +181 -0
  240. package/skills/security-property-based-testing/skills/property-based-testing/references/reviewing.md +209 -0
  241. package/skills/security-property-based-testing/skills/property-based-testing/references/strategies.md +124 -0
  242. package/skills/semgrep-rule-creator/.claude-plugin/plugin.json +8 -0
  243. package/skills/semgrep-rule-creator/README.md +43 -0
  244. package/skills/semgrep-rule-creator/commands/semgrep-rule.md +26 -0
  245. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/SKILL.md +168 -0
  246. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/quick-reference.md +203 -0
  247. package/skills/semgrep-rule-creator/skills/semgrep-rule-creator/references/workflow.md +240 -0
  248. package/skills/semgrep-rule-variant-creator/.claude-plugin/plugin.json +9 -0
  249. package/skills/semgrep-rule-variant-creator/README.md +86 -0
  250. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/SKILL.md +205 -0
  251. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/applicability-analysis.md +250 -0
  252. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/language-syntax-guide.md +324 -0
  253. package/skills/semgrep-rule-variant-creator/skills/semgrep-rule-variant-creator/references/workflow.md +518 -0
  254. package/skills/session-logs/SKILL.md +115 -0
  255. package/skills/sharp-edges/.claude-plugin/plugin.json +10 -0
  256. package/skills/sharp-edges/README.md +48 -0
  257. package/skills/sharp-edges/skills/sharp-edges/SKILL.md +292 -0
  258. package/skills/sharp-edges/skills/sharp-edges/references/auth-patterns.md +252 -0
  259. package/skills/sharp-edges/skills/sharp-edges/references/case-studies.md +274 -0
  260. package/skills/sharp-edges/skills/sharp-edges/references/config-patterns.md +333 -0
  261. package/skills/sharp-edges/skills/sharp-edges/references/crypto-apis.md +190 -0
  262. package/skills/sharp-edges/skills/sharp-edges/references/lang-c.md +205 -0
  263. package/skills/sharp-edges/skills/sharp-edges/references/lang-csharp.md +285 -0
  264. package/skills/sharp-edges/skills/sharp-edges/references/lang-go.md +270 -0
  265. package/skills/sharp-edges/skills/sharp-edges/references/lang-java.md +263 -0
  266. package/skills/sharp-edges/skills/sharp-edges/references/lang-javascript.md +269 -0
  267. package/skills/sharp-edges/skills/sharp-edges/references/lang-kotlin.md +265 -0
  268. package/skills/sharp-edges/skills/sharp-edges/references/lang-php.md +245 -0
  269. package/skills/sharp-edges/skills/sharp-edges/references/lang-python.md +274 -0
  270. package/skills/sharp-edges/skills/sharp-edges/references/lang-ruby.md +273 -0
  271. package/skills/sharp-edges/skills/sharp-edges/references/lang-rust.md +272 -0
  272. package/skills/sharp-edges/skills/sharp-edges/references/lang-swift.md +287 -0
  273. package/skills/sharp-edges/skills/sharp-edges/references/language-specific.md +588 -0
  274. package/skills/sherpa-onnx-tts/SKILL.md +103 -0
  275. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +178 -0
  276. package/skills/skill-creator/SKILL.md +370 -0
  277. package/skills/skill-creator/license.txt +202 -0
  278. package/skills/skill-creator/scripts/init_skill.py +378 -0
  279. package/skills/skill-creator/scripts/package_skill.py +111 -0
  280. package/skills/skill-creator/scripts/quick_validate.py +101 -0
  281. package/skills/slack/SKILL.md +144 -0
  282. package/skills/songsee/SKILL.md +49 -0
  283. package/skills/sonoscli/SKILL.md +46 -0
  284. package/skills/spec-to-code-compliance/.claude-plugin/plugin.json +10 -0
  285. package/skills/spec-to-code-compliance/README.md +67 -0
  286. package/skills/spec-to-code-compliance/commands/spec-compliance.md +22 -0
  287. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/SKILL.md +349 -0
  288. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/COMPLETENESS_CHECKLIST.md +69 -0
  289. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/IR_EXAMPLES.md +417 -0
  290. package/skills/spec-to-code-compliance/skills/spec-to-code-compliance/resources/OUTPUT_REQUIREMENTS.md +105 -0
  291. package/skills/spotify-player/SKILL.md +64 -0
  292. package/skills/static-analysis/.claude-plugin/plugin.json +8 -0
  293. package/skills/static-analysis/README.md +59 -0
  294. package/skills/static-analysis/skills/codeql/SKILL.md +315 -0
  295. package/skills/static-analysis/skills/sarif-parsing/SKILL.md +479 -0
  296. package/skills/static-analysis/skills/sarif-parsing/resources/jq-queries.md +162 -0
  297. package/skills/static-analysis/skills/sarif-parsing/resources/sarif_helpers.py +331 -0
  298. package/skills/static-analysis/skills/semgrep/SKILL.md +337 -0
  299. package/skills/summarize/SKILL.md +87 -0
  300. package/skills/testing-handbook-skills/.claude-plugin/plugin.json +8 -0
  301. package/skills/testing-handbook-skills/README.md +241 -0
  302. package/skills/testing-handbook-skills/scripts/pyproject.toml +8 -0
  303. package/skills/testing-handbook-skills/scripts/validate-skills.py +657 -0
  304. package/skills/testing-handbook-skills/skills/address-sanitizer/SKILL.md +341 -0
  305. package/skills/testing-handbook-skills/skills/aflpp/SKILL.md +640 -0
  306. package/skills/testing-handbook-skills/skills/atheris/SKILL.md +515 -0
  307. package/skills/testing-handbook-skills/skills/cargo-fuzz/SKILL.md +454 -0
  308. package/skills/testing-handbook-skills/skills/codeql/SKILL.md +549 -0
  309. package/skills/testing-handbook-skills/skills/constant-time-testing/SKILL.md +507 -0
  310. package/skills/testing-handbook-skills/skills/coverage-analysis/SKILL.md +607 -0
  311. package/skills/testing-handbook-skills/skills/fuzzing-dictionary/SKILL.md +297 -0
  312. package/skills/testing-handbook-skills/skills/fuzzing-obstacles/SKILL.md +426 -0
  313. package/skills/testing-handbook-skills/skills/harness-writing/SKILL.md +614 -0
  314. package/skills/testing-handbook-skills/skills/libafl/SKILL.md +625 -0
  315. package/skills/testing-handbook-skills/skills/libfuzzer/SKILL.md +795 -0
  316. package/skills/testing-handbook-skills/skills/ossfuzz/SKILL.md +426 -0
  317. package/skills/testing-handbook-skills/skills/ruzzy/SKILL.md +443 -0
  318. package/skills/testing-handbook-skills/skills/semgrep/SKILL.md +601 -0
  319. package/skills/testing-handbook-skills/skills/testing-handbook-generator/SKILL.md +372 -0
  320. package/skills/testing-handbook-skills/skills/testing-handbook-generator/agent-prompt.md +280 -0
  321. package/skills/testing-handbook-skills/skills/testing-handbook-generator/discovery.md +452 -0
  322. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/domain-skill.md +504 -0
  323. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/fuzzer-skill.md +454 -0
  324. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/technique-skill.md +527 -0
  325. package/skills/testing-handbook-skills/skills/testing-handbook-generator/templates/tool-skill.md +366 -0
  326. package/skills/testing-handbook-skills/skills/testing-handbook-generator/testing.md +482 -0
  327. package/skills/testing-handbook-skills/skills/wycheproof/SKILL.md +533 -0
  328. package/skills/things-mac/SKILL.md +86 -0
  329. package/skills/tmux/SKILL.md +135 -0
  330. package/skills/tmux/scripts/find-sessions.sh +112 -0
  331. package/skills/tmux/scripts/wait-for-text.sh +83 -0
  332. package/skills/trello/SKILL.md +95 -0
  333. package/skills/variant-analysis/.claude-plugin/plugin.json +8 -0
  334. package/skills/variant-analysis/README.md +41 -0
  335. package/skills/variant-analysis/commands/variants.md +23 -0
  336. package/skills/variant-analysis/skills/variant-analysis/METHODOLOGY.md +327 -0
  337. package/skills/variant-analysis/skills/variant-analysis/SKILL.md +142 -0
  338. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/cpp.ql +119 -0
  339. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/go.ql +69 -0
  340. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/java.ql +71 -0
  341. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/javascript.ql +63 -0
  342. package/skills/variant-analysis/skills/variant-analysis/resources/codeql/python.ql +80 -0
  343. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/cpp.yaml +98 -0
  344. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/go.yaml +63 -0
  345. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/java.yaml +61 -0
  346. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/javascript.yaml +60 -0
  347. package/skills/variant-analysis/skills/variant-analysis/resources/semgrep/python.yaml +72 -0
  348. package/skills/variant-analysis/skills/variant-analysis/resources/variant-report-template.md +75 -0
  349. package/skills/video-frames/SKILL.md +46 -0
  350. package/skills/video-frames/scripts/frame.sh +81 -0
  351. package/skills/voice-call/SKILL.md +45 -0
  352. package/skills/wacli/SKILL.md +72 -0
  353. package/skills/weather/SKILL.md +54 -0
  354. package/skills/yara-authoring/.claude-plugin/plugin.json +9 -0
  355. package/skills/yara-authoring/README.md +131 -0
  356. package/skills/yara-authoring/skills/yara-rule-authoring/SKILL.md +645 -0
  357. package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_Mac_ProtonRAT_Jan25.yar +99 -0
  358. package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_NPM_SupplyChain_Jan25.yar +170 -0
  359. package/skills/yara-authoring/skills/yara-rule-authoring/examples/MAL_Win_Remcos_Jan25.yar +103 -0
  360. package/skills/yara-authoring/skills/yara-rule-authoring/examples/SUSP_CRX_SuspiciousPermissions.yar +134 -0
  361. package/skills/yara-authoring/skills/yara-rule-authoring/examples/SUSP_JS_Obfuscation_Jan25.yar +185 -0
  362. package/skills/yara-authoring/skills/yara-rule-authoring/references/crx-module.md +214 -0
  363. package/skills/yara-authoring/skills/yara-rule-authoring/references/dex-module.md +383 -0
  364. package/skills/yara-authoring/skills/yara-rule-authoring/references/performance.md +333 -0
  365. package/skills/yara-authoring/skills/yara-rule-authoring/references/strings.md +433 -0
  366. package/skills/yara-authoring/skills/yara-rule-authoring/references/style-guide.md +257 -0
  367. package/skills/yara-authoring/skills/yara-rule-authoring/references/testing.md +399 -0
  368. package/skills/yara-authoring/skills/yara-rule-authoring/scripts/atom_analyzer.py +526 -0
  369. package/skills/yara-authoring/skills/yara-rule-authoring/scripts/pyproject.toml +25 -0
  370. package/skills/yara-authoring/skills/yara-rule-authoring/scripts/yara_lint.py +631 -0
  371. package/skills/yara-authoring/skills/yara-rule-authoring/workflows/rule-development.md +493 -0
@@ -0,0 +1,228 @@
1
+ <overview>
2
+
3
+ Secondary traits (EU, L, I) supplement the primary traits. L and I are unique: they use **absolute values** and CAN be compared directly between people.
4
+
5
+ </overview>
6
+
7
+ <trait name="EU" label="Energy Units">
8
+
9
+ Measures **mental stamina** - how long a person can work before needing a short 5-10 minute mental break to recharge. If they don't take that break, they operate in a mentally fatigued state (frustrated, lacking clarity, missing things).
10
+
11
+ <important_note>
12
+ EU is NOT:
13
+ - Physical energy
14
+ - Work ethic
15
+ - Intelligence or capability
16
+ </important_note>
17
+
18
+ <interpretation>
19
+
20
+ | Range | Label | Management Approach |
21
+ |-------|-------|---------------------|
22
+ | 0-10 | **Potentially avoidant** | Flag for review - may need hand-scoring |
23
+ | 11-19 | Lower EU | Prioritize important work first thing in morning, earlier in week |
24
+ | 20-40 | Most common for executives | Regular short breaks throughout day (4-5 per 10-hour day) |
25
+ | 41-60 | Above average | Longer sustained focus possible |
26
+ | 61-80 | High ("energizer bunnies") | As mentally fresh at 9pm as 9am; watch for late-night emails |
27
+
28
+ </interpretation>
29
+
30
+ <avoidant_responses>
31
+
32
+ If EU is 0-10, flag for review. Common causes:
33
+ 1. Didn't read instructions - selected one word per column
34
+ 2. Interrupted before completing
35
+ 3. Took survey in non-native language
36
+ 4. Overly guarded/skeptical - trust issue ("How will this be used against me?")
37
+ 5. Below 8th grade reading level
38
+
39
+ **If multiple direct reports return avoidant:** Look at the manager - "Why do you have a culture of fear or mistrust?"
40
+
41
+ </avoidant_responses>
42
+
43
+ <energy_drain>
44
+
45
+ **Critical insight**: Living in your TOP graph (natural traits) does NOT drain EU - it's effortless.
46
+
47
+ What DRAINS EU is behavior modification - when your bottom graph differs from your top graph, you're expending mental energy to "act" differently than you're wired.
48
+
49
+ </energy_drain>
50
+
51
+ <utilization_formula>
52
+
53
+ **Compare EU between Survey and Job using:**
54
+
55
+ ```
56
+ Energy Utilization = (Job EU / Survey EU) × 100
57
+ ```
58
+
59
+ | Utilization | Signal | Meaning |
60
+ |-------------|--------|---------|
61
+ | 70-130% | Healthy | Sustainable workload alignment |
62
+ | >130% | **STRESS** | Good stress (self-induced caring) OR bad stress (overutilization). Burnout risk. |
63
+ | <70% | **FRUSTRATION** | Disengaged, apathetic, going through motions, underutilized, bored. **Flight risk.** |
64
+
65
+ **Example**: Survey EU = 41, Job EU = 31. Utilization = 31/41 = 75%. Approaching check-engine-light zone for frustration/disengagement.
66
+
67
+ </utilization_formula>
68
+
69
+ <stress_types>
70
+
71
+ **>130% Stress Types:**
72
+ - **Good stress (self-induced)**: "I really care about this company, I love what I do" - but still potential for burnout and health issues if sustained 3-6 months
73
+ - **Bad stress (overutilization)**: Loaded with too much work, or work requires too much behavior modification
74
+
75
+ **<70% Frustration:** Work doesn't quite fit them. Might have a lot to do, but the work doesn't match their traits. Not punching eject yet, but getting close.
76
+
77
+ </stress_types>
78
+
79
+ <resurvey_cadence>
80
+
81
+ Job behaviors should be resurveyed biannually. Don't make decisions on stale data (18+ months old).
82
+
83
+ </resurvey_cadence>
84
+
85
+ </trait>
86
+
87
+ <trait name="L" color="purple" label="Logic">
88
+
89
+ Measures how a person receives and processes new information - the first filter when receiving new information, especially sensitive information. **Also measures self-esteem** - the lower the logic, the lower the self-esteem.
90
+
91
+ <important_note>
92
+ L uses **absolute values**. You CAN compare L scores directly between people.
93
+ Logic 8 means "High Logic" regardless of arrow position.
94
+ </important_note>
95
+
96
+ <interpretation>
97
+
98
+ | Score | Label | Behavior |
99
+ |-------|-------|----------|
100
+ | 0-2 | Low Logic | Emotional, sensitive, heartfelt, passionate; emotions filter information first |
101
+ | 3-7 | Normative | Emotionally available competency - balanced head and heart working in tandem |
102
+ | 8-10 | High Logic | Rational, logical, black/white; high emotional compartmentalization; detach in the moment |
103
+
104
+ </interpretation>
105
+
106
+ <low_logic range="0-2">
107
+
108
+ **Characteristics:**
109
+ - Lack emotional control in the moment - first response may be chemically induced, not fact-based
110
+ - Introduces unpredictability - irrational in-the-moment decision making
111
+ - Can have high self-confidence (A) but low self-esteem simultaneously
112
+
113
+ **Benefit:** Emotional attachment can drive extraordinary results (Olympians, entrepreneurs)
114
+
115
+ **Managing Low Logic:**
116
+ - Don't say "calm down"
117
+ - Create distance - "Let's talk at 4pm today"
118
+ - They'll meet you as an adult once emotions settle
119
+
120
+ </low_logic>
121
+
122
+ <normative_logic range="3-7">
123
+
124
+ - Natural EQ - emotionally available but not governed by emotions
125
+ - 3-4: Lead more heart than head, but not disconnected from rational thought
126
+ - 5: Dead smack in the middle
127
+ - 6-7: Lead more head than heart
128
+
129
+ </normative_logic>
130
+
131
+ <high_logic range="8-10">
132
+
133
+ **Characteristics:**
134
+ - Clear thinking when things are hitting the fan
135
+ - Complete separation from emotions; tough situations don't phase them
136
+
137
+ **Watch:** Can come across cold, detached, insensitive. "Toughens the dots up."
138
+
139
+ **Combination note:** High B + Logic 10 = outgoing but can say insensitive things (a bit of an "ahole factor")
140
+
141
+ **Combination note:** Low B + Logic 10 = "sensitivity is not going to be your strong suit"
142
+
143
+ </high_logic>
144
+
145
+ <job_behavior_signal>
146
+
147
+ When a high logic person (9-10) drops their logic in job behaviors (to 4-5), it's almost always an indication of **people-related challenges**. They're trying to be more emotionally open because they've been told they're too cold/detached.
148
+
149
+ </job_behavior_signal>
150
+
151
+ </trait>
152
+
153
+ <trait name="I" color="cyan" label="Ingenuity">
154
+
155
+ Measures raw inventiveness and spatial reasoning - how detached from reality someone thinks. "Clever or original thinking."
156
+
157
+ <important_note>
158
+ I uses **absolute values**. You CAN compare I scores directly between people.
159
+ Ingenuity 8 means "High Ingenuity" regardless of arrow position.
160
+ </important_note>
161
+
162
+ <interpretation>
163
+
164
+ | Score | Label | Behavior |
165
+ |-------|-------|----------|
166
+ | 0-2 | Low Ingenuity | **Most common score**. Linear, practical, grounded. If it doesn't exist, need to touch/see/feel/experience it. |
167
+ | 3-6 | Occasional | Occasional moments of inspiration - looking at things in a more layered, original way. |
168
+ | 7-10 | High Ingenuity | Ingenious, inventive, eccentric, multidimensional thinkers. Detached from reality. |
169
+
170
+ </interpretation>
171
+
172
+ <the_pen_test>
173
+
174
+ Ask what a pen is:
175
+ - Low ingenuity (0-2): "It's a pen."
176
+ - High ingenuity (9): "It's how we pump oil in Texas. A window into another world. Executive decision-making. A weapon."
177
+ - Low ingenuity response to high ingenuity: "No, moron. It's a freaking pen."
178
+
179
+ </the_pen_test>
180
+
181
+ <high_ingenuity range="7-10">
182
+
183
+ **Where it helps:**
184
+ - New business lines and revenue opportunities
185
+ - Creative proposals
186
+ - R&D
187
+ - Creative marketing
188
+ - Don't see limitations - experimental, try unconventional approaches
189
+
190
+ **Watch for:**
191
+ - Can be distracting with constant weird ideas
192
+ - Not all ideas monetizable - need A trait to commercialize
193
+ - Especially disruptive if in position to initiate ideas
194
+
195
+ </high_ingenuity>
196
+
197
+ <low_ingenuity range="0-2">
198
+
199
+ **Most common score.** Not a negative - indicates practical, grounded thinking.
200
+
201
+ **Note:** Single-tail IQ correlation. High I → likely high IQ. However, low I does NOT mean low IQ - plenty of certified geniuses have low ingenuity scores.
202
+
203
+ </low_ingenuity>
204
+
205
+ <job_behavior_signal>
206
+
207
+ When a low ingenuity person raises their ingenuity in job behaviors, the traditional approach is not working. They're trying to figure out a more inventive way to handle something they're stuck on.
208
+
209
+ </job_behavior_signal>
210
+
211
+ </trait>
212
+
213
+ <confidence_sources>
214
+
215
+ Culture Index identifies three sources of confidence, each tied to a trait:
216
+
217
+ | Trait | Confidence Source | Description |
218
+ |-------|-------------------|-------------|
219
+ | High A | Inner self-confidence | Belief in self regardless of circumstances. "I believe I'll win." Can be in a hitting slump and picks themselves up by bootstraps. |
220
+ | High B | Social confidence | Confidence from ability to influence and connect. If people don't respond, starts questioning self. High A + High B can fall back on A's self-confidence. |
221
+ | High D | Knowledge/Expertise confidence | "If I know it, I know it." Confidence rooted in mastery and competency. Great vetters. |
222
+
223
+ **Confidence recovery:**
224
+ - High A's recover by getting back in the winner's circle (stack easy wins)
225
+ - High B's recover through relationship reconnection
226
+ - High D's recover through acquiring more knowledge/training
227
+
228
+ </confidence_sources>
@@ -0,0 +1,148 @@
1
+ <overview>
2
+
3
+ Every team needs the right mix of Gas, Brake, and Glue for its current needs. The ratio depends on the season of business, the function, and current gaps.
4
+
5
+ </overview>
6
+
7
+ <gas_brake_glue>
8
+
9
+ | Role | Trait | Function | Too Little | Too Much |
10
+ |------|-------|----------|------------|----------|
11
+ | **Gas Pedal** | High A | Growth, risk-taking, innovation, driving results | Stagnation, waiting around, no decisive action | Chaos, recklessness, burnout |
12
+ | **Brake Pedal** | High D | Risk aversion, quality control, compliance, finishing | Erosion, mistakes, lawsuits, quality issues | Paralysis, perfectionism, can't ship |
13
+ | **Glue** | High B | Relationships, morale, optimism, "fun part of the zoo" | Root canal culture, morale problems, no fun | All talk, no action, groupthink |
14
+
15
+ </gas_brake_glue>
16
+
17
+ <diagnostic_questions>
18
+
19
+ | Symptom | Likely Gap |
20
+ |---------|------------|
21
+ | Lacking growth, decisive action, or strategic problem-solving | Not enough high A (Gas) |
22
+ | Morale sucks, culture feels like a root canal, no fun | Not enough high B (Glue) |
23
+ | Quality erosion, mistakes, compliance issues | Not enough high D (Brake) |
24
+ | Chaos, recklessness, burnout, no follow-through | Too much Gas, not enough Brake |
25
+ | Paralysis, perfectionism, can't ship anything | Too much Brake, not enough Gas |
26
+ | All talk, no action, groupthink, avoiding hard decisions | Too much Glue, not enough Gas |
27
+
28
+ </diagnostic_questions>
29
+
30
+ <business_season>
31
+
32
+ The ideal balance depends on what the team/company needs now:
33
+
34
+ | Season | Priority | What You Need |
35
+ |--------|----------|---------------|
36
+ | **High-growth / Turnaround** | Gas | Drivers and risk-takers. High A's who will push through. |
37
+ | **Consolidation / Stability** | Brake | Quality and consistency. High D's who ensure nothing breaks. |
38
+ | **Culture Building** | Glue | Relationship builders. High B's who create positive environment. |
39
+ | **Complex Operations** | Brake + Glue | Precision and collaboration. Need both quality control and team cohesion. |
40
+ | **Innovation / R&D** | Gas + Low D | Risk-takers who experiment. High A + Low D = willingness to fail fast. |
41
+ | **Compliance-Heavy** | Brake | High D's who follow rules precisely. Risk aversion is a feature. |
42
+
43
+ </business_season>
44
+
45
+ <function_needs>
46
+
47
+ Different functions naturally need different balances:
48
+
49
+ | Function | Primary Need | Why |
50
+ |----------|-------------|-----|
51
+ | Sales | Gas (High A) | Drive results, close deals, push through objections |
52
+ | Engineering | Brake (High D) | Quality code, attention to detail, systematic approach |
53
+ | Customer Success | Glue (High B) | Relationships, retention, advocacy |
54
+ | Operations | Brake (High D) | Consistency, reliability, process adherence |
55
+ | Marketing (Creative) | Gas + Low D | Innovation, experimentation, bold ideas |
56
+ | Finance | Brake (High D) | Accuracy, compliance, risk management |
57
+ | HR | Glue (High B) | Culture, relationships, employee advocacy |
58
+ | Executive Team | Balanced | Need all three: drive (Gas), quality (Brake), culture (Glue) |
59
+
60
+ </function_needs>
61
+
62
+ <c_trait_team_impact>
63
+
64
+ C (Pace/Patience) affects team dynamics beyond Gas/Brake/Glue:
65
+
66
+ | Team Pattern | Implication |
67
+ |--------------|-------------|
68
+ | Mostly Low C | Fast-moving, urgent, may create unnecessary chaos. Need someone to slow things down occasionally. |
69
+ | Mostly High C | Steady, patient, but may resist change. Need someone to push urgency when required. |
70
+ | Mixed C | Natural tension between fast and slow movers. Can be healthy friction if managed. |
71
+
72
+ **Considerations:**
73
+ - If major projects require urgent pivots → need some Low C
74
+ - If major projects require sustained focus → need some High C
75
+ - Pairing Low C with High C can create complementary partnerships (one pushes, one steadies)
76
+
77
+ </c_trait_team_impact>
78
+
79
+ <a_vs_b_team_balance>
80
+
81
+ Team-wide task vs people orientation:
82
+
83
+ | Pattern | Implication |
84
+ |---------|-------------|
85
+ | A > B (most people) | Task-focused, results-driven. May neglect relationships and culture. Risk of burnout and turnover. |
86
+ | B > A (most people) | People-focused, harmonious. May avoid tough decisions and underperform on results. |
87
+ | Mixed A/B | Healthy tension. Task drivers balanced by relationship builders. |
88
+
89
+ </a_vs_b_team_balance>
90
+
91
+ <hiring_to_fill_gaps>
92
+
93
+ When hiring to fill a gap, specify the ideal profile:
94
+
95
+ **Gap: Not enough Gas**
96
+ ```
97
+ Ideal Hire Pattern:
98
+ - A: High (right of arrow) - drives results, takes initiative
99
+ - B: Any (based on role) - depends on whether role is people-facing
100
+ - C: Low preferred - urgency and pace
101
+ - D: Any (consider existing Brake capacity)
102
+ ```
103
+
104
+ **Gap: Not enough Brake**
105
+ ```
106
+ Ideal Hire Pattern:
107
+ - A: Any - Low A + High D = specialist optimizer
108
+ - B: Any (based on role)
109
+ - C: High preferred - patience for detailed work
110
+ - D: High (right of arrow) - quality focus, follow-through
111
+ ```
112
+
113
+ **Gap: Not enough Glue**
114
+ ```
115
+ Ideal Hire Pattern:
116
+ - A: Any - Low A + High B = collaborative culture builder
117
+ - B: High (right of arrow) - relationship builder
118
+ - C: Any (based on role pace)
119
+ - D: Any
120
+ ```
121
+
122
+ </hiring_to_fill_gaps>
123
+
124
+ <conflict_pairs>
125
+
126
+ Trait combinations that create friction on teams:
127
+
128
+ | Combination | Friction Point | Mitigation |
129
+ |-------------|----------------|------------|
130
+ | High A vs High A | Power struggles, both want to lead | Clear role delineation, separate domains |
131
+ | High A vs Low A | Independence vs collaboration | High A provides direction, respects Low A's process |
132
+ | High B vs Low B | Social needs mismatch | High B allows Low B alone time; Low B participates minimally |
133
+ | High C vs Low C | Pace/urgency mismatch | Low C respects focus time; High C accepts some urgency |
134
+ | High D vs Low D | Detail orientation clash | High D accepts "good enough"; Low D follows through |
135
+ | High D vs High D | Both perfectionist, both critical | Can be excellent partnership if aligned on standards |
136
+
137
+ </conflict_pairs>
138
+
139
+ <remote_team_considerations>
140
+
141
+ For remote/distributed teams:
142
+
143
+ - **Glue is even more critical** - Without casual office interactions, High B's are essential for maintaining culture
144
+ - **Low B's thrive** - Remote work is natural for those who prefer isolation
145
+ - **Low C's may struggle** - Harder to get immediate responses, may feel urgency isn't matched
146
+ - **High D's need clear processes** - More documentation, explicit SOPs for remote work
147
+
148
+ </remote_team_considerations>
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env python3
2
+ # /// script
3
+ # requires-python = ">=3.11"
4
+ # dependencies = []
5
+ # ///
6
+ """Check that all dependencies for Culture Index extraction are installed.
7
+
8
+ Usage:
9
+ uv run check_deps.py
10
+
11
+ Exit codes:
12
+ 0 - All dependencies installed
13
+ 1 - Missing dependencies (details printed to stderr)
14
+ """
15
+
16
+ from __future__ import annotations
17
+
18
+ import shutil
19
+ import sys
20
+
21
+
22
+ def check_python_packages() -> list[str]:
23
+ """Check for required Python packages.
24
+
25
+ Returns:
26
+ List of missing package names.
27
+ """
28
+ missing = []
29
+
30
+ try:
31
+ import cv2 # noqa: F401
32
+ except ImportError:
33
+ missing.append("opencv-python-headless")
34
+
35
+ try:
36
+ import numpy # noqa: F401
37
+ except ImportError:
38
+ missing.append("numpy")
39
+
40
+ try:
41
+ import pdf2image # noqa: F401
42
+ except ImportError:
43
+ missing.append("pdf2image")
44
+
45
+ try:
46
+ import pytesseract # noqa: F401
47
+ except ImportError:
48
+ missing.append("pytesseract")
49
+
50
+ return missing
51
+
52
+
53
+ def check_system_deps() -> list[str]:
54
+ """Check for required system dependencies.
55
+
56
+ Returns:
57
+ List of missing system dependency names.
58
+ """
59
+ missing = []
60
+
61
+ # Check for poppler (pdftoppm command)
62
+ if not shutil.which("pdftoppm"):
63
+ missing.append("poppler")
64
+
65
+ # Check for tesseract
66
+ if not shutil.which("tesseract"):
67
+ missing.append("tesseract")
68
+
69
+ return missing
70
+
71
+
72
+ def main() -> int:
73
+ """Check all dependencies and report status.
74
+
75
+ Returns:
76
+ Exit code (0 = success, 1 = missing dependencies).
77
+ """
78
+ missing_python = check_python_packages()
79
+ missing_system = check_system_deps()
80
+
81
+ if not missing_python and not missing_system:
82
+ print("All dependencies installed.", file=sys.stderr)
83
+ return 0
84
+
85
+ print("Missing dependencies:", file=sys.stderr)
86
+
87
+ if missing_python:
88
+ print(f"\n Python packages: {', '.join(missing_python)}", file=sys.stderr)
89
+ print(" Install with: uv pip install .", file=sys.stderr)
90
+
91
+ if missing_system:
92
+ print(f"\n System tools: {', '.join(missing_system)}", file=sys.stderr)
93
+ if "poppler" in missing_system:
94
+ print(
95
+ " poppler: brew install poppler (macOS) or apt install poppler-utils",
96
+ file=sys.stderr,
97
+ )
98
+ if "tesseract" in missing_system:
99
+ print(
100
+ " tesseract: brew install tesseract (macOS) or apt install tesseract-ocr",
101
+ file=sys.stderr,
102
+ )
103
+
104
+ return 1
105
+
106
+
107
+ if __name__ == "__main__":
108
+ sys.exit(main())
@@ -0,0 +1,20 @@
1
+ """Culture Index PDF extraction tools.
2
+
3
+ This package provides tools for extracting Culture Index employee profile
4
+ data from PDF files and converting them to JSON format with interpretations.
5
+ """
6
+
7
+ from culture_index.constants import ARCHETYPES
8
+ from culture_index.extract import generate_json, process_pdf
9
+ from culture_index.models import ExtractionResult
10
+ from culture_index.opencv_extractor import extract_with_opencv
11
+
12
+ __version__ = "0.1.0"
13
+
14
+ __all__ = [
15
+ "ARCHETYPES",
16
+ "ExtractionResult",
17
+ "extract_with_opencv",
18
+ "generate_json",
19
+ "process_pdf",
20
+ ]
@@ -0,0 +1,122 @@
1
+ """Configuration constants for Culture Index extraction.
2
+
3
+ Contains OpenCV calibration values for extracting trait data from PDF charts.
4
+ """
5
+
6
+ # =============================================================================
7
+ # OpenCV Extraction Constants (calibrated for 300 DPI landscape Culture Index PDFs)
8
+ # =============================================================================
9
+
10
+ # Chart region boundaries as percentage of image height
11
+ # Survey Traits chart: ~26-50% of page height
12
+ # Job Behaviors chart: ~63-87% of page height
13
+ OPENCV_SURVEY_Y_START = 0.25
14
+ OPENCV_SURVEY_Y_END = 0.51
15
+ OPENCV_JOB_Y_START = 0.62
16
+ OPENCV_JOB_Y_END = 0.88
17
+
18
+ # X-axis calibration in pixels (at 300 DPI, landscape ~3300px width)
19
+ # Charts occupy left ~60% of page
20
+ # Position 0 is at x=686, position 10 is at x=1994 (130.8 px per unit)
21
+ OPENCV_CHART_X_START = 686
22
+ OPENCV_CHART_X_END = 1994
23
+
24
+ # EU text region: left of chart grid where "EU = XX" appears
25
+ OPENCV_EU_REGION_X_START = 0
26
+ OPENCV_EU_REGION_X_END = 686
27
+
28
+ # Header dots filter: decorative archetype color dots at top (not trait data)
29
+ # Header dots are at ~11% of page height
30
+ OPENCV_HEADER_DOT_Y_MAX = 0.12
31
+
32
+ # Metadata column (right side of page, avoid chart overlap)
33
+ OPENCV_METADATA_X_START = 0.65 # 65% of page width (further right to avoid chart)
34
+ OPENCV_METADATA_Y_START = 0.08
35
+ OPENCV_METADATA_Y_END = 0.55
36
+
37
+ # Header regions (top-left area)
38
+ OPENCV_NAME_REGION_Y_END = 0.06
39
+ OPENCV_COMPANY_REGION_Y_END = 0.10
40
+ OPENCV_ARCHETYPE_REGION_Y_END = 0.18
41
+
42
+ # HSV color detection thresholds
43
+ # Saturation and value must exceed these to be considered a colored element
44
+ OPENCV_SATURATION_MIN = 80
45
+ OPENCV_VALUE_MIN = 80
46
+
47
+ # Arrow detection: bright red with high saturation/value
48
+ # Distinguishes red arrow from dark maroon A-trait dot
49
+ OPENCV_ARROW_SAT_MIN = 150
50
+ OPENCV_ARROW_VAL_MIN = 150
51
+ OPENCV_ARROW_HUE_LOW = 8 # Red wraps around 0/180
52
+ OPENCV_ARROW_HUE_HIGH = 175
53
+
54
+ # Element area thresholds in pixels
55
+ OPENCV_MIN_CONTOUR_AREA = 100 # Ignore tiny noise
56
+ OPENCV_DOT_AREA_MIN = 500 # Trait dots are larger
57
+ OPENCV_DOT_AREA_MAX = 8000
58
+ OPENCV_ARROW_AREA_MIN = 200
59
+ OPENCV_ARROW_AREA_MAX = 5000
60
+
61
+ # Arrow shape: must be tall and thin (width/height < 0.3, height > 50px)
62
+ OPENCV_ARROW_ASPECT_MAX = 0.3
63
+ OPENCV_ARROW_MIN_HEIGHT = 50
64
+
65
+ # Dot shape: roughly circular (aspect ratio between 0.3 and 3.0)
66
+ OPENCV_DOT_ASPECT_MIN = 0.3
67
+ OPENCV_DOT_ASPECT_MAX = 3.0
68
+
69
+ # Hue ranges for trait colors (OpenCV uses 0-180 for hue)
70
+ # A (maroon/dark red): hue >= 165 or hue <= 5 with large area
71
+ OPENCV_HUE_A_HIGH = 165
72
+ OPENCV_HUE_A_LOW = 5
73
+ OPENCV_A_MIN_AREA = 1500 # A dots are larger than noise
74
+
75
+ # B (yellow): hue 15-35
76
+ OPENCV_HUE_B_MIN = 15
77
+ OPENCV_HUE_B_MAX = 35
78
+
79
+ # C (blue): hue 105-115
80
+ OPENCV_HUE_C_MIN = 105
81
+ OPENCV_HUE_C_MAX = 115
82
+
83
+ # D (green): hue 65-85
84
+ OPENCV_HUE_D_MIN = 65
85
+ OPENCV_HUE_D_MAX = 85
86
+
87
+ # L (purple/magenta): hue 135-165
88
+ OPENCV_HUE_L_MIN = 135
89
+ OPENCV_HUE_L_MAX = 165
90
+
91
+ # I (cyan): hue 85 to C_MIN (uses C_MIN as upper bound to avoid overlap)
92
+ OPENCV_HUE_I_MIN = 85
93
+
94
+ # =============================================================================
95
+ # Culture Index Archetypes (known valid values from profiles)
96
+ # =============================================================================
97
+
98
+ # Archetypes observed in actual Culture Index PDFs
99
+ # Used by opencv_extractor.py for OCR matching
100
+ ARCHETYPES = [
101
+ # From actual profiles
102
+ "Administrator",
103
+ "Architect",
104
+ "Chameleon",
105
+ "Coordinator",
106
+ "Craftsman",
107
+ "Debater",
108
+ "Enterpriser",
109
+ "Facilitator",
110
+ "Influencer",
111
+ "Philosopher",
112
+ "Rainmaker",
113
+ "Scholar",
114
+ "Socializer",
115
+ "Specialist",
116
+ "Technical Expert",
117
+ "Traditionalist",
118
+ # From methodology documentation
119
+ "Accommodator",
120
+ "Persuader",
121
+ "Visionary",
122
+ ]