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,114 @@
1
+ #!/usr/bin/env python3
2
+ """Search arXiv and display results in a clean format.
3
+
4
+ Usage:
5
+ python search_arxiv.py "GRPO reinforcement learning"
6
+ python search_arxiv.py "GRPO reinforcement learning" --max 10
7
+ python search_arxiv.py "GRPO reinforcement learning" --sort date
8
+ python search_arxiv.py --author "Yann LeCun" --max 5
9
+ python search_arxiv.py --category cs.AI --sort date --max 10
10
+ python search_arxiv.py --id 2402.03300
11
+ python search_arxiv.py --id 2402.03300,2401.12345
12
+ """
13
+ import sys
14
+ import urllib.request
15
+ import urllib.parse
16
+ import xml.etree.ElementTree as ET
17
+
18
+ NS = {'a': 'http://www.w3.org/2005/Atom'}
19
+
20
+ def search(query=None, author=None, category=None, ids=None, max_results=5, sort="relevance"):
21
+ params = {}
22
+
23
+ if ids:
24
+ params['id_list'] = ids
25
+ else:
26
+ parts = []
27
+ if query:
28
+ parts.append(f'all:{urllib.parse.quote(query)}')
29
+ if author:
30
+ parts.append(f'au:{urllib.parse.quote(author)}')
31
+ if category:
32
+ parts.append(f'cat:{category}')
33
+ if not parts:
34
+ print("Error: provide a query, --author, --category, or --id")
35
+ sys.exit(1)
36
+ params['search_query'] = '+AND+'.join(parts)
37
+
38
+ params['max_results'] = str(max_results)
39
+
40
+ sort_map = {"relevance": "relevance", "date": "submittedDate", "updated": "lastUpdatedDate"}
41
+ params['sortBy'] = sort_map.get(sort, sort)
42
+ params['sortOrder'] = 'descending'
43
+
44
+ url = "https://export.arxiv.org/api/query?" + "&".join(f"{k}={v}" for k, v in params.items())
45
+
46
+ req = urllib.request.Request(url, headers={'User-Agent': 'HermesAgent/1.0'})
47
+ with urllib.request.urlopen(req, timeout=15) as resp:
48
+ data = resp.read()
49
+
50
+ root = ET.fromstring(data)
51
+ entries = root.findall('a:entry', NS)
52
+
53
+ if not entries:
54
+ print("No results found.")
55
+ return
56
+
57
+ total = root.find('{http://a9.com/-/spec/opensearch/1.1/}totalResults')
58
+ if total is not None:
59
+ print(f"Found {total.text} results (showing {len(entries)})\n")
60
+
61
+ for i, entry in enumerate(entries):
62
+ title = entry.find('a:title', NS).text.strip().replace('\n', ' ')
63
+ raw_id = entry.find('a:id', NS).text.strip()
64
+ full_id = raw_id.split('/abs/')[-1] if '/abs/' in raw_id else raw_id
65
+ arxiv_id = full_id.split('v')[0] # base ID for links
66
+ published = entry.find('a:published', NS).text[:10]
67
+ updated = entry.find('a:updated', NS).text[:10]
68
+ authors = ', '.join(a.find('a:name', NS).text for a in entry.findall('a:author', NS))
69
+ summary = entry.find('a:summary', NS).text.strip().replace('\n', ' ')
70
+ cats = ', '.join(c.get('term') for c in entry.findall('a:category', NS))
71
+
72
+ version = full_id[len(arxiv_id):] if full_id != arxiv_id else ""
73
+ print(f"{i+1}. {title}")
74
+ print(f" ID: {arxiv_id}{version} | Published: {published} | Updated: {updated}")
75
+ print(f" Authors: {authors}")
76
+ print(f" Categories: {cats}")
77
+ print(f" Abstract: {summary[:300]}{'...' if len(summary) > 300 else ''}")
78
+ print(f" Links: https://arxiv.org/abs/{arxiv_id} | https://arxiv.org/pdf/{arxiv_id}")
79
+ print()
80
+
81
+
82
+ if __name__ == "__main__":
83
+ args = sys.argv[1:]
84
+ if not args or args[0] in {"-h", "--help"}:
85
+ print(__doc__)
86
+ sys.exit(0)
87
+
88
+ query = None
89
+ author = None
90
+ category = None
91
+ ids = None
92
+ max_results = 5
93
+ sort = "relevance"
94
+
95
+ i = 0
96
+ positional = []
97
+ while i < len(args):
98
+ if args[i] == "--max" and i + 1 < len(args):
99
+ max_results = int(args[i + 1]); i += 2
100
+ elif args[i] == "--sort" and i + 1 < len(args):
101
+ sort = args[i + 1]; i += 2
102
+ elif args[i] == "--author" and i + 1 < len(args):
103
+ author = args[i + 1]; i += 2
104
+ elif args[i] == "--category" and i + 1 < len(args):
105
+ category = args[i + 1]; i += 2
106
+ elif args[i] == "--id" and i + 1 < len(args):
107
+ ids = args[i + 1]; i += 2
108
+ else:
109
+ positional.append(args[i]); i += 1
110
+
111
+ if positional:
112
+ query = " ".join(positional)
113
+
114
+ search(query=query, author=author, category=category, ids=ids, max_results=max_results, sort=sort)
@@ -55,7 +55,7 @@ stop, building understanding progressively.
55
55
 
