@thierrynakoa/fire-flow 12.2.1 → 13.0.1

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 (500) hide show
  1. package/CREDITS.md +25 -0
  2. package/DOMINION-FLOW-OVERVIEW.md +182 -38
  3. package/README.md +399 -455
  4. package/TROUBLESHOOTING.md +264 -264
  5. package/agents/fire-debugger.md +54 -0
  6. package/agents/fire-executor.md +1610 -1033
  7. package/agents/fire-fact-checker.md +1 -1
  8. package/agents/fire-planner.md +85 -17
  9. package/agents/fire-project-researcher.md +1 -1
  10. package/agents/fire-researcher.md +4 -22
  11. package/agents/{fire-phoenix-analyst.md → fire-resurrection-analyst.md} +394 -394
  12. package/agents/fire-reviewer.md +552 -499
  13. package/agents/fire-verifier.md +114 -19
  14. package/bin/cli.js +18 -101
  15. package/commands/fire-0-orient.md +2 -2
  16. package/commands/fire-1a-new.md +50 -15
  17. package/commands/fire-1c-setup.md +33 -5
  18. package/commands/fire-1d-discuss.md +87 -1
  19. package/commands/fire-2-plan.md +556 -527
  20. package/commands/fire-3-execute.md +2046 -1356
  21. package/commands/fire-4-verify.md +975 -906
  22. package/commands/fire-5-handoff.md +46 -5
  23. package/commands/fire-6-resume.md +2 -31
  24. package/commands/fire-add-new-skill.md +138 -19
  25. package/commands/fire-autonomous.md +14 -2
  26. package/commands/fire-complete-milestone.md +1 -1
  27. package/commands/fire-cost.md +179 -183
  28. package/commands/fire-debug.md +1 -6
  29. package/commands/fire-loop-resume.md +2 -2
  30. package/commands/fire-loop-stop.md +1 -1
  31. package/commands/fire-loop.md +2 -15
  32. package/commands/fire-map-codebase.md +1 -1
  33. package/commands/fire-migrate-database.md +548 -0
  34. package/commands/fire-new-milestone.md +1 -1
  35. package/commands/fire-reflect.md +1 -2
  36. package/commands/fire-research.md +142 -21
  37. package/commands/{fire-phoenix.md → fire-resurrect.md} +859 -603
  38. package/commands/fire-scaffold.md +297 -0
  39. package/commands/fire-search.md +1 -2
  40. package/commands/fire-security-scan.md +483 -484
  41. package/commands/fire-setup.md +359 -0
  42. package/commands/fire-skill.md +770 -0
  43. package/commands/fire-skills-diff.md +506 -506
  44. package/commands/fire-skills-history.md +388 -388
  45. package/commands/fire-skills-rollback.md +7 -7
  46. package/commands/fire-skills-sync.md +470 -470
  47. package/commands/fire-test.md +5 -5
  48. package/commands/fire-todos.md +1 -1
  49. package/commands/fire-update.md +5 -5
  50. package/commands/fire-validate-skills.md +282 -0
  51. package/commands/fire-vuln-scan.md +492 -493
  52. package/hooks/run-hook.sh +8 -8
  53. package/hooks/run-session-end.sh +7 -7
  54. package/hooks/session-end.sh +90 -90
  55. package/hooks/session-start.sh +1 -1
  56. package/package.json +4 -24
  57. package/plugin.json +7 -7
  58. package/references/autonomy-levels.md +235 -0
  59. package/references/behavioral-directives.md +95 -3
  60. package/references/blocker-tracking.md +1 -1
  61. package/references/circuit-breaker.md +93 -2
  62. package/references/context-engineering.md +227 -9
  63. package/references/honesty-protocols.md +70 -1
  64. package/references/issue-to-pr-pipeline.md +149 -150
  65. package/references/metrics-and-trends.md +1 -2
  66. package/references/research-improvements.md +4 -108
  67. package/references/sdlc-mapping.md +73 -0
  68. package/references/state-machine.md +151 -0
  69. package/skills-library/AVAILABLE_TOOLS_REFERENCE.md +333 -0
  70. package/skills-library/SKILLS-INDEX.md +57 -558
  71. package/skills-library/SKILLS_LIBRARY_INDEX.md +532 -0
  72. package/skills-library/_general/api-patterns/api-field-name-mismatch.md +107 -0
  73. package/skills-library/_general/api-patterns/streaming-command-timeout.md +122 -0
  74. package/skills-library/_general/api-patterns/streaming-proxy-cors-bypass.md +102 -0
  75. package/skills-library/_general/automation/settings-gui-generator.md +172 -0
  76. package/skills-library/_general/database-solutions/data-type-mapping-reference.md +181 -0
  77. package/skills-library/_general/database-solutions/mysql-limit-offset-string-coercion.md +102 -0
  78. package/skills-library/_general/database-solutions/mysql-to-pg-migration.md +195 -0
  79. package/skills-library/_general/database-solutions/orm-schema-portability.md +193 -0
  80. package/skills-library/_general/database-solutions/persistent-analysis-storage.md +207 -0
  81. package/skills-library/_general/database-solutions/pg-to-mysql-schema-migration-methodology.md +190 -0
  82. package/skills-library/_general/database-solutions/sql-dialect-compatibility-matrix.md +306 -0
  83. package/skills-library/_general/database-solutions/sqlite-to-pg-migration.md +219 -0
  84. package/skills-library/_general/frontend/canvas-bubble-animation-grouping.md +270 -0
  85. package/skills-library/_general/frontend/color-token-migration.md +112 -0
  86. package/skills-library/_general/frontend/framer-motion-layoutid-grouping.md +150 -0
  87. package/skills-library/_general/frontend/pyqt6-settings-dialog.md +191 -0
  88. package/skills-library/_general/frontend/react-flow-animated-layout-switching.md +101 -0
  89. package/skills-library/_general/frontend/react-hooks-order-debugging.md +141 -0
  90. package/skills-library/_general/frontend/redux-localstorage-auth-desync.md +126 -0
  91. package/skills-library/_general/frontend/safari-csp-theme-color-debugging.md +124 -0
  92. package/skills-library/_general/frontend/safari-sw-cache-poisoning.md +138 -0
  93. package/skills-library/_general/frontend/svg-sparkline-no-charting-library.md +131 -0
  94. package/skills-library/_general/growth-marketing/oss-daily-growth-intelligence.md +224 -0
  95. package/skills-library/_general/integrations/claude-code-local-mcp-integration.md +250 -0
  96. package/skills-library/_general/integrations/mcp-composite-tool-orchestration.md +200 -0
  97. package/skills-library/_general/methodology/AGENT_SDK_STANDALONE_TOOLING.md +181 -0
  98. package/skills-library/_general/methodology/AGENT_TEAMS_GUIDE.md +169 -0
  99. package/skills-library/_general/methodology/ALAS_STATEFUL_EXECUTION.md +207 -0
  100. package/skills-library/_general/methodology/AUTO_REVIEWER_SUBAGENT.md +211 -0
  101. package/skills-library/_general/methodology/CONSISTENCY_CHECK_AMBIGUITY_GATE.md +96 -0
  102. package/skills-library/_general/methodology/DEAD_ENDS_SHELF.md +4 -4
  103. package/skills-library/_general/methodology/DISTILL_NOT_DUMP.md +108 -0
  104. package/skills-library/_general/methodology/EXECUTION_PROGRESS_MONITOR.md +157 -0
  105. package/skills-library/_general/methodology/HIERARCHICAL_REVIEW_MARS.md +122 -0
  106. package/skills-library/_general/methodology/MCP_INTER_AGENT_BRIDGE.md +207 -0
  107. package/skills-library/_general/methodology/MERMAID_WIZARD_DIAGRAMS.md +77 -0
  108. package/skills-library/_general/methodology/MISSING_DIMENSION_DETECTOR.md +89 -0
  109. package/skills-library/_general/methodology/MULTI_AGENT_COORDINATION.md +397 -0
  110. package/skills-library/_general/methodology/OBSERVATION_MASKING.md +100 -0
  111. package/skills-library/_general/methodology/PHOENIX_REBUILD_METHODOLOGY.md +82 -11
  112. package/skills-library/_general/methodology/REVIEW_BACKTRACK_PANEL.md +140 -0
  113. package/skills-library/_general/methodology/REVIEW_FIX_LOOP.md +117 -0
  114. package/skills-library/_general/methodology/VOTING_VERDICT_ARBITRATION.md +155 -0
  115. package/skills-library/_general/methodology/ZERO_FRICTION_CLI_SETUP.md +2 -2
  116. package/skills-library/_general/methodology/dead-code-activation.md +123 -0
  117. package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -240
  118. package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +1 -1
  119. package/skills-library/_general/patterns-standards/GOF_DESIGN_PATTERNS_FOR_AI_AGENTS.md +5 -5
  120. package/skills-library/_general/patterns-standards/cascading-failure-diagnosis.md +119 -0
  121. package/skills-library/_general/patterns-standards/domain-specific-layout-algorithms.md +209 -0
  122. package/skills-library/_general/patterns-standards/python-desktop-app-architecture.md +399 -0
  123. package/skills-library/_general/patterns-standards/realtime-monitoring-dashboard.md +457 -0
  124. package/skills-library/_general/patterns-standards/togglable-processing-pipeline.md +169 -0
  125. package/skills-library/_general/performance/liveclock-extraction.md +112 -0
  126. package/skills-library/_general/performance/ref-based-canvas-animation.md +117 -0
  127. package/skills-library/_general/performance/use-visible-interval.md +131 -0
  128. package/skills-library/_general/testing/playwright-firefox-withcredentials-auth-issue.md +104 -0
  129. package/skills-library/_quarantine/README.md +30 -0
  130. package/skills-library/api-patterns/BROADCAST_SCHEDULER_SHARED_EXECUTE_FUNCTION.md +150 -0
  131. package/skills-library/api-patterns/ERROR_RESPONSE_STANDARDS.md +145 -0
  132. package/skills-library/api-patterns/EXPRESS_ROUTE_ORDERING_MIDDLEWARE_INTERCEPTION.md +326 -0
  133. package/skills-library/api-patterns/PAGINATION_PATTERNS.md +137 -0
  134. package/skills-library/api-patterns/PODCAST_PROGRESS_TRACKING_THREE_ROOT_CAUSES.md +277 -0
  135. package/skills-library/api-patterns/RATE_LIMITING_TOGGLE.md +155 -0
  136. package/skills-library/api-patterns/graphql-content-queries.md +708 -0
  137. package/skills-library/appointment-scheduler-design.md +423 -0
  138. package/skills-library/automation/AUTO_POPULATE_COMPLETE_GUIDE.md +631 -0
  139. package/skills-library/automation/CC_WORKFLOW_STUDIO.md +83 -0
  140. package/skills-library/automation/CLAUDE_CODE_SWARM_MODE.md +95 -0
  141. package/skills-library/automation/DAEMON_TRIGGER_FILE_IPC.md +195 -0
  142. package/skills-library/automation/scheduled-content-publishing.md +608 -0
  143. package/skills-library/awesome-workflows/Blogging-Platform-Instructions/view_commands.md +25 -0
  144. package/skills-library/awesome-workflows/CREDENTIAL-SECURITY-WORKFLOW.md +109 -0
  145. package/skills-library/awesome-workflows/DEBUGGING-WORKFLOW.md +124 -0
  146. package/skills-library/awesome-workflows/Design-Review-Workflow/README.md +31 -0
  147. package/skills-library/awesome-workflows/Design-Review-Workflow/design-principles-example.md +129 -0
  148. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-agent.md +107 -0
  149. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-claude-md-snippet.md +24 -0
  150. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-slash-command.md +38 -0
  151. package/skills-library/awesome-workflows/PARALLEL-RESEARCH-WORKFLOW.md +89 -0
  152. package/skills-library/awesome-workflows/PHASE-EXECUTION-WORKFLOW.md +97 -0
  153. package/skills-library/awesome-workflows/SESSION-HANDOFF-WORKFLOW.md +116 -0
  154. package/skills-library/cms-patterns/content-branch-preview.md +515 -0
  155. package/skills-library/cms-patterns/inline-visual-editing.md +666 -0
  156. package/skills-library/cms-patterns/mdx-component-content.md +649 -0
  157. package/skills-library/cms-patterns/media-manager-abstraction.md +827 -0
  158. package/skills-library/cms-patterns/schema-driven-form-generator.md +838 -0
  159. package/skills-library/complexity-metrics/complexity-divider.md +707 -0
  160. package/skills-library/complexity-metrics/work-with-complexity.md +193 -0
  161. package/skills-library/creative-multimedia/animation-stack-guide.md +577 -0
  162. package/skills-library/creative-multimedia/audio-enhancement-pipeline.md +625 -0
  163. package/skills-library/creative-multimedia/content-repurposing-pipeline.md +1146 -0
  164. package/skills-library/creative-multimedia/data-visualization-generator.md +862 -0
  165. package/skills-library/creative-multimedia/doc-to-podcast-pipeline.md +2184 -0
  166. package/skills-library/creative-multimedia/ffmpeg-command-generator.md +405 -0
  167. package/skills-library/creative-multimedia/image-optimization-pipeline.md +605 -0
  168. package/skills-library/creative-multimedia/multi-format-content-generator.md +1759 -0
  169. package/skills-library/creative-multimedia/og-image-generator.md +635 -0
  170. package/skills-library/creative-multimedia/podcast-audio-composition.md +1355 -0
  171. package/skills-library/creative-multimedia/podcast-quality-evaluation.md +1452 -0
  172. package/skills-library/creative-multimedia/podcast-script-generation.md +1841 -0
  173. package/skills-library/creative-multimedia/svg-generation.md +750 -0
  174. package/skills-library/creative-multimedia/text-to-speech-provider-selector.md +1414 -0
  175. package/skills-library/creative-multimedia/transcription-pipeline-selector.md +677 -0
  176. package/skills-library/creative-multimedia/video-streaming-setup.md +559 -0
  177. package/skills-library/database-solutions/AI_RESPONSE_DATABASE_CACHING.md +520 -0
  178. package/skills-library/database-solutions/CONDITIONAL_SQL_MIGRATION_PATTERN.md +119 -0
  179. package/skills-library/database-solutions/DATABASE_COLUMN_NAME_MISMATCH.md +393 -0
  180. package/skills-library/database-solutions/DATABASE_SCHEMA.md +394 -0
  181. package/skills-library/database-solutions/DATABASE_SCHEMA_VERIFICATION_GUIDE.md +348 -0
  182. package/skills-library/database-solutions/DATABASE_STRATEGY.md +71 -0
  183. package/skills-library/database-solutions/ES_MODULE_SEED_SCRIPT_PATTERN.md +52 -0
  184. package/skills-library/database-solutions/MIGRATION_GUIDE.md +3 -0
  185. package/skills-library/database-solutions/PLPGSQL_VARIABLE_CONFLICT_FIX.md +208 -0
  186. package/skills-library/database-solutions/POSTGRESQL_JSONB_DOUBLE_STRINGIFY_FIX.md +245 -0
  187. package/skills-library/database-solutions/POSTGRESQL_LICENSE_TABLE_DESIGN.md +393 -0
  188. package/skills-library/database-solutions/POSTGRESQL_UUID_DOCUMENT_RAG_DUAL_SCOPE.md +732 -0
  189. package/skills-library/database-solutions/POSTGRES_SQL_TEMPLATE_BINDING_ERROR.md +240 -0
  190. package/skills-library/database-solutions/PRISMA_DB_PUSH_DATA_LOSS_PREVENTION.md +141 -0
  191. package/skills-library/database-solutions/PRODUCTION_QUERY_OPTIMIZATION_RESTART_FIX.md +389 -0
  192. package/skills-library/database-solutions/RLS_SECURITY_GUIDE.md +107 -0
  193. package/skills-library/database-solutions/SCHEMA_ENHANCEMENTS_GUIDE.md +373 -0
  194. package/skills-library/database-solutions/SCHEMA_MIGRATION_GUIDE.md +368 -0
  195. package/skills-library/database-solutions/SCHEMA_VERIFICATION_QUICK_REFERENCE.md +104 -0
  196. package/skills-library/database-solutions/ai-erd-generator.md +1213 -0
  197. package/skills-library/database-solutions/content-publishing-states.md +631 -0
  198. package/skills-library/database-solutions/database-schema-designer.md +522 -0
  199. package/skills-library/database-solutions/er-diagram-components.md +569 -0
  200. package/skills-library/database-solutions/er-to-ddl-mapping.md +1405 -0
  201. package/skills-library/database-solutions/erd-creator-textbook-research.md +433 -0
  202. package/skills-library/database-solutions/erd-react-flow-architecture.md +1965 -0
  203. package/skills-library/database-solutions/mariadb-aggregate-function-replacement.md +145 -0
  204. package/skills-library/database-solutions/normalization-validator.md +778 -0
  205. package/skills-library/database-solutions/postgres-full-text-search-content.md +494 -0
  206. package/skills-library/database-solutions/postgresql-to-mysql-runtime-translation.md +286 -0
  207. package/skills-library/database-solutions/regex-alternation-ordering-sql-types.md +92 -0
  208. package/skills-library/database-solutions/reserved-word-context-aware-quoting.md +142 -0
  209. package/skills-library/database-solutions/sql-ddl-generator.md +756 -0
  210. package/skills-library/database-solutions/supabase-connection-pooler-fix.md +102 -0
  211. package/skills-library/deployment-security/CPANEL_NODE_DEPLOYMENT.md +166 -0
  212. package/skills-library/deployment-security/DEPLOYMENT.md +275 -0
  213. package/skills-library/deployment-security/DEPLOYMENT_CHECKLIST.md +363 -0
  214. package/skills-library/deployment-security/DEPLOYMENT_PLAN.md +669 -0
  215. package/skills-library/deployment-security/KNEX_DATABASE_ABSTRACTION.md +444 -0
  216. package/skills-library/deployment-security/LICENSE_KEY_SYSTEM.md +206 -0
  217. package/skills-library/deployment-security/NODE18_DEPENDENCY_COMPATIBILITY.md +284 -0
  218. package/skills-library/deployment-security/PHP_INSTALLER_WIZARD_GUIDE.md +315 -0
  219. package/skills-library/deployment-security/PM2_ENVIRONMENT_VARIABLE_CACHING.md +256 -0
  220. package/skills-library/deployment-security/PM2_MEMORY_EXHAUSTION_FIX.md +370 -0
  221. package/skills-library/deployment-security/PRODUCTION_DEPLOYMENT_GUIDE.md +592 -0
  222. package/skills-library/deployment-security/PRODUCTION_HARDENING_DOCUMENTATION.md +307 -0
  223. package/skills-library/deployment-security/PRODUCTION_RECOVERY_CHERRY_PICK_PATTERN.md +202 -0
  224. package/skills-library/deployment-security/PYINSTALLER_CUDA_WHISPER_BUNDLING.md +236 -0
  225. package/skills-library/deployment-security/SECURITY.md +41 -0
  226. package/skills-library/deployment-security/SMTP_SSL_HOSTNAME_MISMATCH_SHARED_HOSTING.md +220 -0
  227. package/skills-library/deployment-security/SPA_SEO_OPTIMIZATION_CPANEL.md +200 -0
  228. package/skills-library/deployment-security/SUPABASE_EDGE_FUNCTIONS.md +338 -0
  229. package/skills-library/deployment-security/VERCEL_GITHUB_DEPLOYMENT_GUIDE.md +858 -0
  230. package/skills-library/deployment-security/VPS_DEPLOYMENT_READINESS.md +356 -0
  231. package/skills-library/deployment-security/deployment-changes-not-applying.md +241 -0
  232. package/skills-library/deployment-security/env-file-management-production-local.md +203 -0
  233. package/skills-library/deployment-security/express-secure-file-downloads.md +413 -0
  234. package/skills-library/deployment-security/react-production-deployment-desktop-guide.md +2011 -0
  235. package/skills-library/deployment-security/self-hosted-supabase-coolify-guide.md +1684 -0
  236. package/skills-library/deployment-security/unique-features-ai-strategy-plaid-security.md +1613 -0
  237. package/skills-library/deployment-security/vps-deployment.md +135 -0
  238. package/skills-library/document-processing/WORD_EXPORT_MARKDOWN_FORMATTING.md +482 -0
  239. package/skills-library/document-processing/document-ai-landingai-integration.md +677 -0
  240. package/skills-library/document-processing/express-secure-file-downloads-mern.md +413 -0
  241. package/skills-library/document-processing/express-secure-file-downloads.md +413 -0
  242. package/skills-library/document-processing/md-to-word-converter.md +318 -0
  243. package/skills-library/document-processing/pdf-forms-integration/README.md +101 -0
  244. package/skills-library/document-processing/pdf-forms-integration/SKILL.md +662 -0
  245. package/skills-library/ecommerce/ADMIN_PRODUCTS_GUIDE.md +428 -0
  246. package/skills-library/ecommerce/ECOMMERCE_API_REFERENCE.md +776 -0
  247. package/skills-library/ecommerce/ECOMMERCE_COMPLETION_SUMMARY.md +673 -0
  248. package/skills-library/ecommerce/ECOMMERCE_IMPLEMENTATION_GUIDE.md +729 -0
  249. package/skills-library/ecommerce/ECOMMERCE_QUICK_REFERENCE.md +521 -0
  250. package/skills-library/ecommerce/ECOMMERCE_TESTING_CHECKLIST.md +565 -0
  251. package/skills-library/ecommerce/ECOMMERCE_WORKFLOW_GUIDE.md +1059 -0
  252. package/skills-library/ecommerce/PRODUCT_CREATION_EXPANDED.md +522 -0
  253. package/skills-library/ecommerce/agentic-commerce-protocol.md +203 -0
  254. package/skills-library/ecommerce/cart-abandonment-recovery.md +236 -0
  255. package/skills-library/ecommerce/cart-architecture-patterns.md +300 -0
  256. package/skills-library/ecommerce/cart-item-count-indicator.md +264 -0
  257. package/skills-library/ecommerce/checkout-ux-conversion.md +227 -0
  258. package/skills-library/ecommerce/composable-commerce-selection.md +166 -0
  259. package/skills-library/ecommerce/ecommerce-analytics-patterns.md +167 -0
  260. package/skills-library/ecommerce/fraud-detection-patterns.md +179 -0
  261. package/skills-library/ecommerce/inventory-stock-management.md +270 -0
  262. package/skills-library/ecommerce/order-saga-state-machine.md +336 -0
  263. package/skills-library/ecommerce/payment-provider-abstraction.md +245 -0
  264. package/skills-library/ecommerce/pci-compliance-checklist.md +192 -0
  265. package/skills-library/ecommerce/refund-chargeback-handling.md +177 -0
  266. package/skills-library/ecommerce/shipping-carrier-integration.md +218 -0
  267. package/skills-library/ecommerce/webhook-idempotency-patterns.md +253 -0
  268. package/skills-library/excalidraw-diagrams/.github/workflows/ci.yml +558 -0
  269. package/skills-library/excalidraw-diagrams/.github/workflows/prompt-gallery.yml +448 -0
  270. package/skills-library/excalidraw-diagrams/.github/workflows/release.yml +42 -0
  271. package/skills-library/excalidraw-diagrams/.github/workflows/test-reusable-ci.yml +25 -0
  272. package/skills-library/excalidraw-diagrams/CLAUDE.md +57 -0
  273. package/skills-library/excalidraw-diagrams/LICENSE +21 -0
  274. package/skills-library/excalidraw-diagrams/README.md +178 -0
  275. package/skills-library/excalidraw-diagrams/SKILL.md +715 -0
  276. package/skills-library/form-solutions/BUTTON_TYPE_FORM_SUBMISSION.md +336 -0
  277. package/skills-library/form-solutions/FILLABLE_PDF_IMPLEMENTATION.md +226 -0
  278. package/skills-library/form-solutions/SURVEYJS_QUESTIONNAIRE_SYSTEM.md +367 -0
  279. package/skills-library/form-solutions/tiptap-minimal-setup.md +690 -0
  280. package/skills-library/frontend/scholarly-classification-bubble-map.md +149 -0
  281. package/skills-library/infrastructure/ci-cd-pipeline-builder.md +517 -0
  282. package/skills-library/infrastructure/observability-designer.md +264 -0
  283. package/skills-library/infrastructure/performance-profiler.md +621 -0
  284. package/skills-library/installer-wizard-patterns.md +249 -0
  285. package/skills-library/integrations/CLAUDE_CODE_TOKEN_ANALYTICS.md +160 -0
  286. package/skills-library/integrations/CONFIGURABLE_AI_PROVIDER_SELECTION.md +728 -0
  287. package/skills-library/integrations/SOCKET_IO_BROADCAST_ALL_VS_ROOM.md +141 -0
  288. package/skills-library/integrations/VIRTUAL_MEETINGS_IMPLEMENTATION.md +374 -0
  289. package/skills-library/integrations/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  290. package/skills-library/integrations/YOUTUBE_API_SETUP.md +141 -0
  291. package/skills-library/integrations/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  292. package/skills-library/integrations/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  293. package/skills-library/integrations/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  294. package/skills-library/integrations/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  295. package/skills-library/integrations/ai-ml/GEMINI_AI_RAG_PIPELINE_COMPLETE_GUIDE.md +195 -0
  296. package/skills-library/integrations/ai-ml/GEMINI_IMAGE_GENERATION_SETUP.md +64 -0
  297. package/skills-library/integrations/cloudflare/cloudflare-turnstile-debugging.md +202 -0
  298. package/skills-library/integrations/cloudflare/cloudflare-turnstile-implementation.md +476 -0
  299. package/skills-library/integrations/cloudflare-turnstile-debugging.md +202 -0
  300. package/skills-library/integrations/cloudflare-turnstile-implementation.md +476 -0
  301. package/skills-library/integrations/ghost-creator-monetization-pattern.md +454 -0
  302. package/skills-library/integrations/headless-cms-architecture.md +484 -0
  303. package/skills-library/integrations/headless-cms-stack-selection.md +183 -0
  304. package/skills-library/integrations/payload-cms-patterns.md +674 -0
  305. package/skills-library/integrations/realtimestt-openwakeword-cuda-windows.md +229 -0
  306. package/skills-library/integrations/rss-podcast-integration.md +300 -0
  307. package/skills-library/integrations/wordpress/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  308. package/skills-library/integrations/youtube/YOUTUBE_API_SETUP.md +141 -0
  309. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  310. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  311. package/skills-library/integrations/youtube/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  312. package/skills-library/integrations/youtube/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  313. package/skills-library/marketing/campaign-analytics.md +97 -0
  314. package/skills-library/marketing/content-creator.md +105 -0
  315. package/skills-library/marketing/marketing-strategy-pmm.md +94 -0
  316. package/skills-library/marketing/social-media-analyzer.md +81 -0
  317. package/skills-library/methodology/ADVANCED_ORCHESTRATION_PATTERNS.md +401 -0
  318. package/skills-library/methodology/AGENT_SELF_IMPROVEMENT_LOOP.md +179 -0
  319. package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +1 -1
  320. package/skills-library/methodology/CLEANSING_CYCLE.md +358 -0
  321. package/skills-library/methodology/CONFIDENCE_ANNOTATION_PATTERN.md +143 -0
  322. package/skills-library/methodology/CRITICAL_PATTERNS_DOCUMENTATION_COMPLETE.md +204 -0
  323. package/skills-library/methodology/DELIVERABLES_SUMMARY.md +341 -0
  324. package/skills-library/methodology/DIFFICULTY_AWARE_AGENT_ROUTING.md +252 -0
  325. package/skills-library/methodology/EVOLUTIONARY_SKILL_SYNTHESIS.md +219 -0
  326. package/skills-library/methodology/GLOMERULUS_DECISION_GATE.md +223 -0
  327. package/skills-library/methodology/HIBERNATION_SYSTEM.md +231 -0
  328. package/skills-library/methodology/INSTRUMENTATION_OVER_RESTRICTION.md +192 -0
  329. package/skills-library/methodology/MASTER_COMPLETION_SUMMARY.md +444 -0
  330. package/skills-library/methodology/MASTER_SESSION_COMPLETION.md +743 -0
  331. package/skills-library/methodology/MERN_QUICK_REFERENCE.md +358 -0
  332. package/skills-library/methodology/ORGAN_AGENT_MAPPING.md +177 -0
  333. package/skills-library/methodology/PARALLEL_WAVE_BASED_REFACTORING.md +440 -0
  334. package/skills-library/methodology/QUICK_REFERENCE.md +358 -0
  335. package/skills-library/methodology/SDFT_ONPOLICY_SELF_DISTILLATION.md +186 -0
  336. package/skills-library/methodology/SELF_QUESTIONING_TASK_GENERATION.md +270 -0
  337. package/skills-library/methodology/SESSION_COMPLETION_SUMMARY.md +304 -0
  338. package/skills-library/methodology/SESSION_SUMMARY.md +432 -0
  339. package/skills-library/methodology/WARRIOR_WORKFLOW_DEBUGGING_PROTOCOL.md +252 -0
  340. package/skills-library/methodology/tech-debt-tracker.md +570 -0
  341. package/skills-library/parallel-debug/SKILL.md +60 -0
  342. package/skills-library/patterns-standards/API_PATTERN_FIX_SUMMARY.md +236 -0
  343. package/skills-library/patterns-standards/BATCH_OPERATIONS_WITH_PROGRESS_MODAL.md +362 -0
  344. package/skills-library/patterns-standards/CRITICAL_CODING_PATTERNS.md +639 -0
  345. package/skills-library/patterns-standards/DARK_MODE_MODAL_VISIBILITY.md +258 -0
  346. package/skills-library/patterns-standards/ERROR_RESILIENCE_IMPLEMENTATION.md +375 -0
  347. package/skills-library/patterns-standards/ES_MODULE_IMPORT_HOISTING_DOTENV.md +298 -0
  348. package/skills-library/patterns-standards/NESTED_BACKDROP_FILTER_CSS_ARTIFACT_FIX.md +76 -0
  349. package/skills-library/patterns-standards/ORDERED_DETECTOR_PIPELINE_GRACEFUL_FALLBACK.md +333 -0
  350. package/skills-library/patterns-standards/PHASE_IMPORT_ERROR_DEBUGGING.md +271 -0
  351. package/skills-library/patterns-standards/PYNPUT_GLOBAL_HOTKEY_VK_MATCHING.md +252 -0
  352. package/skills-library/patterns-standards/REACT_USEEFFECT_CASCADE_RESET_FIX.md +132 -0
  353. package/skills-library/patterns-standards/SUBMENU_HOVER_DROPDOWN_PATTERN.md +225 -0
  354. package/skills-library/patterns-standards/TAILWIND_TEXT_VISIBILITY_OVERRIDE.md +322 -0
  355. package/skills-library/patterns-standards/THEME_AWARE_CSS_VARIABLES_PATTERN.md +209 -0
  356. package/skills-library/patterns-standards/THEME_USER_OBJECT_PROPERTY_NAMING.md +194 -0
  357. package/skills-library/patterns-standards/TOOLTIP_BLOCKING_CLICKS_FIX.md +267 -0
  358. package/skills-library/patterns-standards/claude-code-plugin-structure.md +235 -0
  359. package/skills-library/patterns-standards/react-i18next-setup.md +429 -0
  360. package/skills-library/patterns-standards/thesys-c1-generative-ui-integration.md +967 -0
  361. package/skills-library/plugin-development/CLAUDE_CODE_COMMAND_REGISTRATION_SILENT_FAILURE.md +315 -0
  362. package/skills-library/plugin-development/plugin-command-namespace-vs-global.md +390 -0
  363. package/skills-library/plugin-development/plugin-doc-auto-generation.md +172 -0
  364. package/skills-library/security/GITHUB_REPO_SECURITY_AUDIT.md +115 -0
  365. package/skills-library/security/admin-deletion-safety.md +396 -0
  366. package/skills-library/security/application-vuln-patterns.md +477 -0
  367. package/skills-library/security/env-secrets-manager.md +686 -0
  368. package/skills-library/security/secure-ai-application-templates.md +347 -0
  369. package/skills-library/security/sql-injection-prevention-postgresjs.md +151 -0
  370. package/skills-library/supabase-connection-pooler-fix.md +102 -0
  371. package/skills-library/system-context/POWERSHELL_BASH_INTEROP.md +82 -0
  372. package/skills-library/system-context/SERVICE_LIFECYCLE_MANAGEMENT.md +119 -0
  373. package/skills-library/system-context/SKILL.md +40 -0
  374. package/skills-library/system-context/WINDOWS_DEV_ENVIRONMENT.md +73 -0
  375. package/skills-library/testing/E2E_PLAYWRIGHT_PATTERNS.md +99 -0
  376. package/skills-library/testing/INTEGRATION_TEST_STRATEGY.md +82 -0
  377. package/skills-library/testing/RED_GREEN_BUGFIX_GATE.md +203 -0
  378. package/skills-library/testing/TEST_DATA_MANAGEMENT.md +69 -0
  379. package/skills-library/testing/VITEST_UNIT_TEST_PATTERNS.md +75 -0
  380. package/skills-library/testing/playwright-api-security-tests.md +202 -0
  381. package/skills-library/toolbox/SKILL.md +84 -0
  382. package/skills-library/toolbox/code-graph-and-web-scraping-mcps.md +237 -0
  383. package/skills-library/ui-ux-pro-max/ACCESSIBILITY_ESSENTIALS.md +115 -0
  384. package/skills-library/ui-ux-pro-max/DESIGN_SYSTEM_SCAFFOLDING.md +133 -0
  385. package/skills-library/ui-ux-pro-max/RESPONSIVE_LAYOUT_PATTERNS.md +119 -0
  386. package/skills-library/ui-ux-pro-max/SKILL.md +386 -0
  387. package/skills-library/ui-ux-pro-max/data/charts.csv +26 -0
  388. package/skills-library/ui-ux-pro-max/data/colors.csv +97 -0
  389. package/skills-library/ui-ux-pro-max/data/icons.csv +101 -0
  390. package/skills-library/ui-ux-pro-max/data/landing.csv +31 -0
  391. package/skills-library/ui-ux-pro-max/data/products.csv +97 -0
  392. package/skills-library/ui-ux-pro-max/data/react-performance.csv +45 -0
  393. package/skills-library/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  394. package/skills-library/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  395. package/skills-library/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  396. package/skills-library/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  397. package/skills-library/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  398. package/skills-library/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  399. package/skills-library/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  400. package/skills-library/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  401. package/skills-library/ui-ux-pro-max/data/stacks/react.csv +54 -0
  402. package/skills-library/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  403. package/skills-library/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  404. package/skills-library/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  405. package/skills-library/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  406. package/skills-library/ui-ux-pro-max/data/styles.csv +68 -0
  407. package/skills-library/ui-ux-pro-max/data/typography.csv +58 -0
  408. package/skills-library/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  409. package/skills-library/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  410. package/skills-library/ui-ux-pro-max/data/web-interface.csv +31 -0
  411. package/skills-library/wordpress-style-theme-components.md +1526 -0
  412. package/templates/ASSUMPTIONS.md +1 -1
  413. package/templates/DECISION_LOG.md +0 -1
  414. package/templates/phase-prompt.md +1 -1
  415. package/templates/phoenix-comparison.md +6 -6
  416. package/templates/skill-api-integration.md +106 -0
  417. package/templates/skill-architecture-pattern.md +92 -0
  418. package/templates/skill-debug-pattern.md +98 -0
  419. package/templates/skill-devops-recipe.md +107 -0
  420. package/templates/skill-general.md +65 -0
  421. package/templates/skill-ui-component.md +113 -0
  422. package/tools/uat-runner.py +179 -0
  423. package/version.json +7 -3
  424. package/workflows/handoff-session.md +2 -2
  425. package/workflows/new-project.md +2 -2
  426. package/workflows/plan-phase.md +1 -1
  427. package/.claude-plugin/plugin.json +0 -64
  428. package/skills-library/_general/methodology/LIVE_BREADCRUMB_PROTOCOL.md +0 -242
  429. package/skills-library/_general/methodology/llm-judge-memory-crud.md +0 -241
  430. package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +0 -183
  431. package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +0 -263
  432. package/skills-library/methodology/SABBATH_REST_PATTERN.md +0 -267
  433. package/skills-library/methodology/STONE_AND_SCAFFOLD.md +0 -220
  434. package/skills-library/specialists/api-architecture/api-designer.md +0 -49
  435. package/skills-library/specialists/api-architecture/graphql-architect.md +0 -49
  436. package/skills-library/specialists/api-architecture/mcp-developer.md +0 -51
  437. package/skills-library/specialists/api-architecture/microservices-architect.md +0 -50
  438. package/skills-library/specialists/api-architecture/websocket-engineer.md +0 -48
  439. package/skills-library/specialists/backend/django-expert.md +0 -52
  440. package/skills-library/specialists/backend/fastapi-expert.md +0 -52
  441. package/skills-library/specialists/backend/laravel-specialist.md +0 -52
  442. package/skills-library/specialists/backend/nestjs-expert.md +0 -51
  443. package/skills-library/specialists/backend/rails-expert.md +0 -53
  444. package/skills-library/specialists/backend/spring-boot-engineer.md +0 -56
  445. package/skills-library/specialists/data-ml/fine-tuning-expert.md +0 -48
  446. package/skills-library/specialists/data-ml/ml-pipeline.md +0 -47
  447. package/skills-library/specialists/data-ml/pandas-pro.md +0 -47
  448. package/skills-library/specialists/data-ml/rag-architect.md +0 -51
  449. package/skills-library/specialists/data-ml/spark-engineer.md +0 -47
  450. package/skills-library/specialists/frontend/angular-architect.md +0 -52
  451. package/skills-library/specialists/frontend/flutter-expert.md +0 -51
  452. package/skills-library/specialists/frontend/nextjs-developer.md +0 -54
  453. package/skills-library/specialists/frontend/react-native-expert.md +0 -50
  454. package/skills-library/specialists/frontend/vue-expert.md +0 -51
  455. package/skills-library/specialists/infrastructure/chaos-engineer.md +0 -74
  456. package/skills-library/specialists/infrastructure/cloud-architect.md +0 -70
  457. package/skills-library/specialists/infrastructure/database-optimizer.md +0 -64
  458. package/skills-library/specialists/infrastructure/devops-engineer.md +0 -70
  459. package/skills-library/specialists/infrastructure/kubernetes-specialist.md +0 -52
  460. package/skills-library/specialists/infrastructure/monitoring-expert.md +0 -70
  461. package/skills-library/specialists/infrastructure/sre-engineer.md +0 -70
  462. package/skills-library/specialists/infrastructure/terraform-engineer.md +0 -51
  463. package/skills-library/specialists/languages/cpp-pro.md +0 -74
  464. package/skills-library/specialists/languages/csharp-developer.md +0 -69
  465. package/skills-library/specialists/languages/dotnet-core-expert.md +0 -54
  466. package/skills-library/specialists/languages/golang-pro.md +0 -51
  467. package/skills-library/specialists/languages/java-architect.md +0 -49
  468. package/skills-library/specialists/languages/javascript-pro.md +0 -68
  469. package/skills-library/specialists/languages/kotlin-specialist.md +0 -68
  470. package/skills-library/specialists/languages/php-pro.md +0 -49
  471. package/skills-library/specialists/languages/python-pro.md +0 -52
  472. package/skills-library/specialists/languages/react-expert.md +0 -51
  473. package/skills-library/specialists/languages/rust-engineer.md +0 -50
  474. package/skills-library/specialists/languages/sql-pro.md +0 -56
  475. package/skills-library/specialists/languages/swift-expert.md +0 -69
  476. package/skills-library/specialists/languages/typescript-pro.md +0 -51
  477. package/skills-library/specialists/platform/atlassian-mcp.md +0 -52
  478. package/skills-library/specialists/platform/embedded-systems.md +0 -53
  479. package/skills-library/specialists/platform/game-developer.md +0 -53
  480. package/skills-library/specialists/platform/salesforce-developer.md +0 -53
  481. package/skills-library/specialists/platform/shopify-expert.md +0 -49
  482. package/skills-library/specialists/platform/wordpress-pro.md +0 -49
  483. package/skills-library/specialists/quality/code-documenter.md +0 -51
  484. package/skills-library/specialists/quality/code-reviewer.md +0 -67
  485. package/skills-library/specialists/quality/debugging-wizard.md +0 -51
  486. package/skills-library/specialists/quality/fullstack-guardian.md +0 -51
  487. package/skills-library/specialists/quality/legacy-modernizer.md +0 -50
  488. package/skills-library/specialists/quality/playwright-expert.md +0 -65
  489. package/skills-library/specialists/quality/spec-miner.md +0 -56
  490. package/skills-library/specialists/quality/test-master.md +0 -65
  491. package/skills-library/specialists/security/secure-code-guardian.md +0 -55
  492. package/skills-library/specialists/security/security-reviewer.md +0 -53
  493. package/skills-library/specialists/workflow/architecture-designer.md +0 -53
  494. package/skills-library/specialists/workflow/cli-developer.md +0 -70
  495. package/skills-library/specialists/workflow/feature-forge.md +0 -65
  496. package/skills-library/specialists/workflow/prompt-engineer.md +0 -54
  497. package/skills-library/specialists/workflow/the-fool.md +0 -62
  498. /package/skills-library/{performance → _general/performance}/cache-augmented-generation.md +0 -0
  499. /package/skills-library/{debugging → parallel-debug}/FAILURE_TAXONOMY_CLASSIFICATION.md +0 -0
  500. /package/skills-library/{debugging → parallel-debug}/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +0 -0
