mindforge-cc 11.8.2 → 11.9.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.
Files changed (361) hide show
  1. package/.agent/mindforge/wf-orchestrate-review.md +35 -0
  2. package/.agent/mindforge/wf-verification-loop.md +45 -0
  3. package/.agent/mindforge/wf-workflow-optimizer.md +51 -0
  4. package/.agent/skills/article-illustrator/SKILL.md +7 -7
  5. package/.agent/skills/arxiv/SKILL.md +6 -6
  6. package/.agent/skills/code-wiki/SKILL.md +11 -11
  7. package/.agent/skills/concept-diagrams/SKILL.md +6 -6
  8. package/.agent/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  9. package/.agent/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  10. package/.agent/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  11. package/.agent/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  12. package/.agent/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  13. package/.agent/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  14. package/.agent/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  15. package/.agent/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  16. package/.agent/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  17. package/.agent/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  18. package/.agent/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  19. package/.agent/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  20. package/.agent/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  21. package/.agent/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  22. package/.agent/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  23. package/.agent/skills/concept-diagrams/templates/template.html +174 -0
  24. package/.agent/skills/domain-intel/SKILL.md +7 -7
  25. package/.agent/skills/duckduckgo-search/SKILL.md +17 -17
  26. package/.agent/skills/github-auth/scripts/gh-env.sh +66 -0
  27. package/.agent/skills/github-code-review/SKILL.md +9 -9
  28. package/.agent/skills/github-pr-workflow/SKILL.md +3 -3
  29. package/.agent/skills/godmode/SKILL.md +8 -8
  30. package/.agent/skills/jupyter-live-kernel/SKILL.md +3 -3
  31. package/.agent/skills/kanban-orchestrator/SKILL.md +10 -10
  32. package/.agent/skills/kanban-worker/SKILL.md +6 -6
  33. package/.agent/skills/llm-wiki/SKILL.md +7 -7
  34. package/.agent/skills/mindforge-autonomous/SKILL.md +1 -1
  35. package/.agent/skills/mindforge-complete-milestone/SKILL.md +1 -1
  36. package/.agent/skills/mindforge-discuss-phase/SKILL.md +1 -1
  37. package/.agent/skills/mindforge-do/SKILL.md +1 -1
  38. package/.agent/skills/mindforge-execute-phase/SKILL.md +1 -1
  39. package/.agent/skills/mindforge-list-workspaces/SKILL.md +1 -1
  40. package/.agent/skills/mindforge-manager/SKILL.md +1 -1
  41. package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +1 -1
  42. package/.agent/skills/mindforge-new-milestone/SKILL.md +4 -4
  43. package/.agent/skills/mindforge-new-project/SKILL.md +4 -4
  44. package/.agent/skills/mindforge-new-workspace/SKILL.md +1 -1
  45. package/.agent/skills/mindforge-note/SKILL.md +1 -1
  46. package/.agent/skills/mindforge-plan-phase/SKILL.md +1 -1
  47. package/.agent/skills/mindforge-profile-user/SKILL.md +1 -1
  48. package/.agent/skills/mindforge-remove-workspace/SKILL.md +1 -1
  49. package/.agent/skills/mindforge-research-phase/SKILL.md +1 -1
  50. package/.agent/skills/mindforge-ui-phase/SKILL.md +1 -1
  51. package/.agent/skills/mindforge-ui-review/SKILL.md +1 -1
  52. package/.agent/skills/mindforge-verify-work/SKILL.md +1 -1
  53. package/.agent/skills/mindforge-workspace-isolated/SKILL.md +1 -1
  54. package/.agent/skills/node-inspect-debugger/SKILL.md +1 -1
  55. package/.agent/skills/obsidian/SKILL.md +15 -15
  56. package/.agent/skills/osint-investigation/SKILL.md +3 -2
  57. package/.agent/skills/osint-investigation/references/sources/courtlistener.md +98 -0
  58. package/.agent/skills/osint-investigation/references/sources/gdelt.md +104 -0
  59. package/.agent/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
  60. package/.agent/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
  61. package/.agent/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
  62. package/.agent/skills/osint-investigation/references/sources/opencorporates.md +103 -0
  63. package/.agent/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
  64. package/.agent/skills/osint-investigation/references/sources/senate-ld.md +89 -0
  65. package/.agent/skills/osint-investigation/references/sources/usaspending.md +97 -0
  66. package/.agent/skills/osint-investigation/references/sources/wayback.md +93 -0
  67. package/.agent/skills/osint-investigation/references/sources/wikipedia.md +107 -0
  68. package/.agent/skills/osint-investigation/scripts/_http.py +82 -0
  69. package/.agent/skills/osint-investigation/scripts/_normalize.py +67 -0
  70. package/.agent/skills/osint-investigation/scripts/build_findings.py +221 -0
  71. package/.agent/skills/osint-investigation/scripts/entity_resolution.py +228 -0
  72. package/.agent/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  73. package/.agent/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
  74. package/.agent/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  75. package/.agent/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  76. package/.agent/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  77. package/.agent/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
  78. package/.agent/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  79. package/.agent/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  80. package/.agent/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
  81. package/.agent/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
  82. package/.agent/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
  83. package/.agent/skills/osint-investigation/scripts/timing_analysis.py +252 -0
  84. package/.agent/skills/oss-forensics/SKILL.md +10 -9
  85. package/.agent/skills/oss-forensics/scripts/evidence-store.py +313 -0
  86. package/.agent/skills/parallel-cli/SKILL.md +2 -2
  87. package/.agent/skills/pinggy-tunnel/SKILL.md +3 -3
  88. package/.agent/skills/pixel-art/SKILL.md +2 -2
  89. package/.agent/skills/plan/SKILL.md +10 -10
  90. package/.agent/skills/requesting-code-review/SKILL.md +4 -6
  91. package/.agent/skills/research-paper-writing/SKILL.md +32 -32
  92. package/.agent/skills/rest-graphql-debug/SKILL.md +31 -32
  93. package/.agent/skills/s6-container-supervision/SKILL.md +1 -1
  94. package/.agent/skills/scrapling/SKILL.md +1 -1
  95. package/.agent/skills/sherlock/SKILL.md +1 -1
  96. package/.agent/skills/simplify-code/SKILL.md +5 -7
  97. package/.agent/skills/skill-authoring/SKILL.md +4 -4
  98. package/.agent/skills/spike/SKILL.md +11 -13
  99. package/.agent/skills/subagent-driven-development/SKILL.md +7 -11
  100. package/.agent/skills/systematic-debugging/SKILL.md +13 -14
  101. package/.agent/skills/test-driven-development/SKILL.md +6 -7
  102. package/.agent/skills/video-orchestrator/SKILL.md +1 -1
  103. package/.agent/skills/web-pentest/SKILL.md +7 -7
  104. package/.mindforge/config.json +3 -2
  105. package/.mindforge/dynamic-workflows/REGISTRY.md +4 -1
  106. package/.mindforge/dynamic-workflows/index.json +910 -840
  107. package/.mindforge/dynamic-workflows/scripts/accessibility-audit.js +88 -90
  108. package/.mindforge/dynamic-workflows/scripts/ai-model-eval.js +59 -61
  109. package/.mindforge/dynamic-workflows/scripts/api-contract-test.js +87 -85
  110. package/.mindforge/dynamic-workflows/scripts/api-migration.js +120 -122
  111. package/.mindforge/dynamic-workflows/scripts/architecture-modernization.js +84 -86
  112. package/.mindforge/dynamic-workflows/scripts/code-audit.js +75 -77
  113. package/.mindforge/dynamic-workflows/scripts/code-explainer.js +99 -101
  114. package/.mindforge/dynamic-workflows/scripts/competitive-analysis.js +62 -64
  115. package/.mindforge/dynamic-workflows/scripts/competitive-teardown.js +106 -108
  116. package/.mindforge/dynamic-workflows/scripts/cost-analysis.js +78 -80
  117. package/.mindforge/dynamic-workflows/scripts/data-pipeline-validate.js +47 -49
  118. package/.mindforge/dynamic-workflows/scripts/database-migration.js +85 -87
  119. package/.mindforge/dynamic-workflows/scripts/debug-detective.js +97 -99
  120. package/.mindforge/dynamic-workflows/scripts/dependency-health.js +81 -83
  121. package/.mindforge/dynamic-workflows/scripts/design-system-audit.js +84 -86
  122. package/.mindforge/dynamic-workflows/scripts/documentation-gen.js +65 -67
  123. package/.mindforge/dynamic-workflows/scripts/feature-planner.js +78 -80
  124. package/.mindforge/dynamic-workflows/scripts/incident-response.js +81 -83
  125. package/.mindforge/dynamic-workflows/scripts/multi-repo-sync.js +49 -51
  126. package/.mindforge/dynamic-workflows/scripts/mutation-testing.js +113 -115
  127. package/.mindforge/dynamic-workflows/scripts/onboard-codebase.js +79 -81
  128. package/.mindforge/dynamic-workflows/scripts/orchestrate-review.js +115 -0
  129. package/.mindforge/dynamic-workflows/scripts/perf-optimize.js +97 -99
  130. package/.mindforge/dynamic-workflows/scripts/pr-review.js +61 -63
  131. package/.mindforge/dynamic-workflows/scripts/refactor-plan.js +88 -90
  132. package/.mindforge/dynamic-workflows/scripts/release-prep.js +79 -81
  133. package/.mindforge/dynamic-workflows/scripts/security-hardening.js +117 -119
  134. package/.mindforge/dynamic-workflows/scripts/security-threat-model.js +119 -121
  135. package/.mindforge/dynamic-workflows/scripts/tdd-sprint.js +80 -82
  136. package/.mindforge/dynamic-workflows/scripts/tech-evaluation.js +50 -52
  137. package/.mindforge/dynamic-workflows/scripts/test-coverage-gap.js +68 -70
  138. package/.mindforge/dynamic-workflows/scripts/ux-heuristic-audit.js +89 -91
  139. package/.mindforge/dynamic-workflows/scripts/verification-loop.js +138 -0
  140. package/.mindforge/dynamic-workflows/scripts/workflow-optimizer.js +136 -0
  141. package/.mindforge/dynamic-workflows/scripts/writer-reviewer.js +63 -65
  142. package/.mindforge/memory/sync-manifest.json +1 -1
  143. package/.mindforge/personas/advisor-researcher.md +2 -2
  144. package/.mindforge/personas/api-load-tester.md +1 -1
  145. package/.mindforge/personas/authentication-architect.md +1 -1
  146. package/.mindforge/personas/backup-recovery-specialist.md +1 -1
  147. package/.mindforge/personas/build-optimizer.md +1 -1
  148. package/.mindforge/personas/caching-strategist.md +1 -1
  149. package/.mindforge/personas/chaos-engineer.md +1 -1
  150. package/.mindforge/personas/compliance-auditor.md +1 -1
  151. package/.mindforge/personas/config-management-expert.md +1 -1
  152. package/.mindforge/personas/coverage-specialist.md +1 -1
  153. package/.mindforge/personas/debug-specialist.md +2 -2
  154. package/.mindforge/personas/debugger.md +2 -2
  155. package/.mindforge/personas/dependency-auditor.md +1 -1
  156. package/.mindforge/personas/developer.md +1 -1
  157. package/.mindforge/personas/devops-engineer.md +1 -1
  158. package/.mindforge/personas/executor.md +1 -1
  159. package/.mindforge/personas/go-specialist.md +1 -1
  160. package/.mindforge/personas/incident-commander.md +1 -1
  161. package/.mindforge/personas/java-specialist.md +1 -1
  162. package/.mindforge/personas/kubernetes-debugger.md +1 -1
  163. package/.mindforge/personas/logging-architect.md +1 -1
  164. package/.mindforge/personas/mf-planner.md +1 -1
  165. package/.mindforge/personas/mf-researcher.md +1 -1
  166. package/.mindforge/personas/mf-reviewer.md +1 -1
  167. package/.mindforge/personas/nyquist-auditor.md +1 -1
  168. package/.mindforge/personas/observability-engineer.md +1 -1
  169. package/.mindforge/personas/performance-optimizer.md +1 -1
  170. package/.mindforge/personas/phase-researcher.md +5 -5
  171. package/.mindforge/personas/planner.md +1 -1
  172. package/.mindforge/personas/project-researcher.md +2 -2
  173. package/.mindforge/personas/python-specialist.md +1 -1
  174. package/.mindforge/personas/qa-engineer.md +1 -1
  175. package/.mindforge/personas/release-manager.md +1 -1
  176. package/.mindforge/personas/research-agent.md +4 -4
  177. package/.mindforge/personas/roadmapper-extend.md +1 -1
  178. package/.mindforge/personas/rust-specialist.md +1 -1
  179. package/.mindforge/personas/security-reviewer.md +1 -1
  180. package/.mindforge/personas/tech-writer.md +1 -1
  181. package/.mindforge/personas/typescript-wizard.md +1 -1
  182. package/.mindforge/personas/ui-researcher.md +1 -1
  183. package/.mindforge/skills/accessibility/SKILL.md +3 -3
  184. package/.mindforge/skills/agent-architecture-audit/SKILL.md +11 -0
  185. package/.mindforge/skills/agent-loops/SKILL.md +1 -1
  186. package/.mindforge/skills/arxiv/SKILL.md +6 -6
  187. package/.mindforge/skills/arxiv/scripts/search_arxiv.py +114 -0
  188. package/.mindforge/skills/code-tour/SKILL.md +2 -2
  189. package/.mindforge/skills/code-wiki/SKILL.md +11 -11
  190. package/.mindforge/skills/code-wiki/templates/README.md +31 -0
  191. package/.mindforge/skills/code-wiki/templates/architecture.md +30 -0
  192. package/.mindforge/skills/code-wiki/templates/getting-started.md +47 -0
  193. package/.mindforge/skills/code-wiki/templates/module.md +38 -0
  194. package/.mindforge/skills/concept-diagrams/SKILL.md +6 -6
  195. package/.mindforge/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
  196. package/.mindforge/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
  197. package/.mindforge/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
  198. package/.mindforge/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
  199. package/.mindforge/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
  200. package/.mindforge/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
  201. package/.mindforge/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
  202. package/.mindforge/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
  203. package/.mindforge/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
  204. package/.mindforge/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
  205. package/.mindforge/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
  206. package/.mindforge/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
  207. package/.mindforge/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
  208. package/.mindforge/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
  209. package/.mindforge/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
  210. package/.mindforge/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
  211. package/.mindforge/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
  212. package/.mindforge/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
  213. package/.mindforge/skills/concept-diagrams/templates/template.html +174 -0
  214. package/.mindforge/skills/creative-ideation/references/full-prompt-library.md +110 -0
  215. package/.mindforge/skills/documentation/SKILL.md +1 -1
  216. package/.mindforge/skills/domain-intel/SKILL.md +7 -7
  217. package/.mindforge/skills/domain-intel/scripts/domain_intel.py +397 -0
  218. package/.mindforge/skills/duckduckgo-search/SKILL.md +17 -17
  219. package/.mindforge/skills/duckduckgo-search/scripts/duckduckgo.sh +28 -0
  220. package/.mindforge/skills/environment-management/SKILL.md +1 -1
  221. package/.mindforge/skills/github-code-review/SKILL.md +9 -9
  222. package/.mindforge/skills/github-code-review/references/review-output-template.md +74 -0
  223. package/.mindforge/skills/github-issues/templates/bug-report.md +35 -0
  224. package/.mindforge/skills/github-issues/templates/feature-request.md +31 -0
  225. package/.mindforge/skills/github-pr-workflow/SKILL.md +3 -3
  226. package/.mindforge/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  227. package/.mindforge/skills/github-pr-workflow/references/conventional-commits.md +71 -0
  228. package/.mindforge/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  229. package/.mindforge/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
  230. package/.mindforge/skills/incident-response/SKILL.md +1 -1
  231. package/.mindforge/skills/jupyter-live-kernel/SKILL.md +3 -3
  232. package/.mindforge/skills/kanban-orchestrator/SKILL.md +10 -10
  233. package/.mindforge/skills/kanban-worker/SKILL.md +6 -6
  234. package/.mindforge/skills/meme-generation/SKILL.md +1 -1
  235. package/.mindforge/skills/meme-generation/scripts/generate_meme.py +470 -0
  236. package/.mindforge/skills/meme-generation/scripts/templates.json +97 -0
  237. package/.mindforge/skills/obsidian/SKILL.md +15 -15
  238. package/.mindforge/skills/orch-pipeline/SKILL.md +2 -2
  239. package/.mindforge/skills/osint-investigation/SKILL.md +3 -2
  240. package/.mindforge/skills/osint-investigation/references/sources/courtlistener.md +98 -0
  241. package/.mindforge/skills/osint-investigation/references/sources/gdelt.md +104 -0
  242. package/.mindforge/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
  243. package/.mindforge/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
  244. package/.mindforge/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
  245. package/.mindforge/skills/osint-investigation/references/sources/opencorporates.md +103 -0
  246. package/.mindforge/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
  247. package/.mindforge/skills/osint-investigation/references/sources/senate-ld.md +89 -0
  248. package/.mindforge/skills/osint-investigation/references/sources/usaspending.md +97 -0
  249. package/.mindforge/skills/osint-investigation/references/sources/wayback.md +93 -0
  250. package/.mindforge/skills/osint-investigation/references/sources/wikipedia.md +107 -0
  251. package/.mindforge/skills/osint-investigation/scripts/_http.py +82 -0
  252. package/.mindforge/skills/osint-investigation/scripts/_normalize.py +67 -0
  253. package/.mindforge/skills/osint-investigation/scripts/build_findings.py +221 -0
  254. package/.mindforge/skills/osint-investigation/scripts/entity_resolution.py +228 -0
  255. package/.mindforge/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
  256. package/.mindforge/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
  257. package/.mindforge/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
  258. package/.mindforge/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
  259. package/.mindforge/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
  260. package/.mindforge/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
  261. package/.mindforge/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
  262. package/.mindforge/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
  263. package/.mindforge/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
  264. package/.mindforge/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
  265. package/.mindforge/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
  266. package/.mindforge/skills/osint-investigation/scripts/timing_analysis.py +252 -0
  267. package/.mindforge/skills/osint-investigation/templates/source-template.md +59 -0
  268. package/.mindforge/skills/oss-forensics/SKILL.md +6 -6
  269. package/.mindforge/skills/oss-forensics/references/evidence-types.md +89 -0
  270. package/.mindforge/skills/oss-forensics/references/github-archive-guide.md +184 -0
  271. package/.mindforge/skills/oss-forensics/references/investigation-templates.md +131 -0
  272. package/.mindforge/skills/oss-forensics/references/recovery-techniques.md +164 -0
  273. package/.mindforge/skills/oss-forensics/scripts/evidence-store.py +313 -0
  274. package/.mindforge/skills/oss-forensics/templates/forensic-report.md +151 -0
  275. package/.mindforge/skills/oss-forensics/templates/malicious-package-report.md +43 -0
  276. package/.mindforge/skills/pixel-art/SKILL.md +2 -2
  277. package/.mindforge/skills/pixel-art/references/palettes.md +49 -0
  278. package/.mindforge/skills/plan/SKILL.md +10 -10
  279. package/.mindforge/skills/requesting-code-review/SKILL.md +4 -6
  280. package/.mindforge/skills/research-paper-writing/SKILL.md +32 -32
  281. package/.mindforge/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
  282. package/.mindforge/skills/research-paper-writing/references/checklists.md +434 -0
  283. package/.mindforge/skills/research-paper-writing/references/citation-workflow.md +563 -0
  284. package/.mindforge/skills/research-paper-writing/references/experiment-patterns.md +728 -0
  285. package/.mindforge/skills/research-paper-writing/references/human-evaluation.md +476 -0
  286. package/.mindforge/skills/research-paper-writing/references/paper-types.md +481 -0
  287. package/.mindforge/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
  288. package/.mindforge/skills/research-paper-writing/references/sources.md +191 -0
  289. package/.mindforge/skills/research-paper-writing/references/writing-guide.md +474 -0
  290. package/.mindforge/skills/research-paper-writing/templates/README.md +251 -0
  291. package/.mindforge/skills/scrapling/SKILL.md +1 -1
  292. package/.mindforge/skills/security-review/SKILL.md +1 -1
  293. package/.mindforge/skills/sherlock/SKILL.md +1 -1
  294. package/.mindforge/skills/simplify-code/SKILL.md +5 -7
  295. package/.mindforge/skills/spike/SKILL.md +11 -13
  296. package/.mindforge/skills/subagent-driven-development/SKILL.md +7 -11
  297. package/.mindforge/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
  298. package/.mindforge/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
  299. package/.mindforge/skills/systematic-debugging/SKILL.md +13 -14
  300. package/.mindforge/skills/test-driven-development/SKILL.md +7 -8
  301. package/.mindforge/skills/testing-standards/SKILL.md +1 -1
  302. package/.mindforge/skills/web-pentest/SKILL.md +2 -2
  303. package/.mindforge/skills/web-pentest/references/bypass-techniques.md +133 -0
  304. package/.mindforge/skills/web-pentest/references/exploitation-techniques.md +204 -0
  305. package/.mindforge/skills/web-pentest/references/scope-enforcement.md +110 -0
  306. package/.mindforge/skills/web-pentest/references/vuln-taxonomy.md +81 -0
  307. package/.mindforge/skills/web-pentest/templates/authorization.md +69 -0
  308. package/.mindforge/skills/web-pentest/templates/pentest-report.md +178 -0
  309. package/.mindforge/skills/writing-skills/SKILL.md +4 -3
  310. package/CHANGELOG.md +35 -0
  311. package/MINDFORGE.md +3 -3
  312. package/README.md +9 -7
  313. package/RELEASENOTES.md +65 -2
  314. package/SECURITY.md +5 -3
  315. package/bin/autonomous/auto-runner.js +5 -2
  316. package/bin/engine/skill-loader.js +4 -0
  317. package/bin/governance/rbac.js +4 -0
  318. package/bin/memory/eis-client.js +1 -0
  319. package/bin/mindforge-cli.js +5 -0
  320. package/bin/models/bedrock-provider.js +192 -0
  321. package/bin/models/model-client.js +19 -0
  322. package/bin/spawn-agent.js +9 -2
  323. package/docs/commands-reference.md +68 -6
  324. package/docs/faq.md +38 -1
  325. package/docs/getting-started.md +27 -12
  326. package/docs/sdk-reference.md +36 -3
  327. package/docs/troubleshooting.md +59 -1
  328. package/docs/user-guide.md +7 -4
  329. package/package.json +3 -3
  330. package/.claude/commands/mindforge/skill-tdd.md +0 -53
  331. package/.claude/commands/mindforge/skills-index.md +0 -118
  332. package/.claude/commands/mindforge/systematic-debug.md +0 -60
  333. package/.claude/commands/mindforge/wf-accessibility-audit.md +0 -31
  334. package/.claude/commands/mindforge/wf-ai-model-eval.md +0 -31
  335. package/.claude/commands/mindforge/wf-api-migration.md +0 -31
  336. package/.claude/commands/mindforge/wf-architecture-modernization.md +0 -32
  337. package/.claude/commands/mindforge/wf-catalog.md +0 -59
  338. package/.claude/commands/mindforge/wf-code-audit.md +0 -31
  339. package/.claude/commands/mindforge/wf-code-explainer.md +0 -31
  340. package/.claude/commands/mindforge/wf-competitive-analysis.md +0 -31
  341. package/.claude/commands/mindforge/wf-competitive-teardown.md +0 -31
  342. package/.claude/commands/mindforge/wf-cost-analysis.md +0 -31
  343. package/.claude/commands/mindforge/wf-data-pipeline-validate.md +0 -31
  344. package/.claude/commands/mindforge/wf-database-migration.md +0 -31
  345. package/.claude/commands/mindforge/wf-debug-detective.md +0 -32
  346. package/.claude/commands/mindforge/wf-design-system-audit.md +0 -31
  347. package/.claude/commands/mindforge/wf-documentation-gen.md +0 -31
  348. package/.claude/commands/mindforge/wf-feature-planner.md +0 -31
  349. package/.claude/commands/mindforge/wf-incident-response.md +0 -31
  350. package/.claude/commands/mindforge/wf-multi-repo-sync.md +0 -31
  351. package/.claude/commands/mindforge/wf-mutation-testing.md +0 -31
  352. package/.claude/commands/mindforge/wf-onboard-codebase.md +0 -31
  353. package/.claude/commands/mindforge/wf-perf-optimize.md +0 -31
  354. package/.claude/commands/mindforge/wf-pr-review.md +0 -31
  355. package/.claude/commands/mindforge/wf-refactor-plan.md +0 -31
  356. package/.claude/commands/mindforge/wf-release-prep.md +0 -31
  357. package/.claude/commands/mindforge/wf-security-threat-model.md +0 -31
  358. package/.claude/commands/mindforge/wf-tdd-sprint.md +0 -31
  359. package/.claude/commands/mindforge/wf-tech-evaluation.md +0 -31
  360. package/.claude/commands/mindforge/wf-ux-heuristic-audit.md +0 -31
  361. package/.claude/commands/mindforge/wf-writer-reviewer.md +0 -30