56
56
  **Stop format (mandatory for each stop):**
57
57
 
58
- ```markdown
58
+ ````markdown
59
59
  ## Stop N: [Descriptive Title]
60
60
 
61
61
  **File:** `src/path/to/file.ts` (lines 42-87)
@@ -81,7 +81,7 @@ function handleRequest(ctx: Context) {
81
81
  **Checkpoint:** After this stop, you should understand:
82
82
  - [Concrete understanding goal 1]
83
83
  - [Concrete understanding goal 2]
84
- ```
84
+ ````
85
85
 
86
86
  **Progressive complexity rules:**
87
87
  - Stop 1-3: Configuration, entry points, "what runs when the app starts"
@@ -9,7 +9,7 @@ triggers: code wiki, document codebase, knowledge wiki, explain codebase, codeba
9
9
 
10
10
  # Code Wiki Skill
11
11
 
12
- Generate a comprehensive wiki for any codebase — overview, architecture, per-module deep-dives, Mermaid class and sequence diagrams. Inspired by Google CodeWiki, but works on local repos, private repos, and any language. Uses only existing available tools (`terminal`, `read_file`, `search_files`, `write_file`); no Docker, no external services, no extra dependencies.
12
+ Generate a comprehensive wiki for any codebase — overview, architecture, per-module deep-dives, Mermaid class and sequence diagrams. Inspired by Google CodeWiki, but works on local repos, private repos, and any language. Uses only existing available tools (`Bash`, `Read`, `Grep`, `Write`); no Docker, no external services, no extra dependencies.
13
13
 
