shmakk 1.1.0 → 1.2.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 (450) hide show
  1. package/README.md +16 -1
  2. package/package.json +6 -3
  3. package/scripts/import-skills.js +536 -0
  4. package/scripts/install-skills.js +64 -0
  5. package/skills/ai-elements.md +482 -0
  6. package/skills/architecture.md +151 -0
  7. package/skills/backend-adapter-aws-lambda.md +204 -0
  8. package/skills/backend-adapter-express.md +177 -0
  9. package/skills/backend-adapter-fastify.md +222 -0
  10. package/skills/backend-adapter-fetch.md +200 -0
  11. package/skills/backend-api-docs.md +22 -0
  12. package/skills/backend-aspire.md +232 -0
  13. package/skills/backend-aspnet-core.md +62 -0
  14. package/skills/backend-build-chatgpt-app.md +321 -0
  15. package/skills/backend-build-mcp-app.md +393 -0
  16. package/skills/backend-build-mcp-server.md +222 -0
  17. package/skills/backend-build-mcpb.md +200 -0
  18. package/skills/backend-building-ai-agent-on-cloudflare.md +401 -0
  19. package/skills/backend-caching.md +206 -0
  20. package/skills/backend-chatgpt-app-submission.md +157 -0
  21. package/skills/backend-chatgpt-apps.md +321 -0
  22. package/skills/backend-client-setup.md +318 -0
  23. package/skills/backend-containerize-aspnet-framework.md +455 -0
  24. package/skills/backend-create-spring-boot-java-project.md +164 -0
  25. package/skills/backend-create-spring-boot-kotlin-project.md +148 -0
  26. package/skills/backend-csharp-async.md +50 -0
  27. package/skills/backend-csharp-docs.md +63 -0
  28. package/skills/backend-csharp-mcp-server-generator.md +60 -0
  29. package/skills/backend-dotenv.md +201 -0
  30. package/skills/backend-dotenvx.md +119 -0
  31. package/skills/backend-env-vars.md +259 -0
  32. package/skills/backend-error-handling.md +254 -0
  33. package/skills/backend-fastapi.md +437 -0
  34. package/skills/backend-go-mcp-server-generator.md +335 -0
  35. package/skills/backend-java-mcp-server-generator.md +757 -0
  36. package/skills/backend-kotlin-mcp-server-generator.md +450 -0
  37. package/skills/backend-middlewares.md +243 -0
  38. package/skills/backend-multi-stage-dockerfile.md +47 -0
  39. package/skills/backend-nestjs.md +192 -0
  40. package/skills/backend-next-forge.md +375 -0
  41. package/skills/backend-nextjs.md +746 -0
  42. package/skills/backend-openapi-to-application-code.md +113 -0
  43. package/skills/backend-php-mcp-server-generator.md +523 -0
  44. package/skills/backend-python-mcp-server-generator.md +106 -0
  45. package/skills/backend-routing-middleware.md +251 -0
  46. package/skills/backend-ruby-mcp-server-generator.md +661 -0
  47. package/skills/backend-rust-mcp-server-generator.md +578 -0
  48. package/skills/backend-semantic-kernel.md +57 -0
  49. package/skills/backend-server-setup.md +379 -0
  50. package/skills/backend-server-side-calls.md +250 -0
  51. package/skills/backend-subscriptions.md +407 -0
  52. package/skills/backend-swift-mcp-server-generator.md +670 -0
  53. package/skills/backend-trpc-router.md +152 -0
  54. package/skills/backend-typescript-mcp-server-generator.md +91 -0
  55. package/skills/backend-validators.md +229 -0
  56. package/skills/backend.md +76 -0
  57. package/skills/backup.md +165 -0
  58. package/skills/budget.md +140 -0
  59. package/skills/business-gtm-0-to-1-launch.md +322 -0
  60. package/skills/business-gtm-operating-cadence.md +421 -0
  61. package/skills/business-gtm-positioning-strategy.md +439 -0
  62. package/skills/business-gtm-product-led-growth.md +340 -0
  63. package/skills/calendar.md +95 -0
  64. package/skills/code-review.md +130 -0
  65. package/skills/compliance.md +168 -0
  66. package/skills/contracts.md +130 -0
  67. package/skills/daily-job-run.md +46 -0
  68. package/skills/daily-webdesign.md +187 -0
  69. package/skills/database-bigquery-pipeline-audit.md +130 -0
  70. package/skills/database-cosmosdb-datamodeling.md +1046 -0
  71. package/skills/database-durable-objects.md +187 -0
  72. package/skills/database-ef-core.md +76 -0
  73. package/skills/database-fabric-lakehouse.md +107 -0
  74. package/skills/database-neon-postgres-egress-optimizer.md +213 -0
  75. package/skills/database-neon-postgres.md +218 -0
  76. package/skills/database-postgresql-code-review.md +213 -0
  77. package/skills/database-postgresql-optimization.md +405 -0
  78. package/skills/database-sql-code-review.md +302 -0
  79. package/skills/database-sql-optimization.md +297 -0
  80. package/skills/dependency-audit.md +165 -0
  81. package/skills/design-kami-landing.md +234 -0
  82. package/skills/design.md +221 -0
  83. package/skills/dev-acquire-codebase-knowledge.md +175 -0
  84. package/skills/dev-add-educational-comments.md +129 -0
  85. package/skills/dev-add-model-descriptions.md +74 -0
  86. package/skills/dev-adr-review.md +56 -0
  87. package/skills/dev-boost-prompt.md +26 -0
  88. package/skills/dev-build-run-debug.md +130 -0
  89. package/skills/dev-chunk.md +49 -0
  90. package/skills/dev-claude-md-improver.md +180 -0
  91. package/skills/dev-code-exemplars-blueprint-generator.md +127 -0
  92. package/skills/dev-code-tour.md +434 -0
  93. package/skills/dev-comment-code-generate-a-tutorial.md +27 -0
  94. package/skills/dev-commit.md +81 -0
  95. package/skills/dev-context-map.md +53 -0
  96. package/skills/dev-conventional-commit.md +73 -0
  97. package/skills/dev-create-architectural-decision-record.md +98 -0
  98. package/skills/dev-create-draft-pr.md +17 -0
  99. package/skills/dev-create-pr.md +17 -0
  100. package/skills/dev-create-readme.md +22 -0
  101. package/skills/dev-csharp-mstest.md +479 -0
  102. package/skills/dev-csharp-nunit.md +72 -0
  103. package/skills/dev-csharp-tunit.md +101 -0
  104. package/skills/dev-csharp-xunit.md +69 -0
  105. package/skills/dev-debug-failing-test.md +90 -0
  106. package/skills/dev-diff-analyze.md +32 -0
  107. package/skills/dev-diffs.md +24 -0
  108. package/skills/dev-dotnet-best-practices.md +86 -0
  109. package/skills/dev-dotnet-design-pattern-review.md +43 -0
  110. package/skills/dev-dotnet-timezone.md +110 -0
  111. package/skills/dev-dotnet-upgrade.md +117 -0
  112. package/skills/dev-doublecheck.md +278 -0
  113. package/skills/dev-explain-error.md +15 -0
  114. package/skills/dev-finding-discovery.md +164 -0
  115. package/skills/dev-fix-finding.md +111 -0
  116. package/skills/dev-full-file-edit.md +25 -0
  117. package/skills/dev-git-commit.md +125 -0
  118. package/skills/dev-git-flow-branch-creator.md +293 -0
  119. package/skills/dev-git-workflow.md +46 -0
  120. package/skills/dev-github-automation.md +64 -0
  121. package/skills/dev-github-code-review.md +1140 -0
  122. package/skills/dev-github-issues.md +202 -0
  123. package/skills/dev-gpt-5-4-prompting.md +55 -0
  124. package/skills/dev-investigation-mode.md +277 -0
  125. package/skills/dev-java-add-graalvm-native-image-support.md +450 -0
  126. package/skills/dev-java-docs.md +24 -0
  127. package/skills/dev-java-refactoring-extract-method.md +105 -0
  128. package/skills/dev-java-refactoring-remove-parameter.md +85 -0
  129. package/skills/dev-merge.md +73 -0
  130. package/skills/dev-migrate-create.md +36 -0
  131. package/skills/dev-migrate-validate.md +36 -0
  132. package/skills/dev-my-issues.md +9 -0
  133. package/skills/dev-my-pull-requests.md +15 -0
  134. package/skills/dev-planning-oracle-to-postgres-migration-integration-testing.md +45 -0
  135. package/skills/dev-playwright-generate-test.md +18 -0
  136. package/skills/dev-playwright.md +148 -0
  137. package/skills/dev-prompt-builder.md +142 -0
  138. package/skills/dev-pytest-coverage.md +29 -0
  139. package/skills/dev-python-manager-discovery.md +330 -0
  140. package/skills/dev-python-pypi-package-builder.md +445 -0
  141. package/skills/dev-readme-blueprint-generator.md +79 -0
  142. package/skills/dev-refactor-method-complexity-reduce.md +99 -0
  143. package/skills/dev-refactor-plan.md +66 -0
  144. package/skills/dev-refactor.md +646 -0
  145. package/skills/dev-review-and-refactor.md +16 -0
  146. package/skills/dev-reviewing-oracle-to-postgres-migration.md +68 -0
  147. package/skills/dev-ruff-recursive-fix.md +201 -0
  148. package/skills/dev-run-e2e-tests.md +126 -0
  149. package/skills/dev-run-pre-commit-checks.md +133 -0
  150. package/skills/dev-run-smoke-tests.md +127 -0
  151. package/skills/dev-scaffolding-oracle-to-postgres-migration-test-project.md +55 -0
  152. package/skills/dev-spring-boot-testing.md +190 -0
  153. package/skills/dev-sync-upstream.md +32 -0
  154. package/skills/dev-sync.md +74 -0
  155. package/skills/dev-tdd-workflow.md +23 -0
  156. package/skills/dev-terraform-azurerm-set-diff-analyzer.md +49 -0
  157. package/skills/dev-test-driven-development.md +372 -0
  158. package/skills/dev-test-gaps.md +18 -0
  159. package/skills/dev-test-triage.md +55 -0
  160. package/skills/dev-typer.md +267 -0
  161. package/skills/dev-typescript-setup.md +25 -0
  162. package/skills/dev-unified-diff-edit.md +16 -0
  163. package/skills/dev-unit-test-vue-pinia.md +198 -0
  164. package/skills/dev-using-git-worktrees.md +216 -0
  165. package/skills/dev-validation.md +99 -0
  166. package/skills/dev-verification.md +168 -0
  167. package/skills/dev-webapp-testing.md +134 -0
  168. package/skills/dev-write-coding-standards-from-file.md +317 -0
  169. package/skills/dev-write-tests.md +16 -0
  170. package/skills/devops-appinsights-instrumentation.md +49 -0
  171. package/skills/devops-az-cost-optimize.md +306 -0
  172. package/skills/devops-chronicle.md +154 -0
  173. package/skills/devops-deployments-cicd.md +331 -0
  174. package/skills/devops-devops-rollout-plan.md +118 -0
  175. package/skills/devops-geistdocs.md +276 -0
  176. package/skills/devops-observability.md +774 -0
  177. package/skills/devops-observe-metrics.md +35 -0
  178. package/skills/devops-observe-trace.md +30 -0
  179. package/skills/devops-phoenix-cli.md +163 -0
  180. package/skills/devops-phoenix-tracing.md +140 -0
  181. package/skills/devops-publish-to-pages.md +108 -0
  182. package/skills/devops-telemetry.md +87 -0
  183. package/skills/devops-update-avm-modules-in-bicep.md +61 -0
  184. package/skills/devops.md +81 -0
  185. package/skills/diagrams-canvas.md +204 -0
  186. package/skills/diagrams-draw-io-diagram-generator.md +463 -0
  187. package/skills/diagrams-excalidraw-diagram-generator.md +614 -0
  188. package/skills/diagrams-graphify.md +1277 -0
  189. package/skills/docs-bear-notes.md +108 -0
  190. package/skills/docs-create-llms.md +211 -0
  191. package/skills/docs-doc-gen.md +20 -0
  192. package/skills/docs-documentation-writer.md +46 -0
  193. package/skills/docs-llm-config.md +33 -0
  194. package/skills/docs-mkdocs-translations.md +109 -0
  195. package/skills/docs-obsidian-vault-maintainer.md +14 -0
  196. package/skills/docs-obsidian.md +82 -0
  197. package/skills/docs-prose.md +324 -0
  198. package/skills/docs-update-llms.md +217 -0
  199. package/skills/docs-update-markdown-file-index.md +77 -0
  200. package/skills/docs-wiki-maintainer.md +20 -0
  201. package/skills/documents.md +120 -0
  202. package/skills/email.md +113 -0
  203. package/skills/expenses.md +140 -0
  204. package/skills/file-ops.md +149 -0
  205. package/skills/files-convert-plaintext-to-md.md +363 -0
  206. package/skills/files-doc.md +81 -0
  207. package/skills/files-docx.md +594 -0
  208. package/skills/files-markdown-to-html.md +917 -0
  209. package/skills/files-nano-pdf.md +39 -0
  210. package/skills/files-pdf.md +315 -0
  211. package/skills/files-pdftk-server.md +163 -0
  212. package/skills/files-pptx-html-fidelity-audit.md +255 -0
  213. package/skills/files-pptx.md +231 -0
  214. package/skills/files-xlsx.md +301 -0
  215. package/skills/find-jobs.md +78 -0
  216. package/skills/format-conversion.md +157 -0
  217. package/skills/frontend-ai-elements.md +483 -0
  218. package/skills/frontend-ai-gateway.md +563 -0
  219. package/skills/frontend-ai-generation-persistence.md +242 -0
  220. package/skills/frontend-ai-sdk.md +799 -0
  221. package/skills/frontend-ai-visibility.md +127 -0
  222. package/skills/frontend-angular-developer.md +130 -0
  223. package/skills/frontend-aspnet-minimal-api-openapi.md +42 -0
  224. package/skills/frontend-bencium-innovative-ux-designer.md +719 -0
  225. package/skills/frontend-chat-sdk.md +666 -0
  226. package/skills/frontend-chrome-devtools.md +98 -0
  227. package/skills/frontend-frontend-app-builder.md +186 -0
  228. package/skills/frontend-frontend-design.md +43 -0
  229. package/skills/frontend-frontend-testing-debugging.md +143 -0
  230. package/skills/frontend-gsap-framer-scroll-animation.md +152 -0
  231. package/skills/frontend-internal-linking.md +109 -0
  232. package/skills/frontend-json-render.md +335 -0
  233. package/skills/frontend-keyword-clustering.md +118 -0
  234. package/skills/frontend-next-intl-add-language.md +20 -0
  235. package/skills/frontend-on-page-seo.md +112 -0
  236. package/skills/frontend-premium-frontend-ui.md +114 -0
  237. package/skills/frontend-react-best-practices.md +143 -0
  238. package/skills/frontend-schema-markup.md +160 -0
  239. package/skills/frontend-seo-audit.md +110 -0
  240. package/skills/frontend-swr.md +215 -0
  241. package/skills/frontend-technical-seo.md +162 -0
  242. package/skills/frontend-use-dom.md +418 -0
  243. package/skills/frontend-web-coder.md +564 -0
  244. package/skills/frontend-web-design-reviewer.md +369 -0
  245. package/skills/frontend-web-perf.md +202 -0
  246. package/skills/frontend.md +125 -0
  247. package/skills/general-adapter-standalone.md +199 -0
  248. package/skills/general-auth.md +356 -0
  249. package/skills/general-containerize-aspnetcore.md +393 -0
  250. package/skills/general-create-technical-spike.md +231 -0
  251. package/skills/general-cron-jobs.md +72 -0
  252. package/skills/general-ddd-aggregate.md +52 -0
  253. package/skills/general-ddd-context.md +46 -0
  254. package/skills/general-ddd-validate.md +51 -0
  255. package/skills/general-dependency-check.md +26 -0
  256. package/skills/general-email-marketing.md +86 -0
  257. package/skills/general-healthcheck.md +246 -0
  258. package/skills/general-import-infrastructure-as-code.md +368 -0
  259. package/skills/general-init.md +49 -0
  260. package/skills/general-java-junit.md +64 -0
  261. package/skills/general-java-springboot.md +66 -0
  262. package/skills/general-javascript-typescript-jest.md +45 -0
  263. package/skills/general-kotlin-springboot.md +71 -0
  264. package/skills/general-make-repo-contribution.md +91 -0
  265. package/skills/general-market-research.md +78 -0
  266. package/skills/general-marketplace.md +468 -0
  267. package/skills/general-model-recommendation.md +673 -0
  268. package/skills/general-payments.md +352 -0
  269. package/skills/general-quality-playbook.md +480 -0
  270. package/skills/general-run-integration-tests.md +113 -0
  271. package/skills/general-superjson.md +274 -0
  272. package/skills/general-swiftpm-macos.md +51 -0
  273. package/skills/general-threat-model.md +61 -0
  274. package/skills/invoices.md +167 -0
  275. package/skills/licenses.md +159 -0
  276. package/skills/logs.md +156 -0
  277. package/skills/marketing.md +139 -0
  278. package/skills/media-image-manipulation-image-magick.md +253 -0
  279. package/skills/media-imagegen.md +357 -0
  280. package/skills/media-openai-whisper-api.md +63 -0
  281. package/skills/media-openai-whisper.md +39 -0
  282. package/skills/media-peekaboo.md +191 -0
  283. package/skills/media-screenshot.md +268 -0
  284. package/skills/media-speech.md +145 -0
  285. package/skills/media-transcribe.md +82 -0
  286. package/skills/media-video-frames.md +47 -0
  287. package/skills/mobile-android-emulator-qa.md +81 -0
  288. package/skills/mobile-android-performance.md +280 -0
  289. package/skills/mobile-building-mcp-server-on-cloudflare.md +267 -0
  290. package/skills/mobile-building-native-ui.md +322 -0
  291. package/skills/mobile-expo-api-routes.md +369 -0
  292. package/skills/mobile-expo-cicd-workflows.md +92 -0
  293. package/skills/mobile-expo-deployment.md +191 -0
  294. package/skills/mobile-expo-dev-client.md +165 -0
  295. package/skills/mobile-expo-module.md +177 -0
  296. package/skills/mobile-expo-tailwind-setup.md +481 -0
  297. package/skills/mobile-expo-ui-jetpack-compose.md +41 -0
  298. package/skills/mobile-expo-ui-swift-ui.md +40 -0
  299. package/skills/mobile-ios-app-intents.md +78 -0
  300. package/skills/mobile-ios-debugger-agent.md +52 -0
  301. package/skills/mobile-ios-ettrace-performance.md +198 -0
  302. package/skills/mobile-ios-memgraph-leaks.md +77 -0
  303. package/skills/mobile-native-data-fetching.md +508 -0
  304. package/skills/mobile-packaging-notarization.md +48 -0
  305. package/skills/mobile-react-native-architecture.md +672 -0
  306. package/skills/mobile-react-native-mobile-design.md +438 -0
  307. package/skills/mobile-signing-entitlements.md +59 -0
  308. package/skills/mobile-swiftui-liquid-glass.md +91 -0
  309. package/skills/mobile-swiftui-patterns.md +210 -0
  310. package/skills/mobile-swiftui-performance-audit.md +108 -0
  311. package/skills/mobile-swiftui-ui-patterns.md +97 -0
  312. package/skills/mobile-swiftui-view-refactor.md +204 -0
  313. package/skills/mobile-upgrading-expo.md +134 -0
  314. package/skills/mobile.md +183 -0
  315. package/skills/notes.md +106 -0
  316. package/skills/planning-adr-create.md +62 -0
  317. package/skills/planning-adr-index.md +67 -0
  318. package/skills/planning-architecture-blueprint-generator.md +323 -0
  319. package/skills/planning-brainstorming.md +165 -0
  320. package/skills/planning-breakdown-epic-arch.md +67 -0
  321. package/skills/planning-breakdown-epic-pm.md +59 -0
  322. package/skills/planning-breakdown-feature-implementation.md +129 -0
  323. package/skills/planning-breakdown-feature-prd.md +62 -0
  324. package/skills/planning-breakdown-plan.md +510 -0
  325. package/skills/planning-breakdown-test.md +366 -0
  326. package/skills/planning-cloud-design-patterns.md +63 -0
  327. package/skills/planning-content-brief.md +128 -0
  328. package/skills/planning-content-strategy.md +138 -0
  329. package/skills/planning-content-translation.md +143 -0
  330. package/skills/planning-create-github-action-workflow-specification.md +277 -0
  331. package/skills/planning-create-github-issues-feature-from-implementation-plan.md +29 -0
  332. package/skills/planning-create-github-issues-for-unmet-specification-requirements.md +36 -0
  333. package/skills/planning-create-github-pull-request-from-specification.md +25 -0
  334. package/skills/planning-create-implementation-plan.md +158 -0
  335. package/skills/planning-create-specification.md +128 -0
  336. package/skills/planning-first-ask.md +31 -0
  337. package/skills/planning-folder-structure-blueprint-generator.md +406 -0
  338. package/skills/planning-gen-specs-as-issues.md +166 -0
  339. package/skills/planning-generate-snapshot.md +144 -0
  340. package/skills/planning-generate-status-report.md +336 -0
  341. package/skills/planning-metric-pack-designer.md +27 -0
  342. package/skills/planning-pm-spec.md +53 -0
  343. package/skills/planning-prd.md +144 -0
  344. package/skills/planning-project-assessment.md +182 -0
  345. package/skills/planning-project-setup-info-local.md +128 -0
  346. package/skills/planning-project-workflow-analysis-blueprint-generator.md +294 -0
  347. package/skills/planning-service-oriented-architecture.md +248 -0
  348. package/skills/planning-spec-to-backlog.md +544 -0
  349. package/skills/planning-technology-stack-blueprint-generator.md +243 -0
  350. package/skills/planning-update-implementation-plan.md +158 -0
  351. package/skills/planning-update-specification.md +128 -0
  352. package/skills/planning-what-context-needed.md +40 -0
  353. package/skills/planning-writing-plans.md +153 -0
  354. package/skills/prepare-application.md +81 -0
  355. package/skills/productivity-apple-notes.md +78 -0
  356. package/skills/productivity-apple-reminders.md +119 -0
  357. package/skills/productivity-capture-tasks-from-meeting-notes.md +680 -0
  358. package/skills/productivity-daily-prep.md +156 -0
  359. package/skills/productivity-email-drafter.md +101 -0
  360. package/skills/productivity-hr-onboarding.md +53 -0
  361. package/skills/productivity-things-mac.md +87 -0
  362. package/skills/productivity-update.md +169 -0
  363. package/skills/reminders.md +109 -0
  364. package/skills/research-dossier-collect.md +71 -0
  365. package/skills/research-kg-extract.md +37 -0
  366. package/skills/research-openai-docs.md +89 -0
  367. package/skills/research-research-add-items.md +31 -0
  368. package/skills/research-research-report.md +94 -0
  369. package/skills/research-research-synthesize.md +63 -0
  370. package/skills/research-summarize.md +88 -0
  371. package/skills/research-transformers-js.md +635 -0
  372. package/skills/research.md +119 -0
  373. package/skills/security-ai-prompt-engineering-safety-review.md +231 -0
  374. package/skills/security-attack-path-analysis.md +182 -0
  375. package/skills/security-gdpr-compliant.md +284 -0
  376. package/skills/security-mcp-security-audit.md +279 -0
  377. package/skills/security-pii-detect.md +31 -0
  378. package/skills/security-secret-scanning.md +243 -0
  379. package/skills/security-security-best-practices.md +87 -0
  380. package/skills/security-security-ownership-map.md +207 -0
  381. package/skills/security-security-review.md +169 -0
  382. package/skills/security-security-scan.md +138 -0
  383. package/skills/security-security-threat-model.md +82 -0
  384. package/skills/security-threat-model-analyst.md +76 -0
  385. package/skills/sysmon.md +181 -0
  386. package/skills/system-arch-linux-triage.md +32 -0
  387. package/skills/system-centos-linux-triage.md +32 -0
  388. package/skills/system-debian-linux-triage.md +32 -0
  389. package/skills/system-fedora-linux-triage.md +32 -0
  390. package/skills/system-geofeed-tuner.md +865 -0
  391. package/skills/system-iot-anomalies.md +15 -0
  392. package/skills/system-iot-firmware.md +16 -0
  393. package/skills/system-iot-fleet.md +14 -0
  394. package/skills/system-iot-register.md +19 -0
  395. package/skills/system-iot-witness-verify.md +15 -0
  396. package/skills/system-tmux.md +171 -0
  397. package/skills/system-window-management.md +228 -0
  398. package/skills/task-management.md +90 -0
  399. package/skills/tasks.md +102 -0
  400. package/skills/test-coverage.md +188 -0
  401. package/skills/ux-ui.md +128 -0
  402. package/skills/web.md +186 -0
  403. package/skills/workflow-act-on-feedback.md +15 -0
  404. package/skills/workflow-automate-this.md +245 -0
  405. package/skills/workflow-autoresearch.md +276 -0
  406. package/skills/workflow-coding-agent.md +317 -0
  407. package/skills/workflow-deep-research.md +44 -0
  408. package/skills/workflow-dispatching-parallel-agents.md +183 -0
  409. package/skills/workflow-eval-driven-dev.md +148 -0
  410. package/skills/workflow-executing-plans.md +71 -0
  411. package/skills/workflow-mentoring-juniors.md +311 -0
  412. package/skills/workflow-receiving-code-review.md +214 -0
  413. package/skills/workflow-repo-story-time.md +155 -0
  414. package/skills/workflow-requesting-code-review.md +104 -0
  415. package/skills/workflow-session-report.md +43 -0
  416. package/skills/workflow-structured-autonomy-generate.md +126 -0
  417. package/skills/workflow-subagent-driven-development.md +280 -0
  418. package/skills/writing.md +106 -0
  419. package/src/agent.js +0 -0
  420. package/src/browser.js +297 -0
  421. package/src/cli.js +25 -4
  422. package/src/code-reviewer.js +119 -0
  423. package/src/completions.js +1 -1
  424. package/src/control.js +222 -30
  425. package/src/coordinator.js +303 -0
  426. package/src/correction.js +29 -8
  427. package/src/edit-tracker.js +21 -0
  428. package/src/edit-viewer.js +414 -0
  429. package/src/endpoints.js +64 -15
  430. package/src/index.js +45 -11
  431. package/src/llm.js +86 -2
  432. package/src/mcp-client.js +416 -0
  433. package/src/memory.js +182 -0
  434. package/src/planner.js +216 -0
  435. package/src/rules.js +90 -0
  436. package/src/self-commands.js +757 -0
  437. package/src/services/voice.js +10 -7
  438. package/src/session-search.js +427 -0
  439. package/src/session.js +487 -99
  440. package/src/shmakk-server.js +91 -0
  441. package/src/skills.js +410 -3
  442. package/src/subagent.js +4 -1
  443. package/src/system-prompt.js +13 -5
  444. package/src/task-file.js +114 -0
  445. package/src/taskClassifier.js +246 -0
  446. package/src/team.js +752 -0
  447. package/src/tools.js +142 -21
  448. package/src/web.js +35 -5
  449. package/src/workflows.js +261 -0
  450. package/src/workspace-index.js +25 -6