@@ -0,0 +1,715 @@
1
+ ---
2
+ name: excalidraw-diagrams
3
+ description: Creates Excalidraw diagrams programmatically. Use when the user wants flowcharts, architecture diagrams, system designs, or any visual diagram instead of ASCII art. Outputs .excalidraw files that can be opened directly in Excalidraw or VS Code with the Excalidraw extension.
4
+ ---
5
+
6
+ # Excalidraw Diagram Generator
7
+
8
+ This skill generates Excalidraw diagrams programmatically using Python. Instead of creating ASCII diagrams, use this to produce professional-looking, editable diagrams.
9
+
10
+ **Output format**: `.excalidraw` JSON files that can be:
11
+ - Opened at https://excalidraw.com (drag & drop the file)
12
+ - Edited in VS Code with the Excalidraw extension
13
+ - Embedded in documentation
14
+ - **Exported to SVG/PNG** for embedding in Google Docs, presentations, etc.
15
+
16
+ ## Quick Start
17
+
18
+ ### Method 1: Direct Python Script (Recommended)
19
+
20
+ Write a Python script using the generator library and run it:
21
+
22
+ ```python
23
+ #!/usr/bin/env python3
24
+ import sys
25
+ import os
26
+ sys.path.insert(0, os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts"))
27
+ from excalidraw_generator import Diagram, Flowchart, ArchitectureDiagram
28
+
29
+ # Create your diagram
30
+ d = Diagram()
31
+ box1 = d.box(100, 100, "Step 1", color="blue")
32
+ box2 = d.box(300, 100, "Step 2", color="green")
33
+ d.arrow_between(box1, box2, "next")
34
+ d.save("my_diagram.excalidraw")
35
+ ```
36
+
37
+ Run with:
38
+ ```bash
39
+ python3 /path/to/your_script.py
40
+ ```
41
+
42
+ ### Method 2: Inline Python Execution
43
+
44
+ ```bash
45
+ python3 -c "
46
+ import sys, os
47
+ sys.path.insert(0, os.path.expanduser('~/.claude/skills/excalidraw-diagrams/scripts'))
48
+ from excalidraw_generator import Diagram
49
+
50
+ d = Diagram()
51
+ a = d.box(100, 100, 'Hello', color='blue')
52
+ b = d.box(300, 100, 'World', color='green')
53
+ d.arrow_between(a, b)
54
+ d.save('hello.excalidraw')
55
+ print('Created: hello.excalidraw')
56
+ "
57
+ ```
58
+
59
+ ---
60
+
61
+ ## API Reference
62
+
63
+ ### Diagram Class
64
+
65
+ The base class for all diagrams.
66
+
67
+ ```python
68
+ from excalidraw_generator import Diagram
69
+
70
+ d = Diagram(background="#ffffff") # white background
71
+ ```
72
+
73
+ #### Methods
74
+
75
+ **`box(x, y, label, width=150, height=60, color="blue", shape="rectangle", font_size=18)`**
76
+
77
+ Create a labeled shape. Returns an `Element` for connecting.
78
+
79
+ - `x, y`: Position (top-left corner)
80
+ - `label`: Text to display
81
+ - `color`: "blue", "green", "red", "yellow", "orange", "violet", "cyan", "teal", "gray", "black"
82
+ - `shape`: "rectangle", "ellipse", "diamond"
83
+
84
+ ```python
85
+ box1 = d.box(100, 100, "Process A", color="blue")
86
+ box2 = d.box(100, 200, "Decision?", color="yellow", shape="diamond")
87
+ ```
88
+
89
+ **`text_box(x, y, content, font_size=20, color="black")`**
90
+
91
+ Create standalone text.
92
+
93
+ ```python
94
+ d.text_box(100, 50, "System Architecture", font_size=28, color="black")
95
+ ```
96
+
97
+ **`arrow_between(source, target, label=None, color="black", from_side="auto", to_side="auto")`**
98
+
99
+ Draw an arrow between two elements.
100
+
101
+ - `from_side`, `to_side`: "auto", "left", "right", "top", "bottom"
102
+
103
+ ```python
104
+ d.arrow_between(box1, box2, "sends data")
105
+ d.arrow_between(box1, box3, from_side="bottom", to_side="top")
106
+ ```
107
+
108
+ **`line_between(source, target, color="black")`**
109
+
110
+ Draw a line (no arrowhead) between elements.
111
+
112
+ **`save(path)`**
113
+
114
+ Save the diagram. Extension `.excalidraw` added if not present.
115
+
116
+ ```python
117
+ d.save("output/my_diagram") # Creates output/my_diagram.excalidraw
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Configuration & Styling
123
+
124
+ The diagram generator supports extensive customization through configuration classes.
125
+
126
+ ### DiagramStyle - Global Appearance
127
+
128
+ Control the overall look of all elements in the diagram:
129
+
130
+ ```python
131
+ from excalidraw_generator import Diagram, DiagramStyle
132
+
133
+ # Create a clean, professional diagram
134
+ d = Diagram(diagram_style=DiagramStyle(
135
+ roughness=0, # 0=clean, 1=hand-drawn, 2=rough sketch
136
+ stroke_style="solid", # "solid", "dashed", "dotted"
137
+ stroke_width=2, # Line thickness (1-4)
138
+ color_scheme="corporate" # Named color scheme
139
+ ))
140
+ ```
141
+
142
+ **Roughness levels:**
143
+ - `0` - Architect: Clean, precise lines
144
+ - `1` - Artist: Normal hand-drawn look (default)
145
+ - `2` - Cartoonist: Rough, sketchy appearance
146
+
147
+ ### Color Schemes
148
+
149
+ Use semantic colors from predefined schemes:
150
+
151
+ ```python
152
+ # Available schemes: "default", "monochrome", "corporate", "vibrant", "earth"
153
+ d = Diagram(diagram_style=DiagramStyle(color_scheme="vibrant"))
154
+
155
+ # Get colors by role
156
+ primary = d.scheme_color("primary") # Main components
157
+ secondary = d.scheme_color("secondary") # Supporting elements
158
+ accent = d.scheme_color("accent") # Highlights
159
+ warning = d.scheme_color("warning") # Caution states
160
+ danger = d.scheme_color("danger") # Error states
161
+ neutral = d.scheme_color("neutral") # Backgrounds, users
162
+ ```
163
+
164
+ **Scheme color mappings:**
165
+ | Scheme | Primary | Secondary | Accent | Warning | Danger |
166
+ |--------|---------|-----------|--------|---------|--------|
167
+ | default | blue | green | violet | yellow | red |
168
+ | monochrome | black | gray | gray | gray | black |
169
+ | corporate | blue | teal | violet | orange | red |
170
+ | vibrant | violet | cyan | orange | yellow | red |
171
+ | earth | teal | green | orange | yellow | red |
172
+
173
+ ### FlowchartStyle - Flowchart Customization
174
+
175
+ Customize flowchart node colors and routing behavior:
176
+
177
+ ```python
178
+ from excalidraw_generator import Flowchart, FlowchartStyle
179
+
180
+ fc = Flowchart(flowchart_style=FlowchartStyle(
181
+ start_color="cyan", # Start node color
182
+ end_color="red", # End node color
183
+ process_color="blue", # Process node color
184
+ decision_color="orange", # Decision diamond color
185
+ ))
186
+ ```
187
+
188
+ ### ArchitectureStyle - Architecture Diagram Customization
189
+
190
+ ```python
191
+ from excalidraw_generator import ArchitectureDiagram, ArchitectureStyle
192
+
193
+ arch = ArchitectureDiagram(architecture_style=ArchitectureStyle(
194
+ component_color="blue",
195
+ database_color="green",
196
+ service_color="violet",
197
+ user_color="gray",
198
+ ))
199
+ ```
200
+
201
+ ### BoxStyle - Text Box Sizing
202
+
203
+ Control automatic text box sizing:
204
+
205
+ ```python
206
+ from excalidraw_generator import Diagram, BoxStyle
207
+
208
+ d = Diagram(box_style=BoxStyle(
209
+ h_padding=40, # Horizontal padding (total)
210
+ v_padding=24, # Vertical padding (total)
211
+ min_width=80, # Minimum box width
212
+ min_height=40, # Minimum box height
213
+ font_size=18, # Default font size
214
+ font_family="hand" # "hand", "normal", "code"
215
+ ))
216
+ ```
217
+
218
+ ---
219
+
220
+ ### Flowchart Class
221
+
222
+ Specialized for flowcharts with automatic positioning.
223
+
224
+ ```python
225
+ from excalidraw_generator import Flowchart
226
+
227
+ fc = Flowchart(direction="vertical", spacing=80)
228
+
229
+ fc.start("Begin")
230
+ fc.process("p1", "Process Data")
231
+ fc.decision("d1", "Valid?")
232
+ fc.process("p2", "Save")
233
+ fc.end("Done")
234
+
235
+ fc.connect("__start__", "p1")
236
+ fc.connect("p1", "d1")
237
+ fc.connect("d1", "p2", label="Yes")
238
+ fc.connect("d1", "__end__", label="No")
239
+
240
+ fc.save("flowchart.excalidraw")
241
+ ```
242
+
243
+ #### Methods
244
+
245
+ - `start(label="Start")` - Green ellipse
246
+ - `end(label="End")` - Red ellipse
247
+ - `process(node_id, label, color="blue")` - Blue rectangle
248
+ - `decision(node_id, label, color="yellow")` - Yellow diamond
249
+ - `node(node_id, label, shape, color, width, height)` - Generic node
250
+ - `connect(from_id, to_id, label=None)` - Arrow between nodes
251
+ - `position_at(x, y)` - Set position for next node
252
+
253
+ ---
254
+
255
+ ### AutoLayoutFlowchart Class
256
+
257
+ For complex flowcharts with automatic hierarchical layout. Requires `grandalf` package.
258
+
259
+ ```python
260
+ from excalidraw_generator import AutoLayoutFlowchart, DiagramStyle, FlowchartStyle, LayoutConfig
261
+
262
+ fc = AutoLayoutFlowchart(
263
+ diagram_style=DiagramStyle(roughness=0), # Clean lines
264
+ flowchart_style=FlowchartStyle(decision_color="orange"),
265
+ layout_config=LayoutConfig(
266
+ vertical_spacing=100,
267
+ horizontal_spacing=80,
268
+ )
269
+ )
270
+
271
+ # Add nodes with semantic types
272
+ fc.add_node("start", "Start", shape="ellipse", color="green", node_type="terminal")
273
+ fc.add_node("process1", "Validate Input", node_type="process")
274
+ fc.add_node("check", "Is Valid?", shape="diamond", color="yellow", node_type="decision")
275
+ fc.add_node("success", "Process Data", node_type="process")
276
+ fc.add_node("error", "Show Error", color="red", node_type="process")
277
+ fc.add_node("end", "End", shape="ellipse", color="red", node_type="terminal")
278
+
279
+ # Add edges (arrows)
280
+ fc.add_edge("start", "process1")
281
+ fc.add_edge("process1", "check")
282
+ fc.add_edge("check", "success", label="Yes")
283
+ fc.add_edge("check", "error", label="No")
284
+ fc.add_edge("success", "end")
285
+ fc.add_edge("error", "process1", label="Retry") # Back-edge auto-routes through whitespace
286
+
287
+ # Compute layout and render
288
+ result = fc.compute_layout(
289
+ two_column=True, # Split tall diagrams into columns
290
+ target_aspect_ratio=0.8, # Target width/height ratio
291
+ )
292
+
293
+ fc.save("auto_flowchart.excalidraw")
294
+ ```
295
+
296
+ **Node types for routing:**
297
+ - `terminal` - Start/end nodes
298
+ - `process` - Standard processing steps
299
+ - `decision` - Decision diamonds (arrows exit from sides)
300
+
301
+ #### Methods
302
+
303
+ - `add_node(node_id, label, shape, color, width, height, node_type)` - Add a node
304
+ - `add_edge(from_id, to_id, label, color)` - Add an edge
305
+ - `compute_layout(start_x, start_y, max_width, max_height, routing, two_column, target_aspect_ratio, column_gap)` - Auto-position nodes
306
+
307
+ ---
308
+
309
+ ### ArchitectureDiagram Class
310
+
311
+ For system architecture diagrams.
312
+
313
+ ```python
314
+ from excalidraw_generator import ArchitectureDiagram
315
+
316
+ arch = ArchitectureDiagram()
317
+
318
+ # Add components at specific positions
319
+ arch.user("user", "User", x=100, y=200)
320
+ arch.component("frontend", "React App", x=250, y=200, color="blue")
321
+ arch.service("api", "API Gateway", x=450, y=200, color="violet")
322
+ arch.database("db", "PostgreSQL", x=650, y=200, color="green")
323
+
324
+ # Connect them
325
+ arch.connect("user", "frontend", "HTTPS")
326
+ arch.connect("frontend", "api", "REST")
327
+ arch.connect("api", "db", "SQL")
328
+
329
+ arch.save("architecture.excalidraw")
330
+ ```
331
+
332
+ #### Methods
333
+
334
+ - `component(id, label, x, y, width=150, height=80, color="blue")`
335
+ - `database(id, label, x, y, color="green")` - Ellipse shape
336
+ - `service(id, label, x, y, color="violet")`
337
+ - `user(id, label="User", x=100, y=100)` - Gray ellipse
338
+ - `connect(from_id, to_id, label=None, bidirectional=False)`
339
+
340
+ ---
341
+
342
+ ## Color Reference
343
+
344
+ Available colors (stroke color, with matching light background):
345
+
346
+ | Color | Stroke Hex | Use For |
347
+ |-------|-----------|---------|
348
+ | `blue` | #1971c2 | Primary components |
349
+ | `green` | #2f9e44 | Success, databases |
350
+ | `red` | #e03131 | Errors, end states |
351
+ | `yellow` | #f08c00 | Warnings, decisions |
352
+ | `orange` | #e8590c | Highlights |
353
+ | `violet` | #6741d9 | Services |
354
+ | `cyan` | #0c8599 | Network |
355
+ | `teal` | #099268 | Secondary |
356
+ | `gray` | #868e96 | Users, actors |
357
+ | `black` | #1e1e1e | Text, arrows |
358
+
359
+ ---
360
+
361
+ ## Complete Examples
362
+
363
+ ### Example 1: Simple Flow
364
+
365
+ ```python
366
+ import sys, os
367
+ sys.path.insert(0, os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts"))
368
+ from excalidraw_generator import Diagram
369
+
370
+ d = Diagram()
371
+
372
+ # Title
373
+ d.text_box(200, 30, "Data Processing Pipeline", font_size=24)
374
+
375
+ # Boxes
376
+ input_box = d.box(100, 100, "Input", color="gray")
377
+ process = d.box(300, 100, "Process", color="blue")
378
+ output = d.box(500, 100, "Output", color="green")
379
+
380
+ # Arrows
381
+ d.arrow_between(input_box, process, "raw data")
382
+ d.arrow_between(process, output, "results")
383
+
384
+ d.save("pipeline.excalidraw")
385
+ ```
386
+
387
+ ### Example 2: Decision Flowchart
388
+
389
+ ```python
390
+ import sys, os
391
+ sys.path.insert(0, os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts"))
392
+ from excalidraw_generator import Flowchart
393
+
394
+ fc = Flowchart(direction="vertical", spacing=100)
395
+
396
+ fc.start("User Request")
397
+ fc.process("auth", "Authenticate")
398
+ fc.decision("valid", "Valid Token?")
399
+
400
+ # Branch for Yes
401
+ fc.position_at(300, 340)
402
+ fc.process("proc", "Process Request")
403
+ fc.process("resp", "Return Response")
404
+
405
+ # Branch for No
406
+ fc.position_at(100, 340)
407
+ fc.process("err", "Return 401")
408
+
409
+ fc.connect("__start__", "auth")
410
+ fc.connect("auth", "valid")
411
+ fc.connect("valid", "proc", "Yes")
412
+ fc.connect("valid", "err", "No")
413
+ fc.connect("proc", "resp")
414
+
415
+ fc.save("auth_flow.excalidraw")
416
+ ```
417
+
418
+ ### Example 3: Microservices Architecture
419
+
420
+ ```python
421
+ import sys, os
422
+ sys.path.insert(0, os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts"))
423
+ from excalidraw_generator import ArchitectureDiagram
424
+
425
+ arch = ArchitectureDiagram()
426
+
427
+ # Client layer
428
+ arch.user("client", "Client", x=400, y=50)
429
+
430
+ # Gateway
431
+ arch.service("gateway", "API Gateway", x=350, y=180, color="violet")
432
+
433
+ # Services row
434
+ arch.service("auth", "Auth Service", x=100, y=350, color="blue")
435
+ arch.service("users", "User Service", x=300, y=350, color="blue")
436
+ arch.service("orders", "Order Service", x=500, y=350, color="blue")
437
+ arch.service("notify", "Notification", x=700, y=350, color="cyan")
438
+
439
+ # Databases
440
+ arch.database("authdb", "Auth DB", x=100, y=500, color="green")
441
+ arch.database("userdb", "User DB", x=300, y=500, color="green")
442
+ arch.database("orderdb", "Order DB", x=500, y=500, color="green")
443
+
444
+ # Message queue
445
+ arch.component("queue", "Message Queue", x=600, y=450, color="orange")
446
+
447
+ # Connections
448
+ arch.connect("client", "gateway", "HTTPS")
449
+ arch.connect("gateway", "auth", "gRPC")
450
+ arch.connect("gateway", "users", "gRPC")
451
+ arch.connect("gateway", "orders", "gRPC")
452
+ arch.connect("auth", "authdb", "SQL")
453
+ arch.connect("users", "userdb", "SQL")
454
+ arch.connect("orders", "orderdb", "SQL")
455
+ arch.connect("orders", "queue", "publish")
456
+ arch.connect("queue", "notify", "subscribe")
457
+
458
+ arch.save("microservices.excalidraw")
459
+ ```
460
+
461
+ ---
462
+
463
+ ## Viewing the Output
464
+
465
+ After generating a `.excalidraw` file:
466
+
467
+ 1. **Excalidraw.com**: Go to https://excalidraw.com and drag the file onto the canvas
468
+ 2. **VS Code**: Install the "Excalidraw" extension, then open the file
469
+ 3. **CLI**: Use `open filename.excalidraw` on macOS to open with default app
470
+
471
+ ---
472
+
473
+ ## Exporting to PNG
474
+
475
+ To embed diagrams in Google Docs, presentations, or other documents, export them to PNG using Playwright.
476
+
477
+ ### Using the Export Script
478
+
479
+ ```bash
480
+ # First time setup: install dependencies
481
+ cd ~/.claude/skills/excalidraw-diagrams/scripts
482
+ npm install
483
+ npx playwright install chromium
484
+
485
+ # Export to PNG
486
+ node ~/.claude/skills/excalidraw-diagrams/scripts/export_playwright.js diagram.excalidraw output.png
487
+ ```
488
+
489
+ ### How It Works
490
+
491
+ The Playwright export script:
492
+ 1. Opens excalidraw.com in a headless Chromium browser
493
+ 2. Loads your diagram via drag-and-drop simulation
494
+ 3. Fits the view to content (Shift+1)
495
+ 4. Screenshots the canvas at 1920x1200 resolution
496
+
497
+ ### Requirements
498
+
499
+ - **Node.js**: Version 18 or later
500
+ - **Playwright**: Installed via `npm install` in the scripts directory
501
+ - **Chromium**: Installed via `npx playwright install chromium`
502
+
503
+ ---
504
+
505
+ ## Tips
506
+
507
+ 1. **Positioning**: Use a grid system. Start shapes at multiples of 50 or 100 for alignment.
508
+
509
+ 2. **Spacing**: Leave 50-100px between elements for clean arrows.
510
+
511
+ 3. **Labels**: Keep labels short (2-3 words). Use text boxes for longer descriptions.
512
+
513
+ 4. **Colors**: Use consistent colors for similar components (all databases green, all services blue).
514
+
515
+ 5. **Layout patterns**:
516
+ - **Horizontal flow**: x increases, y constant
517
+ - **Vertical flow**: y increases, x constant
518
+ - **Grid**: Combine both for complex diagrams
519
+
520
+ 6. **After generation**: Open in Excalidraw to fine-tune positions and add hand-drawn elements.
521
+
522
+ ---
523
+
524
+ ## Google Drive Integration
525
+
526
+ Save diagrams directly to Google Drive for cloud storage and human editing via Excalidraw web.
527
+
528
+ ### Quick Upload
529
+
530
+ ```python
531
+ import sys, os
532
+ sys.path.insert(0, os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts"))
533
+ from excalidraw_generator import Diagram
534
+
535
+ d = Diagram()
536
+ d.box(100, 100, "Cloud Diagram", color="blue")
537
+
538
+ # Save directly to Google Drive
539
+ result = d.save_to_drive("my_diagram.excalidraw", share_public=True)
540
+
541
+ print(f"View in Drive: {result['file']['web_view_link']}")
542
+ print(f"Edit in Excalidraw: {result['edit_url']}")
543
+ ```
544
+
545
+ ### save_to_drive() Method
546
+
547
+ **`save_to_drive(name=None, folder_id=None, share_public=False, local_path=None)`**
548
+
549
+ Save diagram directly to Google Drive.
550
+
551
+ - `name`: Filename in Drive (default: "diagram.excalidraw")
552
+ - `folder_id`: Drive folder ID to upload to (default: root)
553
+ - `share_public`: If True, make file publicly accessible
554
+ - `local_path`: Also save locally to this path (optional)
555
+
556
+ Returns a dict with:
557
+ - `file.id`: Google Drive file ID
558
+ - `file.web_view_link`: Link to view in Drive
559
+ - `edit_url`: Link to open in Excalidraw.com
560
+ - `share`: Sharing info (if share_public=True)
561
+
562
+ ### Using drive_helper Directly
563
+
564
+ For more control, use the drive_helper module:
565
+
566
+ ```python
567
+ import sys, os
568
+ sys.path.insert(0, os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts"))
569
+ from excalidraw_generator import Diagram
570
+ from drive_helper import upload_to_drive, share_file, search_excalidraw_files
571
+
572
+ # Create and save locally first
573
+ d = Diagram()
574
+ d.box(100, 100, "Hello")
575
+ d.save("hello.excalidraw")
576
+
577
+ # Upload to specific folder
578
+ result = upload_to_drive("hello.excalidraw", folder_id="YOUR_FOLDER_ID")
579
+
580
+ # Share with specific user
581
+ share_file(result["file"]["id"], email="user@example.com", role="writer")
582
+
583
+ # Find all excalidraw files in Drive
584
+ files = search_excalidraw_files()
585
+ ```
586
+
587
+ ### DriveUploader Class
588
+
589
+ For batch uploads or folder organization:
590
+
591
+ ```python
592
+ from drive_helper import DriveUploader
593
+
594
+ uploader = DriveUploader(folder_id="YOUR_FOLDER_ID")
595
+
596
+ result = uploader.upload(
597
+ "diagram.excalidraw",
598
+ name="My Diagram",
599
+ share_public=True
600
+ )
601
+ ```
602
+
603
+ ### Human Editing Workflow
604
+
605
+ After saving to Drive, users can edit diagrams in two ways:
606
+
607
+ 1. **Excalidraw.com** (via edit_url):
608
+ - Open `edit_url` in browser
609
+ - Excalidraw loads the file from Drive
610
+ - Edit and save changes
611
+
612
+ 2. **gdrive.excalidraw.com**:
613
+ - Go to https://gdrive.excalidraw.com
614
+ - Connect Google Drive
615
+ - Open and edit files directly
616
+
617
+ ### Round-Trip Workflow
618
+
619
+ Create with Claude → Human edits → Claude updates:
620
+
621
+ ```python
622
+ from drive_helper import download_from_drive, update_in_drive
623
+
624
+ # Download human-edited version
625
+ download_from_drive(file_id, "updated_diagram.excalidraw")
626
+
627
+ # Make programmatic changes
628
+ d = Diagram()
629
+ # ... load and modify ...
630
+ d.save("updated_diagram.excalidraw")
631
+
632
+ # Upload changes back
633
+ update_in_drive(file_id, "updated_diagram.excalidraw")
634
+ ```
635
+
636
+ ### Complete Workflow: Diagram to Google Doc
637
+
638
+ Create a diagram, export to PNG, and embed in a Google Doc:
639
+
640
+ ```python
641
+ import sys, os, subprocess, json
642
+ sys.path.insert(0, os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts"))
643
+ from excalidraw_generator import ArchitectureDiagram
644
+
645
+ # 1. Create the diagram
646
+ arch = ArchitectureDiagram()
647
+ arch.user("user", "User", x=50, y=150)
648
+ arch.component("frontend", "Frontend", x=200, y=130, color="blue")
649
+ arch.service("api", "API Gateway", x=400, y=130, color="violet")
650
+ arch.database("db", "Database", x=600, y=150, color="green")
651
+ arch.connect("user", "frontend", "HTTPS")
652
+ arch.connect("frontend", "api", "REST")
653
+ arch.connect("api", "db", "SQL")
654
+
655
+ # 2. Save locally and to Drive
656
+ arch.save("/tmp/architecture.excalidraw")
657
+ drive_result = arch.save_to_drive("architecture.excalidraw", share_public=True)
658
+ file_id = drive_result["file"]["id"]
659
+ edit_url = drive_result["edit_url"]
660
+
661
+ # 3. Export to PNG using Playwright
662
+ subprocess.run([
663
+ "node", os.path.expanduser("~/.claude/skills/excalidraw-diagrams/scripts/export_playwright.js"),
664
+ "/tmp/architecture.excalidraw", "/tmp/architecture.png"
665
+ ])
666
+
667
+ # 4. Upload PNG to Drive and share
668
+ drive_script = os.path.expanduser("~/.claude/skills/google-docs/scripts/drive_manager.rb")
669
+ png_result = subprocess.run(
670
+ ["ruby", drive_script, "upload", "--file", "/tmp/architecture.png"],
671
+ capture_output=True, text=True
672
+ )
673
+ png_data = json.loads(png_result.stdout)
674
+ png_id = png_data["file"]["id"]
675
+
676
+ # Share the PNG publicly
677
+ subprocess.run(["ruby", drive_script, "share", "--file-id", png_id, "--type", "anyone", "--role", "reader"])
678
+ png_url = f"https://drive.google.com/uc?id={png_id}&export=download"
679
+
680
+ # 5. Create Google Doc with embedded image
681
+ docs_script = os.path.expanduser("~/.claude/skills/google-docs/scripts/docs_manager.rb")
682
+
683
+ # Create document
684
+ doc_input = json.dumps({"title": "Architecture Overview", "content": "System Architecture\\n\\n"})
685
+ doc_result = subprocess.run(
686
+ ["ruby", docs_script, "create"],
687
+ input=doc_input, capture_output=True, text=True
688
+ )
689
+ doc_data = json.loads(doc_result.stdout)
690
+ doc_id = doc_data["document_id"]
691
+
692
+ # Insert image (Note: SVG not supported - must use PNG)
693
+ # Width 468pt fits standard Google Doc margins; height auto-scales
694
+ img_input = json.dumps({
695
+ "document_id": doc_id,
696
+ "image_url": png_url,
697
+ "index": 25,
698
+ "width": 468 # Page width in points (fits default margins)
699
+ })
700
+ subprocess.run(["ruby", docs_script, "insert-image"], input=img_input, capture_output=True, text=True)
701
+
702
+ # Append edit link
703
+ link_input = json.dumps({"document_id": doc_id, "text": f"\\n\\nEdit diagram: {edit_url}"})
704
+ subprocess.run(["ruby", docs_script, "append"], input=link_input, capture_output=True, text=True)
705
+
706
+ print(f"Document: https://docs.google.com/document/d/{doc_id}/edit")
707
+ print(f"Edit diagram: {edit_url}")
708
+ ```
709
+
710
+ **Important**: Google Docs does not support SVG images. Always export to PNG for embedding.
711
+
712
+ ### Prerequisites
713
+
714
+ - Google Docs skill must be installed (provides OAuth and drive_manager.rb)
715
+ - First run will prompt for Google authorization if not already done