bmad-plus 0.9.0 → 0.9.1

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 (192) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +21 -21
  3. package/README.md +105 -85
  4. package/osint-agent-package/README.md +88 -88
  5. package/osint-agent-package/SETUP_KEYS.md +108 -108
  6. package/osint-agent-package/agents/osint-investigator.md +80 -80
  7. package/osint-agent-package/install.ps1 +87 -87
  8. package/osint-agent-package/install.sh +76 -76
  9. package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
  10. package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
  11. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
  12. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -266
  13. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
  14. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
  15. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
  16. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
  17. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
  18. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
  19. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
  20. package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
  21. package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
  22. package/package.json +30 -3
  23. package/readme-international/README.de.md +8 -3
  24. package/readme-international/README.es.md +8 -3
  25. package/readme-international/README.fr.md +8 -3
  26. package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
  27. package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
  28. package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
  29. package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
  30. package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
  31. package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
  32. package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
  33. package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
  34. package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
  35. package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
  36. package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
  37. package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
  38. package/src/bmad-plus/data/role-triggers.yaml +209 -209
  39. package/src/bmad-plus/module-help.csv +10 -10
  40. package/src/bmad-plus/packs/pack-memory/README.md +106 -106
  41. package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
  42. package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
  43. package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
  44. package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
  45. package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
  46. package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
  47. package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
  48. package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
  49. package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
  50. package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
  51. package/src/bmad-plus/packs/pack-seo/bmad-skill-manifest.yaml +13 -13
  52. package/src/bmad-plus/packs/pack-shield/README.md +110 -110
  53. package/src/bmad-plus/packs/pack-shield/SKILL.md +82 -82
  54. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +251 -251
  55. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +168 -168
  56. package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +190 -190
  57. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +86 -86
  58. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +240 -240
  59. package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +122 -122
  60. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +210 -210
  61. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +139 -139
  62. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +156 -156
  63. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +72 -72
  64. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +239 -239
  65. package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +207 -207
  66. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
  67. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
  68. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
  69. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
  70. package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
  71. package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +116 -116
  72. package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +261 -261
  73. package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +191 -191
  74. package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +356 -356
  75. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +499 -499
  76. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +236 -236
  77. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +162 -162
  78. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +228 -228
  79. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +255 -255
  80. package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +153 -153
  81. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
  82. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
  83. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
  84. package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
  85. package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
  86. package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
  87. package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
  88. package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
  89. package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
  90. package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
  91. package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
  92. package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
  93. package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
  94. package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
  95. package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
  96. package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
  97. package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
  98. package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
  99. package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
  100. package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
  101. package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
  102. package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
  103. package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
  104. package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
  105. package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
  106. package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
  107. package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
  108. package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
  109. package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
  110. package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
  111. package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
  112. package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
  113. package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
  114. package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
  115. package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
  116. package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
  117. package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
  118. package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
  119. package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
  120. package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
  121. package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
  122. package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
  123. package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
  124. package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
  125. package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
  126. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
  127. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
  128. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
  129. package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
  130. package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
  131. package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
  132. package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
  133. package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
  134. package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
  135. package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
  136. package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
  137. package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
  138. package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
  139. package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
  140. package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
  141. package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
  142. package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
  143. package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
  144. package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
  145. package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
  146. package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
  147. package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
  148. package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
  149. package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
  150. package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
  151. package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
  152. package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
  153. package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
  154. package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
  155. package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
  156. package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
  157. package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
  158. package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
  159. package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
  160. package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
  161. package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
  162. package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
  163. package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
  164. package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
  165. package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
  166. package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
  167. package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
  168. package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
  169. package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
  170. package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
  171. package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
  172. package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
  173. package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
  174. package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
  175. package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
  176. package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
  177. package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
  178. package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
  179. package/tools/cli/bmad-plus-cli.js +5 -3
  180. package/tools/cli/commands/autoconfig.js +5 -58
  181. package/tools/cli/commands/doctor.js +2 -0
  182. package/tools/cli/commands/install.js +9 -128
  183. package/tools/cli/commands/memory.js +1 -0
  184. package/tools/cli/commands/scan.js +26 -41
  185. package/tools/cli/commands/uninstall.js +7 -4
  186. package/tools/cli/commands/update.js +2 -1
  187. package/tools/cli/lib/ide-config.js +259 -0
  188. package/tools/cli/lib/memory-init.js +0 -1
  189. package/tools/cli/lib/pack-copy.js +84 -84
  190. package/tools/cli/lib/packs.js +114 -114
  191. package/tools/cli/lib/stack-detect.js +102 -0
  192. package/tools/cli/lib/validate.js +45 -0