@@ -0,0 +1,614 @@
1
+ ---
2
+ name: excalidraw-diagram-generator
3
+ description: 'Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.'
4
+ category: diagrams
5
+ ---
6
+
7
+ # Excalidraw Diagram Generator
8
+
9
+ A skill for generating Excalidraw-format diagrams from natural language descriptions. This skill helps create visual representations of processes, systems, relationships, and ideas without manual drawing.
10
+
11
+ ## When to Use This Skill
12
+
13
+ Use this skill when users request:
14
+
15
+ - "Create a diagram showing..."
16
+ - "Make a flowchart for..."
17
+ - "Visualize the process of..."
18
+ - "Draw the system architecture of..."
19
+ - "Generate a mind map about..."
20
+ - "Create an Excalidraw file for..."
21
+ - "Show the relationship between..."
22
+ - "Diagram the workflow of..."
23
+
24
+ **Supported diagram types:**
25
+ - 📊 **Flowcharts**: Sequential processes, workflows, decision trees
26
+ - 🔗 **Relationship Diagrams**: Entity relationships, system components, dependencies
27
+ - 🧠 **Mind Maps**: Concept hierarchies, brainstorming results, topic organization
28
+ - 🏗️ **Architecture Diagrams**: System design, module interactions, data flow
29
+ - 📈 **Data Flow Diagrams (DFD)**: Data flow visualization, data transformation processes
30
+ - 🏊 **Business Flow (Swimlane)**: Cross-functional workflows, actor-based process flows
31
+ - 📦 **Class Diagrams**: Object-oriented design, class structures and relationships
32
+ - 🔄 **Sequence Diagrams**: Object interactions over time, message flows
33
+ - 🗃️ **ER Diagrams**: Database entity relationships, data models
34
+
35
+ ## Prerequisites
36
+
37
+ - Clear description of what should be visualized
38
+ - Identification of key entities, steps, or concepts
39
+ - Understanding of relationships or flow between elements
40
+
41
+ ## Step-by-Step Workflow
42
+
43
+ ### Step 1: Understand the Request
44
+
45
+ Analyze the user's description to determine:
46
+ 1. **Diagram type** (flowchart, relationship, mind map, architecture)
47
+ 2. **Key elements** (entities, steps, concepts)
48
+ 3. **Relationships** (flow, connections, hierarchy)
49
+ 4. **Complexity** (number of elements)
50
+
51
+ ### Step 2: Choose the Appropriate Diagram Type
52
+
53
+ | User Intent | Diagram Type | Example Keywords |
54
+ |-------------|--------------|------------------|
55
+ | Process flow, steps, procedures | **Flowchart** | "workflow", "process", "steps", "procedure" |
56
+ | Connections, dependencies, associations | **Relationship Diagram** | "relationship", "connections", "dependencies", "structure" |
57
+ | Concept hierarchy, brainstorming | **Mind Map** | "mind map", "concepts", "ideas", "breakdown" |
58
+ | System design, components | **Architecture Diagram** | "architecture", "system", "components", "modules" |
59
+ | Data flow, transformation processes | **Data Flow Diagram (DFD)** | "data flow", "data processing", "data transformation" |
60
+ | Cross-functional processes, actor responsibilities | **Business Flow (Swimlane)** | "business process", "swimlane", "actors", "responsibilities" |
61
+ | Object-oriented design, class structures | **Class Diagram** | "class", "inheritance", "OOP", "object model" |
62
+ | Interaction sequences, message flows | **Sequence Diagram** | "sequence", "interaction", "messages", "timeline" |
63
+ | Database design, entity relationships | **ER Diagram** | "database", "entity", "relationship", "data model" |
64
+
65
+ ### Step 3: Extract Structured Information
66
+
67
+ **For Flowcharts:**
68
+ - List of sequential steps
69
+ - Decision points (if any)
70
+ - Start and end points
71
+
72
+ **For Relationship Diagrams:**
73
+ - Entities/nodes (name + optional description)
74
+ - Relationships between entities (from → to, with label)
75
+
76
+ **For Mind Maps:**
77
+ - Central topic
78
+ - Main branches (3-6 recommended)
79
+ - Sub-topics for each branch (optional)
80
+
81
+ **For Data Flow Diagrams (DFD):**
82
+ - Data sources and destinations (external entities)
83
+ - Processes (data transformations)
84
+ - Data stores (databases, files)
85
+ - Data flows (arrows showing data movement from left-to-right or from top-left to bottom-right)
86
+ - **Important**: Do not represent process order, only data flow
87
+
88
+ **For Business Flow (Swimlane):**
89
+ - Actors/roles (departments, systems, people) - displayed as header columns
90
+ - Process lanes (vertical lanes under each actor)
91
+ - Process boxes (activities within each lane)
92
+ - Flow arrows (connecting process boxes, including cross-lane handoffs)
93
+
94
+ **For Class Diagrams:**
95
+ - Classes with names
96
+ - Attributes with visibility (+, -, #)
97
+ - Methods with visibility and parameters
98
+ - Relationships: inheritance (solid line + white triangle), implementation (dashed line + white triangle), association (solid line), dependency (dashed line), aggregation (solid line + white diamond), composition (solid line + filled diamond)
99
+ - Multiplicity notations (1, 0..1, 1..*, *)
100
+
101
+ **For Sequence Diagrams:**
102
+ - Objects/actors (arranged horizontally at top)
103
+ - Lifelines (vertical lines from each object)
104
+ - Messages (horizontal arrows between lifelines)
105
+ - Synchronous messages (solid arrow), asynchronous messages (dashed arrow)
106
+ - Return values (dashed arrows)
107
+ - Activation boxes (rectangles on lifelines during execution)
108
+ - Time flows from top to bottom
109
+
110
+ **For ER Diagrams:**
111
+ - Entities (rectangles with entity names)
112
+ - Attributes (listed inside entities)
113
+ - Primary keys (underlined or marked with PK)
114
+ - Foreign keys (marked with FK)
115
+ - Relationships (lines connecting entities)
116
+ - Cardinality: 1:1 (one-to-one), 1:N (one-to-many), N:M (many-to-many)
117
+ - Junction/associative entities for many-to-many relationships (dashed rectangles)
118
+
119
+ ### Step 4: Generate the Excalidraw JSON
120
+
121
+ Create the `.excalidraw` file with appropriate elements:
122
+
123
+ **Available element types:**
124
+ - `rectangle`: Boxes for entities, steps, concepts
125
+ - `ellipse`: Alternative shapes for emphasis
126
+ - `diamond`: Decision points
127
+ - `arrow`: Directional connections
128
+ - `text`: Labels and annotations
129
+
130
+ **Key properties to set:**
131
+ - **Position**: `x`, `y` coordinates
132
+ - **Size**: `width`, `height`
133
+ - **Style**: `strokeColor`, `backgroundColor`, `fillStyle`
134
+ - **Font**: `fontFamily: 5` (Excalifont - **required for all text elements**)
135
+ - **Text**: Embedded text for labels
136
+ - **Connections**: `points` array for arrows
137
+
138
+ **Important**: All text elements must use `fontFamily: 5` (Excalifont) for consistent visual appearance.
139
+
140
+ ### Step 5: Format the Output
141
+
142
+ Structure the complete Excalidraw file:
143
+
144
+ ```json
145
+ {
146
+ "type": "excalidraw",
147
+ "version": 2,
148
+ "source": "https://excalidraw.com",
149
+ "elements": [
150
+ // Array of diagram elements
151
+ ],
152
+ "appState": {
153
+ "viewBackgroundColor": "#ffffff",
154
+ "gridSize": 20
155
+ },
156
+ "files": {}
157
+ }
158
+ ```
159
+
160
+ ### Step 6: Save and Provide Instructions
161
+
162
+ 1. Save as `<descriptive-name>.excalidraw`
163
+ 2. Inform user how to open:
164
+ - Visit https://excalidraw.com
165
+ - Click "Open" or drag-and-drop the file
166
+ - Or use Excalidraw VS Code extension
167
+
168
+ ## Best Practices
169
+
170
+ ### Element Count Guidelines
171
+
172
+ | Diagram Type | Recommended Count | Maximum |
173
+ |--------------|-------------------|---------|
174
+ | Flowchart steps | 3-10 | 15 |
175
+ | Relationship entities | 3-8 | 12 |
176
+ | Mind map branches | 4-6 | 8 |
177
+ | Mind map sub-topics per branch | 2-4 | 6 |
178
+
179
+ ### Layout Tips
180
+
181
+ 1. **Start positions**: Center important elements, use consistent spacing
182
+ 2. **Spacing**:
183
+ - Horizontal gap: 200-300px between elements
184
+ - Vertical gap: 100-150px between rows
185
+ 3. **Colors**: Use consistent color scheme
186
+ - Primary elements: Light blue (`#a5d8ff`)
187
+ - Secondary elements: Light green (`#b2f2bb`)
188
+ - Important/Central: Yellow (`#ffd43b`)
189
+ - Alerts/Warnings: Light red (`#ffc9c9`)
190
+ 4. **Text sizing**: 16-24px for readability
191
+ 5. **Font**: Always use `fontFamily: 5` (Excalifont) for all text elements
192
+ 6. **Arrow style**: Use straight arrows for simple flows, curved for complex relationships
193
+
194
+ ### Complexity Management
195
+
196
+ **If user request has too many elements:**
197
+ - Suggest breaking into multiple diagrams
198
+ - Focus on main elements first
199
+ - Offer to create detailed sub-diagrams
200
+
201
+ **Example response:**
202
+ ```
203
+ "Your request includes 15 components. For clarity, I recommend:
204
+ 1. High-level architecture diagram (6 main components)
205
+ 2. Detailed diagram for each subsystem
206
+
207
+ Would you like me to start with the high-level view?"
208
+ ```
209
+
210
+ ## Example Prompts and Responses
211
+
212
+ ### Example 1: Simple Flowchart
213
+
214
+ **User:** "Create a flowchart for user registration"
215
+
216
+ **Agent generates:**
217
+ 1. Extract steps: "Enter email" → "Verify email" → "Set password" → "Complete"
218
+ 2. Create flowchart with 4 rectangles + 3 arrows
219
+ 3. Save as `user-registration-flow.excalidraw`
220
+
221
+ ### Example 2: Relationship Diagram
222
+
223
+ **User:** "Diagram the relationship between User, Post, and Comment entities"
224
+
225
+ **Agent generates:**
226
+ 1. Entities: User, Post, Comment
227
+ 2. Relationships: User → Post ("creates"), User → Comment ("writes"), Post → Comment ("contains")
228
+ 3. Save as `user-content-relationships.excalidraw`
229
+
230
+ ### Example 3: Mind Map
231
+
232
+ **User:** "Mind map about machine learning concepts"
233
+
234
+ **Agent generates:**
235
+ 1. Center: "Machine Learning"
236
+ 2. Branches: Supervised Learning, Unsupervised Learning, Reinforcement Learning, Deep Learning
237
+ 3. Sub-topics under each branch
238
+ 4. Save as `machine-learning-mindmap.excalidraw`
239
+
240
+ ## Troubleshooting
241
+
242
+ | Issue | Solution |
243
+ |-------|----------|
244
+ | Elements overlap | Increase spacing between coordinates |
245
+ | Text doesn't fit in boxes | Increase box width or reduce font size |
246
+ | Too many elements | Break into multiple diagrams |
247
+ | Unclear layout | Use grid layout (rows/columns) or radial layout (mind maps) |
248
+ | Colors inconsistent | Define color palette upfront based on element types |
249
+
250
+ ## Advanced Techniques
251
+
252
+ ### Grid Layout (for Relationship Diagrams)
253
+ ```javascript
254
+ const columns = Math.ceil(Math.sqrt(entityCount));
255
+ const x = startX + (index % columns) * horizontalGap;
256
+ const y = startY + Math.floor(index / columns) * verticalGap;
257
+ ```
258
+
259
+ ### Radial Layout (for Mind Maps)
260
+ ```javascript
261
+ const angle = (2 * Math.PI * index) / branchCount;
262
+ const x = centerX + radius * Math.cos(angle);
263
+ const y = centerY + radius * Math.sin(angle);
264
+ ```
265
+
266
+ ### Auto-generated IDs
267
+ Use timestamp + random string for unique IDs:
268
+ ```javascript
269
+ const id = Date.now().toString(36) + Math.random().toString(36).substr(2);
270
+ ```
271
+
272
+ ## Output Format
273
+
274
+ Always provide:
275
+ 1. ✅ Complete `.excalidraw` JSON file
276
+ 2. 📊 Summary of what was created
277
+ 3. 📝 Element count
278
+ 4. 💡 Instructions for opening/editing
279
+
280
+ **Example summary:**
281
+ ```
282
+ Created: user-workflow.excalidraw
283
+ Type: Flowchart
284
+ Elements: 7 rectangles, 6 arrows, 1 title text
285
+ Total: 14 elements
286
+
287
+ To view:
288
+ 1. Visit https://excalidraw.com
289
+ 2. Drag and drop user-workflow.excalidraw
290
+ 3. Or use File → Open in Excalidraw VS Code extension
291
+ ```
292
+
293
+ ## Validation Checklist
294
+
295
+ Before delivering the diagram:
296
+ - [ ] All elements have unique IDs
297
+ - [ ] Coordinates prevent overlapping
298
+ - [ ] Text is readable (font size 16+)
299
+ - [ ] **All text elements use `fontFamily: 5` (Excalifont)**
300
+ - [ ] Arrows connect logically
301
+ - [ ] Colors follow consistent scheme
302
+ - [ ] File is valid JSON
303
+ - [ ] Element count is reasonable (<20 for clarity)
304
+
305
+ ## Icon Libraries (Optional Enhancement)
306
+
307
+ For specialized diagrams (e.g., AWS/GCP/Azure architecture diagrams), you can use pre-made icon libraries from Excalidraw. This provides professional, standardized icons instead of basic shapes.
308
+
309
+ ### When User Requests Icons
310
+
311
+ **If user asks for AWS/cloud architecture diagrams or mentions wanting to use specific icons:**
312
+
313
+ 1. **Check if library exists**: Look for `libraries/<library-name>/reference.md`
314
+ 2. **If library exists**: Proceed to use icons (see AI Assistant Workflow below)
315
+ 3. **If library does NOT exist**: Respond with setup instructions:
316
+
317
+ ```
318
+ To use [AWS/GCP/Azure/etc.] architecture icons, please follow these steps:
319
+
320
+ 1. Visit https://libraries.excalidraw.com/
321
+ 2. Search for "[AWS Architecture Icons/etc.]" and download the .excalidrawlib file
322
+ 3. Create directory: skills/excalidraw-diagram-generator/libraries/[icon-set-name]/
323
+ 4. Place the downloaded file in that directory
324
+ 5. Run the splitter script:
325
+ python skills/excalidraw-diagram-generator/scripts/split-excalidraw-library.py skills/excalidraw-diagram-generator/libraries/[icon-set-name]/
326
+
327
+ This will split the library into individual icon files for efficient use.
328
+ After setup is complete, I can create your diagram using the actual AWS/cloud icons.
329
+
330
+ Alternatively, I can create the diagram now using simple shapes (rectangles, ellipses)
331
+ which you can later replace with icons manually in Excalidraw.
332
+ ```
333
+
334
+ ### User Setup Instructions (Detailed)
335
+
336
+ **Step 1: Create Library Directory**
337
+ ```bash
338
+ mkdir -p skills/excalidraw-diagram-generator/libraries/aws-architecture-icons
339
+ ```
340
+
341
+ **Step 2: Download Library**
342
+ - Visit: https://libraries.excalidraw.com/
343
+ - Search for your desired icon set (e.g., "AWS Architecture Icons")
344
+ - Click download to get the `.excalidrawlib` file
345
+ - Example categories (availability varies; confirm on the site):
346
+ - Cloud service icons
347
+ - UI/Material icons
348
+ - Flowchart symbols
349
+
350
+ **Step 3: Place Library File**
351
+ - Rename the downloaded file to match the directory name (e.g., `aws-architecture-icons.excalidrawlib`)
352
+ - Move it to the directory created in Step 1
353
+
354
+ **Step 4: Run Splitter Script**
355
+ ```bash
356
+ python skills/excalidraw-diagram-generator/scripts/split-excalidraw-library.py skills/excalidraw-diagram-generator/libraries/aws-architecture-icons/
357
+ ```
358
+
359
+ **Step 5: Verify Setup**
360
+ After running the script, verify the following structure exists:
361
+ ```
362
+ skills/excalidraw-diagram-generator/libraries/aws-architecture-icons/
363
+ aws-architecture-icons.excalidrawlib (original)
364
+ reference.md (generated - icon lookup table)
365
+ icons/ (generated - individual icon files)
366
+ API-Gateway.json
367
+ CloudFront.json
368
+ EC2.json
369
+ Lambda.json
370
+ RDS.json
371
+ S3.json
372
+ ...
373
+ ```
374
+
375
+ ### AI Assistant Workflow
376
+
377
+ **When icon libraries are available in `libraries/`:**
378
+
379
+ **RECOMMENDED APPROACH: Use Python Scripts (Efficient & Reliable)**
380
+
381
+ The repository includes Python scripts that handle icon integration automatically:
382
+
383
+ 1. **Create base diagram structure**:
384
+ - Create `.excalidraw` file with basic layout (title, boxes, regions)
385
+ - This establishes the canvas and overall structure
386
+
387
+ 2. **Add icons using Python script**:
388
+ ```bash
389
+ python skills/excalidraw-diagram-generator/scripts/add-icon-to-diagram.py \
390
+ <diagram-path> <icon-name> <x> <y> [--label "Text"] [--library-path PATH]
391
+ ```
392
+ - Edit via `.excalidraw.edit` is enabled by default to avoid overwrite issues; pass `--no-use-edit-suffix` to disable.
393
+
394
+ **Examples**:
395
+ ```bash
396
+ # Add EC2 icon at position (400, 300) with label
397
+ python scripts/add-icon-to-diagram.py diagram.excalidraw EC2 400 300 --label "Web Server"
398
+
399
+ # Add VPC icon at position (200, 150)
400
+ python scripts/add-icon-to-diagram.py diagram.excalidraw VPC 200 150
401
+
402
+ # Add icon from different library
403
+ python scripts/add-icon-to-diagram.py diagram.excalidraw Compute-Engine 500 200 \
404
+ --library-path libraries/gcp-icons --label "API Server"
405
+ ```
406
+
407
+ 3. **Add connecting arrows**:
408
+ ```bash
409
+ python skills/excalidraw-diagram-generator/scripts/add-arrow.py \
410
+ <diagram-path> <from-x> <from-y> <to-x> <to-y> [--label "Text"] [--style solid|dashed|dotted] [--color HEX]
411
+ ```
412
+ - Edit via `.excalidraw.edit` is enabled by default to avoid overwrite issues; pass `--no-use-edit-suffix` to disable.
413
+
414
+ **Examples**:
415
+ ```bash
416
+ # Simple arrow from (300, 250) to (500, 300)
417
+ python scripts/add-arrow.py diagram.excalidraw 300 250 500 300
418
+
419
+ # Arrow with label
420
+ python scripts/add-arrow.py diagram.excalidraw 300 250 500 300 --label "HTTPS"
421
+
422
+ # Dashed arrow with custom color
423
+ python scripts/add-arrow.py diagram.excalidraw 400 350 600 400 --style dashed --color "#7950f2"
424
+ ```
425
+
426
+ 4. **Workflow summary**:
427
+ ```bash
428
+ # Step 1: Create base diagram with title and structure
429
+ # (Create .excalidraw file with initial elements)
430
+
431
+ # Step 2: Add icons with labels
432
+ python scripts/add-icon-to-diagram.py my-diagram.excalidraw "Internet-gateway" 200 150 --label "Internet Gateway"
433
+ python scripts/add-icon-to-diagram.py my-diagram.excalidraw VPC 250 250
434
+ python scripts/add-icon-to-diagram.py my-diagram.excalidraw ELB 350 300 --label "Load Balancer"
435
+ python scripts/add-icon-to-diagram.py my-diagram.excalidraw EC2 450 350 --label "EC2 Instance"
436
+ python scripts/add-icon-to-diagram.py my-diagram.excalidraw RDS 550 400 --label "Database"
437
+
438
+ # Step 3: Add connecting arrows
439
+ python scripts/add-arrow.py my-diagram.excalidraw 250 200 300 250 # Internet → VPC
440
+ python scripts/add-arrow.py my-diagram.excalidraw 300 300 400 300 # VPC → ELB
441
+ python scripts/add-arrow.py my-diagram.excalidraw 400 330 500 350 # ELB → EC2
442
+ python scripts/add-arrow.py my-diagram.excalidraw 500 380 600 400 # EC2 → RDS
443
+ ```
444
+
445
+ **Benefits of Python Script Approach**:
446
+ - ✅ **No token consumption**: Icon JSON data (200-1000 lines each) never enters AI context
447
+ - ✅ **Accurate transformations**: Coordinate calculations handled deterministically
448
+ - ✅ **ID management**: Automatic UUID generation prevents conflicts
449
+ - ✅ **Reliable**: No risk of coordinate miscalculation or ID collision
450
+ - ✅ **Fast**: Direct file manipulation, no parsing overhead
451
+ - ✅ **Reusable**: Works with any Excalidraw library you provide
452
+
453
+ **ALTERNATIVE: Manual Icon Integration (Not Recommended)**
454
+
455
+ Only use this if Python scripts are unavailable:
456
+
457
+ 1. **Check for libraries**:
458
+ ```
459
+ List directory: skills/excalidraw-diagram-generator/libraries/
460
+ Look for subdirectories containing reference.md files
461
+ ```
462
+
463
+ 2. **Read reference.md**:
464
+ ```
465
+ Open: libraries/<library-name>/reference.md
466
+ This is lightweight (typically <300 lines) and lists all available icons
467
+ ```
468
+
469
+ 3. **Find relevant icons**:
470
+ ```
471
+ Search the reference.md table for icon names matching diagram needs
472
+ Example: For AWS diagram with EC2, S3, Lambda → Find "EC2", "S3", "Lambda" in table
473
+ ```
474
+
475
+ 4. **Load specific icon data** (WARNING: Large files):
476
+ ```
477
+ Read ONLY the needed icon files:
478
+ - libraries/aws-architecture-icons/icons/EC2.json (200-300 lines)
479
+ - libraries/aws-architecture-icons/icons/S3.json (200-300 lines)
480
+ - libraries/aws-architecture-icons/icons/Lambda.json (200-300 lines)
481
+ Note: Each icon file is 200-1000 lines - this consumes significant tokens
482
+ ```
483
+
484
+ 5. **Extract and transform elements**:
485
+ ```
486
+ Each icon JSON contains an "elements" array
487
+ Calculate bounding box (min_x, min_y, max_x, max_y)
488
+ Apply offset to all x/y coordinates
489
+ Generate new unique IDs for all elements
490
+ Update groupIds references
491
+ Copy transformed elements into your diagram
492
+ ```
493
+
494
+ 6. **Position icons and add connections**:
495
+ ```
496
+ Adjust x/y coordinates to position icons correctly in the diagram
497
+ Update IDs to ensure uniqueness across diagram
498
+ Add connecting arrows and labels as needed
499
+ ```
500
+
501
+ **Manual Integration Challenges**:
502
+ - ⚠️ High token consumption (200-1000 lines per icon × number of icons)
503
+ - ⚠️ Complex coordinate transformation calculations
504
+ - ⚠️ Risk of ID collision if not handled carefully
505
+ - ⚠️ Time-consuming for diagrams with many icons
506
+
507
+ ### Example: Creating AWS Diagram with Icons
508
+
509
+ **Request**: "Create an AWS architecture diagram with Internet Gateway, VPC, ELB, EC2, and RDS"
510
+
511
+ **Recommended Workflow (using Python scripts)**:
512
+ **Request**: "Create an AWS architecture diagram with Internet Gateway, VPC, ELB, EC2, and RDS"
513
+
514
+ **Recommended Workflow (using Python scripts)**:
515
+
516
+ ```bash
517
+ # Step 1: Create base diagram file with title
518
+ # Create my-aws-diagram.excalidraw with basic structure (title, etc.)
519
+
520
+ # Step 2: Check icon availability
521
+ # Read: libraries/aws-architecture-icons/reference.md
522
+ # Confirm icons exist: Internet-gateway, VPC, ELB, EC2, RDS
523
+
524
+ # Step 3: Add icons with Python script
525
+ python scripts/add-icon-to-diagram.py my-aws-diagram.excalidraw "Internet-gateway" 150 100 --label "Internet Gateway"
526
+ python scripts/add-icon-to-diagram.py my-aws-diagram.excalidraw VPC 200 200
527
+ python scripts/add-icon-to-diagram.py my-aws-diagram.excalidraw ELB 350 250 --label "Load Balancer"
528
+ python scripts/add-icon-to-diagram.py my-aws-diagram.excalidraw EC2 500 300 --label "Web Server"
529
+ python scripts/add-icon-to-diagram.py my-aws-diagram.excalidraw RDS 650 350 --label "Database"
530
+
531
+ # Step 4: Add connecting arrows
532
+ python scripts/add-arrow.py my-aws-diagram.excalidraw 200 150 250 200 # Internet → VPC
533
+ python scripts/add-arrow.py my-aws-diagram.excalidraw 265 230 350 250 # VPC → ELB
534
+ python scripts/add-arrow.py my-aws-diagram.excalidraw 415 280 500 300 # ELB → EC2
535
+ python scripts/add-arrow.py my-aws-diagram.excalidraw 565 330 650 350 --label "SQL" --style dashed
536
+
537
+ # Result: Complete diagram with professional AWS icons, labels, and connections
538
+ ```
539
+
540
+ **Benefits**:
541
+ - No manual coordinate calculation
542
+ - No token consumption for icon data
543
+ - Deterministic, reliable results
544
+ - Easy to iterate and adjust positions
545
+
546
+ **Alternative Workflow (manual, if scripts unavailable)**:
547
+ 1. Check: `libraries/aws-architecture-icons/reference.md` exists → Yes
548
+ 2. Read reference.md → Find entries for Internet-gateway, VPC, ELB, EC2, RDS
549
+ 3. Load:
550
+ - `icons/Internet-gateway.json` (298 lines)
551
+ - `icons/VPC.json` (550 lines)
552
+ - `icons/ELB.json` (363 lines)
553
+ - `icons/EC2.json` (231 lines)
554
+ - `icons/RDS.json` (similar size)
555
+ **Total: ~2000+ lines of JSON to process**
556
+ 4. Extract elements from each JSON
557
+ 5. Calculate bounding boxes and offsets for each icon
558
+ 6. Transform all coordinates (x, y) for positioning
559
+ 7. Generate unique IDs for all elements
560
+ 8. Add arrows showing data flow
561
+ 9. Add text labels
562
+ 10. Generate final `.excalidraw` file
563
+
564
+ **Challenges with manual approach**:
565
+ - High token consumption (~2000-5000 lines)
566
+ - Complex coordinate math
567
+ - Risk of ID conflicts
568
+
569
+ ### Supported Icon Libraries (Examples — verify availability)
570
+
571
+ - This workflow works with any valid `.excalidrawlib` file you provide.
572
+ - Examples of library categories you may find on https://libraries.excalidraw.com/:
573
+ - Cloud service icons
574
+ - Kubernetes / infrastructure icons
575
+ - UI / Material icons
576
+ - Flowchart / diagram symbols
577
+ - Network diagram icons
578
+ - Availability and naming can change; verify exact library names on the site before use.
579
+
580
+ ### Fallback: No Icons Available
581
+
582
+ **If no icon libraries are set up:**
583
+ - Create diagrams using basic shapes (rectangles, ellipses, arrows)
584
+ - Use color coding and text labels to distinguish components
585
+ - Inform user they can add icons later or set up libraries for future diagrams
586
+ - The diagram will still be functional and clear, just less visually polished
587
+
588
+ ## References
589
+
590
+ See bundled references for:
591
+ - `references/excalidraw-schema.md` - Complete Excalidraw JSON schema
592
+ - `references/element-types.md` - Detailed element type specifications
593
+ - `templates/flowchart-template.json` - Basic flowchart starter
594
+ - `templates/relationship-template.json` - Relationship diagram starter
595
+ - `templates/mindmap-template.json` - Mind map starter
596
+ - `scripts/split-excalidraw-library.py` - Tool to split `.excalidrawlib` files
597
+ - `scripts/README.md` - Documentation for library tools
598
+ - `scripts/.gitignore` - Prevents local Python artifacts from being committed
599
+
600
+ ## Limitations
601
+
602
+ - Complex curves are simplified to straight/basic curved lines
603
+ - Hand-drawn roughness is set to default (1)
604
+ - No embedded images support in auto-generation
605
+ - Maximum recommended elements: 20 per diagram
606
+ - No automatic collision detection (use spacing guidelines)
607
+
608
+ ## Future Enhancements
609
+
610
+ Potential improvements:
611
+ - Auto-layout optimization algorithms
612
+ - Import from Mermaid/PlantUML syntax
613
+ - Template library expansion
614
+ - Interactive editing after generation