14
14
  This skill produces **reference documentation** (what/how). It does not produce strategic narrative (why — that's a different skill).
15
15
 
@@ -22,7 +22,7 @@ This skill produces **reference documentation** (what/how). It does not produce
22
22
 
23
23
  Do NOT use this for:
24
24
  - Single-file or single-function documentation — just answer directly
25
- - API reference for one specific endpoint — use `read_file` and answer inline
25
+ - API reference for one specific endpoint — use `Read` and answer inline
26
26
  - Strategic "why does this exist" narrative — different skill, different purpose
27
27
  - Codebases the user is actively developing in this session — just answer questions as they come
28
28
 
@@ -34,7 +34,7 @@ Do NOT use this for:
34
34
 
35
35
  ## How to Run
36
36
 
37
- Invoke through the `terminal` tool from the target repo's root, then use `read_file` / `search_files` / `write_file` to produce the wiki. Default output location is `~/.agent/wikis/<repo-name>/`. Only write into the repo (`docs/wiki/`) when the user explicitly requests it.
37
+ Invoke through the `Bash` tool from the target repo's root, then use `Read` / `Grep` / `Write` to produce the wiki. Default output location is `~/.agent/wikis/<repo-name>/`. Only write into the repo (`docs/wiki/`) when the user explicitly requests it.
38
38
 
39
39
  ## Quick Reference
40
40
 
@@ -78,13 +78,13 @@ REPO_NAME=$(basename "$PWD")
78
78
  Then set the output dir:
79
79
 
80
80
  ```bash
81
- OUTPUT_DIR="$HOME/.hermes/wikis/$REPO_NAME"
81
+ OUTPUT_DIR="$HOME/.mindforge/wikis/$REPO_NAME"
82
82
  mkdir -p "$OUTPUT_DIR/modules" "$OUTPUT_DIR/diagrams"
83
83
  ```
84
84
 
85
85
  ### 2. Scan repo structure
86
86
 
87
- Use the `terminal` tool for the shell work, `read_file` for manifests:
87
+ Use the `Bash` tool for the shell work, `Read` for manifests:
88
88
 
89
89
  ```bash
90
90
  # Shallow tree first
@@ -107,7 +107,7 @@ pygount --format=summary \
107
107
  . 2>/dev/null || true
108
108
  ```
109
109
 
110
- Then `read_file` the relevant manifests (`package.json`, `pyproject.toml`, `setup.py`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`) and the project README. Use `search_files target='files'` to find them rather than guessing names.
110
+ Then `Read` the relevant manifests (`package.json`, `pyproject.toml`, `setup.py`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`) and the project README. Use `search_files target='files'` to find them rather than guessing names.
111
111
 
112
112
  ### 3. Pick modules to document
113
113
 
@@ -128,7 +128,7 @@ State the module list to the user before generating per-module docs on big repos
128
128
 
129
129
  ### 4. Write `README.md`
130
130
 
131
- `read_file` the actual project README plus the top 2–3 entry-point files. Then `write_file`:
131
+ `Read` the actual project README plus the top 2–3 entry-point files. Then `Write`:
132
132
 
133
133
  ````markdown
134
134
  # <Project Name>
@@ -208,7 +208,7 @@ Cap at ~20 nodes per diagram. Split into sub-diagrams if larger.
208
208
 
209
209
  ### 6. Write per-module docs in `modules/`
210
210
 
211
- For each selected module, inspect its layout with `ls`, identify 3–5 most important files (by size, by being named `core.py` / `main.py` / `__init__.py`, by being imported a lot), then `read_file` those files (use `offset` / `limit` to read only what you need; prefer `search_files` for specific symbols).
211
+ For each selected module, inspect its layout with `ls`, identify 3–5 most important files (by size, by being named `core.py` / `main.py` / `__init__.py`, by being imported a lot), then `Read` those files (use `offset` / `limit` to read only what you need; prefer `Grep` for specific symbols).
212
212
 
213
213
  ````markdown
214
214
  # Module: `<module>`
@@ -245,7 +245,7 @@ signatures, not full implementations.>
245
245
 
246
246
  ### 7. Write `diagrams/class-diagram.md`
247
247
 
248
- Pick the 5–10 most important classes/types. `read_file` them, then write:
248
+ Pick the 5–10 most important classes/types. `Read` them, then write:
249
249
 
250
250
  ````markdown
251
251
  # Class Diagram
@@ -392,7 +392,7 @@ Generating a full wiki for a 500K-LOC monorepo is wildly token-expensive. Defaul
392
392
 
393
393
  - Initial scan: max depth 3 directories
394
394
  - Per-module docs: cap at 10 modules unless user expands scope
395
- - Per-file reads: prefer `search_files` for symbols + `read_file` with `offset`/`limit` over full reads
395
+ - Per-file reads: prefer `Grep` for symbols + `Read` with `offset`/`limit` over full reads
396
396
  - Skip vendored code (`vendor/`, `third_party/`, generated code, `_pb2.py`, `.min.js`)
397
397
 
398
398
  If the user says "do the whole thing exhaustively", believe them — but ballpark the cost first: "this repo has ~340 source files, comprehensive coverage will be expensive — confirm?"
@@ -409,7 +409,7 @@ Full incremental-regeneration is a future enhancement — for now, regenerating
409
409
 
410
410
  ## Pitfalls
411
411
 
412
- - **Fabricating components.** Every diagram node and claimed function call must be in the source. `read_file` before writing. The single biggest failure mode for auto-generated docs is plausible-sounding fabrication.
412
+ - **Fabricating components.** Every diagram node and claimed function call must be in the source. `Read` before writing. The single biggest failure mode for auto-generated docs is plausible-sounding fabrication.
413
413
  - **Generic AI prose.** "This module is responsible for..." is content-free. Say what the module actually does in domain-specific terms.
414
414
  - **Restating code as prose.** A module doc that says "the `process` function processes things by calling `process_item` on each item" is worse than just linking to the function.
415
415
  - **Mermaid > 50 nodes.** They don't render legibly. Split them.
@@ -0,0 +1,31 @@
1
+ # {{PROJECT_NAME}}
2
+
3
+ {{ONE_PARAGRAPH_DESCRIPTION}}
4
+
5
+ ## Key Concepts
6
+
7
+ - **{{CONCEPT_1}}** — {{ONE_LINE}}
8
+ - **{{CONCEPT_2}}** — {{ONE_LINE}}
9
+ - **{{CONCEPT_3}}** — {{ONE_LINE}}
10
+
11
+ ## Entry Points
12
+
13
+ - [`{{PATH_1}}`]({{LINK_1}}) — {{WHAT_IT_DOES}}
14
+ - [`{{PATH_2}}`]({{LINK_2}}) — {{WHAT_IT_DOES}}
15
+
16
+ ## High-Level Architecture
17
+
18
+ {{TWO_TO_THREE_SENTENCES}}
19
+
20
+ See [architecture.md](architecture.md) for the full picture.
21
+
22
+ ## Module Map
23
+
24
+ | Module | Purpose |
25
+ |---|---|
26
+ | [`{{MODULE_1}}`](modules/{{MODULE_1}}.md) | {{ONE_LINE_PURPOSE}} |
27
+ | [`{{MODULE_2}}`](modules/{{MODULE_2}}.md) | {{ONE_LINE_PURPOSE}} |
28
+
29
+ ## Getting Started
30
+
31
+ See [getting-started.md](getting-started.md).
@@ -0,0 +1,30 @@
1
+ # Architecture
2
+
3
+ {{TWO_TO_THREE_PARAGRAPHS_SHAPE_OF_SYSTEM}}
4
+
5
+ ## Components
6
+
7
+ - **{{COMPONENT_1}}** — {{ONE_TO_TWO_SENTENCES}} See [`modules/{{MODULE}}.md`](modules/{{MODULE}}.md).
8
+ - **{{COMPONENT_2}}** — {{ONE_TO_TWO_SENTENCES}}
9
+
10
+ ## System Diagram
11
+
12
+ ```mermaid
13
+ flowchart TD
14
+ User([User]) --> Entry[Entry Point]
15
+ Entry --> Core[Core Engine]
16
+ Core --> StorageA[(Database)]
17
+ Core --> ExternalAPI{{External API}}
18
+ ```
19
+
20
+ ## Data Flow
21
+
22
+ 1. **{{STEP_1}}** — [`{{FILE}}`]({{LINK}})
23
+ 2. **{{STEP_2}}** — [`{{FILE}}`]({{LINK}})
24
+ 3. **{{STEP_3}}** — [`{{FILE}}`]({{LINK}})
25
+
26
+ ## Key Design Decisions
27
+
28
+ - {{DECISION_1}}
29
+ - {{DECISION_2}}
30
+ - {{DECISION_3}}
@@ -0,0 +1,47 @@
1
+ # Getting Started
2
+
3
+ ## Prerequisites
4
+
5
+ - {{LANGUAGE_RUNTIME_VERSION}}
6
+ - {{DEPENDENCY}}
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ {{INSTALL_COMMANDS}}
12
+ ```
13
+
14
+ ## First Run
15
+
16
+ ```bash
17
+ {{FIRST_RUN_COMMAND}}
18
+ ```
19
+
20
+ You should see {{EXPECTED_OUTPUT}}.
21
+
22
+ ## Common Workflows
23
+
24
+ ### {{WORKFLOW_1}}
25
+
26
+ ```bash
27
+ {{COMMANDS}}
28
+ ```
29
+
30
+ ### {{WORKFLOW_2}}
31
+
32
+ ```bash
33
+ {{COMMANDS}}
34
+ ```
35
+
36
+ ## Configuration
37
+
38
+ Key config files and settings:
39
+
40
+ - `{{CONFIG_FILE}}` — {{WHAT_IT_CONTROLS}}
41
+ - Env var `{{VAR}}` — {{WHAT_IT_CONTROLS}}
42
+
43
+ ## Where to Go Next
44
+
45
+ - Architecture overview: [architecture.md](architecture.md)
46
+ - Module reference: [README.md#module-map](README.md#module-map)
47
+ - Diagrams: [diagrams/](diagrams/)
@@ -0,0 +1,38 @@
1
+ # Module: `{{MODULE_NAME}}`
2
+
3
+ {{ONE_TO_TWO_SENTENCE_PURPOSE}}
4
+
5
+ ## Responsibilities
6
+
7
+ - {{BULLET_1}}
8
+ - {{BULLET_2}}
9
+ - {{BULLET_3}}
10
+
11
+ ## Key Files
12
+
13
+ - [`{{PATH_1}}`]({{LINK_1}}) — {{WHAT_IT_DOES}}
14
+ - [`{{PATH_2}}`]({{LINK_2}}) — {{WHAT_IT_DOES}}
15
+
16
+ ## Public API
17
+
18
+ ### `{{FUNCTION_NAME}}({{SIGNATURE}})`
19
+
20
+ {{ONE_LINE_DESCRIPTION}}
21
+
22
+ **Parameters:**
23
+ - `{{PARAM}}` ({{TYPE}}) — {{DESCRIPTION}}
24
+
25
+ **Returns:** {{TYPE}} — {{DESCRIPTION}}
26
+
27
+ ## Internal Structure
28
+
29
+ {{HOW_THE_MODULE_IS_ORGANIZED}}
30
+
31
+ ## Dependencies
32
+
33
+ - **Used by:** {{OTHER_MODULES}}
34
+ - **Uses:** {{OTHER_MODULES_AND_LIBS}}
35
+
36
+ ## Notable Patterns / Gotchas
37
+
38
+ - {{ANYTHING_NON_OBVIOUS}}
@@ -40,9 +40,9 @@ If a more specialized skill is available for the subject, prefer that. If none f
40
40
 
41
41
  Optional: if the user wants a browsable gallery of multiple diagrams, see "Local Preview Server" at the bottom.
42
42
 
43
- Load the HTML template:
43
+ Load the HTML template with `Read` (path relative to this skill's own directory):
44
44
  ```
45
- skill_view(name="concept-diagrams", file_path="templates/template.html")
45
+ Read(".mindforge/skills/concept-diagrams/templates/template.html")
46
46
  ```
47
47
 
48
48
  The template embeds the full CSS design system (`c-*` color classes, text classes, light/dark variables, arrow marker styles). The SVG you generate relies on these classes being present on the hosting page.
@@ -254,7 +254,7 @@ Write a single `.html` file the user can open directly. No server, no dependenci
254
254
 
255
255
  ```python
256
256
  # 1. Load the template
257
- template = skill_view("concept-diagrams", "templates/template.html")
257
+ template = Read(".mindforge/skills/concept-diagrams/templates/template.html")
258
258
 
259
259
  # 2. Fill in title, subtitle, and paste your SVG
260
260
  html = template.replace(
@@ -266,7 +266,7 @@ html = template.replace(
266
266
  )
267
267
 
268
268
  # 3. Write to a user-chosen path (or ./ by default)
269
- write_file("./sn2-mechanism.html", html)
269
+ Write("./sn2-mechanism.html", html)
270
270
  ```
271
271
 
272
272
  Tell the user how to open it:
@@ -329,9 +329,9 @@ The `examples/` directory ships 15 complete, tested diagrams. Browse them for wo
329
329
  | `electricity-grid-flow.md` | Multi-stage flow | Voltage hierarchy, flow markers |
330
330
  | `ml-benchmark-grouped-bar-chart.md` | Chart | Grouped bars, dual axis |
331
331
 
332
- Load any example with:
332
+ Load any example with `Read`:
333
333
  ```
334
- skill_view(name="concept-diagrams", file_path="examples/<filename>")
334
+ Read(".mindforge/skills/concept-diagrams/examples/<filename>")
335
335
  ```
336
336
 
337
337
  ---
@@ -0,0 +1,244 @@
1
+ # Apartment Floor Plan: 3 BHK to 4 BHK Conversion
2
+
3
+ An architectural floor plan showing a 1,500 sq ft apartment with proposed modifications to convert from 3 BHK to 4 BHK. Demonstrates architectural drawing conventions, room layouts, proposed changes with dotted lines, and area comparison tables.
4
+
5
+ ## Key Patterns Used
6
+
7
+ - **Architectural floor plan**: Top-down view with walls, doors, windows
8
+ - **Proposed modifications**: Dotted red lines for new walls
9
+ - **Room color coding**: Light fills to distinguish room types
10
+ - **Circulation paths**: Arrows showing new access routes
11
+ - **Data table**: Before/after area comparison with highlighting
12
+ - **Architectural symbols**: North arrow, scale bar, door swings
13
+
14
+ ## Diagram Type
15
+
16
+ This is an **architectural floor plan** with:
17
+ - **Plan view**: Top-down orthographic projection
18
+ - **Overlay technique**: Existing structure + proposed changes
19
+ - **Quantitative data**: Area measurements and comparison table
20
+
21
+ ## Architectural Drawing Elements
22
+
23
+ ### Wall Styles
24
+
25
+ ```xml
26
+ <!-- Outer walls (thick) -->
27
+ <line class="wall" x1="0" y1="0" x2="560" y2="0"/>
28
+
29
+ <!-- Internal walls (thinner) -->
30
+ <line class="wall-thin" x1="180" y1="0" x2="180" y2="140"/>
31
+
32
+ <!-- Proposed new walls (dotted red) -->
33
+ <line class="proposed-wall" x1="125" y1="170" x2="125" y2="330"/>
34
+ ```
35
+
36
+ ```css
37
+ .wall { stroke: var(--text-primary); stroke-width: 6; fill: none; stroke-linecap: square; }
38
+ .wall-thin { stroke: var(--text-primary); stroke-width: 3; fill: none; }
39
+ .proposed-wall { stroke: #A32D2D; stroke-width: 4; fill: none; stroke-dasharray: 8 4; }
40
+ ```
41
+
42
+ ### Door Symbols
43
+
44
+ ```xml
45
+ <!-- Door opening with swing arc -->
46
+ <rect x="150" y="137" width="25" height="6" fill="var(--bg-primary)"/>
47
+ <path class="door" d="M150,140 L150,165"/>
48
+ <path class="door-swing" d="M150,140 A25,25 0 0,0 175,140"/>
49
+
50
+ <!-- Sliding door (balcony) -->
51
+ <rect x="60" y="327" width="60" height="6" fill="var(--bg-primary)" stroke="var(--text-secondary)" stroke-width="1"/>
52
+ <line x1="60" y1="330" x2="90" y2="330" stroke="var(--text-secondary)" stroke-width="2"/>
53
+ <line x1="90" y1="330" x2="120" y2="330" stroke="var(--text-secondary)" stroke-width="2" stroke-dasharray="3 3"/>
54
+
55
+ <!-- Proposed door (dotted) -->
56
+ <rect x="143" y="292" width="22" height="6" fill="var(--bg-primary)" stroke="#A32D2D" stroke-width="1" stroke-dasharray="3 2"/>
57
+ <path d="M165,295 A22,22 0 0,0 165,273" stroke="#A32D2D" stroke-width="1" stroke-dasharray="3 2" fill="none"/>
58
+ ```
59
+
60
+ ```css
61
+ .door { stroke: var(--text-secondary); stroke-width: 1.5; fill: none; }
62
+ .door-swing { stroke: var(--text-tertiary); stroke-width: 1; fill: none; stroke-dasharray: 3 2; }
63
+ ```
64
+
65
+ ### Window Symbols
66
+
67
+ ```xml
68
+ <!-- Window with glass indication -->
69
+ <rect class="window" x="-3" y="30" width="6" height="50"/>
70
+ <line class="window-glass" x1="0" y1="35" x2="0" y2="75"/>
71
+
72
+ <!-- Horizontal window (top wall) -->
73
+ <rect class="window" x="220" y="-3" width="60" height="6"/>
74
+ <line class="window-glass" x1="225" y1="0" x2="275" y2="0"/>
75
+ ```
76
+
77
+ ```css
78
+ .window { stroke: var(--text-primary); stroke-width: 1; fill: var(--bg-primary); }
79
+ .window-glass { stroke: #378ADD; stroke-width: 2; fill: none; }
80
+ ```
81
+
82
+ ### Room Fills
83
+
84
+ ```xml
85
+ <!-- Different colors for room types -->
86
+ <rect class="room-master" x="3" y="3" width="174" height="134" rx="2"/>
87
+ <rect class="room-bed2" x="183" y="3" width="134" height="104" rx="2"/>
88
+ <rect class="room-living" x="3" y="173" width="554" height="154" rx="2"/>
89
+ <rect class="room-kitchen" x="443" y="3" width="114" height="104" rx="2"/>
90
+ <rect class="room-bath" x="183" y="113" width="54" height="54" rx="2"/>
91
+
92
+ <!-- Proposed new room (highlighted) -->
93
+ <rect class="room-new" x="3" y="223" width="120" height="104"/>
94
+ ```
95
+
96
+ ```css
97
+ .room-master { fill: rgba(206, 203, 246, 0.3); } /* purple tint */
98
+ .room-bed2 { fill: rgba(159, 225, 203, 0.3); } /* teal tint */
99
+ .room-bed3 { fill: rgba(250, 199, 117, 0.3); } /* amber tint */
100
+ .room-living { fill: rgba(245, 196, 179, 0.3); } /* coral tint */
101
+ .room-kitchen { fill: rgba(237, 147, 177, 0.3); } /* pink tint */
102
+ .room-bath { fill: rgba(133, 183, 235, 0.3); } /* blue tint */
103
+ .room-new { fill: rgba(163, 45, 45, 0.15); } /* red tint for proposed */
104
+ ```
105
+
106
+ ### Support Fixtures
107
+
108
+ ```xml
109
+ <!-- Kitchen counter hint -->
110
+ <rect x="450" y="15" width="50" height="25" fill="none" stroke="var(--text-tertiary)" stroke-width="0.5" rx="2"/>
111
+ <text class="tx" x="475" y="30" text-anchor="middle">Counter</text>
112
+
113
+ <!-- Balcony (dashed outline) -->
114
+ <rect class="balcony-fill" x="3" y="333" width="200" height="50"/>
115
+ ```
116
+
117
+ ```css
118
+ .balcony { fill: none; stroke: var(--text-secondary); stroke-width: 2; stroke-dasharray: 6 3; }
119
+ .balcony-fill { fill: rgba(93, 202, 165, 0.1); }
120
+ ```
121
+
122
+ ### Room Labels
123
+
124
+ ```xml
125
+ <!-- Room name and area -->
126
+ <text class="room-label" x="90" y="65" text-anchor="middle">MASTER</text>
127
+ <text class="room-label" x="90" y="78" text-anchor="middle">BEDROOM</text>
128
+ <text class="area-label" x="90" y="95" text-anchor="middle">195 sq ft</text>
129
+
130
+ <!-- Proposed room (in red) -->
131
+ <text class="room-label" x="63" y="268" text-anchor="middle" fill="#A32D2D">BEDROOM 4</text>
132
+ <text class="tx" x="63" y="282" text-anchor="middle" fill="#A32D2D">(NEW)</text>
133
+ ```
134
+
135
+ ```css
136
+ .room-label { font-family: system-ui; font-size: 11px; fill: var(--text-primary); font-weight: 500; }
137
+ .area-label { font-family: system-ui; font-size: 9px; fill: var(--text-tertiary); }
138
+ ```
139
+
140
+ ### Circulation Arrow
141
+
142
+ ```xml
143
+ <defs>
144
+ <marker id="circ-arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto">
145
+ <path d="M0,0 L10,5 L0,10 Z" class="circulation-fill"/>
146
+ </marker>
147
+ </defs>
148
+
149
+ <path class="circulation" d="M300,250 L200,250 L145,250 L145,280" marker-end="url(#circ-arrow)"/>
150
+ <text class="tx" x="250" y="242" fill="#3B6D11" font-weight="500">New corridor access</text>
151
+ ```
152
+
153
+ ```css
154
+ .circulation { stroke: #3B6D11; stroke-width: 2; fill: none; }
155
+ .circulation-fill { fill: #3B6D11; }
156
+ ```
157
+
158
+ ### North Arrow and Scale Bar
159
+
160
+ ```xml
161
+ <!-- North arrow -->
162
+ <g transform="translate(520, 260)">
163
+ <circle cx="0" cy="0" r="20" fill="none" stroke="var(--text-tertiary)" stroke-width="0.5"/>
164
+ <polygon points="0,-18 -5,5 0,0 5,5" fill="var(--text-primary)"/>
165
+ <text class="tx" x="0" y="-22" text-anchor="middle">N</text>
166
+ </g>
167
+
168
+ <!-- Scale bar -->
169
+ <g transform="translate(420, 300)">
170
+ <line x1="0" y1="0" x2="100" y2="0" stroke="var(--text-primary)" stroke-width="2"/>
171
+ <line x1="0" y1="-5" x2="0" y2="5" stroke="var(--text-primary)" stroke-width="1"/>
172
+ <line x1="50" y1="-3" x2="50" y2="3" stroke="var(--text-primary)" stroke-width="1"/>
173
+ <line x1="100" y1="-5" x2="100" y2="5" stroke="var(--text-primary)" stroke-width="1"/>
174
+ <text class="tx" x="0" y="15" text-anchor="middle">0</text>
175
+ <text class="tx" x="50" y="15" text-anchor="middle">5'</text>
176
+ <text class="tx" x="100" y="15" text-anchor="middle">10'</text>
177
+ </g>
178
+ ```
179
+
180
+ ## Area Comparison Table
181
+
182
+ ### Table Structure
183
+
184
+ ```xml
185
+ <!-- Header row -->
186
+ <rect class="table-header" x="0" y="0" width="180" height="28" rx="4 4 0 0"/>
187
+ <text class="ts" x="90" y="18" text-anchor="middle" font-weight="500">Room</text>
188
+
189
+ <!-- Normal row -->
190
+ <rect class="table-row" x="0" y="28" width="180" height="24"/>
191
+ <text class="tx" x="10" y="44">Master Bedroom</text>
192
+ <text class="tx" x="230" y="44" text-anchor="middle">195</text>
193
+
194
+ <!-- Alternating row -->
195
+ <rect class="table-row-alt" x="0" y="52" width="180" height="24"/>
196
+
197
+ <!-- Highlighted row (for changes) -->
198
+ <rect class="table-highlight" x="0" y="100" width="180" height="24"/>
199
+ <text class="tx" x="10" y="116" fill="#A32D2D" font-weight="500">Bedroom 4 (NEW)</text>
200
+ <text class="tx" x="430" y="116" text-anchor="middle" fill="#3B6D11">+100</text>
201
+
202
+ <!-- Total row -->
203
+ <rect x="0" y="268" width="180" height="28" fill="var(--bg-secondary)" stroke="var(--border)" stroke-width="1"/>
204
+ <text class="ts" x="10" y="286" font-weight="500">TOTAL CARPET AREA</text>
205
+ ```
206
+
207
+ ```css
208
+ .table-header { fill: var(--bg-secondary); }
209
+ .table-row { fill: var(--bg-primary); stroke: var(--border); stroke-width: 0.5; }
210
+ .table-row-alt { fill: var(--bg-tertiary); stroke: var(--border); stroke-width: 0.5; }
211
+ .table-highlight { fill: rgba(163, 45, 45, 0.1); stroke: #A32D2D; stroke-width: 0.5; }
212
+ ```
213
+
214
+ ## Layout Notes
215
+
216
+ - **ViewBox**: 800×780 (portrait for floor plan + table)
217
+ - **Scale**: 10px = 1 foot (apartment ~50ft × 33ft)
218
+ - **Floor plan origin**: Offset at (50, 60) for margins
219
+ - **Wall thickness**: 6px outer, 3px inner (represents ~6" walls)
220
+ - **Room labels**: Centered in each room with area below
221
+ - **Table placement**: Below floor plan with full width
222
+
223
+ ## Color Coding
224
+
225
+ | Element | Color | Usage |
226
+ |---------|-------|-------|
227
+ | Proposed walls | Red (#A32D2D) dotted | New construction |
228
+ | New room fill | Red 15% opacity | Bedroom 4 area |
229
+ | Circulation | Green (#3B6D11) | New access path |
230
+ | Window glass | Blue (#378ADD) | Glass indication |
231
+ | Bedrooms | Purple/Teal/Amber tints | Room differentiation |
232
+ | Wet areas | Blue tint | Bathrooms |
233
+ | Living | Coral tint | Common areas |
234
+
235
+ ## When to Use This Pattern
236
+
237
+ Use this diagram style for:
238
+ - Apartment/house floor plans
239
+ - Office layout planning
240
+ - Renovation proposals showing before/after
241
+ - Space planning with area calculations
242
+ - Real estate marketing materials
243
+ - Interior design presentations
244
+ - Building permit documentation