@@ -1,76 +1,76 @@
1
- #!/bin/bash
2
- # OSINT Agent — Installation Script (macOS/Linux)
3
- # Usage: ./install.sh [project_root]
4
-
5
- set -euo pipefail
6
-
7
- PROJECT_ROOT="${1:-.}"
8
- PACKAGE_DIR="$(cd "$(dirname "$0")" && pwd)"
9
-
10
- echo "========================================"
11
- echo " OSINT Agent Installer for BMAD"
12
- echo "========================================"
13
- echo ""
14
-
15
- # Resolve project root
16
- PROJECT_ROOT="$(cd "$PROJECT_ROOT" && pwd)"
17
- echo "Project root: $PROJECT_ROOT"
18
-
19
- # Verify BMAD
20
- BMAD_DIR="$PROJECT_ROOT/_bmad/bmm/agents"
21
- if [ ! -d "$BMAD_DIR" ]; then
22
- echo "ERROR: BMAD not found at $BMAD_DIR"
23
- echo "Run: npx bmad-method install"
24
- exit 1
25
- fi
26
- echo " ✅ BMAD found"
27
-
28
- # Verify Python
29
- if ! command -v python3 &>/dev/null; then
30
- echo "ERROR: Python3 not found. Install Python 3.10+"
31
- exit 1
32
- fi
33
- echo " ✅ Python found: $(python3 --version)"
34
-
35
- # 1. Copy agent definition
36
- echo ""
37
- echo "1. Installing agent definition..."
38
- cp "$PACKAGE_DIR/agents/osint-investigator.md" "$BMAD_DIR/"
39
- echo " → osint-investigator.md"
40
-
41
- # 2. Copy skills
42
- echo ""
43
- echo "2. Installing skills..."
44
- SKILLS_DIR="$PROJECT_ROOT/.agents/skills"
45
-
46
- mkdir -p "$SKILLS_DIR/bmad-osint-investigator"
47
- cp "$PACKAGE_DIR/skills/bmad-osint-investigator/SKILL.md" "$SKILLS_DIR/bmad-osint-investigator/"
48
- echo " → bmad-osint-investigator/"
49
-
50
- mkdir -p "$SKILLS_DIR/bmad-osint-investigate/osint/scripts"
51
- mkdir -p "$SKILLS_DIR/bmad-osint-investigate/osint/references"
52
- mkdir -p "$SKILLS_DIR/bmad-osint-investigate/osint/assets"
53
- cp "$PACKAGE_DIR/skills/bmad-osint-investigate/SKILL.md" "$SKILLS_DIR/bmad-osint-investigate/"
54
- cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/SKILL.md" "$SKILLS_DIR/bmad-osint-investigate/osint/"
55
- cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/scripts/"*.py "$SKILLS_DIR/bmad-osint-investigate/osint/scripts/"
56
- cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/references/"* "$SKILLS_DIR/bmad-osint-investigate/osint/references/"
57
- cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/assets/"* "$SKILLS_DIR/bmad-osint-investigate/osint/assets/"
58
- echo " → bmad-osint-investigate/ (full pipeline + scripts)"
59
-
60
- # 3. Make scripts executable
61
- chmod +x "$SKILLS_DIR/bmad-osint-investigate/osint/scripts/"*.py
62
-
63
- # 4. Run diagnostic
64
- echo ""
65
- echo "3. Running diagnostic..."
66
- python3 "$SKILLS_DIR/bmad-osint-investigate/osint/scripts/diagnose.py"
67
-
68
- # 5. Summary
69
- echo ""
70
- echo "========================================"
71
- echo " ✅ Installation complete!"
72
- echo "========================================"
73
- echo ""
74
- echo "Next steps:"
75
- echo " 1. Configure API keys - see SETUP_KEYS.md"
76
- echo " 2. Invoke 'bmad-osint-investigator' skill in your AI agent"
1
+ #!/bin/bash
2
+ # OSINT Agent — Installation Script (macOS/Linux)
3
+ # Usage: ./install.sh [project_root]
4
+
5
+ set -euo pipefail
6
+
7
+ PROJECT_ROOT="${1:-.}"
8
+ PACKAGE_DIR="$(cd "$(dirname "$0")" && pwd)"
9
+
10
+ echo "========================================"
11
+ echo " OSINT Agent Installer for BMAD"
12
+ echo "========================================"
13
+ echo ""
14
+
15
+ # Resolve project root
16
+ PROJECT_ROOT="$(cd "$PROJECT_ROOT" && pwd)"
17
+ echo "Project root: $PROJECT_ROOT"
18
+
19
+ # Verify BMAD
20
+ BMAD_DIR="$PROJECT_ROOT/_bmad/bmm/agents"
21
+ if [ ! -d "$BMAD_DIR" ]; then
22
+ echo "ERROR: BMAD not found at $BMAD_DIR"
23
+ echo "Run: npx bmad-method install"
24
+ exit 1
25
+ fi
26
+ echo " ✅ BMAD found"
27
+
28
+ # Verify Python
29
+ if ! command -v python3 &>/dev/null; then
30
+ echo "ERROR: Python3 not found. Install Python 3.10+"
31
+ exit 1
32
+ fi
33
+ echo " ✅ Python found: $(python3 --version)"
34
+
35
+ # 1. Copy agent definition
36
+ echo ""
37
+ echo "1. Installing agent definition..."
38
+ cp "$PACKAGE_DIR/agents/osint-investigator.md" "$BMAD_DIR/"
39
+ echo " → osint-investigator.md"
40
+
41
+ # 2. Copy skills
42
+ echo ""
43
+ echo "2. Installing skills..."
44
+ SKILLS_DIR="$PROJECT_ROOT/.agents/skills"
45
+
46
+ mkdir -p "$SKILLS_DIR/bmad-osint-investigator"
47
+ cp "$PACKAGE_DIR/skills/bmad-osint-investigator/SKILL.md" "$SKILLS_DIR/bmad-osint-investigator/"
48
+ echo " → bmad-osint-investigator/"
49
+
50
+ mkdir -p "$SKILLS_DIR/bmad-osint-investigate/osint/scripts"
51
+ mkdir -p "$SKILLS_DIR/bmad-osint-investigate/osint/references"
52
+ mkdir -p "$SKILLS_DIR/bmad-osint-investigate/osint/assets"
53
+ cp "$PACKAGE_DIR/skills/bmad-osint-investigate/SKILL.md" "$SKILLS_DIR/bmad-osint-investigate/"
54
+ cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/SKILL.md" "$SKILLS_DIR/bmad-osint-investigate/osint/"
55
+ cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/scripts/"*.py "$SKILLS_DIR/bmad-osint-investigate/osint/scripts/"
56
+ cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/references/"* "$SKILLS_DIR/bmad-osint-investigate/osint/references/"
57
+ cp "$PACKAGE_DIR/skills/bmad-osint-investigate/osint/assets/"* "$SKILLS_DIR/bmad-osint-investigate/osint/assets/"
58
+ echo " → bmad-osint-investigate/ (full pipeline + scripts)"
59
+
60
+ # 3. Make scripts executable
61
+ chmod +x "$SKILLS_DIR/bmad-osint-investigate/osint/scripts/"*.py
62
+
63
+ # 4. Run diagnostic
64
+ echo ""
65
+ echo "3. Running diagnostic..."
66
+ python3 "$SKILLS_DIR/bmad-osint-investigate/osint/scripts/diagnose.py"
67
+
68
+ # 5. Summary
69
+ echo ""
70
+ echo "========================================"
71
+ echo " ✅ Installation complete!"
72
+ echo "========================================"
73
+ echo ""
74
+ echo "Next steps:"
75
+ echo " 1. Configure API keys - see SETUP_KEYS.md"
76
+ echo " 2. Invoke 'bmad-osint-investigator' skill in your AI agent"
@@ -1,147 +1,147 @@
1
- ---
2
- name: bmad-osint-investigate
3
- description: "Run the full OSINT investigation pipeline on a person or company. From a name or handle to a scored dossier with psychoprofile, career map, and confidence grades. Google dorks, French registries, enrichment databases, 55+ Apify actors, 7 search APIs."
4
- ---
5
-
6
- # OSINT Investigation Skill
7
-
8
- This skill executes a systematic OSINT intelligence gathering pipeline on an individual or company.
9
-
10
- ## Activation Instructions
11
-
12
- <investigation-activation CRITICAL="TRUE">
13
-
14
- ### Step 1: Load the Full Pipeline
15
- 1. READ the complete OSINT pipeline file at: `{skill-dir}/osint/SKILL.md`
16
- 2. READ the enrichment databases reference: `{skill-dir}/osint/references/enrichment-databases-fr.md`
17
- 3. FOLLOW every phase precisely as documented
18
-
19
- ### Step 2: Get Target Information
20
- Ask the user for:
21
- - **Target name** or handle/URL
22
- - **Type**: Personne physique or Personne morale
23
- - **Context** (optional): company, city, industry, any known details
24
- - **Scope**: Full investigation (Phase 0→6) or specific phase only
25
- - **Budget limit**: Default ≤$0.50, ask for permission above that
26
-
27
- ### Step 3: Execute the Pipeline
28
- Follow ALL phases from the OSINT pipeline:
29
-
30
- **Phase 0**: Tooling Self-Check
31
- - Run `python {skill-dir}/osint/scripts/diagnose.py`
32
- - Report available tools to user
33
-
34
- **Phase 1**: Seed Collection (API search)
35
- - Run parallel search across all available engines
36
- - Use `python {skill-dir}/osint/scripts/volley.py search "Name" "context"`
37
- - Merge results with `python {skill-dir}/osint/scripts/volley.py merge <outdir>`
38
-
39
- **Phase 1.3**: Google Dorks (FREE — always do this)
40
- - Search for documents: `"Name" filetype:pdf`, `filetype:pptx`, `filetype:doc`
41
- - Search for phone: `"Name" ("06" OR "07" OR "+33 6" OR "+33 7")`
42
- - Search for CV: `"Name" (CV OR resume OR curriculum)`
43
- - Search for statuts: `"Name" "demeurant" site:pappers.fr`
44
- - Search for presentations: `"Name" filetype:pptx OR filetype:ppt`
45
- - Use the browser tool to run these Google searches directly
46
- - Refer to `{skill-dir}/osint/references/enrichment-databases-fr.md` for all dork templates
47
-
48
- **Phase 1.5**: Internal Intelligence
49
- - Check Telegram history, email, vault contacts BEFORE going external
50
-
51
- **Phase 1.7**: French Business Registries (FREE — always do this for FR targets)
52
- - **Pappers.fr** → SIREN/SIRET, dirigeants, statuts PDF (contain personal addresses!)
53
- - **Societe.com** → Company fiches, dirigeants, CA
54
- - **Datalegal.fr** → ALL companies where person is a dirigeant
55
- - **BODACC** → Official announcements (creation, modification, radiation)
56
- - **INPI** → Trademarks and patents filed by the person
57
- - Scrape these pages with: `python {skill-dir}/osint/scripts/jina.py read <url>`
58
-
59
- **Phase 2**: Platform Extraction
60
- - Extract data from LinkedIn, Instagram, Facebook, TikTok, YouTube
61
- - Use `python {skill-dir}/osint/scripts/apify.py linkedin <url>` or `instagram <handle>`
62
- - Use `python {skill-dir}/osint/scripts/apify.py run <actor_id> '<json>'` for 55+ Apify actors
63
- - Refer to `{skill-dir}/osint/references/platforms.md` for platform-specific guide
64
- - Refer to `{skill-dir}/osint/references/tools.md` for full actor catalog
65
-
66
- **Phase 2.5**: Contact Enrichment (for phone numbers and emails)
67
- - **RocketReach** (rocketreach.co) — Search for target, check visible data (partial phone/email)
68
- - **ContactOut** (contactout.com) — Check if profile exists with data preview
69
- - **Kaspr** (kaspr.io) — Best for French mobile numbers via LinkedIn
70
- - **Apollo.io** — 50 free credits/month, great for B2B enrichment
71
- - **Hunter.io** — Email patterns for companies
72
- - Use browser tool to visit these sites and extract visible information
73
- - Refer to `{skill-dir}/osint/references/enrichment-databases-fr.md` for full list
74
-
75
- **Phase 3**: Cross-Reference & Confidence Scoring
76
- - Build fact table, cross-check key facts, resolve contradictions
77
- - Assign confidence grades: A (3+ sources), B (2 sources), C (1 source), D (unverified)
78
-
79
- **Phase 4**: Psychoprofile
80
- - Build MBTI/Big Five analysis from content
81
- - Refer to `{skill-dir}/osint/references/psychoprofile.md` for methodology
82
- - Refer to `{skill-dir}/osint/references/content-extraction.md` for YouTube/podcast/blog extraction
83
-
84
- **Phase 5**: Completeness Evaluation
85
- - 9 mandatory checks + Depth Score 1-10
86
- - Gap analysis and stopping criteria
87
-
88
- **Phase 6**: Dossier Output
89
- - For **personnes physiques**: Save to `{project-root}/recherches/personnes-physiques/<nom-prenom>.md`
90
- - For **personnes morales**: Save to `{project-root}/recherches/personnes-morales/<nom-societe>.md`
91
-
92
- ### Step 4: Research Escalation
93
- Always escalate from cheap to expensive:
94
- - **Level 0** (FREE): Google dorks, Pappers, Societe.com, BODACC, INPI, Datalegal
95
- - **Level 0.5** (FREE): RocketReach (5/mois), Kaspr (gratuit), Apollo (50/mois), ContactOut
96
- - **Level 1** (~$0.01): Perplexity Sonar, Tavily, Exa, Jina search
97
- - **Level 2** (~$0.01): Jina read, Parallel extract
98
- - **Level 3** (~$0.01-0.10): Apify scrapers, Bright Data
99
- - **Level 4** (~$0.05-0.50): Perplexity Deep, Exa Deep, Jina Deep
100
-
101
- ### Available Scripts (Python — stdlib only, zero dependencies)
102
- All scripts in `{skill-dir}/osint/scripts/`, run with `python <script>`:
103
-
104
- | Script | Usage |
105
- |--------|-------|
106
- | `diagnose.py` | Self-check of all available tools and API keys |
107
- | `perplexity.py` | `search <q>`, `sonar <q>`, `deep <q>` |
108
- | `tavily.py` | `search <q>`, `extract <url>`, `deep <q>` |
109
- | `exa.py` | `search <q>`, `company <name>`, `people <name>`, `crawl <url>` |
110
- | `jina.py` | `read <url>`, `search <query>`, `deepsearch <q>` |
111
- | `parallel.py` | `search <q>`, `extract <url>`, `task <q>` |
112
- | `apify.py` | `run <actor> <json>`, `linkedin <url>`, `instagram <handle>`, `results`, `store-search` |
113
- | `brightdata.py` | `scrape <url>`, `search <q>`, `search-yandex <q>` |
114
- | `volley.py` | `search "Name" "context"` (parallel) / `merge <outdir>` (dedup) |
115
- | `mcp-client.py` | Lightweight MCP client for Bright Data |
116
-
117
- ### References
118
- | File | Content |
119
- |------|---------|
120
- | `enrichment-databases-fr.md` | 🇫🇷 French registries, enrichment tools, Google dork templates |
121
- | `platforms.md` | Social media extraction guides |
122
- | `tools.md` | 55+ Apify actor catalog |
123
- | `psychoprofile.md` | MBTI/Big Five methodology |
124
- | `content-extraction.md` | YouTube/podcast/blog extraction |
125
-
126
- ### Environment Variables Required
127
- ```
128
- JINA_API_KEY — Jina reader/search (recommended first)
129
- APIFY_API_TOKEN — Apify scraping (55+ actors)
130
- PERPLEXITY_API_KEY — Perplexity Sonar
131
- TAVILY_API_KEY — Tavily search
132
- EXA_API_KEY — Exa AI
133
- PARALLEL_API_KEY — Parallel AI
134
- BRIGHTDATA_MCP_URL — Bright Data MCP
135
- ```
136
-
137
- </investigation-activation>
138
-
139
- ## Rules
140
- - ALWAYS run diagnose.py first to know what tools are available
141
- - ALWAYS run Google dorks and French registries (Pappers, Societe.com) — they are FREE
142
- - ALWAYS check enrichment databases (RocketReach, ContactOut) for phone numbers
143
- - Spend ≤$0.50 without asking — ASK user permission above that
144
- - Assign confidence grades to EVERY fact (A/B/C/D)
145
- - Never fabricate data — only report verified findings
146
- - Escalate from free→paid, fast→deep
147
- - Save dossiers to `{project-root}/recherches/personnes-physiques/` or `personnes-morales/`
1
+ ---
2
+ name: bmad-osint-investigate
3
+ description: "Run the full OSINT investigation pipeline on a person or company. From a name or handle to a scored dossier with psychoprofile, career map, and confidence grades. Google dorks, French registries, enrichment databases, 55+ Apify actors, 7 search APIs."
4
+ ---
5
+
6
+ # OSINT Investigation Skill
7
+
8
+ This skill executes a systematic OSINT intelligence gathering pipeline on an individual or company.
9
+
10
+ ## Activation Instructions
11
+
12
+ <investigation-activation CRITICAL="TRUE">
13
+
14
+ ### Step 1: Load the Full Pipeline
15
+ 1. READ the complete OSINT pipeline file at: `{skill-dir}/osint/SKILL.md`
16
+ 2. READ the enrichment databases reference: `{skill-dir}/osint/references/enrichment-databases-fr.md`
17
+ 3. FOLLOW every phase precisely as documented
18
+
19
+ ### Step 2: Get Target Information
20
+ Ask the user for:
21
+ - **Target name** or handle/URL
22
+ - **Type**: Personne physique or Personne morale
23
+ - **Context** (optional): company, city, industry, any known details
24
+ - **Scope**: Full investigation (Phase 0→6) or specific phase only
25
+ - **Budget limit**: Default ≤$0.50, ask for permission above that
26
+
27
+ ### Step 3: Execute the Pipeline
28
+ Follow ALL phases from the OSINT pipeline:
29
+
30
+ **Phase 0**: Tooling Self-Check
31
+ - Run `python {skill-dir}/osint/scripts/diagnose.py`
32
+ - Report available tools to user
33
+
34
+ **Phase 1**: Seed Collection (API search)
35
+ - Run parallel search across all available engines
36
+ - Use `python {skill-dir}/osint/scripts/volley.py search "Name" "context"`
37
+ - Merge results with `python {skill-dir}/osint/scripts/volley.py merge <outdir>`
38
+
39
+ **Phase 1.3**: Google Dorks (FREE — always do this)
40
+ - Search for documents: `"Name" filetype:pdf`, `filetype:pptx`, `filetype:doc`
41
+ - Search for phone: `"Name" ("06" OR "07" OR "+33 6" OR "+33 7")`
42
+ - Search for CV: `"Name" (CV OR resume OR curriculum)`
43
+ - Search for statuts: `"Name" "demeurant" site:pappers.fr`
44
+ - Search for presentations: `"Name" filetype:pptx OR filetype:ppt`
45
+ - Use the browser tool to run these Google searches directly
46
+ - Refer to `{skill-dir}/osint/references/enrichment-databases-fr.md` for all dork templates
47
+
48
+ **Phase 1.5**: Internal Intelligence
49
+ - Check Telegram history, email, vault contacts BEFORE going external
50
+
51
+ **Phase 1.7**: French Business Registries (FREE — always do this for FR targets)
52
+ - **Pappers.fr** → SIREN/SIRET, dirigeants, statuts PDF (contain personal addresses!)
53
+ - **Societe.com** → Company fiches, dirigeants, CA
54
+ - **Datalegal.fr** → ALL companies where person is a dirigeant
55
+ - **BODACC** → Official announcements (creation, modification, radiation)
56
+ - **INPI** → Trademarks and patents filed by the person
57
+ - Scrape these pages with: `python {skill-dir}/osint/scripts/jina.py read <url>`
58
+
59
+ **Phase 2**: Platform Extraction
60
+ - Extract data from LinkedIn, Instagram, Facebook, TikTok, YouTube
61
+ - Use `python {skill-dir}/osint/scripts/apify.py linkedin <url>` or `instagram <handle>`
62
+ - Use `python {skill-dir}/osint/scripts/apify.py run <actor_id> '<json>'` for 55+ Apify actors
63
+ - Refer to `{skill-dir}/osint/references/platforms.md` for platform-specific guide
64
+ - Refer to `{skill-dir}/osint/references/tools.md` for full actor catalog
65
+
66
+ **Phase 2.5**: Contact Enrichment (for phone numbers and emails)
67
+ - **RocketReach** (rocketreach.co) — Search for target, check visible data (partial phone/email)
68
+ - **ContactOut** (contactout.com) — Check if profile exists with data preview
69
+ - **Kaspr** (kaspr.io) — Best for French mobile numbers via LinkedIn
70
+ - **Apollo.io** — 50 free credits/month, great for B2B enrichment
71
+ - **Hunter.io** — Email patterns for companies
72
+ - Use browser tool to visit these sites and extract visible information
73
+ - Refer to `{skill-dir}/osint/references/enrichment-databases-fr.md` for full list
74
+
75
+ **Phase 3**: Cross-Reference & Confidence Scoring
76
+ - Build fact table, cross-check key facts, resolve contradictions
77
+ - Assign confidence grades: A (3+ sources), B (2 sources), C (1 source), D (unverified)
78
+
79
+ **Phase 4**: Psychoprofile
80
+ - Build MBTI/Big Five analysis from content
81
+ - Refer to `{skill-dir}/osint/references/psychoprofile.md` for methodology
82
+ - Refer to `{skill-dir}/osint/references/content-extraction.md` for YouTube/podcast/blog extraction
83
+
84
+ **Phase 5**: Completeness Evaluation
85
+ - 9 mandatory checks + Depth Score 1-10
86
+ - Gap analysis and stopping criteria
87
+
88
+ **Phase 6**: Dossier Output
89
+ - For **personnes physiques**: Save to `{project-root}/recherches/personnes-physiques/<nom-prenom>.md`
90
+ - For **personnes morales**: Save to `{project-root}/recherches/personnes-morales/<nom-societe>.md`
91
+
92
+ ### Step 4: Research Escalation
93
+ Always escalate from cheap to expensive:
94
+ - **Level 0** (FREE): Google dorks, Pappers, Societe.com, BODACC, INPI, Datalegal
95
+ - **Level 0.5** (FREE): RocketReach (5/mois), Kaspr (gratuit), Apollo (50/mois), ContactOut
96
+ - **Level 1** (~$0.01): Perplexity Sonar, Tavily, Exa, Jina search
97
+ - **Level 2** (~$0.01): Jina read, Parallel extract
98
+ - **Level 3** (~$0.01-0.10): Apify scrapers, Bright Data
99
+ - **Level 4** (~$0.05-0.50): Perplexity Deep, Exa Deep, Jina Deep
100
+
101
+ ### Available Scripts (Python — stdlib only, zero dependencies)
102
+ All scripts in `{skill-dir}/osint/scripts/`, run with `python <script>`:
103
+
104
+ | Script | Usage |
105
+ |--------|-------|
106
+ | `diagnose.py` | Self-check of all available tools and API keys |
107
+ | `perplexity.py` | `search <q>`, `sonar <q>`, `deep <q>` |
108
+ | `tavily.py` | `search <q>`, `extract <url>`, `deep <q>` |
109
+ | `exa.py` | `search <q>`, `company <name>`, `people <name>`, `crawl <url>` |
110
+ | `jina.py` | `read <url>`, `search <query>`, `deepsearch <q>` |
111
+ | `parallel.py` | `search <q>`, `extract <url>`, `task <q>` |
112
+ | `apify.py` | `run <actor> <json>`, `linkedin <url>`, `instagram <handle>`, `results`, `store-search` |
113
+ | `brightdata.py` | `scrape <url>`, `search <q>`, `search-yandex <q>` |
114
+ | `volley.py` | `search "Name" "context"` (parallel) / `merge <outdir>` (dedup) |
115
+ | `mcp-client.py` | Lightweight MCP client for Bright Data |
116
+
117
+ ### References
118
+ | File | Content |
119
+ |------|---------|
120
+ | `enrichment-databases-fr.md` | 🇫🇷 French registries, enrichment tools, Google dork templates |
121
+ | `platforms.md` | Social media extraction guides |
122
+ | `tools.md` | 55+ Apify actor catalog |
123
+ | `psychoprofile.md` | MBTI/Big Five methodology |
124
+ | `content-extraction.md` | YouTube/podcast/blog extraction |
125
+
126
+ ### Environment Variables Required
127
+ ```
128
+ JINA_API_KEY — Jina reader/search (recommended first)
129
+ APIFY_API_TOKEN — Apify scraping (55+ actors)
130
+ PERPLEXITY_API_KEY — Perplexity Sonar
131
+ TAVILY_API_KEY — Tavily search
132
+ EXA_API_KEY — Exa AI
133
+ PARALLEL_API_KEY — Parallel AI
134
+ BRIGHTDATA_MCP_URL — Bright Data MCP
135
+ ```
136
+
137
+ </investigation-activation>
138
+
139
+ ## Rules
140
+ - ALWAYS run diagnose.py first to know what tools are available
141
+ - ALWAYS run Google dorks and French registries (Pappers, Societe.com) — they are FREE
142
+ - ALWAYS check enrichment databases (RocketReach, ContactOut) for phone numbers
143
+ - Spend ≤$0.50 without asking — ASK user permission above that
144
+ - Assign confidence grades to EVERY fact (A/B/C/D)
145
+ - Never fabricate data — only report verified findings
146
+ - Escalate from free→paid, fast→deep
147
+ - Save dossiers to `{project-root}/recherches/personnes-physiques/` or `personnes-morales/`