@@ -0,0 +1,338 @@
1
+ # Modern Onshore Wind Turbine Structure
2
+
3
+ A physical/structural cross-section diagram showing all major components of a modern wind turbine from underground foundation to blade tips.
4
+
5
+ ## Key Patterns Used
6
+
7
+ - **Underground section**: Soil layers, deep concrete foundation with rebar reinforcement grid, spread footing
8
+ - **Cross-section view**: Tower wall thickness shown, internal components visible
9
+ - **Tapered tower**: Path elements creating realistic tower silhouette that narrows toward top
10
+ - **Internal access**: Ladder with rungs, elevator shaft inside tower
11
+ - **Cable routing**: Power cables running from nacelle down through tower to transformer
12
+ - **Nacelle cutaway**: Gearbox, generator, brake, yaw system all visible inside housing
13
+ - **Rotor assembly**: Hub with pitch motors at blade roots, three composite blades with gradient fill
14
+ - **Ground level marker**: Clear separation between above/below ground
15
+ - **Component color coding**: Each system type has distinct color (blue=generator, gold=gearbox, red=brake, green=yaw, purple=pitch)
16
+ - **Legend bar**: Quick reference for color meanings
17
+
18
+ ## Diagram
19
+
20
+ ```xml
21
+ <svg width="100%" viewBox="0 0 680 920" xmlns="http://www.w3.org/2000/svg">
22
+ <defs>
23
+ <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
24
+ markerWidth="6" markerHeight="6" orient="auto-start-reverse">
25
+ <path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
26
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
27
+ </marker>
28
+ <!-- Blade gradient for 3D effect -->
29
+ <linearGradient id="bladeGrad" x1="0%" y1="0%" x2="100%" y2="0%">
30
+ <stop offset="0%" style="stop-color:#D3D1C7"/>
31
+ <stop offset="50%" style="stop-color:#F1EFE8"/>
32
+ <stop offset="100%" style="stop-color:#B4B2A9"/>
33
+ </linearGradient>
34
+ </defs>
35
+
36
+ <!-- ===== GROUND LEVEL LINE ===== -->
37
+ <line x1="40" y1="680" x2="640" y2="680" stroke="#3B6D11" stroke-width="2"/>
38
+ <text class="tl" x="45" y="675">Ground level</text>
39
+
40
+ <!-- ===== UNDERGROUND: FOUNDATION ===== -->
41
+
42
+ <!-- Soil layers -->
43
+ <rect x="120" y="680" width="300" height="180" class="soil"/>
44
+ <rect x="120" y="780" width="300" height="80" class="soil-dark"/>
45
+
46
+ <!-- Deep concrete foundation -->
47
+ <path d="M170 680 L170 820 L200 850 L340 850 L370 820 L370 680 Z" class="concrete"/>
48
+ <!-- Foundation base spread -->
49
+ <path d="M140 820 L170 820 L200 850 L340 850 L370 820 L400 820 L400 860 L140 860 Z" class="concrete-dark"/>
50
+
51
+ <!-- Rebar reinforcement -->
52
+ <g class="rebar">
53
+ <line x1="185" y1="700" x2="185" y2="840"/>
54
+ <line x1="210" y1="700" x2="210" y2="845"/>
55
+ <line x1="235" y1="700" x2="235" y2="848"/>
56
+ <line x1="260" y1="700" x2="260" y2="848"/>
57
+ <line x1="285" y1="700" x2="285" y2="848"/>
58
+ <line x1="310" y1="700" x2="310" y2="845"/>
59
+ <line x1="335" y1="700" x2="335" y2="840"/>
60
+ <!-- Horizontal rebar -->
61
+ <line x1="175" y1="720" x2="365" y2="720"/>
62
+ <line x1="175" y1="760" x2="365" y2="760"/>
63
+ <line x1="175" y1="800" x2="365" y2="800"/>
64
+ <line x1="155" y1="835" x2="385" y2="835"/>
65
+ </g>
66
+
67
+ <!-- Foundation labels -->
68
+ <line x1="410" y1="770" x2="480" y2="770" class="leader"/>
69
+ <text class="ts" x="485" y="766">Deep concrete foundation</text>
70
+ <text class="tl" x="485" y="778">Reinforced with steel rebar</text>
71
+ <text class="tl" x="485" y="790">15-25m deep typical</text>
72
+
73
+ <line x1="400" y1="850" x2="480" y2="870" class="leader"/>
74
+ <text class="ts" x="485" y="866">Foundation spread footing</text>
75
+ <text class="tl" x="485" y="878">Distributes load to soil</text>
76
+
77
+ <!-- ===== TOWER BASE ===== -->
78
+
79
+ <!-- Tower base flange -->
80
+ <ellipse cx="270" cy="680" rx="70" ry="12" class="concrete-dark"/>
81
+ <rect x="200" y="668" width="140" height="12" class="tower"/>
82
+
83
+ <!-- Transformer at base -->
84
+ <g transform="translate(470, 640)">
85
+ <rect x="0" y="0" width="50" height="40" rx="3" class="transformer"/>
86
+ <!-- Cooling fins -->
87
+ <rect x="52" y="5" width="4" height="30" class="transformer-fin"/>
88
+ <rect x="58" y="5" width="4" height="30" class="transformer-fin"/>
89
+ <rect x="64" y="5" width="4" height="30" class="transformer-fin"/>
90
+ <!-- Connection box -->
91
+ <rect x="10" y="-8" width="30" height="10" rx="2" class="transformer-fin"/>
92
+ </g>
93
+ <line x1="470" y1="660" x2="430" y2="640" class="leader"/>
94
+ <text class="ts" x="385" y="636" text-anchor="end">Transformer</text>
95
+ <text class="tl" x="385" y="648" text-anchor="end">Steps up voltage for grid</text>
96
+
97
+ <!-- ===== TUBULAR STEEL TOWER ===== -->
98
+
99
+ <!-- Tower outer shell (tapered) -->
100
+ <path d="M200 680 L220 200 L320 200 L340 680 Z" class="tower"/>
101
+
102
+ <!-- Tower inner surface (cutaway) -->
103
+ <path d="M215 680 L232 210 L308 210 L325 680 Z" class="tower-inner"/>
104
+
105
+ <!-- Tower section joints -->
106
+ <line x1="205" y1="550" x2="335" y2="550" class="tower-section"/>
107
+ <line x1="210" y1="420" x2="330" y2="420" class="tower-section"/>
108
+ <line x1="215" y1="300" x2="325" y2="300" class="tower-section"/>
109
+
110
+ <!-- Internal ladder (left side) -->
111
+ <g transform="translate(225, 220)">
112
+ <!-- Ladder rails -->
113
+ <line x1="0" y1="0" x2="8" y2="450" class="ladder"/>
114
+ <line x1="15" y1="0" x2="23" y2="450" class="ladder"/>
115
+ <!-- Rungs -->
116
+ <g class="ladder-rung">
117
+ <line x1="1" y1="20" x2="22" y2="21"/>
118
+ <line x1="1" y1="50" x2="22" y2="52"/>
119
+ <line x1="2" y1="80" x2="22" y2="83"/>
120
+ <line x1="2" y1="110" x2="23" y2="114"/>
121
+ <line x1="2" y1="140" x2="23" y2="145"/>
122
+ <line x1="3" y1="170" x2="23" y2="176"/>
123
+ <line x1="3" y1="200" x2="24" y2="207"/>
124
+ <line x1="3" y1="230" x2="24" y2="238"/>
125
+ <line x1="4" y1="260" x2="24" y2="269"/>
126
+ <line x1="4" y1="290" x2="25" y2="300"/>
127
+ <line x1="4" y1="320" x2="25" y2="331"/>
128
+ <line x1="5" y1="350" x2="25" y2="362"/>
129
+ <line x1="5" y1="380" x2="26" y2="393"/>
130
+ <line x1="6" y1="410" x2="26" y2="424"/>
131
+ <line x1="6" y1="440" x2="27" y2="455"/>
132
+ </g>
133
+ </g>
134
+
135
+ <!-- Elevator shaft (right side) -->
136
+ <rect x="280" y="230" width="25" height="430" rx="2" class="elevator"/>
137
+ <text class="tl" x="292" y="450" text-anchor="middle" transform="rotate(-90, 292, 450)" fill="#185FA5">ELEVATOR</text>
138
+
139
+ <!-- Electrical cables running down -->
140
+ <path d="M270 220 C270 300 268 400 268 500 C268 600 268 650 310 665 L470 665" class="cable"/>
141
+ <path d="M260 225 C258 350 256 500 256 600 C256 650 256 670 256 680" class="cable-thin"/>
142
+
143
+ <!-- Tower labels -->
144
+ <line x1="340" y1="350" x2="400" y2="320" class="leader"/>
145
+ <text class="ts" x="405" y="316">Tubular steel tower</text>
146
+ <text class="tl" x="405" y="328">80-120m height typical</text>
147
+ <text class="tl" x="405" y="340">Tapered for strength</text>
148
+
149
+ <line x1="248" y1="400" x2="130" y2="380" class="leader"/>
150
+ <text class="ts" x="125" y="376" text-anchor="end">Internal ladder</text>
151
+ <text class="tl" x="125" y="388" text-anchor="end">Service access</text>
152
+
153
+ <line x1="305" y1="500" x2="400" y2="520" class="leader"/>
154
+ <text class="ts" x="405" y="516">Service elevator</text>
155
+
156
+ <line x1="268" y1="580" x2="130" y2="600" class="leader"/>
157
+ <text class="ts" x="125" y="596" text-anchor="end">Power cables</text>
158
+ <text class="tl" x="125" y="608" text-anchor="end">To transformer</text>
159
+
160
+ <!-- ===== NACELLE ===== -->
161
+
162
+ <g transform="translate(270, 160)">
163
+ <!-- Nacelle base/bedplate -->
164
+ <rect x="-60" y="30" width="120" height="15" class="nacelle"/>
165
+
166
+ <!-- Yaw bearing -->
167
+ <ellipse cx="0" cy="42" rx="35" ry="6" class="bearing"/>
168
+
169
+ <!-- Yaw motors -->
170
+ <rect x="-55" y="32" width="12" height="18" rx="2" class="yaw"/>
171
+ <rect x="43" y="32" width="12" height="18" rx="2" class="yaw"/>
172
+
173
+ <!-- Nacelle housing -->
174
+ <path d="M-65 30 L-70 -10 L-65 -35 L70 -35 L85 -10 L85 30 Z" class="nacelle-cover"/>
175
+
176
+ <!-- Main shaft -->
177
+ <rect x="-90" y="-8" width="35" height="16" rx="2" fill="#888780" stroke="#5F5E5A" stroke-width="0.5"/>
178
+
179
+ <!-- Gearbox -->
180
+ <rect x="-55" y="-25" width="40" height="45" rx="3" class="gearbox"/>
181
+ <text class="tl" x="-35" y="5" text-anchor="middle" fill="#633806">GEAR</text>
182
+
183
+ <!-- Generator -->
184
+ <rect x="-10" y="-20" width="50" height="38" rx="4" class="generator"/>
185
+ <ellipse cx="15" cy="0" rx="15" ry="15" fill="none" stroke="#0C447C" stroke-width="1"/>
186
+ <text class="tl" x="15" y="4" text-anchor="middle" fill="#E6F1FB">GEN</text>
187
+
188
+ <!-- Brake disc -->
189
+ <rect x="45" y="-12" width="8" height="24" rx="1" class="brake"/>
190
+
191
+ <!-- Electrical cabinet -->
192
+ <rect x="58" y="-25" width="20" height="35" rx="2" fill="#5F5E5A" stroke="#444441" stroke-width="0.5"/>
193
+
194
+ <!-- Anemometer on top -->
195
+ <line x1="60" y1="-35" x2="60" y2="-50" stroke="#5F5E5A" stroke-width="1"/>
196
+ <ellipse cx="60" cy="-52" rx="8" ry="3" fill="#D3D1C7" stroke="#888780" stroke-width="0.5"/>
197
+ </g>
198
+
199
+ <!-- Nacelle labels -->
200
+ <line x1="215" y1="135" x2="130" y2="115" class="leader"/>
201
+ <text class="ts" x="125" y="111" text-anchor="end">Gearbox</text>
202
+ <text class="tl" x="125" y="123" text-anchor="end">Speed multiplier</text>
203
+
204
+ <line x1="285" y1="145" x2="400" y2="125" class="leader"/>
205
+ <text class="ts" x="405" y="121">Generator</text>
206
+ <text class="tl" x="405" y="133">Converts rotation to electricity</text>
207
+
208
+ <line x1="315" y1="155" x2="400" y2="165" class="leader"/>
209
+ <text class="ts" x="405" y="161">Brake system</text>
210
+
211
+ <line x1="215" y1="200" x2="130" y2="220" class="leader"/>
212
+ <text class="ts" x="125" y="216" text-anchor="end">Yaw motors</text>
213
+ <text class="tl" x="125" y="228" text-anchor="end">Rotate nacelle to face wind</text>
214
+
215
+ <line x1="330" y1="108" x2="400" y2="90" class="leader"/>
216
+ <text class="ts" x="405" y="86">Anemometer</text>
217
+ <text class="tl" x="405" y="98">Wind speed sensor</text>
218
+
219
+ <!-- ===== ROTOR HUB & BLADES ===== -->
220
+
221
+ <!-- Hub -->
222
+ <g transform="translate(180, 152)">
223
+ <!-- Hub body -->
224
+ <ellipse cx="0" cy="0" rx="25" ry="30" class="hub"/>
225
+ <!-- Hub nose cone -->
226
+ <path d="M-25 -20 Q-50 0 -25 20 Q-30 0 -25 -20" class="hub-cap"/>
227
+
228
+ <!-- Blade roots with pitch motors -->
229
+ <!-- Blade 1 (up) -->
230
+ <g transform="translate(-10, -25) rotate(-80)">
231
+ <ellipse cx="0" cy="0" rx="12" ry="8" class="blade-root"/>
232
+ <rect x="-8" y="-5" width="10" height="10" rx="2" class="pitch-motor"/>
233
+ </g>
234
+
235
+ <!-- Blade 2 (lower left) -->
236
+ <g transform="translate(-18, 18) rotate(40)">
237
+ <ellipse cx="0" cy="0" rx="12" ry="8" class="blade-root"/>
238
+ <rect x="-8" y="-5" width="10" height="10" rx="2" class="pitch-motor"/>
239
+ </g>
240
+
241
+ <!-- Blade 3 (lower right) -->
242
+ <g transform="translate(5, 22) rotate(160)">
243
+ <ellipse cx="0" cy="0" rx="12" ry="8" class="blade-root"/>
244
+ <rect x="-8" y="-5" width="10" height="10" rx="2" class="pitch-motor"/>
245
+ </g>
246
+ </g>
247
+
248
+ <!-- Blade 1 (pointing up-left) -->
249
+ <path d="M165 125 Q140 80 130 40 Q125 20 115 15 Q110 18 112 25 Q115 50 125 90 Q140 120 158 128 Z" class="blade" fill="url(#bladeGrad)"/>
250
+
251
+ <!-- Blade 2 (pointing down-left) -->
252
+ <path d="M158 175 Q120 200 80 230 Q60 245 55 255 Q60 258 68 252 Q95 235 130 210 Q155 190 163 178 Z" class="blade" fill="url(#bladeGrad)"/>
253
+
254
+ <!-- Blade 3 (pointing down-right, partially visible) -->
255
+ <path d="M188 175 Q195 200 205 230 Q210 250 215 255 Q220 252 218 245 Q212 220 202 195 Q192 175 186 172 Z" class="blade" fill="url(#bladeGrad)"/>
256
+
257
+ <!-- Blade labels -->
258
+ <line x1="115" y1="35" x2="60" y2="35" class="leader"/>
259
+ <text class="ts" x="55" y="31" text-anchor="end">Composite blade</text>
260
+ <text class="tl" x="55" y="43" text-anchor="end">Fiberglass/carbon fiber</text>
261
+ <text class="tl" x="55" y="55" text-anchor="end">40-80m length each</text>
262
+
263
+ <line x1="170" y1="130" x2="130" y2="155" class="leader"/>
264
+ <text class="ts" x="85" y="151" text-anchor="end">Pitch motor</text>
265
+ <text class="tl" x="85" y="163" text-anchor="end">Adjusts blade angle</text>
266
+
267
+ <line x1="180" y1="152" x2="130" y2="180" class="leader"/>
268
+ <text class="ts" x="85" y="183" text-anchor="end">Rotor hub</text>
269
+
270
+ <!-- ===== LEGEND ===== -->
271
+ <g transform="translate(40, 895)">
272
+ <rect x="0" y="-15" width="600" height="30" rx="4" fill="none" stroke="#D3D1C7" stroke-width="0.5"/>
273
+
274
+ <rect x="15" y="-5" width="12" height="12" rx="2" class="generator"/>
275
+ <text class="tl" x="32" y="5">Generator</text>
276
+
277
+ <rect x="95" y="-5" width="12" height="12" rx="2" class="gearbox"/>
278
+ <text class="tl" x="112" y="5">Gearbox</text>
279
+
280
+ <rect x="170" y="-5" width="12" height="12" rx="2" class="brake"/>
281
+ <text class="tl" x="187" y="5">Brake</text>
282
+
283
+ <rect x="230" y="-5" width="12" height="12" rx="2" class="yaw"/>
284
+ <text class="tl" x="247" y="5">Yaw system</text>
285
+
286
+ <rect x="320" y="-5" width="12" height="12" rx="2" class="pitch-motor"/>
287
+ <text class="tl" x="337" y="5">Pitch motor</text>
288
+
289
+ <line x1="415" y1="1" x2="435" y2="1" class="cable" style="stroke-width:2"/>
290
+ <text class="tl" x="440" y="5">Power cable</text>
291
+
292
+ <rect x="515" y="-5" width="12" height="12" rx="2" class="transformer"/>
293
+ <text class="tl" x="532" y="5">Transformer</text>
294
+ </g>
295
+
296
+ </svg>
297
+ ```
298
+
299
+ ## CSS Classes
300
+
301
+ ```css
302
+ /* Foundation */
303
+ .concrete { fill: #B4B2A9; stroke: #5F5E5A; stroke-width: 1; }
304
+ .concrete-dark { fill: #888780; stroke: #5F5E5A; stroke-width: 1; }
305
+ .rebar { stroke: #854F0B; stroke-width: 1.5; fill: none; }
306
+ .soil { fill: #8B7355; stroke: #5F5E5A; stroke-width: 0.5; }
307
+ .soil-dark { fill: #6B5344; }
308
+
309
+ /* Tower */
310
+ .tower { fill: #F1EFE8; stroke: #5F5E5A; stroke-width: 1; }
311
+ .tower-inner { fill: #D3D1C7; stroke: #888780; stroke-width: 0.5; }
312
+ .tower-section { stroke: #888780; stroke-width: 0.5; stroke-dasharray: 2 4; }
313
+ .ladder { stroke: #5F5E5A; stroke-width: 1; fill: none; }
314
+ .ladder-rung { stroke: #888780; stroke-width: 0.8; }
315
+ .elevator { fill: #E6F1FB; stroke: #185FA5; stroke-width: 0.5; }
316
+ .cable { stroke: #E24B4A; stroke-width: 2; fill: none; }
317
+ .cable-thin { stroke: #E24B4A; stroke-width: 1.5; fill: none; }
318
+
319
+ /* Nacelle */
320
+ .nacelle { fill: #F1EFE8; stroke: #5F5E5A; stroke-width: 1; }
321
+ .nacelle-cover { fill: #D3D1C7; stroke: #5F5E5A; stroke-width: 1; }
322
+ .gearbox { fill: #BA7517; stroke: #633806; stroke-width: 0.5; }
323
+ .generator { fill: #378ADD; stroke: #0C447C; stroke-width: 0.5; }
324
+ .brake { fill: #E24B4A; stroke: #791F1F; stroke-width: 0.5; }
325
+ .yaw { fill: #5DCAA5; stroke: #085041; stroke-width: 0.5; }
326
+ .bearing { fill: #444441; stroke: #2C2C2A; stroke-width: 0.5; }
327
+
328
+ /* Rotor */
329
+ .hub { fill: #D3D1C7; stroke: #5F5E5A; stroke-width: 1; }
330
+ .hub-cap { fill: #F1EFE8; stroke: #5F5E5A; stroke-width: 1; }
331
+ .blade { fill: #F1EFE8; stroke: #888780; stroke-width: 1; }
332
+ .blade-root { fill: #D3D1C7; stroke: #5F5E5A; stroke-width: 0.5; }
333
+ .pitch-motor { fill: #7F77DD; stroke: #3C3489; stroke-width: 0.5; }
334
+
335
+ /* Transformer */
336
+ .transformer { fill: #27500A; stroke: #173404; stroke-width: 1; }
337
+ .transformer-fin { fill: #3B6D11; stroke: #27500A; stroke-width: 0.5; }
338
+ ```
@@ -0,0 +1,174 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Concept Diagram</title>
7
+ <style>
8
+ :root {
9
+ --text-primary: #1a1a18;
10
+ --text-secondary: #5f5e5a;
11
+ --text-tertiary: #88877f;
12
+ --bg-primary: #ffffff;
13
+ --bg-secondary: #f6f5f0;
14
+ --bg-tertiary: #eeedeb;
15
+ --border: rgba(0,0,0,0.15);
16
+ --border-hover: rgba(0,0,0,0.3);
17
+ }
18
+ @media (prefers-color-scheme: dark) {
19
+ :root {
20
+ --text-primary: #e8e6de;
21
+ --text-secondary: #b4b2a9;
22
+ --text-tertiary: #888780;
23
+ --bg-primary: #1a1a18;
24
+ --bg-secondary: #2c2c2a;
25
+ --bg-tertiary: #3d3d3a;
26
+ --border: rgba(255,255,255,0.15);
27
+ --border-hover: rgba(255,255,255,0.3);
28
+ }
29
+ }
30
+ * { margin: 0; padding: 0; box-sizing: border-box; }
31
+ body {
32
+ font-family: system-ui, -apple-system, sans-serif;
33
+ background: var(--bg-tertiary);
34
+ display: flex;
35
+ justify-content: center;
36
+ align-items: flex-start;
37
+ min-height: 100vh;
38
+ padding: 40px 20px;
39
+ }
40
+ .card {
41
+ background: var(--bg-primary);
42
+ border-radius: 16px;
43
+ padding: 32px;
44
+ max-width: 780px;
45
+ width: 100%;
46
+ box-shadow: 0 1px 3px rgba(0,0,0,0.08);
47
+ }
48
+ h1 {
49
+ font-size: 18px;
50
+ font-weight: 500;
51
+ color: var(--text-primary);
52
+ margin-bottom: 8px;
53
+ }
54
+ .subtitle {
55
+ font-size: 13px;
56
+ color: var(--text-tertiary);
57
+ margin-bottom: 24px;
58
+ }
59
+ svg { width: 100%; height: auto; }
60
+
61
+ /* === SVG Design System Classes === */
62
+
63
+ /* Text classes */
64
+ .t { font-family: system-ui, -apple-system, sans-serif; font-size: 14px; fill: var(--text-primary); }
65
+ .ts { font-family: system-ui, -apple-system, sans-serif; font-size: 12px; fill: var(--text-secondary); }
66
+ .th { font-family: system-ui, -apple-system, sans-serif; font-size: 14px; fill: var(--text-primary); font-weight: 500; }
67
+
68
+ /* Neutral box */
69
+ .box { fill: var(--bg-secondary); stroke: var(--border); stroke-width: 0.5px; }
70
+
71
+ /* Arrow */
72
+ .arr { stroke: var(--text-secondary); stroke-width: 1.5px; fill: none; }
73
+
74
+ /* Leader line */
75
+ .leader { stroke: var(--text-tertiary); stroke-width: 0.5px; stroke-dasharray: 4 3; fill: none; }
76
+
77
+ /* Clickable node */
78
+ .node { cursor: pointer; transition: opacity 0.15s; }
79
+ .node:hover { opacity: 0.82; }
80
+
81
+ /* === Color Ramp Classes (light mode) === */
82
+ .c-purple > rect, .c-purple > circle, .c-purple > ellipse { fill: #EEEDFE; stroke: #534AB7; }
83
+ .c-purple > .th, .c-purple > text.th { fill: #3C3489; }
84
+ .c-purple > .ts, .c-purple > text.ts { fill: #534AB7; }
85
+ .c-purple > .t, .c-purple > text.t { fill: #3C3489; }
86
+
87
+ .c-teal > rect, .c-teal > circle, .c-teal > ellipse { fill: #E1F5EE; stroke: #0F6E56; }
88
+ .c-teal > .th, .c-teal > text.th { fill: #085041; }
89
+ .c-teal > .ts, .c-teal > text.ts { fill: #0F6E56; }
90
+ .c-teal > .t, .c-teal > text.t { fill: #085041; }
91
+
92
+ .c-coral > rect, .c-coral > circle, .c-coral > ellipse { fill: #FAECE7; stroke: #993C1D; }
93
+ .c-coral > .th, .c-coral > text.th { fill: #712B13; }
94
+ .c-coral > .ts, .c-coral > text.ts { fill: #993C1D; }
95
+ .c-coral > .t, .c-coral > text.t { fill: #712B13; }
96
+
97
+ .c-pink > rect, .c-pink > circle, .c-pink > ellipse { fill: #FBEAF0; stroke: #993556; }
98
+ .c-pink > .th, .c-pink > text.th { fill: #72243E; }
99
+ .c-pink > .ts, .c-pink > text.ts { fill: #993556; }
100
+ .c-pink > .t, .c-pink > text.t { fill: #72243E; }
101
+
102
+ .c-gray > rect, .c-gray > circle, .c-gray > ellipse { fill: #F1EFE8; stroke: #5F5E5A; }
103
+ .c-gray > .th, .c-gray > text.th { fill: #444441; }
104
+ .c-gray > .ts, .c-gray > text.ts { fill: #5F5E5A; }
105
+ .c-gray > .t, .c-gray > text.t { fill: #444441; }
106
+
107
+ .c-blue > rect, .c-blue > circle, .c-blue > ellipse { fill: #E6F1FB; stroke: #185FA5; }
108
+ .c-blue > .th, .c-blue > text.th { fill: #0C447C; }
109
+ .c-blue > .ts, .c-blue > text.ts { fill: #185FA5; }
110
+ .c-blue > .t, .c-blue > text.t { fill: #0C447C; }
111
+
112
+ .c-green > rect, .c-green > circle, .c-green > ellipse { fill: #EAF3DE; stroke: #3B6D11; }
113
+ .c-green > .th, .c-green > text.th { fill: #27500A; }
114
+ .c-green > .ts, .c-green > text.ts { fill: #3B6D11; }
115
+ .c-green > .t, .c-green > text.t { fill: #27500A; }
116
+
117
+ .c-amber > rect, .c-amber > circle, .c-amber > ellipse { fill: #FAEEDA; stroke: #854F0B; }
118
+ .c-amber > .th, .c-amber > text.th { fill: #633806; }
119
+ .c-amber > .ts, .c-amber > text.ts { fill: #854F0B; }
120
+ .c-amber > .t, .c-amber > text.t { fill: #633806; }
121
+
122
+ .c-red > rect, .c-red > circle, .c-red > ellipse { fill: #FCEBEB; stroke: #A32D2D; }
123
+ .c-red > .th, .c-red > text.th { fill: #791F1F; }
124
+ .c-red > .ts, .c-red > text.ts { fill: #A32D2D; }
125
+ .c-red > .t, .c-red > text.t { fill: #791F1F; }
126
+
127
+ /* === Dark mode overrides === */
128
+ @media (prefers-color-scheme: dark) {
129
+ .c-purple > rect, .c-purple > circle, .c-purple > ellipse { fill: #3C3489; stroke: #AFA9EC; }
130
+ .c-purple > .th, .c-purple > text.th { fill: #CECBF6; }
131
+ .c-purple > .ts, .c-purple > text.ts { fill: #AFA9EC; }
132
+
133
+ .c-teal > rect, .c-teal > circle, .c-teal > ellipse { fill: #085041; stroke: #5DCAA5; }
134
+ .c-teal > .th, .c-teal > text.th { fill: #9FE1CB; }
135
+ .c-teal > .ts, .c-teal > text.ts { fill: #5DCAA5; }
136
+
137
+ .c-coral > rect, .c-coral > circle, .c-coral > ellipse { fill: #712B13; stroke: #F0997B; }
138
+ .c-coral > .th, .c-coral > text.th { fill: #F5C4B3; }
139
+ .c-coral > .ts, .c-coral > text.ts { fill: #F0997B; }
140
+
141
+ .c-pink > rect, .c-pink > circle, .c-pink > ellipse { fill: #72243E; stroke: #ED93B1; }
142
+ .c-pink > .th, .c-pink > text.th { fill: #F4C0D1; }
143
+ .c-pink > .ts, .c-pink > text.ts { fill: #ED93B1; }
144
+
145
+ .c-gray > rect, .c-gray > circle, .c-gray > ellipse { fill: #444441; stroke: #B4B2A9; }
146
+ .c-gray > .th, .c-gray > text.th { fill: #D3D1C7; }
147
+ .c-gray > .ts, .c-gray > text.ts { fill: #B4B2A9; }
148
+
149
+ .c-blue > rect, .c-blue > circle, .c-blue > ellipse { fill: #0C447C; stroke: #85B7EB; }
150
+ .c-blue > .th, .c-blue > text.th { fill: #B5D4F4; }
151
+ .c-blue > .ts, .c-blue > text.ts { fill: #85B7EB; }
152
+
153
+ .c-green > rect, .c-green > circle, .c-green > ellipse { fill: #27500A; stroke: #97C459; }
154
+ .c-green > .th, .c-green > text.th { fill: #C0DD97; }
155
+ .c-green > .ts, .c-green > text.ts { fill: #97C459; }
156
+
157
+ .c-amber > rect, .c-amber > circle, .c-amber > ellipse { fill: #633806; stroke: #EF9F27; }
158
+ .c-amber > .th, .c-amber > text.th { fill: #FAC775; }
159
+ .c-amber > .ts, .c-amber > text.ts { fill: #EF9F27; }
160
+
161
+ .c-red > rect, .c-red > circle, .c-red > ellipse { fill: #791F1F; stroke: #F09595; }
162
+ .c-red > .th, .c-red > text.th { fill: #F7C1C1; }
163
+ .c-red > .ts, .c-red > text.ts { fill: #F09595; }
164
+ }
165
+ </style>
166
+ </head>
167
+ <body>
168
+ <div class="card">
169
+ <h1><!-- DIAGRAM TITLE HERE --></h1>
170
+ <p class="subtitle"><!-- OPTIONAL SUBTITLE HERE --></p>
171
+ <!-- PASTE SVG HERE -->
172
+ </div>
173
+ </body>
174
+ </html>
@@ -49,16 +49,16 @@ python3 SKILL_DIR/scripts/domain_intel.py bulk example.com github.com --checks s
49
49
  ## When to use this vs built-in tools
50
50
 
51
51
  - **Use this skill** for infrastructure questions: subdomains, SSL certs, WHOIS, DNS records, availability
52
- - **Use `web_search`** for general research about what a domain/company does
53
- - **Use `web_extract`** to get the actual content of a webpage
54
- - **Use `terminal` with `curl -I`** for a simple "is this URL reachable" check
52
+ - **Use `WebSearch`** for general research about what a domain/company does
53
+ - **Use `WebFetch`** to get the actual content of a webpage
54
+ - **Use `Bash` with `curl -I`** for a simple "is this URL reachable" check
55
55
 
56
56
  | Task | Better tool | Why |
57
57
  |------|-------------|-----|
58
- | "What does example.com do?" | `web_extract` | Gets page content, not DNS/WHOIS data |
59
- | "Find info about a company" | `web_search` | General research, not domain-specific |
60
- | "Is this website safe?" | `web_search` | Reputation checks need web context |
61
- | "Check if a URL is reachable" | `terminal` with `curl -I` | Simple HTTP check |
58
+ | "What does example.com do?" | `WebFetch` | Gets page content, not DNS/WHOIS data |
59
+ | "Find info about a company" | `WebSearch` | General research, not domain-specific |
60
+ | "Is this website safe?" | `WebSearch` | Reputation checks need web context |
61
+ | "Check if a URL is reachable" | `Bash` with `curl -I` | Simple HTTP check |
62
62
  | "Find subdomains of X" | **This skill** | Only passive source for this |
63
63
  | "When does the SSL cert expire?" | **This skill** | Built-in tools can't inspect TLS |
64
64
  | "Who registered this domain?" | **This skill** | WHOIS data not in web search |
@@ -8,7 +8,7 @@ version: 1.3.0
8
8
 
9
9
  Free web search using DuckDuckGo. **No API key required.**
10
10
 
11
- Preferred when `web_search` is unavailable or unsuitable (for example when `FIRECRAWL_API_KEY` is not set). Can also be used as a standalone search path when DuckDuckGo results are specifically desired.
11
+ Preferred when `WebSearch` is unavailable or unsuitable (for example when `FIRECRAWL_API_KEY` is not set). Can also be used as a standalone search path when DuckDuckGo results are specifically desired.
12
12
 
13
13
  ## Detection Flow
14
14
 
@@ -20,15 +20,15 @@ command -v ddgs >/dev/null && echo "DDGS_CLI=installed" || echo "DDGS_CLI=missin
20
20
  ```
21
21
 
22
22
  Decision tree:
23
- 1. If `ddgs` CLI is installed, prefer `terminal` + `ddgs`
24
- 2. If `ddgs` CLI is missing, do not assume `execute_code` can import `ddgs`
23
+ 1. If `ddgs` CLI is installed, prefer `Bash` + `ddgs`
24
+ 2. If `ddgs` CLI is missing, do not assume `Bash` can import `ddgs`
25
25
  3. If the user wants DuckDuckGo specifically, install `ddgs` first in the relevant environment
26
26
  4. Otherwise fall back to built-in web/browser tools
27
27
 
28
28
  Important runtime note:
29
- - Terminal and `execute_code` are separate runtimes
30
- - A successful shell install does not guarantee `execute_code` can import `ddgs`
31
- - Never assume third-party Python packages are preinstalled inside `execute_code`
29
+ - Terminal and `Bash` are separate runtimes
30
+ - A successful shell install does not guarantee `Bash` can import `ddgs`
31
+ - Never assume third-party Python packages are preinstalled inside `Bash`
32
32
 
33
33
  ## Installation
34
34
 
@@ -46,7 +46,7 @@ If a workflow depends on Python imports, verify that same runtime can import `dd
46
46
 
47
47
  ## Method 1: CLI Search (Preferred)
48
48
 
49
- Use the `ddgs` command via `terminal` when it exists. This is the preferred path because it avoids assuming the `execute_code` sandbox has the `ddgs` Python package installed.
49
+ Use the `ddgs` command via `Bash` when it exists. This is the preferred path because it avoids assuming the `Bash` sandbox has the `ddgs` Python package installed.
50
50
 
51
51
  ```bash
52
52
  # Text search
@@ -84,14 +84,14 @@ ddgs text -q "fastapi tutorial" -m 5 -o json
84
84
 
85
85
  ## Method 2: Python API (Only After Verification)
86
86
 
87
- Use the `DDGS` class in `execute_code` or another Python runtime only after verifying that `ddgs` is installed there. Do not assume `execute_code` includes third-party packages by default.
87
+ Use the `DDGS` class in `Bash` or another Python runtime only after verifying that `ddgs` is installed there. Do not assume `Bash` includes third-party packages by default.
88
88
 
89
89
  Safe wording:
90
- - "Use `execute_code` with `ddgs` after installing or verifying the package if needed"
90
+ - "Use `Bash` with `ddgs` after installing or verifying the package if needed"
91
91
 
92
92
  Avoid saying:
93
- - "`execute_code` includes `ddgs`"
94
- - "DuckDuckGo search works by default in `execute_code`"
93
+ - "`Bash` includes `ddgs`"
94
+ - "DuckDuckGo search works by default in `Bash`"
95
95
 
96
96
  **Important:** `max_results` must always be passed as a **keyword argument** — positional usage raises an error on all methods.
97
97
 
@@ -177,7 +177,7 @@ Returns: `title`, `content`, `description`, `duration`, `provider`, `published`,
177
177
 
178
178
  ## Workflow: Search then Extract
179
179
 
180
- DuckDuckGo returns titles, URLs, and snippets — not full page content. To get full page content, search first and then extract the most relevant URL with `web_extract`, browser tools, or curl.
180
+ DuckDuckGo returns titles, URLs, and snippets — not full page content. To get full page content, search first and then extract the most relevant URL with `WebFetch`, browser tools, or curl.
181
181
 
182
182
  CLI example:
183
183
 
@@ -196,16 +196,16 @@ with DDGS() as ddgs:
196
196
  print(r["title"], "->", r["href"])
197
197
  ```
198
198
 
199
- Then extract the best URL with `web_extract` or another content-retrieval tool.
199
+ Then extract the best URL with `WebFetch` or another content-retrieval tool.
200
200
 
201
201
  ## Limitations
202
202
 
203
203
  - **Rate limiting**: DuckDuckGo may throttle after many rapid requests. Add a short delay between searches if needed.
204
- - **No content extraction**: `ddgs` returns snippets, not full page content. Use `web_extract`, browser tools, or curl for the full article/page.
204
+ - **No content extraction**: `ddgs` returns snippets, not full page content. Use `WebFetch`, browser tools, or curl for the full article/page.
205
205
  - **Results quality**: Generally good but less configurable than Firecrawl's search.
206
206
  - **Availability**: DuckDuckGo may block requests from some cloud IPs. If searches return empty, try different keywords or wait a few seconds.
207
207
  - **Field variability**: Return fields may vary between results or `ddgs` versions. Use `.get()` for optional fields to avoid `KeyError`.
208
- - **Separate runtimes**: A successful `ddgs` install in terminal does not automatically mean `execute_code` can import it.
208
+ - **Separate runtimes**: A successful `ddgs` install in terminal does not automatically mean `Bash` can import it.
209
209
 
210
210
  ## Troubleshooting
211
211
 
@@ -214,13 +214,13 @@ Then extract the best URL with `web_extract` or another content-retrieval tool.
214
214
  | `ddgs: command not found` | CLI not installed in the shell environment | Install `ddgs`, or use built-in web/browser tools instead |
215
215
  | `ModuleNotFoundError: No module named 'ddgs'` | Python runtime does not have the package installed | Do not use Python DDGS there until that runtime is prepared |
216
216
  | Search returns nothing | Temporary rate limiting or poor query | Wait a few seconds, retry, or adjust the query |
217
- | CLI works but `execute_code` import fails | Terminal and `execute_code` are different runtimes | Keep using CLI, or separately prepare the Python runtime |
217
+ | CLI works but `Bash` import fails | Terminal and `Bash` are different runtimes | Keep using CLI, or separately prepare the Python runtime |
218
218
 
219
219
  ## Pitfalls
220
220
 
221
221
  - **`max_results` is keyword-only**: `ddgs.text("query", 5)` raises an error. Use `ddgs.text("query", max_results=5)`.
222
222
  - **Do not assume the CLI exists**: Check `command -v ddgs` before using it.
223
- - **Do not assume `execute_code` can import `ddgs`**: `from ddgs import DDGS` may fail with `ModuleNotFoundError` unless that runtime was prepared separately.
223
+ - **Do not assume `Bash` can import `ddgs`**: `from ddgs import DDGS` may fail with `ModuleNotFoundError` unless that runtime was prepared separately.
224
224
  - **Package name**: The package is `ddgs` (previously `duckduckgo-search`). Install with `pip install ddgs`.
225
225
  - **Don't confuse `-q` and `-m`** (CLI): `-q` is for the query, `-m` is for max results count.
226
226
  - **Empty results**: If `ddgs` returns nothing, it may be rate-limited. Wait a few seconds and retry.