bmad-plus 0.7.4 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +450 -407
- package/LICENSE +21 -0
- package/README.md +555 -446
- package/osint-agent-package/README.md +88 -88
- package/osint-agent-package/SETUP_KEYS.md +108 -108
- package/osint-agent-package/agents/osint-investigator.md +80 -80
- package/osint-agent-package/install.ps1 +87 -87
- package/osint-agent-package/install.sh +76 -76
- package/osint-agent-package/skills/bmad-osint-investigate/SKILL.md +147 -147
- package/osint-agent-package/skills/bmad-osint-investigate/osint/SKILL.md +452 -452
- package/osint-agent-package/skills/bmad-osint-investigate/osint/assets/dossier-template.md +116 -116
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/content-extraction.md +100 -100
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/enrichment-databases-fr.md +148 -148
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/platforms.md +130 -130
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/psychoprofile.md +69 -69
- package/osint-agent-package/skills/bmad-osint-investigate/osint/references/tools.md +281 -281
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/_http.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/apify.py +266 -260
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/brightdata.py +101 -101
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/diagnose.py +141 -141
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/exa.py +79 -79
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/jina.py +71 -71
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/mcp-client.py +136 -136
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/parallel.py +85 -85
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/perplexity.py +102 -102
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/tavily.py +72 -72
- package/osint-agent-package/skills/bmad-osint-investigate/osint/scripts/volley.py +208 -208
- package/osint-agent-package/skills/bmad-osint-investigator/SKILL.md +15 -15
- package/package.json +62 -57
- package/readme-international/README.de.md +576 -426
- package/readme-international/README.es.md +578 -518
- package/readme-international/README.fr.md +576 -516
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +96 -96
- package/src/bmad-plus/agents/agent-architect-dev/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-maker/SKILL.md +201 -201
- package/src/bmad-plus/agents/agent-maker/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +137 -137
- package/src/bmad-plus/agents/agent-orchestrator/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-quality/SKILL.md +83 -83
- package/src/bmad-plus/agents/agent-quality/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-shadow/SKILL.md +71 -71
- package/src/bmad-plus/agents/agent-shadow/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/agent-strategist/SKILL.md +80 -80
- package/src/bmad-plus/agents/agent-strategist/bmad-skill-manifest.yaml +13 -13
- package/src/bmad-plus/agents/pack-animated/animated-website-agent.md +325 -325
- package/src/bmad-plus/agents/pack-animated/templates/animated-website-workflow.md +55 -55
- package/src/bmad-plus/agents/pack-backup/backup-agent.md +71 -71
- package/src/bmad-plus/agents/pack-backup/templates/backup-workflow.md +51 -51
- package/src/bmad-plus/agents/pack-seo/SKILL.md +171 -171
- package/src/bmad-plus/agents/pack-seo/checklist.md +140 -140
- package/src/bmad-plus/agents/pack-seo/pagespeed-playbook.md +320 -320
- package/src/bmad-plus/agents/pack-seo/ref/audit-schema.json +187 -187
- package/src/bmad-plus/agents/pack-seo/ref/cwv-thresholds.md +87 -87
- package/src/bmad-plus/agents/pack-seo/ref/eeat-criteria.md +123 -123
- package/src/bmad-plus/agents/pack-seo/ref/geo-signals.md +167 -167
- package/src/bmad-plus/agents/pack-seo/ref/hreflang-rules.md +153 -153
- package/src/bmad-plus/agents/pack-seo/ref/quality-gates.md +133 -133
- package/src/bmad-plus/agents/pack-seo/ref/schema-catalog.md +91 -91
- package/src/bmad-plus/agents/pack-seo/ref/schema-templates.json +356 -356
- package/src/bmad-plus/agents/pack-seo/seo-chief.md +294 -294
- package/src/bmad-plus/agents/pack-seo/seo-judge.md +241 -241
- package/src/bmad-plus/agents/pack-seo/seo-scout.md +171 -171
- package/src/bmad-plus/agents/pack-seo/templates/seo-audit-workflow.md +241 -241
- package/src/bmad-plus/data/role-triggers.yaml +209 -209
- package/src/bmad-plus/module-help.csv +10 -10
- package/src/bmad-plus/module.yaml +283 -280
- package/src/bmad-plus/packs/pack-animated/animated-website-agent.md +325 -0
- package/src/bmad-plus/packs/pack-animated/templates/animated-website-workflow.md +55 -0
- package/src/bmad-plus/packs/pack-backup/backup-agent.md +71 -0
- package/src/bmad-plus/packs/pack-backup/templates/backup-workflow.md +51 -0
- package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -162
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +61 -61
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +134 -134
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +95 -95
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +92 -92
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +90 -90
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -153
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -224
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -329
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -318
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -359
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -379
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -361
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +81 -81
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -85
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -35
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -49
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +131 -131
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +300 -300
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +428 -428
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +484 -484
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +193 -193
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +175 -175
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1511 -1511
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +298 -298
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +296 -296
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +74 -74
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +89 -89
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +73 -73
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +29 -29
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +141 -141
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -37
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -75
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -6
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +110 -110
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +176 -176
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -67
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -86
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -179
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -66
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +127 -127
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -105
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -120
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -12
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -328
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -32
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -81
- package/src/bmad-plus/packs/pack-memory/README.md +106 -106
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +79 -79
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +86 -86
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +143 -143
- package/src/bmad-plus/packs/pack-memory/templates/context.md +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/decisions.md +25 -25
- package/src/bmad-plus/packs/pack-memory/templates/identity.yaml +39 -39
- package/src/bmad-plus/packs/pack-memory/templates/lessons.md +31 -31
- package/src/bmad-plus/packs/pack-memory/templates/patterns.md +24 -24
- package/src/bmad-plus/packs/pack-memory/templates/session-handoff.md +25 -25
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +157 -157
- package/src/bmad-plus/packs/pack-seo/SKILL.md +171 -0
- package/src/bmad-plus/packs/pack-seo/checklist.md +140 -0
- package/src/bmad-plus/packs/pack-seo/pagespeed-playbook.md +320 -0
- package/src/bmad-plus/packs/pack-seo/ref/audit-schema.json +187 -0
- package/src/bmad-plus/packs/pack-seo/ref/cwv-thresholds.md +87 -0
- package/src/bmad-plus/packs/pack-seo/ref/eeat-criteria.md +123 -0
- package/src/bmad-plus/packs/pack-seo/ref/geo-signals.md +167 -0
- package/src/bmad-plus/packs/pack-seo/ref/hreflang-rules.md +153 -0
- package/src/bmad-plus/packs/pack-seo/ref/quality-gates.md +133 -0
- package/src/bmad-plus/packs/pack-seo/ref/schema-catalog.md +91 -0
- package/src/bmad-plus/packs/pack-seo/ref/schema-templates.json +356 -0
- package/src/bmad-plus/packs/pack-seo/seo-chief.md +294 -0
- package/src/bmad-plus/packs/pack-seo/seo-judge.md +241 -0
- package/src/bmad-plus/packs/pack-seo/seo-scout.md +171 -0
- package/src/bmad-plus/packs/pack-seo/templates/seo-audit-workflow.md +241 -0
- package/src/bmad-plus/packs/pack-shield/README.md +110 -110
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/csrd-agent.md +262 -262
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/section508-agent.md +179 -179
- package/src/bmad-plus/packs/pack-shield/categories/accessibility-esg/wcag-agent.md +201 -201
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/eu-ai-act-agent.md +97 -97
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/iso42001-agent.md +251 -251
- package/src/bmad-plus/packs/pack-shield/categories/ai-governance/nist-ai-rmf-agent.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/cis-controls-agent.md +221 -221
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/ism-agent.md +150 -150
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/iso27001-agent.md +167 -167
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nis2-agent.md +83 -83
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-800-53-agent.md +250 -250
- package/src/bmad-plus/packs/pack-shield/categories/cybersecurity/nist-csf-agent.md +218 -218
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/ccpa-agent.md +94 -94
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/dpdpa-agent.md +136 -136
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/gdpr-agent.md +296 -296
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/iso27701-agent.md +134 -134
- package/src/bmad-plus/packs/pack-shield/categories/data-privacy/lgpd-agent.md +129 -129
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/cmmc-agent.md +127 -127
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/ear-agent.md +272 -272
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/itar-agent.md +202 -202
- package/src/bmad-plus/packs/pack-shield/categories/defense-export/tsa-agent.md +367 -367
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/dora-agent.md +510 -510
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/fedramp-agent.md +247 -247
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/hipaa-agent.md +173 -173
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/pci-dss-agent.md +239 -239
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/soc2-agent.md +266 -266
- package/src/bmad-plus/packs/pack-shield/categories/industry-compliance/swift-csp-agent.md +164 -164
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-classifier.md +131 -131
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-fria.md +155 -155
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-incidents.md +187 -187
- package/src/bmad-plus/packs/pack-shield/categories/workflows/ai-act-roles.md +113 -113
- package/src/bmad-plus/packs/pack-shield/categories/workflows/breach-sentinel.md +197 -197
- package/src/bmad-plus/packs/pack-shield/categories/workflows/cookie-policy-gen.md +180 -180
- package/src/bmad-plus/packs/pack-shield/categories/workflows/dpia-sentinel.md +235 -235
- package/src/bmad-plus/packs/pack-shield/categories/workflows/legitimate-interest.md +159 -159
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-advisor.md +133 -133
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-notice-gen.md +160 -160
- package/src/bmad-plus/packs/pack-shield/categories/workflows/privacy-policy-gen.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/ccpa/ccpa-gdpr-comparison.md +117 -117
- package/src/bmad-plus/packs/pack-shield/references/ccpa/consumer-rights-workflows.md +177 -177
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/framework-mappings.md +162 -162
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/implementation-guidance.md +235 -235
- package/src/bmad-plus/packs/pack-shield/references/cis-controls/safeguards-detail.md +252 -252
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-assessment.md +170 -170
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-levels.md +113 -113
- package/src/bmad-plus/packs/pack-shield/references/cmmc/cmmc-practices.md +211 -211
- package/src/bmad-plus/packs/pack-shield/references/csrd/compliance-program.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/csrd/double-materiality.md +253 -253
- package/src/bmad-plus/packs/pack-shield/references/csrd/esrs-standards.md +401 -401
- package/src/bmad-plus/packs/pack-shield/references/dora/article-reference.md +441 -441
- package/src/bmad-plus/packs/pack-shield/references/dora/incident-classification.md +297 -297
- package/src/bmad-plus/packs/pack-shield/references/dora/rts-its-guide.md +306 -306
- package/src/bmad-plus/packs/pack-shield/references/dora/third-party-risk.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/gdpr-comparison.md +173 -173
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rights-and-obligations.md +426 -426
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/rules-2025.md +599 -599
- package/src/bmad-plus/packs/pack-shield/references/dpdpa/sections-reference.md +319 -319
- package/src/bmad-plus/packs/pack-shield/references/ear/ccl-eccn-guide.md +250 -250
- package/src/bmad-plus/packs/pack-shield/references/ear/compliance-program.md +280 -280
- package/src/bmad-plus/packs/pack-shield/references/ear/license-exceptions.md +207 -207
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/gpai-governance.md +267 -267
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/obligations-high-risk.md +287 -287
- package/src/bmad-plus/packs/pack-shield/references/eu-ai-act/risk-classification.md +182 -182
- package/src/bmad-plus/packs/pack-shield/references/fedramp/appendices-guide.md +209 -209
- package/src/bmad-plus/packs/pack-shield/references/fedramp/control-families.md +281 -281
- package/src/bmad-plus/packs/pack-shield/references/fedramp/poam-guide.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/fedramp/readiness-checklist.md +134 -134
- package/src/bmad-plus/packs/pack-shield/references/fedramp/sap-sar-guide.md +86 -86
- package/src/bmad-plus/packs/pack-shield/references/fedramp/ssp-guide.md +129 -129
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/documents.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/dpa-template.md +121 -121
- package/src/bmad-plus/packs/pack-shield/references/gdpr-compliance/privacy-notice.md +87 -87
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/breach-notification.md +293 -293
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/privacy-rule.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/security-rule.md +299 -299
- package/src/bmad-plus/packs/pack-shield/references/hipaa-compliance/templates.md +568 -568
- package/src/bmad-plus/packs/pack-shield/references/ism/control-applicability.md +181 -181
- package/src/bmad-plus/packs/pack-shield/references/ism/guidelines-overview.md +183 -183
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2013.md +203 -203
- package/src/bmad-plus/packs/pack-shield/references/iso27001/annex-a-2022.md +132 -132
- package/src/bmad-plus/packs/pack-shield/references/iso27001/control-mapping.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/iso27701/annex-a-controls.md +195 -195
- package/src/bmad-plus/packs/pack-shield/references/iso27701/regulatory-mapping.md +229 -229
- package/src/bmad-plus/packs/pack-shield/references/iso27701/transition-guide.md +219 -219
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-ai-risk-assessment.md +258 -258
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-clauses-requirements.md +279 -279
- package/src/bmad-plus/packs/pack-shield/references/iso42001/iso42001-controls-annex-a.md +155 -155
- package/src/bmad-plus/packs/pack-shield/references/itar/compliance-program.md +174 -174
- package/src/bmad-plus/packs/pack-shield/references/itar/licensing-guide.md +146 -146
- package/src/bmad-plus/packs/pack-shield/references/itar/usml-categories.md +93 -93
- package/src/bmad-plus/packs/pack-shield/references/lgpd/anpd-enforcement.md +147 -147
- package/src/bmad-plus/packs/pack-shield/references/lgpd/compliance-program.md +272 -272
- package/src/bmad-plus/packs/pack-shield/references/lgpd/lgpd-articles.md +271 -271
- package/src/bmad-plus/packs/pack-shield/references/nis2/article-21-measures.md +153 -153
- package/src/bmad-plus/packs/pack-shield/references/nis2/iso27001-nis2-mapping.md +68 -68
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/assessment-rmf.md +349 -349
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/baselines-tailoring.md +277 -277
- package/src/bmad-plus/packs/pack-shield/references/nist-800-53/control-families.md +450 -450
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-core.md +361 -361
- package/src/bmad-plus/packs/pack-shield/references/nist-ai-rmf/rmf-profiles.md +192 -192
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-10-to-20-mapping.md +143 -143
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-20-functions-categories.md +278 -278
- package/src/bmad-plus/packs/pack-shield/references/nist-csf/csf-implementation-tiers.md +135 -135
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-requirements.md +366 -366
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-saq-guide.md +217 -217
- package/src/bmad-plus/packs/pack-shield/references/pci-compliance/pci-dss-v4-changes.md +190 -190
- package/src/bmad-plus/packs/pack-shield/references/section-508/wcag-mapping.md +160 -160
- package/src/bmad-plus/packs/pack-shield/references/soc2/controls.md +241 -241
- package/src/bmad-plus/packs/pack-shield/references/soc2/evidence.md +236 -236
- package/src/bmad-plus/packs/pack-shield/references/soc2/policies.md +254 -254
- package/src/bmad-plus/packs/pack-shield/references/soc2/vendor.md +276 -276
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-assessment.md +202 -202
- package/src/bmad-plus/packs/pack-shield/references/swift-csp/swift-controls.md +545 -545
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-crmp-requirements.md +359 -359
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-directives-overview.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/tsa-compliance/tsa-incident-reporting.md +187 -187
- package/src/bmad-plus/packs/pack-shield/references/wcag/criteria-detail.md +510 -510
- package/src/bmad-plus/packs/pack-shield/shared/audit-report-template.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/cross-framework-mapper.md +103 -103
- package/src/bmad-plus/packs/pack-shield/shared/gap-analysis-template.md +83 -83
- package/src/bmad-plus/packs/pack-shield/shield-orchestrator.md +229 -229
- package/src/bmad-plus/packs/pack-shield/upstream-sync.yaml +68 -68
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +99 -99
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +93 -93
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +69 -69
- package/tools/cli/commands/autoconfig.js +498 -489
- package/tools/cli/commands/doctor.js +222 -175
- package/tools/cli/commands/install.js +739 -739
- package/tools/cli/commands/memory.js +194 -194
- package/tools/cli/commands/scan.js +360 -350
- package/tools/cli/commands/uninstall.js +96 -96
- package/tools/cli/commands/update.js +174 -174
- package/tools/cli/i18n.js +763 -763
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
# OSINT Agent — Installation Script (Windows PowerShell)
|
|
2
|
-
# Usage: .\install.ps1 [-ProjectRoot "path\to\bmad\project"]
|
|
3
|
-
|
|
4
|
-
param(
|
|
5
|
-
[string]$ProjectRoot = "."
|
|
6
|
-
)
|
|
7
|
-
|
|
8
|
-
$ErrorActionPreference = "Stop"
|
|
9
|
-
$PackageDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
10
|
-
|
|
11
|
-
Write-Host "========================================" -ForegroundColor Cyan
|
|
12
|
-
Write-Host " OSINT Agent Installer for BMAD" -ForegroundColor Cyan
|
|
13
|
-
Write-Host "========================================" -ForegroundColor Cyan
|
|
14
|
-
Write-Host ""
|
|
15
|
-
|
|
16
|
-
# Resolve project root
|
|
17
|
-
$ProjectRoot = Resolve-Path $ProjectRoot
|
|
18
|
-
Write-Host "Project root: $ProjectRoot" -ForegroundColor Yellow
|
|
19
|
-
|
|
20
|
-
# Verify BMAD is installed
|
|
21
|
-
$bmadDir = Join-Path $ProjectRoot "_bmad\bmm\agents"
|
|
22
|
-
if (-not (Test-Path $bmadDir)) {
|
|
23
|
-
Write-Host "ERROR: BMAD not found at $bmadDir" -ForegroundColor Red
|
|
24
|
-
Write-Host "Make sure BMAD Method is installed in the target project." -ForegroundColor Red
|
|
25
|
-
Write-Host "Run: npx bmad-method install" -ForegroundColor Yellow
|
|
26
|
-
exit 1
|
|
27
|
-
}
|
|
28
|
-
Write-Host " BMAD found" -ForegroundColor Green
|
|
29
|
-
|
|
30
|
-
# Verify Python
|
|
31
|
-
$python = Get-Command python -ErrorAction SilentlyContinue
|
|
32
|
-
if (-not $python) {
|
|
33
|
-
Write-Host "ERROR: Python not found. Install Python 3.10+" -ForegroundColor Red
|
|
34
|
-
exit 1
|
|
35
|
-
}
|
|
36
|
-
Write-Host " Python found: $($python.Source)" -ForegroundColor Green
|
|
37
|
-
|
|
38
|
-
# 1. Copy agent definition
|
|
39
|
-
Write-Host ""
|
|
40
|
-
Write-Host "1. Installing agent definition..." -ForegroundColor Cyan
|
|
41
|
-
$agentSrc = Join-Path $PackageDir "agents\osint-investigator.md"
|
|
42
|
-
$agentDst = Join-Path $ProjectRoot "_bmad\bmm\agents\osint-investigator.md"
|
|
43
|
-
Copy-Item $agentSrc $agentDst -Force
|
|
44
|
-
Write-Host " -> $agentDst" -ForegroundColor Green
|
|
45
|
-
|
|
46
|
-
# 2. Copy skills
|
|
47
|
-
Write-Host ""
|
|
48
|
-
Write-Host "2. Installing skills..." -ForegroundColor Cyan
|
|
49
|
-
|
|
50
|
-
$skillsDir = Join-Path $ProjectRoot ".agents\skills"
|
|
51
|
-
|
|
52
|
-
# Skill 1: Agent entry point
|
|
53
|
-
$skill1Dst = Join-Path $skillsDir "bmad-osint-investigator"
|
|
54
|
-
New-Item -ItemType Directory -Force -Path $skill1Dst | Out-Null
|
|
55
|
-
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigator\SKILL.md") $skill1Dst -Force
|
|
56
|
-
Write-Host " -> bmad-osint-investigator/SKILL.md" -ForegroundColor Green
|
|
57
|
-
|
|
58
|
-
# Skill 2: Investigation pipeline + scripts
|
|
59
|
-
$skill2Dst = Join-Path $skillsDir "bmad-osint-investigate"
|
|
60
|
-
New-Item -ItemType Directory -Force -Path $skill2Dst | Out-Null
|
|
61
|
-
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\SKILL.md") $skill2Dst -Force
|
|
62
|
-
|
|
63
|
-
$osintDst = Join-Path $skill2Dst "osint"
|
|
64
|
-
New-Item -ItemType Directory -Force -Path "$osintDst\scripts", "$osintDst\references", "$osintDst\assets" | Out-Null
|
|
65
|
-
|
|
66
|
-
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\SKILL.md") $osintDst -Force
|
|
67
|
-
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\scripts\*") "$osintDst\scripts\" -Force
|
|
68
|
-
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\references\*") "$osintDst\references\" -Force
|
|
69
|
-
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\assets\*") "$osintDst\assets\" -Force
|
|
70
|
-
Write-Host " -> bmad-osint-investigate/ (full pipeline + scripts)" -ForegroundColor Green
|
|
71
|
-
|
|
72
|
-
# 3. Run diagnostic
|
|
73
|
-
Write-Host ""
|
|
74
|
-
Write-Host "3. Running diagnostic..." -ForegroundColor Cyan
|
|
75
|
-
$diagScript = Join-Path $osintDst "scripts\diagnose.py"
|
|
76
|
-
& python $diagScript
|
|
77
|
-
|
|
78
|
-
# 4. Summary
|
|
79
|
-
Write-Host ""
|
|
80
|
-
Write-Host "========================================" -ForegroundColor Cyan
|
|
81
|
-
Write-Host " Installation complete!" -ForegroundColor Green
|
|
82
|
-
Write-Host "========================================" -ForegroundColor Cyan
|
|
83
|
-
Write-Host ""
|
|
84
|
-
Write-Host "Next steps:" -ForegroundColor Yellow
|
|
85
|
-
Write-Host " 1. Configure API keys - see SETUP_KEYS.md"
|
|
86
|
-
Write-Host " 2. Invoke 'bmad-osint-investigator' skill in your AI agent"
|
|
87
|
-
Write-Host ""
|
|
1
|
+
# OSINT Agent — Installation Script (Windows PowerShell)
|
|
2
|
+
# Usage: .\install.ps1 [-ProjectRoot "path\to\bmad\project"]
|
|
3
|
+
|
|
4
|
+
param(
|
|
5
|
+
[string]$ProjectRoot = "."
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
$ErrorActionPreference = "Stop"
|
|
9
|
+
$PackageDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
10
|
+
|
|
11
|
+
Write-Host "========================================" -ForegroundColor Cyan
|
|
12
|
+
Write-Host " OSINT Agent Installer for BMAD" -ForegroundColor Cyan
|
|
13
|
+
Write-Host "========================================" -ForegroundColor Cyan
|
|
14
|
+
Write-Host ""
|
|
15
|
+
|
|
16
|
+
# Resolve project root
|
|
17
|
+
$ProjectRoot = Resolve-Path $ProjectRoot
|
|
18
|
+
Write-Host "Project root: $ProjectRoot" -ForegroundColor Yellow
|
|
19
|
+
|
|
20
|
+
# Verify BMAD is installed
|
|
21
|
+
$bmadDir = Join-Path $ProjectRoot "_bmad\bmm\agents"
|
|
22
|
+
if (-not (Test-Path $bmadDir)) {
|
|
23
|
+
Write-Host "ERROR: BMAD not found at $bmadDir" -ForegroundColor Red
|
|
24
|
+
Write-Host "Make sure BMAD Method is installed in the target project." -ForegroundColor Red
|
|
25
|
+
Write-Host "Run: npx bmad-method install" -ForegroundColor Yellow
|
|
26
|
+
exit 1
|
|
27
|
+
}
|
|
28
|
+
Write-Host " BMAD found" -ForegroundColor Green
|
|
29
|
+
|
|
30
|
+
# Verify Python
|
|
31
|
+
$python = Get-Command python -ErrorAction SilentlyContinue
|
|
32
|
+
if (-not $python) {
|
|
33
|
+
Write-Host "ERROR: Python not found. Install Python 3.10+" -ForegroundColor Red
|
|
34
|
+
exit 1
|
|
35
|
+
}
|
|
36
|
+
Write-Host " Python found: $($python.Source)" -ForegroundColor Green
|
|
37
|
+
|
|
38
|
+
# 1. Copy agent definition
|
|
39
|
+
Write-Host ""
|
|
40
|
+
Write-Host "1. Installing agent definition..." -ForegroundColor Cyan
|
|
41
|
+
$agentSrc = Join-Path $PackageDir "agents\osint-investigator.md"
|
|
42
|
+
$agentDst = Join-Path $ProjectRoot "_bmad\bmm\agents\osint-investigator.md"
|
|
43
|
+
Copy-Item $agentSrc $agentDst -Force
|
|
44
|
+
Write-Host " -> $agentDst" -ForegroundColor Green
|
|
45
|
+
|
|
46
|
+
# 2. Copy skills
|
|
47
|
+
Write-Host ""
|
|
48
|
+
Write-Host "2. Installing skills..." -ForegroundColor Cyan
|
|
49
|
+
|
|
50
|
+
$skillsDir = Join-Path $ProjectRoot ".agents\skills"
|
|
51
|
+
|
|
52
|
+
# Skill 1: Agent entry point
|
|
53
|
+
$skill1Dst = Join-Path $skillsDir "bmad-osint-investigator"
|
|
54
|
+
New-Item -ItemType Directory -Force -Path $skill1Dst | Out-Null
|
|
55
|
+
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigator\SKILL.md") $skill1Dst -Force
|
|
56
|
+
Write-Host " -> bmad-osint-investigator/SKILL.md" -ForegroundColor Green
|
|
57
|
+
|
|
58
|
+
# Skill 2: Investigation pipeline + scripts
|
|
59
|
+
$skill2Dst = Join-Path $skillsDir "bmad-osint-investigate"
|
|
60
|
+
New-Item -ItemType Directory -Force -Path $skill2Dst | Out-Null
|
|
61
|
+
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\SKILL.md") $skill2Dst -Force
|
|
62
|
+
|
|
63
|
+
$osintDst = Join-Path $skill2Dst "osint"
|
|
64
|
+
New-Item -ItemType Directory -Force -Path "$osintDst\scripts", "$osintDst\references", "$osintDst\assets" | Out-Null
|
|
65
|
+
|
|
66
|
+
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\SKILL.md") $osintDst -Force
|
|
67
|
+
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\scripts\*") "$osintDst\scripts\" -Force
|
|
68
|
+
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\references\*") "$osintDst\references\" -Force
|
|
69
|
+
Copy-Item (Join-Path $PackageDir "skills\bmad-osint-investigate\osint\assets\*") "$osintDst\assets\" -Force
|
|
70
|
+
Write-Host " -> bmad-osint-investigate/ (full pipeline + scripts)" -ForegroundColor Green
|
|
71
|
+
|
|
72
|
+
# 3. Run diagnostic
|
|
73
|
+
Write-Host ""
|
|
74
|
+
Write-Host "3. Running diagnostic..." -ForegroundColor Cyan
|
|
75
|
+
$diagScript = Join-Path $osintDst "scripts\diagnose.py"
|
|
76
|
+
& python $diagScript
|
|
77
|
+
|
|
78
|
+
# 4. Summary
|
|
79
|
+
Write-Host ""
|
|
80
|
+
Write-Host "========================================" -ForegroundColor Cyan
|
|
81
|
+
Write-Host " Installation complete!" -ForegroundColor Green
|
|
82
|
+
Write-Host "========================================" -ForegroundColor Cyan
|
|
83
|
+
Write-Host ""
|
|
84
|
+
Write-Host "Next steps:" -ForegroundColor Yellow
|
|
85
|
+
Write-Host " 1. Configure API keys - see SETUP_KEYS.md"
|
|
86
|
+
Write-Host " 2. Invoke 'bmad-osint-investigator' skill in your AI agent"
|
|
87
|
+
Write-Host ""
|
|
@@ -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/`
|