@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,448 @@
1
+ name: Prompt Gallery
2
+
3
+ on:
4
+ # Run on main branch pushes
5
+ push:
6
+ branches: [main]
7
+ paths:
8
+ - 'tests/prompts.json'
9
+ - 'scripts/excalidraw_generator.py'
10
+ - 'SKILL.md'
11
+ - '.github/workflows/prompt-gallery.yml'
12
+ # Allow manual trigger
13
+ workflow_dispatch:
14
+ # Run weekly to catch any regressions
15
+ schedule:
16
+ - cron: '0 0 * * 0' # Weekly on Sunday
17
+
18
+ jobs:
19
+ generate-gallery:
20
+ name: Generate Prompt Gallery
21
+ runs-on: ubuntu-latest
22
+ # Only run if ANTHROPIC_API_KEY is available
23
+ if: github.repository == 'robtaylor/excalidraw-diagrams'
24
+ permissions:
25
+ contents: write
26
+ id-token: write
27
+
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+
31
+ - name: Set up Python
32
+ uses: actions/setup-python@v5
33
+ with:
34
+ python-version: '3.11'
35
+
36
+ - name: Set up Node.js
37
+ uses: actions/setup-node@v4
38
+ with:
39
+ node-version: '20'
40
+
41
+ - name: Install dependencies
42
+ run: |
43
+ pip install grandalf
44
+ cd scripts
45
+ npm install
46
+ npx playwright install chromium
47
+
48
+ - name: Install skill to test location
49
+ run: |
50
+ mkdir -p ~/.claude/skills
51
+ cp -r . ~/.claude/skills/excalidraw-diagrams
52
+
53
+ - name: Create output directory
54
+ run: mkdir -p gallery_output
55
+
56
+ - name: Generate diagrams with Claude
57
+ uses: robtaylor/claude-code-action@main
58
+ with:
59
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
60
+ github_token: ${{ secrets.GITHUB_TOKEN }}
61
+ claude_args: "--allowedTools Write,Read,Bash,Glob,Grep,Skill"
62
+ prompt: |
63
+ You are testing the excalidraw-diagrams skill by generating diagrams from prompts.
64
+
65
+ Read the file tests/prompts.json which contains an array of test prompts.
66
+
67
+ For EACH prompt in the array:
68
+ 1. Use the excalidraw-diagrams skill to generate the diagram as described
69
+ 2. Save it to the gallery_output/ directory with the filename specified in the prompt
70
+ 3. After generating each diagram, verify the file exists and report the element count
71
+
72
+ Work through ALL prompts in the file. Report a summary at the end showing:
73
+ - Total prompts processed
74
+ - Successful generations
75
+ - Any failures
76
+
77
+ Use the excalidraw-diagrams skill (invoke /excalidraw-diagrams) to create each diagram.
78
+ env:
79
+ ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
80
+
81
+ - name: Move diagrams to gallery_output if needed
82
+ run: |
83
+ # Move any .excalidraw files from root to gallery_output
84
+ for f in *.excalidraw; do
85
+ [ -f "$f" ] && mv "$f" gallery_output/ 2>/dev/null || true
86
+ done
87
+ echo "Diagrams in gallery_output:"
88
+ ls -la gallery_output/*.excalidraw 2>/dev/null || echo "No diagrams found"
89
+
90
+ - name: Convert diagrams to PNG
91
+ run: |
92
+ cd gallery_output
93
+ for f in ./*.excalidraw; do
94
+ if [ -f "$f" ]; then
95
+ name=$(basename "$f" .excalidraw)
96
+ echo "Converting $name..."
97
+ node "$GITHUB_WORKSPACE/scripts/export_playwright.js" "$f" "${name}.png" || echo "Failed to convert $name"
98
+ fi
99
+ done
100
+ echo "Generated PNGs:"
101
+ ls -la *.png 2>/dev/null || echo "No PNGs generated"
102
+
103
+ - name: Validate line routing
104
+ id: validate
105
+ run: |
106
+ cd gallery_output
107
+ echo "## Line Routing Validation" > validation_report.md
108
+ echo "" >> validation_report.md
109
+
110
+ TOTAL_ERRORS=0
111
+ TOTAL_WARNINGS=0
112
+ TOTAL_INFO=0
113
+
114
+ for f in ./*.excalidraw; do
115
+ if [ -f "$f" ]; then
116
+ name=$(basename "$f" .excalidraw)
117
+ echo "Validating $name..."
118
+
119
+ # Run validator and capture output
120
+ OUTPUT=$(python3 "$GITHUB_WORKSPACE/scripts/line_routing_validator.py" "$f" 2>&1) || true
121
+
122
+ # Count issues
123
+ ERRORS=$(echo "$OUTPUT" | grep -c '\[ERROR\]' || echo "0")
124
+ WARNINGS=$(echo "$OUTPUT" | grep -c '\[WARNING\]' || echo "0")
125
+ INFO=$(echo "$OUTPUT" | grep -c '\[INFO\]' || echo "0")
126
+
127
+ TOTAL_ERRORS=$((TOTAL_ERRORS + ERRORS))
128
+ TOTAL_WARNINGS=$((TOTAL_WARNINGS + WARNINGS))
129
+ TOTAL_INFO=$((TOTAL_INFO + INFO))
130
+
131
+ if [ "$ERRORS" -gt 0 ] || [ "$WARNINGS" -gt 0 ]; then
132
+ echo "### $name" >> validation_report.md
133
+ echo '```' >> validation_report.md
134
+ echo "$OUTPUT" | grep -E '\[(ERROR|WARNING|INFO)\]' >> validation_report.md || true
135
+ echo '```' >> validation_report.md
136
+ echo "" >> validation_report.md
137
+ fi
138
+ fi
139
+ done
140
+
141
+ echo "" >> validation_report.md
142
+ echo "**Summary**: $TOTAL_ERRORS errors, $TOTAL_WARNINGS warnings, $TOTAL_INFO info" >> validation_report.md
143
+
144
+ # Export for later steps
145
+ echo "errors=$TOTAL_ERRORS" >> $GITHUB_OUTPUT
146
+ echo "warnings=$TOTAL_WARNINGS" >> $GITHUB_OUTPUT
147
+ echo "info=$TOTAL_INFO" >> $GITHUB_OUTPUT
148
+
149
+ # Show report
150
+ cat validation_report.md
151
+
152
+ - name: Generate gallery HTML
153
+ run: |
154
+ python3 << 'EOF'
155
+ import json
156
+ from pathlib import Path
157
+ from datetime import datetime
158
+
159
+ # Load prompts for descriptions
160
+ prompts_data = json.load(open('tests/prompts.json'))
161
+ prompts_map = {p['id']: p for p in prompts_data['prompts']}
162
+
163
+ gallery_dir = Path('gallery_output')
164
+ pngs = sorted(gallery_dir.glob('*.png'))
165
+
166
+ cards = []
167
+ for png in pngs:
168
+ name = png.stem
169
+ prompt_info = prompts_map.get(name, {})
170
+ title = prompt_info.get('name', name.replace('_', ' ').title())
171
+ desc = prompt_info.get('description', 'Generated diagram')
172
+ prompt_text = prompt_info.get('prompt', '')[:200] + '...' if prompt_info.get('prompt', '') else ''
173
+
174
+ cards.append(f'''
175
+ <div class="card">
176
+ <a href="{name}.png" target="_blank">
177
+ <img src="{name}.png" alt="{title}" loading="lazy">
178
+ </a>
179
+ <h3>{title}</h3>
180
+ <p class="description">{desc}</p>
181
+ <details>
182
+ <summary>View prompt</summary>
183
+ <p class="prompt">{prompt_info.get('prompt', 'N/A')}</p>
184
+ </details>
185
+ <div class="actions">
186
+ <a href="{name}.excalidraw" download class="btn">Download .excalidraw</a>
187
+ </div>
188
+ </div>
189
+ ''')
190
+
191
+ html = f'''<!DOCTYPE html>
192
+ <html lang="en">
193
+ <head>
194
+ <meta charset="UTF-8">
195
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
196
+ <title>Excalidraw Diagram Gallery - AI Generated</title>
197
+ <style>
198
+ :root {{
199
+ --bg: #0d1117;
200
+ --card-bg: #161b22;
201
+ --text: #c9d1d9;
202
+ --text-muted: #8b949e;
203
+ --accent: #58a6ff;
204
+ --border: #30363d;
205
+ }}
206
+ * {{ box-sizing: border-box; }}
207
+ body {{
208
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
209
+ max-width: 1400px;
210
+ margin: 0 auto;
211
+ padding: 20px;
212
+ background: var(--bg);
213
+ color: var(--text);
214
+ }}
215
+ h1 {{ color: var(--text); margin-bottom: 8px; }}
216
+ .subtitle {{ color: var(--text-muted); margin-bottom: 24px; }}
217
+ .gallery {{
218
+ display: grid;
219
+ grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
220
+ gap: 24px;
221
+ }}
222
+ .card {{
223
+ background: var(--card-bg);
224
+ border: 1px solid var(--border);
225
+ border-radius: 12px;
226
+ padding: 16px;
227
+ transition: transform 0.2s, box-shadow 0.2s;
228
+ }}
229
+ .card:hover {{
230
+ transform: translateY(-4px);
231
+ box-shadow: 0 8px 24px rgba(0,0,0,0.4);
232
+ }}
233
+ .card img {{
234
+ width: 100%;
235
+ border-radius: 8px;
236
+ background: white;
237
+ cursor: pointer;
238
+ }}
239
+ .card h3 {{
240
+ margin: 16px 0 8px 0;
241
+ color: var(--accent);
242
+ font-size: 1.1em;
243
+ }}
244
+ .card .description {{
245
+ color: var(--text-muted);
246
+ margin: 0 0 12px 0;
247
+ font-size: 14px;
248
+ }}
249
+ .card details {{
250
+ margin: 12px 0;
251
+ font-size: 13px;
252
+ }}
253
+ .card summary {{
254
+ cursor: pointer;
255
+ color: var(--accent);
256
+ }}
257
+ .card .prompt {{
258
+ color: var(--text-muted);
259
+ background: var(--bg);
260
+ padding: 12px;
261
+ border-radius: 6px;
262
+ margin-top: 8px;
263
+ font-size: 12px;
264
+ line-height: 1.5;
265
+ }}
266
+ .actions {{
267
+ margin-top: 12px;
268
+ }}
269
+ .btn {{
270
+ display: inline-block;
271
+ padding: 8px 16px;
272
+ background: var(--accent);
273
+ color: white;
274
+ text-decoration: none;
275
+ border-radius: 6px;
276
+ font-size: 13px;
277
+ font-weight: 500;
278
+ }}
279
+ .btn:hover {{
280
+ opacity: 0.9;
281
+ }}
282
+ .stats {{
283
+ background: var(--card-bg);
284
+ border: 1px solid var(--border);
285
+ border-radius: 8px;
286
+ padding: 16px;
287
+ margin-bottom: 24px;
288
+ display: flex;
289
+ gap: 32px;
290
+ }}
291
+ .stat {{
292
+ text-align: center;
293
+ }}
294
+ .stat-value {{
295
+ font-size: 2em;
296
+ font-weight: bold;
297
+ color: var(--accent);
298
+ }}
299
+ .stat-label {{
300
+ color: var(--text-muted);
301
+ font-size: 14px;
302
+ }}
303
+ footer {{
304
+ margin-top: 40px;
305
+ padding-top: 20px;
306
+ border-top: 1px solid var(--border);
307
+ color: var(--text-muted);
308
+ font-size: 12px;
309
+ text-align: center;
310
+ }}
311
+ footer a {{ color: var(--accent); }}
312
+ </style>
313
+ </head>
314
+ <body>
315
+ <h1>Excalidraw Diagram Gallery</h1>
316
+ <p class="subtitle">AI-generated diagrams using Claude Code with the excalidraw-diagrams skill</p>
317
+
318
+ <div class="stats">
319
+ <div class="stat">
320
+ <div class="stat-value">{len(pngs)}</div>
321
+ <div class="stat-label">Diagrams Generated</div>
322
+ </div>
323
+ <div class="stat">
324
+ <div class="stat-value">{len(prompts_data['prompts'])}</div>
325
+ <div class="stat-label">Test Prompts</div>
326
+ </div>
327
+ </div>
328
+
329
+ <div class="gallery">
330
+ {"".join(cards)}
331
+ </div>
332
+
333
+ <footer>
334
+ Generated on {datetime.utcnow().strftime("%Y-%m-%d %H:%M UTC")} by
335
+ <a href="https://github.com/robtaylor/excalidraw-diagrams">excalidraw-diagrams</a> |
336
+ <a href="https://github.com/robtaylor/excalidraw-diagrams/actions">View CI Runs</a>
337
+ </footer>
338
+ </body>
339
+ </html>'''
340
+
341
+ (gallery_dir / 'index.html').write_text(html)
342
+ print(f"Generated gallery with {len(pngs)} diagrams")
343
+ EOF
344
+
345
+ - name: Upload gallery artifacts
346
+ uses: actions/upload-artifact@v4
347
+ with:
348
+ name: prompt-gallery
349
+ path: gallery_output/
350
+
351
+ - name: Deploy to GitHub Pages
352
+ if: github.ref == 'refs/heads/main'
353
+ run: |
354
+ # Configure git
355
+ git config user.name "github-actions[bot]"
356
+ git config user.email "github-actions[bot]@users.noreply.github.com"
357
+
358
+ # Save gallery files
359
+ cp -r gallery_output /tmp/prompt-gallery
360
+
361
+ # Clean and switch to gh-pages
362
+ git clean -fd
363
+ if git fetch origin gh-pages:gh-pages 2>/dev/null; then
364
+ git checkout gh-pages
365
+ else
366
+ git checkout --orphan gh-pages
367
+ git rm -rf . 2>/dev/null || true
368
+ fi
369
+
370
+ # Create prompt-gallery subdirectory
371
+ rm -rf prompt-gallery 2>/dev/null || true
372
+ mkdir -p prompt-gallery
373
+ cp -r /tmp/prompt-gallery/* prompt-gallery/
374
+
375
+ # Update main gallery page to link to prompt gallery
376
+ if [ -f index.html ]; then
377
+ # Add link to prompt gallery if not already present
378
+ if ! grep -q "prompt-gallery" index.html; then
379
+ sed -i 's|</body>|<p style="margin-top: 20px; text-align: center;"><a href="prompt-gallery/" style="color: #1a73e8;">View AI-Generated Prompt Gallery →</a></p></body>|' index.html
380
+ fi
381
+ fi
382
+
383
+ # Commit and push
384
+ git add .
385
+ git commit -m "Update prompt gallery from CI run ${{ github.run_number }}" || echo "No changes"
386
+ git push origin gh-pages --force
387
+
388
+ - name: Generate step summary
389
+ if: always()
390
+ run: |
391
+ # Use /tmp copies since gh-pages deployment may have changed working directory
392
+ echo "## 🎨 Prompt Gallery Results" >> $GITHUB_STEP_SUMMARY
393
+ echo "" >> $GITHUB_STEP_SUMMARY
394
+
395
+ # Count results from /tmp where we saved files before gh-pages switch
396
+ TOTAL_PROMPTS=10 # Known from prompts.json
397
+ GENERATED=$(ls /tmp/prompt-gallery/*.excalidraw 2>/dev/null | wc -l | tr -d ' ')
398
+ PNGS=$(ls /tmp/prompt-gallery/*.png 2>/dev/null | wc -l | tr -d ' ')
399
+
400
+ echo "| Metric | Count |" >> $GITHUB_STEP_SUMMARY
401
+ echo "|--------|-------|" >> $GITHUB_STEP_SUMMARY
402
+ echo "| Total Prompts | $TOTAL_PROMPTS |" >> $GITHUB_STEP_SUMMARY
403
+ echo "| Diagrams Generated | $GENERATED |" >> $GITHUB_STEP_SUMMARY
404
+ echo "| PNG Exports | $PNGS |" >> $GITHUB_STEP_SUMMARY
405
+ echo "" >> $GITHUB_STEP_SUMMARY
406
+
407
+ # Add validation summary
408
+ echo "### 🔍 Line Routing Validation" >> $GITHUB_STEP_SUMMARY
409
+ echo "" >> $GITHUB_STEP_SUMMARY
410
+ VALIDATION_ERRORS="${{ steps.validate.outputs.errors }}"
411
+ VALIDATION_WARNINGS="${{ steps.validate.outputs.warnings }}"
412
+ VALIDATION_INFO="${{ steps.validate.outputs.info }}"
413
+ if [ -n "$VALIDATION_ERRORS" ]; then
414
+ if [ "$VALIDATION_ERRORS" -gt 0 ]; then
415
+ echo "⚠️ **$VALIDATION_ERRORS errors**, $VALIDATION_WARNINGS warnings, $VALIDATION_INFO info" >> $GITHUB_STEP_SUMMARY
416
+ elif [ "$VALIDATION_WARNINGS" -gt 0 ]; then
417
+ echo "⚡ **$VALIDATION_WARNINGS warnings**, $VALIDATION_INFO info" >> $GITHUB_STEP_SUMMARY
418
+ else
419
+ echo "✅ No routing issues detected" >> $GITHUB_STEP_SUMMARY
420
+ fi
421
+ echo "" >> $GITHUB_STEP_SUMMARY
422
+ if [ -f /tmp/prompt-gallery/validation_report.md ]; then
423
+ echo "<details><summary>View details</summary>" >> $GITHUB_STEP_SUMMARY
424
+ echo "" >> $GITHUB_STEP_SUMMARY
425
+ cat /tmp/prompt-gallery/validation_report.md >> $GITHUB_STEP_SUMMARY
426
+ echo "</details>" >> $GITHUB_STEP_SUMMARY
427
+ echo "" >> $GITHUB_STEP_SUMMARY
428
+ fi
429
+ fi
430
+
431
+ if [ "$GENERATED" -gt 0 ]; then
432
+ echo "### Generated Diagrams" >> $GITHUB_STEP_SUMMARY
433
+ echo "" >> $GITHUB_STEP_SUMMARY
434
+ for f in /tmp/prompt-gallery/*.excalidraw; do
435
+ if [ -f "$f" ]; then
436
+ name=$(basename "$f" .excalidraw)
437
+ elements=$(python3 -c "import json; print(len(json.load(open('$f')).get('elements', [])))")
438
+ echo "- **$name**: $elements elements" >> $GITHUB_STEP_SUMMARY
439
+ fi
440
+ done
441
+ fi
442
+
443
+ echo "" >> $GITHUB_STEP_SUMMARY
444
+ if [ "${{ github.ref }}" == "refs/heads/main" ]; then
445
+ echo "🌐 **[View Gallery](https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/prompt-gallery/)**" >> $GITHUB_STEP_SUMMARY
446
+ else
447
+ echo "📦 Download the **prompt-gallery** artifact to view results" >> $GITHUB_STEP_SUMMARY
448
+ fi
@@ -0,0 +1,42 @@
1
+ name: Release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ # Allow manual trigger for testing
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ build-release:
11
+ name: Build Release Artifacts
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: write # Required to upload release assets
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: '3.11'
23
+
24
+ - name: Run tests
25
+ run: python tests/test_generator.py
26
+
27
+ - name: Create capability zip
28
+ run: python scripts/create_capability_zip.py
29
+
30
+ - name: Upload capability zip as artifact
31
+ uses: actions/upload-artifact@v4
32
+ with:
33
+ name: excalidraw-diagrams-capability
34
+ path: excalidraw-diagrams-capability.zip
35
+
36
+ - name: Upload to release
37
+ if: github.event_name == 'release'
38
+ uses: softprops/action-gh-release@v2
39
+ with:
40
+ files: excalidraw-diagrams-capability.zip
41
+ env:
42
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,25 @@
1
+ # Test using the reusable skill-ci workflow from anthropics/skills
2
+ name: Skill CI
3
+
4
+ on:
5
+ push:
6
+ branches: [main]
7
+ pull_request:
8
+ branches: [main]
9
+ workflow_dispatch:
10
+
11
+ # Grant permissions needed by the reusable workflow
12
+ permissions:
13
+ contents: read
14
+ id-token: write
15
+ pull-requests: write
16
+
17
+ jobs:
18
+ test:
19
+ # Using robtaylor/skills fork while testing, will change to anthropics/skills
20
+ uses: robtaylor/skills/.github/workflows/skill-ci.yml@add-skill-ci
21
+ with:
22
+ skill_path: "."
23
+ run_api_test: true
24
+ run_claude_code_test: true
25
+ secrets: inherit
@@ -0,0 +1,57 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Overview
6
+
7
+ This is a Claude Code skill for generating Excalidraw diagrams programmatically. It provides Python classes (`Diagram`, `Flowchart`, `ArchitectureDiagram`) that output `.excalidraw` JSON files.
8
+
9
+ ## Commands
10
+
11
+ **Run unit tests:**
12
+ ```bash
13
+ python tests/test_generator.py
14
+ ```
15
+
16
+ **Run API integration test (requires ANTHROPIC_API_KEY):**
17
+ ```bash
18
+ ANTHROPIC_API_KEY=sk-... python tests/test_api_skill.py
19
+ ```
20
+
21
+ **Generate example diagram:**
22
+ ```bash
23
+ python scripts/excalidraw_generator.py
24
+ ```
25
+
26
+ **Create capability zip for Claude.ai web:**
27
+ ```bash
28
+ python scripts/create_capability_zip.py
29
+ ```
30
+
31
+ ## Architecture
32
+
33
+ - `SKILL.md` - Skill definition with frontmatter (name, description) and usage documentation for Claude Code
34
+ - `scripts/excalidraw_generator.py` - Core Python library with:
35
+ - Low-level element functions: `rectangle()`, `ellipse()`, `diamond()`, `text()`, `arrow()`, `line()`
36
+ - `Diagram` class - Base class for creating diagrams with `box()`, `text_box()`, `arrow_between()`, `line_between()`
37
+ - `Flowchart(Diagram)` - Auto-positioning flowcharts with `start()`, `end()`, `process()`, `decision()`, `connect()`
38
+ - `ArchitectureDiagram(Diagram)` - System architecture with `component()`, `database()`, `service()`, `user()`, `connect()`
39
+ - `scripts/create_capability_zip.py` - Packages skill for Claude.ai web upload
40
+ - `tests/test_generator.py` - Unit tests for all diagram classes
41
+ - `tests/test_api_skill.py` - Integration test using Claude API Skills endpoint
42
+
43
+ ## CI Workflow
44
+
45
+ The CI workflow (`ci.yml`) runs:
46
+ 1. Unit tests across Python 3.9-3.12
47
+ 2. SKILL.md frontmatter validation (must have `name` and `description` fields)
48
+ 3. Integration test with Claude Code (uses `robtaylor/claude-code-action`)
49
+
50
+ ## Key Implementation Details
51
+
52
+ - No external dependencies - uses only Python standard library
53
+ - Element IDs generated via truncated UUID4
54
+ - Each element has a random seed for roughjs hand-drawn rendering
55
+ - The `Element` dataclass wraps shape data with position/dimension helpers for arrow calculations
56
+ - Arrow connection points auto-detect optimal sides based on relative element positions
57
+ - Text elements bound to shapes use `containerId`/`boundElements` linking
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Rob Taylor
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.