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,35 @@
1
+ ---
2
+ description: "4-lens parallel review — factual, domain, safety, style — coordinated as one panel and merged into a single verdict"
3
+ ---
4
+ # /mindforge:wf-orchestrate-review
5
+
6
+ Runs the **Orchestrate Review** dynamic workflow.
7
+
8
+ ## Usage
9
+ `/mindforge:wf-orchestrate-review [target artifact, or describe what to review]`
10
+
11
+ ## What it does
12
+ - **Scope**: Pins the target and any domain context
13
+ - **Panel**: 4 parallel lenses — factual accuracy, domain correctness, safety, style/voice
14
+ - **Consensus**: Merges all findings, deduplicates, assigns severity (blocking/major/minor)
15
+ - **Verdict**: APPROVED / APPROVED_WITH_SUGGESTIONS / CHANGES_REQUIRED / BLOCKING
16
+
17
+ ## Running
18
+
19
+ Invoke via Claude Code's Workflow tool:
20
+
21
+ ```
22
+ Workflow({
23
+ scriptPath: ".mindforge/dynamic-workflows/scripts/orchestrate-review.js",
24
+ args: "<your input>"
25
+ })
26
+ ```
27
+
28
+ `args` can be a plain string target, or `{ target, domainContext }` for reviews that need
29
+ subject-matter framing (e.g. "this is a medical dosage guide" so the domain lens knows
30
+ what expertise to check against).
31
+
32
+ Or discover via CLI:
33
+ ```bash
34
+ node bin/mindforge-cli.js workflow info orchestrate-review
35
+ ```
@@ -0,0 +1,45 @@
1
+ ---
2
+ description: "Implementer vs. scorer loop: revise each round, score against a fixed metric, keep re-attempting until the score is maxed or a round cap is hit"
3
+ ---
4
+ # /mindforge:wf-verification-loop
5
+
6
+ Runs the **Verification Loop** dynamic workflow.
7
+
8
+ ## Usage
9
+ `/mindforge:wf-verification-loop [task description, or { task, metric, targetScore, maxRounds }]`
10
+
11
+ ## What it does
12
+ - **Scope**: Pins the artifact, the metric, and the target score / max-round cap
13
+ - **Round**: An implementer agent revises the artifact; a separate scorer agent grades it
14
+ against the same fixed rubric every round; repeats until the target score is hit, the
15
+ score plateaus for `plateauRounds` consecutive rounds, or `maxRounds` is reached
16
+ - **Report**: Round-by-round score history plus the final artifact
17
+
18
+ Unlike a fixed-count review pass, this loop's whole point is that the implementer keeps
19
+ re-attempting the SAME task, judged by a separate scorer, until the score stops moving —
20
+ not a one-shot audit.
21
+
22
+ ## Running
23
+
24
+ Invoke via Claude Code's Workflow tool:
25
+
26
+ ```
27
+ Workflow({
28
+ scriptPath: ".mindforge/dynamic-workflows/scripts/verification-loop.js",
29
+ args: {
30
+ task: "Tighten this system prompt for token efficiency without losing instruction coverage",
31
+ metric: "10 pts clarity, 10 pts token economy, 10 pts no lost instructions",
32
+ targetScore: 95,
33
+ maxRounds: 8
34
+ }
35
+ })
36
+ ```
37
+
38
+ `args` can also be a plain string task description if you want the scorer to infer and
39
+ hold its own rubric. Defaults: `targetScore` 95, `maxRounds` 8, `plateauRounds` 2 (stop
40
+ early if the score doesn't improve for 2 consecutive rounds).
41
+
42
+ Or discover via CLI:
43
+ ```bash
44
+ node bin/mindforge-cli.js workflow info verification-loop
45
+ ```
@@ -0,0 +1,51 @@
1
+ ---
2
+ description: "Builder + scorer + a distinct process-optimizer role: proposes structural changes to the PROCESS itself across rounds, not just fixes to one output"
3
+ ---
4
+ # /mindforge:wf-workflow-optimizer
5
+
6
+ Runs the **Workflow Optimizer** dynamic workflow.
7
+
8
+ ## Usage
9
+ `/mindforge:wf-workflow-optimizer [task family description, or { taskFamily, metric, maxRounds, priorHistory }]`
10
+
11
+ ## What it does
12
+ - **Scope**: Pins the task family, the fixed outcome metric, and any prior round history
13
+ you supply (this script holds no state of its own between invocations)
14
+ - **Cycle**: A builder agent runs under the *current* process instructions; a separate
15
+ scorer agent grades the output against the fixed metric; a **third, distinct
16
+ process-optimizer agent** — with no role in building or scoring — diagnoses *why* the
17
+ process produced that result and rewrites the builder's instructions for next round.
18
+ Repeats until the optimizer judges the process has converged or `maxRounds` is hit.
19
+ - **Report**: The score trend across rounds alongside every round's structural diagnosis,
20
+ so you can see whether rising scores came from real process changes, not just luck.
21
+
22
+ This is not "implementer vs. scorer, keep re-attempting the same task" (that's
23
+ `/mindforge:wf-verification-loop`, one artifact, one metric, no separate optimizer role).
24
+ This workflow's object of improvement is the **process itself** — the builder's own
25
+ instructions evolve round to round, and the deliverable includes that evolution history,
26
+ not just a final artifact.
27
+
28
+ ## Running
29
+
30
+ Invoke via Claude Code's Workflow tool:
31
+
32
+ ```
33
+ Workflow({
34
+ scriptPath: ".mindforge/dynamic-workflows/scripts/workflow-optimizer.js",
35
+ args: {
36
+ taskFamily: "Write a one-paragraph executive summary of a technical incident postmortem",
37
+ metric: "30 pts non-technical-reader clarity, 30 pts root-cause traceability, 40 pts action-item concreteness",
38
+ maxRounds: 5
39
+ }
40
+ })
41
+ ```
42
+
43
+ To continue optimizing the SAME process across separate sessions, pass the previous run's
44
+ returned `processHistory` back in as `args.priorHistory` — the script itself has no
45
+ filesystem access and keeps no state between invocations, so cross-session continuity is
46
+ the caller's responsibility.
47
+
48
+ Or discover via CLI:
49
+ ```bash
50
+ node bin/mindforge-cli.js workflow info workflow-optimizer
51
+ ```
@@ -86,8 +86,8 @@ If the user asks for a different layout (e.g., images alongside the article, or
86
86
 
87
87
  If the user supplies reference images (paths pasted inline, attachments, or a URL):
88
88
 
89
- 1. For each reference, call `vision_analyze` with the path/URL and a question asking for style, palette, composition, and subject. Record the returned description in `{output-dir}/references/NN-ref-{slug}.md` via `write_file`.
90
- 2. **Do not** try to copy the binary via `write_file` / `read_file` — those are text-only. If you want a local copy for the record, use `terminal` (`cp "$src" "{output-dir}/references/NN-ref-{slug}.{ext}"`). The skill itself never needs to read the binary; it works off the vision description.
89
+ 1. For each reference, call `vision_analyze` with the path/URL and a question asking for style, palette, composition, and subject. Record the returned description in `{output-dir}/references/NN-ref-{slug}.md` via `Write`.
90
+ 2. **Do not** try to copy the binary via `Write` / `Read` — those are text-only. If you want a local copy for the record, use `Bash` (`cp "$src" "{output-dir}/references/NN-ref-{slug}.{ext}"`). The skill itself never needs to read the binary; it works off the vision description.
91
91
  3. Since `image_generate` doesn't take image inputs, the vision description is what gets embedded in prompts during Step 5.
92
92
 
93
93
  Full procedures: [references/workflow.md](references/workflow.md#step-1-detect-reference-images).
@@ -101,7 +101,7 @@ Full procedures: [references/workflow.md](references/workflow.md#step-1-detect-r
101
101
  | Core arguments | 2-5 main points |
102
102
  | Positions | Where illustrations add value |
103
103
 
104
- Read source (file path → `read_file`, or pasted text) and write the analysis to `{output-dir}/analysis.md` using `write_file`.
104
+ Read source (file path → `Read`, or pasted text) and write the analysis to `{output-dir}/analysis.md` using `Write`.
105
105
 
106
106
  Full procedures: [references/workflow.md](references/workflow.md#step-2-analyze).
107
107
 
@@ -123,7 +123,7 @@ Full procedures: [references/workflow.md](references/workflow.md#step-3-confirm-
123
123
 
124
124
  ### Step 4: Generate Outline → `outline.md`
125
125
 
126
- Save `{output-dir}/outline.md` using `write_file` with frontmatter (type, density, style, palette, image_count) and one entry per illustration:
126
+ Save `{output-dir}/outline.md` using `Write` with frontmatter (type, density, style, palette, image_count) and one entry per illustration:
127
127
 
128
128
  ```yaml
129
129
  ## Illustration 1
@@ -142,7 +142,7 @@ Full template: [references/workflow.md](references/workflow.md#step-4-generate-o
142
142
  For each illustration:
143
143
 
144
144
  1. Create a prompt file per [references/prompt-construction.md](references/prompt-construction.md).
145
- 2. Save to `{output-dir}/prompts/NN-{type}-{slug}.md` using `write_file` with YAML frontmatter.
145
+ 2. Save to `{output-dir}/prompts/NN-{type}-{slug}.md` using `Write` with YAML frontmatter.
146
146
  3. Prompts MUST use type-specific templates with structured sections (ZONES / LABELS / COLORS / STYLE / ASPECT).
147
147
  4. LABELS MUST include article-specific data: actual numbers, terms, metrics, quotes.
148
148
  5. Process references (`direct`/`style`/`palette`) per prompt frontmatter — for `direct` usage, embed a textual description of the reference in the prompt (since `image_generate` doesn't take reference-image inputs).
@@ -153,7 +153,7 @@ For each prompt file:
153
153
 
154
154
  1. Call `image_generate(prompt=..., aspect_ratio=...)`. `image_generate` returns a JSON result containing an image URL; it does NOT write to disk and does NOT accept an output path.
155
155
  2. Map the prompt's `ASPECT` to `image_generate`'s enum: `16:9` → `landscape`, `9:16` → `portrait`, `1:1` → `square`. Custom ratios → nearest named aspect.
156
- 3. Download the returned URL to `{output-dir}/NN-{type}-{slug}.png` via `terminal` (e.g. `curl -sSL -o "{output-dir}/NN-{type}-{slug}.png" "{url}"`).
156
+ 3. Download the returned URL to `{output-dir}/NN-{type}-{slug}.png` via `Bash` (e.g. `curl -sSL -o "{output-dir}/NN-{type}-{slug}.png" "{url}"`).
157
157
  4. On generation failure, auto-retry once.
158
158
 
159
159
  Note: the underlying image-generation backend is user-configured (default: FAL FLUX 2 Klein 9B) and is NOT agent-selectable via `image_generate`. Do not write model names into prompts expecting them to route.
@@ -195,5 +195,5 @@ Images: X/N generated
195
195
  3. **Don't illustrate metaphors literally** — visualize the underlying concept.
196
196
  4. **Prompt files are mandatory** — no image generation without a saved prompt file. The file is what lets you regenerate or switch backends later.
197
197
  5. **`image_generate` aspect ratios** — the tool supports `landscape`, `portrait`, and `square`. Custom ratios map to the nearest option.
198
- 6. **`image_generate` returns a URL, not a local file** — always download via `terminal` (`curl`) before inserting local image paths into the article.
198
+ 6. **`image_generate` returns a URL, not a local file** — always download via `Bash` (`curl`) before inserting local image paths into the article.
199
199
  7. **No backend selection from the agent** — `image_generate` uses whatever model the user configured (default: FAL FLUX 2 Klein 9B). Don't write `"use <model> to generate this"` into prompts expecting it to route.
@@ -14,8 +14,8 @@ Search and retrieve academic papers from arXiv via their free REST API. No API k
14
14
  |--------|---------|
15
15
  | Search papers | `curl "https://export.arxiv.org/api/query?search_query=all:QUERY&max_results=5"` |
16
16
  | Get specific paper | `curl "https://export.arxiv.org/api/query?id_list=2402.03300"` |
17
- | Read abstract (web) | `web_extract(urls=["https://arxiv.org/abs/2402.03300"])` |
18
- | Read full paper (PDF) | `web_extract(urls=["https://arxiv.org/pdf/2402.03300"])` |
17
+ | Read abstract (web) | `WebFetch(urls=["https://arxiv.org/abs/2402.03300"])` |
18
+ | Read full paper (PDF) | `WebFetch(urls=["https://arxiv.org/pdf/2402.03300"])` |
19
19
 
20
20
  ## Searching Papers
21
21
 
@@ -142,10 +142,10 @@ After finding a paper, read it:
142
142
 
143
143
  ```
144
144
  # Abstract page (fast, metadata + abstract)
145
- web_extract(urls=["https://arxiv.org/abs/2402.03300"])
145
+ WebFetch(urls=["https://arxiv.org/abs/2402.03300"])
146
146
 
147
147
  # Full paper (PDF → markdown via Firecrawl)
148
- web_extract(urls=["https://arxiv.org/pdf/2402.03300"])
148
+ WebFetch(urls=["https://arxiv.org/pdf/2402.03300"])
149
149
  ```
150
150
 
151
151
  For local PDF processing, see the `ocr-and-documents` skill.
@@ -238,8 +238,8 @@ curl -s "https://api.semanticscholar.org/graph/v1/author/search?query=Yann+LeCun
238
238
 
239
239
  1. **Discover**: `python scripts/search_arxiv.py "your topic" --sort date --max 10`
240
240
  2. **Assess impact**: `curl -s "https://api.semanticscholar.org/graph/v1/paper/arXiv:ID?fields=citationCount,influentialCitationCount"`
241
- 3. **Read abstract**: `web_extract(urls=["https://arxiv.org/abs/ID"])`
242
- 4. **Read full paper**: `web_extract(urls=["https://arxiv.org/pdf/ID"])`
241
+ 3. **Read abstract**: `WebFetch(urls=["https://arxiv.org/abs/ID"])`
242
+ 4. **Read full paper**: `WebFetch(urls=["https://arxiv.org/pdf/ID"])`
243
243
  5. **Find related work**: `curl -s "https://api.semanticscholar.org/graph/v1/paper/arXiv:ID/references?fields=title,citationCount&limit=20"`
244
244
  6. **Get recommendations**: POST to Semantic Scholar recommendations endpoint
245
245
  7. **Track authors**: `curl -s "https://api.semanticscholar.org/graph/v1/author/search?query=NAME"`
@@ -6,7 +6,7 @@ version: 0.1.0
6
6
 
7
7
  # Code Wiki Skill
8
8
 
9
- 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 tools (`terminal`, `read_file`, `search_files`, `write_file`); no Docker, no external services, no extra dependencies.
9
+ 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 tools (`Bash`, `Read`, `Grep`, `Write`); no Docker, no external services, no extra dependencies.
10
10
 
11
11
  This skill produces **reference documentation** (what/how). It does not produce strategic narrative (why — that's a different skill).
12
12
 
@@ -19,7 +19,7 @@ This skill produces **reference documentation** (what/how). It does not produce
19
19
 
20
20
  Do NOT use this for:
21
21
  - Single-file or single-function documentation — just answer directly
22
- - API reference for one specific endpoint — use `read_file` and answer inline
22
+ - API reference for one specific endpoint — use `Read` and answer inline
23
23
  - Strategic "why does this exist" narrative — different skill, different purpose
24
24
  - Codebases the user is actively developing in this session — just answer questions as they come
25
25
 
@@ -31,7 +31,7 @@ Do NOT use this for:
31
31
 
32
32
  ## How to Run
33
33
 
34
- 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.
34
+ 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.
35
35
 
36
36
  ## Quick Reference
37
37
 
@@ -75,13 +75,13 @@ REPO_NAME=$(basename "$PWD")
75
75
  Then set the output dir:
76
76
 
77
77
  ```bash
78
- OUTPUT_DIR="$HOME/.hermes/wikis/$REPO_NAME"
78
+ OUTPUT_DIR="$HOME/.mindforge/wikis/$REPO_NAME"
79
79
  mkdir -p "$OUTPUT_DIR/modules" "$OUTPUT_DIR/diagrams"
80
80
  ```
81
81
 
82
82
  ### 2. Scan repo structure
83
83
 
84
- Use the `terminal` tool for the shell work, `read_file` for manifests:
84
+ Use the `Bash` tool for the shell work, `Read` for manifests:
85
85
 
86
86
  ```bash
87
87
  # Shallow tree first
@@ -104,7 +104,7 @@ pygount --format=summary \
104
104
  . 2>/dev/null || true
105
105
  ```
106
106
 
107
- 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.
107
+ 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.
108
108
 
109
109
  ### 3. Pick modules to document
110
110
 
@@ -125,7 +125,7 @@ State the module list to the user before generating per-module docs on big repos
125
125
 
126
126
  ### 4. Write `README.md`
127
127
 
128
- `read_file` the actual project README plus the top 2–3 entry-point files. Then `write_file`:
128
+ `Read` the actual project README plus the top 2–3 entry-point files. Then `Write`:
129
129
 
130
130
  ````markdown
131
131
  # <Project Name>
@@ -205,7 +205,7 @@ Cap at ~20 nodes per diagram. Split into sub-diagrams if larger.
205
205
 
206
206
  ### 6. Write per-module docs in `modules/`
207
207
 
208
- 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).
208
+ 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).
209
209
 
210
210
  ````markdown
211
211
  # Module: `<module>`
@@ -242,7 +242,7 @@ signatures, not full implementations.>
242
242
 
243
243
  ### 7. Write `diagrams/class-diagram.md`
244
244
 
245
- Pick the 5–10 most important classes/types. `read_file` them, then write:
245
+ Pick the 5–10 most important classes/types. `Read` them, then write:
246
246
 
247
247
  ````markdown
248
248
  # Class Diagram
@@ -389,7 +389,7 @@ Generating a full wiki for a 500K-LOC monorepo is wildly token-expensive. Defaul
389
389
 
390
390
  - Initial scan: max depth 3 directories
391
391
  - Per-module docs: cap at 10 modules unless user expands scope
392
- - Per-file reads: prefer `search_files` for symbols + `read_file` with `offset`/`limit` over full reads
392
+ - Per-file reads: prefer `Grep` for symbols + `Read` with `offset`/`limit` over full reads
393
393
  - Skip vendored code (`vendor/`, `third_party/`, generated code, `_pb2.py`, `.min.js`)
394
394
 
395
395
  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?"
@@ -406,7 +406,7 @@ Full incremental-regeneration is a future enhancement — for now, regenerating
406
406
 
407
407
  ## Pitfalls
408
408
 
409
- - **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.
409
+ - **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.
410
410
  - **Generic AI prose.** "This module is responsible for..." is content-free. Say what the module actually does in domain-specific terms.
411
411
  - **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.
412
412
  - **Mermaid > 50 nodes.** They don't render legibly. Split them.
@@ -38,9 +38,9 @@ If a more specialized skill is available for the subject, prefer that. If none f
38
38
 
39
39
  Optional: if the user wants a browsable gallery of multiple diagrams, see "Local Preview Server" at the bottom.
40
40
 
41
- Load the HTML template:
41
+ Load the HTML template with `Read` (path relative to this skill's own directory):
42
42
  ```
43
- skill_view(name="concept-diagrams", file_path="templates/template.html")
43
+ Read(".agent/skills/concept-diagrams/templates/template.html")
44
44
  ```
45
45
 
46
46
  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.
@@ -252,7 +252,7 @@ Write a single `.html` file the user can open directly. No server, no dependenci
252
252
 
253
253
  ```python
254
254
  # 1. Load the template
255
- template = skill_view("concept-diagrams", "templates/template.html")
255
+ template = Read(".agent/skills/concept-diagrams/templates/template.html")
256
256
 
257
257
  # 2. Fill in title, subtitle, and paste your SVG
258
258
  html = template.replace(
@@ -264,7 +264,7 @@ html = template.replace(
264
264
  )
265
265
 
266
266
  # 3. Write to a user-chosen path (or ./ by default)
267
- write_file("./sn2-mechanism.html", html)
267
+ Write("./sn2-mechanism.html", html)
268
268
  ```
269
269
 
270
270
  Tell the user how to open it:
@@ -327,9 +327,9 @@ The `examples/` directory ships 15 complete, tested diagrams. Browse them for wo
327
327
  | `electricity-grid-flow.md` | Multi-stage flow | Voltage hierarchy, flow markers |
328
328
  | `ml-benchmark-grouped-bar-chart.md` | Chart | Grouped bars, dual axis |
329
329
 
330
- Load any example with:
330
+ Load any example with `Read`:
331
331
  ```
332
- skill_view(name="concept-diagrams", file_path="examples/<filename>")
332
+ Read(".agent/skills/concept-diagrams/examples/<filename>")
333
333
  ```
334
334
 
335
335
  ---
@@ -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