@thierrynakoa/fire-flow 12.2.2 → 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 (501) hide show
  1. package/CREDITS.md +25 -0
  2. package/DOMINION-FLOW-OVERVIEW.md +182 -38
  3. package/README.md +399 -690
  4. package/TROUBLESHOOTING.md +264 -367
  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-verify-uat.md +9 -177
  52. package/commands/fire-vuln-scan.md +492 -493
  53. package/hooks/run-hook.sh +8 -8
  54. package/hooks/run-session-end.sh +7 -7
  55. package/hooks/session-end.sh +90 -90
  56. package/hooks/session-start.sh +1 -1
  57. package/package.json +4 -25
  58. package/plugin.json +7 -7
  59. package/references/autonomy-levels.md +235 -0
  60. package/references/behavioral-directives.md +95 -3
  61. package/references/blocker-tracking.md +1 -1
  62. package/references/circuit-breaker.md +93 -2
  63. package/references/context-engineering.md +227 -9
  64. package/references/honesty-protocols.md +70 -1
  65. package/references/issue-to-pr-pipeline.md +149 -150
  66. package/references/metrics-and-trends.md +1 -2
  67. package/references/research-improvements.md +4 -108
  68. package/references/sdlc-mapping.md +73 -0
  69. package/references/state-machine.md +151 -0
  70. package/skills-library/AVAILABLE_TOOLS_REFERENCE.md +333 -0
  71. package/skills-library/SKILLS-INDEX.md +57 -558
  72. package/skills-library/SKILLS_LIBRARY_INDEX.md +532 -0
  73. package/skills-library/_general/api-patterns/api-field-name-mismatch.md +107 -0
  74. package/skills-library/_general/api-patterns/streaming-command-timeout.md +122 -0
  75. package/skills-library/_general/api-patterns/streaming-proxy-cors-bypass.md +102 -0
  76. package/skills-library/_general/automation/settings-gui-generator.md +172 -0
  77. package/skills-library/_general/database-solutions/data-type-mapping-reference.md +181 -0
  78. package/skills-library/_general/database-solutions/mysql-limit-offset-string-coercion.md +102 -0
  79. package/skills-library/_general/database-solutions/mysql-to-pg-migration.md +195 -0
  80. package/skills-library/_general/database-solutions/orm-schema-portability.md +193 -0
  81. package/skills-library/_general/database-solutions/persistent-analysis-storage.md +207 -0
  82. package/skills-library/_general/database-solutions/pg-to-mysql-schema-migration-methodology.md +190 -0
  83. package/skills-library/_general/database-solutions/sql-dialect-compatibility-matrix.md +306 -0
  84. package/skills-library/_general/database-solutions/sqlite-to-pg-migration.md +219 -0
  85. package/skills-library/_general/frontend/canvas-bubble-animation-grouping.md +270 -0
  86. package/skills-library/_general/frontend/color-token-migration.md +112 -0
  87. package/skills-library/_general/frontend/framer-motion-layoutid-grouping.md +150 -0
  88. package/skills-library/_general/frontend/pyqt6-settings-dialog.md +191 -0
  89. package/skills-library/_general/frontend/react-flow-animated-layout-switching.md +101 -0
  90. package/skills-library/_general/frontend/react-hooks-order-debugging.md +141 -0
  91. package/skills-library/_general/frontend/redux-localstorage-auth-desync.md +126 -0
  92. package/skills-library/_general/frontend/safari-csp-theme-color-debugging.md +124 -0
  93. package/skills-library/_general/frontend/safari-sw-cache-poisoning.md +138 -0
  94. package/skills-library/_general/frontend/svg-sparkline-no-charting-library.md +131 -0
  95. package/skills-library/_general/growth-marketing/oss-daily-growth-intelligence.md +224 -0
  96. package/skills-library/_general/integrations/claude-code-local-mcp-integration.md +250 -0
  97. package/skills-library/_general/integrations/mcp-composite-tool-orchestration.md +200 -0
  98. package/skills-library/_general/methodology/AGENT_SDK_STANDALONE_TOOLING.md +181 -0
  99. package/skills-library/_general/methodology/AGENT_TEAMS_GUIDE.md +169 -0
  100. package/skills-library/_general/methodology/ALAS_STATEFUL_EXECUTION.md +207 -0
  101. package/skills-library/_general/methodology/AUTO_REVIEWER_SUBAGENT.md +211 -0
  102. package/skills-library/_general/methodology/CONSISTENCY_CHECK_AMBIGUITY_GATE.md +96 -0
  103. package/skills-library/_general/methodology/DEAD_ENDS_SHELF.md +4 -4
  104. package/skills-library/_general/methodology/DISTILL_NOT_DUMP.md +108 -0
  105. package/skills-library/_general/methodology/EXECUTION_PROGRESS_MONITOR.md +157 -0
  106. package/skills-library/_general/methodology/HIERARCHICAL_REVIEW_MARS.md +122 -0
  107. package/skills-library/_general/methodology/MCP_INTER_AGENT_BRIDGE.md +207 -0
  108. package/skills-library/_general/methodology/MERMAID_WIZARD_DIAGRAMS.md +77 -0
  109. package/skills-library/_general/methodology/MISSING_DIMENSION_DETECTOR.md +89 -0
  110. package/skills-library/_general/methodology/MULTI_AGENT_COORDINATION.md +397 -0
  111. package/skills-library/_general/methodology/OBSERVATION_MASKING.md +100 -0
  112. package/skills-library/_general/methodology/PHOENIX_REBUILD_METHODOLOGY.md +82 -11
  113. package/skills-library/_general/methodology/REVIEW_BACKTRACK_PANEL.md +140 -0
  114. package/skills-library/_general/methodology/REVIEW_FIX_LOOP.md +117 -0
  115. package/skills-library/_general/methodology/VOTING_VERDICT_ARBITRATION.md +155 -0
  116. package/skills-library/_general/methodology/ZERO_FRICTION_CLI_SETUP.md +2 -2
  117. package/skills-library/_general/methodology/dead-code-activation.md +123 -0
  118. package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -240
  119. package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +1 -1
  120. package/skills-library/_general/patterns-standards/GOF_DESIGN_PATTERNS_FOR_AI_AGENTS.md +5 -5
  121. package/skills-library/_general/patterns-standards/cascading-failure-diagnosis.md +119 -0
  122. package/skills-library/_general/patterns-standards/domain-specific-layout-algorithms.md +209 -0
  123. package/skills-library/_general/patterns-standards/python-desktop-app-architecture.md +399 -0
  124. package/skills-library/_general/patterns-standards/realtime-monitoring-dashboard.md +457 -0
  125. package/skills-library/_general/patterns-standards/togglable-processing-pipeline.md +169 -0
  126. package/skills-library/_general/performance/liveclock-extraction.md +112 -0
  127. package/skills-library/_general/performance/ref-based-canvas-animation.md +117 -0
  128. package/skills-library/_general/performance/use-visible-interval.md +131 -0
  129. package/skills-library/_general/testing/playwright-firefox-withcredentials-auth-issue.md +104 -0
  130. package/skills-library/_quarantine/README.md +30 -0
  131. package/skills-library/api-patterns/BROADCAST_SCHEDULER_SHARED_EXECUTE_FUNCTION.md +150 -0
  132. package/skills-library/api-patterns/ERROR_RESPONSE_STANDARDS.md +145 -0
  133. package/skills-library/api-patterns/EXPRESS_ROUTE_ORDERING_MIDDLEWARE_INTERCEPTION.md +326 -0
  134. package/skills-library/api-patterns/PAGINATION_PATTERNS.md +137 -0
  135. package/skills-library/api-patterns/PODCAST_PROGRESS_TRACKING_THREE_ROOT_CAUSES.md +277 -0
  136. package/skills-library/api-patterns/RATE_LIMITING_TOGGLE.md +155 -0
  137. package/skills-library/api-patterns/graphql-content-queries.md +708 -0
  138. package/skills-library/appointment-scheduler-design.md +423 -0
  139. package/skills-library/automation/AUTO_POPULATE_COMPLETE_GUIDE.md +631 -0
  140. package/skills-library/automation/CC_WORKFLOW_STUDIO.md +83 -0
  141. package/skills-library/automation/CLAUDE_CODE_SWARM_MODE.md +95 -0
  142. package/skills-library/automation/DAEMON_TRIGGER_FILE_IPC.md +195 -0
  143. package/skills-library/automation/scheduled-content-publishing.md +608 -0
  144. package/skills-library/awesome-workflows/Blogging-Platform-Instructions/view_commands.md +25 -0
  145. package/skills-library/awesome-workflows/CREDENTIAL-SECURITY-WORKFLOW.md +109 -0
  146. package/skills-library/awesome-workflows/DEBUGGING-WORKFLOW.md +124 -0
  147. package/skills-library/awesome-workflows/Design-Review-Workflow/README.md +31 -0
  148. package/skills-library/awesome-workflows/Design-Review-Workflow/design-principles-example.md +129 -0
  149. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-agent.md +107 -0
  150. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-claude-md-snippet.md +24 -0
  151. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-slash-command.md +38 -0
  152. package/skills-library/awesome-workflows/PARALLEL-RESEARCH-WORKFLOW.md +89 -0
  153. package/skills-library/awesome-workflows/PHASE-EXECUTION-WORKFLOW.md +97 -0
  154. package/skills-library/awesome-workflows/SESSION-HANDOFF-WORKFLOW.md +116 -0
  155. package/skills-library/cms-patterns/content-branch-preview.md +515 -0
  156. package/skills-library/cms-patterns/inline-visual-editing.md +666 -0
  157. package/skills-library/cms-patterns/mdx-component-content.md +649 -0
  158. package/skills-library/cms-patterns/media-manager-abstraction.md +827 -0
  159. package/skills-library/cms-patterns/schema-driven-form-generator.md +838 -0
  160. package/skills-library/complexity-metrics/complexity-divider.md +707 -0
  161. package/skills-library/complexity-metrics/work-with-complexity.md +193 -0
  162. package/skills-library/creative-multimedia/animation-stack-guide.md +577 -0
  163. package/skills-library/creative-multimedia/audio-enhancement-pipeline.md +625 -0
  164. package/skills-library/creative-multimedia/content-repurposing-pipeline.md +1146 -0
  165. package/skills-library/creative-multimedia/data-visualization-generator.md +862 -0
  166. package/skills-library/creative-multimedia/doc-to-podcast-pipeline.md +2184 -0
  167. package/skills-library/creative-multimedia/ffmpeg-command-generator.md +405 -0
  168. package/skills-library/creative-multimedia/image-optimization-pipeline.md +605 -0
  169. package/skills-library/creative-multimedia/multi-format-content-generator.md +1759 -0
  170. package/skills-library/creative-multimedia/og-image-generator.md +635 -0
  171. package/skills-library/creative-multimedia/podcast-audio-composition.md +1355 -0
  172. package/skills-library/creative-multimedia/podcast-quality-evaluation.md +1452 -0
  173. package/skills-library/creative-multimedia/podcast-script-generation.md +1841 -0
  174. package/skills-library/creative-multimedia/svg-generation.md +750 -0
  175. package/skills-library/creative-multimedia/text-to-speech-provider-selector.md +1414 -0
  176. package/skills-library/creative-multimedia/transcription-pipeline-selector.md +677 -0
  177. package/skills-library/creative-multimedia/video-streaming-setup.md +559 -0
  178. package/skills-library/database-solutions/AI_RESPONSE_DATABASE_CACHING.md +520 -0
  179. package/skills-library/database-solutions/CONDITIONAL_SQL_MIGRATION_PATTERN.md +119 -0
  180. package/skills-library/database-solutions/DATABASE_COLUMN_NAME_MISMATCH.md +393 -0
  181. package/skills-library/database-solutions/DATABASE_SCHEMA.md +394 -0
  182. package/skills-library/database-solutions/DATABASE_SCHEMA_VERIFICATION_GUIDE.md +348 -0
  183. package/skills-library/database-solutions/DATABASE_STRATEGY.md +71 -0
  184. package/skills-library/database-solutions/ES_MODULE_SEED_SCRIPT_PATTERN.md +52 -0
  185. package/skills-library/database-solutions/MIGRATION_GUIDE.md +3 -0
  186. package/skills-library/database-solutions/PLPGSQL_VARIABLE_CONFLICT_FIX.md +208 -0
  187. package/skills-library/database-solutions/POSTGRESQL_JSONB_DOUBLE_STRINGIFY_FIX.md +245 -0
  188. package/skills-library/database-solutions/POSTGRESQL_LICENSE_TABLE_DESIGN.md +393 -0
  189. package/skills-library/database-solutions/POSTGRESQL_UUID_DOCUMENT_RAG_DUAL_SCOPE.md +732 -0
  190. package/skills-library/database-solutions/POSTGRES_SQL_TEMPLATE_BINDING_ERROR.md +240 -0
  191. package/skills-library/database-solutions/PRISMA_DB_PUSH_DATA_LOSS_PREVENTION.md +141 -0
  192. package/skills-library/database-solutions/PRODUCTION_QUERY_OPTIMIZATION_RESTART_FIX.md +389 -0
  193. package/skills-library/database-solutions/RLS_SECURITY_GUIDE.md +107 -0
  194. package/skills-library/database-solutions/SCHEMA_ENHANCEMENTS_GUIDE.md +373 -0
  195. package/skills-library/database-solutions/SCHEMA_MIGRATION_GUIDE.md +368 -0
  196. package/skills-library/database-solutions/SCHEMA_VERIFICATION_QUICK_REFERENCE.md +104 -0
  197. package/skills-library/database-solutions/ai-erd-generator.md +1213 -0
  198. package/skills-library/database-solutions/content-publishing-states.md +631 -0
  199. package/skills-library/database-solutions/database-schema-designer.md +522 -0
  200. package/skills-library/database-solutions/er-diagram-components.md +569 -0
  201. package/skills-library/database-solutions/er-to-ddl-mapping.md +1405 -0
  202. package/skills-library/database-solutions/erd-creator-textbook-research.md +433 -0
  203. package/skills-library/database-solutions/erd-react-flow-architecture.md +1965 -0
  204. package/skills-library/database-solutions/mariadb-aggregate-function-replacement.md +145 -0
  205. package/skills-library/database-solutions/normalization-validator.md +778 -0
  206. package/skills-library/database-solutions/postgres-full-text-search-content.md +494 -0
  207. package/skills-library/database-solutions/postgresql-to-mysql-runtime-translation.md +286 -0
  208. package/skills-library/database-solutions/regex-alternation-ordering-sql-types.md +92 -0
  209. package/skills-library/database-solutions/reserved-word-context-aware-quoting.md +142 -0
  210. package/skills-library/database-solutions/sql-ddl-generator.md +756 -0
  211. package/skills-library/database-solutions/supabase-connection-pooler-fix.md +102 -0
  212. package/skills-library/deployment-security/CPANEL_NODE_DEPLOYMENT.md +166 -0
  213. package/skills-library/deployment-security/DEPLOYMENT.md +275 -0
  214. package/skills-library/deployment-security/DEPLOYMENT_CHECKLIST.md +363 -0
  215. package/skills-library/deployment-security/DEPLOYMENT_PLAN.md +669 -0
  216. package/skills-library/deployment-security/KNEX_DATABASE_ABSTRACTION.md +444 -0
  217. package/skills-library/deployment-security/LICENSE_KEY_SYSTEM.md +206 -0
  218. package/skills-library/deployment-security/NODE18_DEPENDENCY_COMPATIBILITY.md +284 -0
  219. package/skills-library/deployment-security/PHP_INSTALLER_WIZARD_GUIDE.md +315 -0
  220. package/skills-library/deployment-security/PM2_ENVIRONMENT_VARIABLE_CACHING.md +256 -0
  221. package/skills-library/deployment-security/PM2_MEMORY_EXHAUSTION_FIX.md +370 -0
  222. package/skills-library/deployment-security/PRODUCTION_DEPLOYMENT_GUIDE.md +592 -0
  223. package/skills-library/deployment-security/PRODUCTION_HARDENING_DOCUMENTATION.md +307 -0
  224. package/skills-library/deployment-security/PRODUCTION_RECOVERY_CHERRY_PICK_PATTERN.md +202 -0
  225. package/skills-library/deployment-security/PYINSTALLER_CUDA_WHISPER_BUNDLING.md +236 -0
  226. package/skills-library/deployment-security/SECURITY.md +41 -0
  227. package/skills-library/deployment-security/SMTP_SSL_HOSTNAME_MISMATCH_SHARED_HOSTING.md +220 -0
  228. package/skills-library/deployment-security/SPA_SEO_OPTIMIZATION_CPANEL.md +200 -0
  229. package/skills-library/deployment-security/SUPABASE_EDGE_FUNCTIONS.md +338 -0
  230. package/skills-library/deployment-security/VERCEL_GITHUB_DEPLOYMENT_GUIDE.md +858 -0
  231. package/skills-library/deployment-security/VPS_DEPLOYMENT_READINESS.md +356 -0
  232. package/skills-library/deployment-security/deployment-changes-not-applying.md +241 -0
  233. package/skills-library/deployment-security/env-file-management-production-local.md +203 -0
  234. package/skills-library/deployment-security/express-secure-file-downloads.md +413 -0
  235. package/skills-library/deployment-security/react-production-deployment-desktop-guide.md +2011 -0
  236. package/skills-library/deployment-security/self-hosted-supabase-coolify-guide.md +1684 -0
  237. package/skills-library/deployment-security/unique-features-ai-strategy-plaid-security.md +1613 -0
  238. package/skills-library/deployment-security/vps-deployment.md +135 -0
  239. package/skills-library/document-processing/WORD_EXPORT_MARKDOWN_FORMATTING.md +482 -0
  240. package/skills-library/document-processing/document-ai-landingai-integration.md +677 -0
  241. package/skills-library/document-processing/express-secure-file-downloads-mern.md +413 -0
  242. package/skills-library/document-processing/express-secure-file-downloads.md +413 -0
  243. package/skills-library/document-processing/md-to-word-converter.md +318 -0
  244. package/skills-library/document-processing/pdf-forms-integration/README.md +101 -0
  245. package/skills-library/document-processing/pdf-forms-integration/SKILL.md +662 -0
  246. package/skills-library/ecommerce/ADMIN_PRODUCTS_GUIDE.md +428 -0
  247. package/skills-library/ecommerce/ECOMMERCE_API_REFERENCE.md +776 -0
  248. package/skills-library/ecommerce/ECOMMERCE_COMPLETION_SUMMARY.md +673 -0
  249. package/skills-library/ecommerce/ECOMMERCE_IMPLEMENTATION_GUIDE.md +729 -0
  250. package/skills-library/ecommerce/ECOMMERCE_QUICK_REFERENCE.md +521 -0
  251. package/skills-library/ecommerce/ECOMMERCE_TESTING_CHECKLIST.md +565 -0
  252. package/skills-library/ecommerce/ECOMMERCE_WORKFLOW_GUIDE.md +1059 -0
  253. package/skills-library/ecommerce/PRODUCT_CREATION_EXPANDED.md +522 -0
  254. package/skills-library/ecommerce/agentic-commerce-protocol.md +203 -0
  255. package/skills-library/ecommerce/cart-abandonment-recovery.md +236 -0
  256. package/skills-library/ecommerce/cart-architecture-patterns.md +300 -0
  257. package/skills-library/ecommerce/cart-item-count-indicator.md +264 -0
  258. package/skills-library/ecommerce/checkout-ux-conversion.md +227 -0
  259. package/skills-library/ecommerce/composable-commerce-selection.md +166 -0
  260. package/skills-library/ecommerce/ecommerce-analytics-patterns.md +167 -0
  261. package/skills-library/ecommerce/fraud-detection-patterns.md +179 -0
  262. package/skills-library/ecommerce/inventory-stock-management.md +270 -0
  263. package/skills-library/ecommerce/order-saga-state-machine.md +336 -0
  264. package/skills-library/ecommerce/payment-provider-abstraction.md +245 -0
  265. package/skills-library/ecommerce/pci-compliance-checklist.md +192 -0
  266. package/skills-library/ecommerce/refund-chargeback-handling.md +177 -0
  267. package/skills-library/ecommerce/shipping-carrier-integration.md +218 -0
  268. package/skills-library/ecommerce/webhook-idempotency-patterns.md +253 -0
  269. package/skills-library/excalidraw-diagrams/.github/workflows/ci.yml +558 -0
  270. package/skills-library/excalidraw-diagrams/.github/workflows/prompt-gallery.yml +448 -0
  271. package/skills-library/excalidraw-diagrams/.github/workflows/release.yml +42 -0
  272. package/skills-library/excalidraw-diagrams/.github/workflows/test-reusable-ci.yml +25 -0
  273. package/skills-library/excalidraw-diagrams/CLAUDE.md +57 -0
  274. package/skills-library/excalidraw-diagrams/LICENSE +21 -0
  275. package/skills-library/excalidraw-diagrams/README.md +178 -0
  276. package/skills-library/excalidraw-diagrams/SKILL.md +715 -0
  277. package/skills-library/form-solutions/BUTTON_TYPE_FORM_SUBMISSION.md +336 -0
  278. package/skills-library/form-solutions/FILLABLE_PDF_IMPLEMENTATION.md +226 -0
  279. package/skills-library/form-solutions/SURVEYJS_QUESTIONNAIRE_SYSTEM.md +367 -0
  280. package/skills-library/form-solutions/tiptap-minimal-setup.md +690 -0
  281. package/skills-library/frontend/scholarly-classification-bubble-map.md +149 -0
  282. package/skills-library/infrastructure/ci-cd-pipeline-builder.md +517 -0
  283. package/skills-library/infrastructure/observability-designer.md +264 -0
  284. package/skills-library/infrastructure/performance-profiler.md +621 -0
  285. package/skills-library/installer-wizard-patterns.md +249 -0
  286. package/skills-library/integrations/CLAUDE_CODE_TOKEN_ANALYTICS.md +160 -0
  287. package/skills-library/integrations/CONFIGURABLE_AI_PROVIDER_SELECTION.md +728 -0
  288. package/skills-library/integrations/SOCKET_IO_BROADCAST_ALL_VS_ROOM.md +141 -0
  289. package/skills-library/integrations/VIRTUAL_MEETINGS_IMPLEMENTATION.md +374 -0
  290. package/skills-library/integrations/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  291. package/skills-library/integrations/YOUTUBE_API_SETUP.md +141 -0
  292. package/skills-library/integrations/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  293. package/skills-library/integrations/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  294. package/skills-library/integrations/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  295. package/skills-library/integrations/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  296. package/skills-library/integrations/ai-ml/GEMINI_AI_RAG_PIPELINE_COMPLETE_GUIDE.md +195 -0
  297. package/skills-library/integrations/ai-ml/GEMINI_IMAGE_GENERATION_SETUP.md +64 -0
  298. package/skills-library/integrations/cloudflare/cloudflare-turnstile-debugging.md +202 -0
  299. package/skills-library/integrations/cloudflare/cloudflare-turnstile-implementation.md +476 -0
  300. package/skills-library/integrations/cloudflare-turnstile-debugging.md +202 -0
  301. package/skills-library/integrations/cloudflare-turnstile-implementation.md +476 -0
  302. package/skills-library/integrations/ghost-creator-monetization-pattern.md +454 -0
  303. package/skills-library/integrations/headless-cms-architecture.md +484 -0
  304. package/skills-library/integrations/headless-cms-stack-selection.md +183 -0
  305. package/skills-library/integrations/payload-cms-patterns.md +674 -0
  306. package/skills-library/integrations/realtimestt-openwakeword-cuda-windows.md +229 -0
  307. package/skills-library/integrations/rss-podcast-integration.md +300 -0
  308. package/skills-library/integrations/wordpress/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  309. package/skills-library/integrations/youtube/YOUTUBE_API_SETUP.md +141 -0
  310. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  311. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  312. package/skills-library/integrations/youtube/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  313. package/skills-library/integrations/youtube/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  314. package/skills-library/marketing/campaign-analytics.md +97 -0
  315. package/skills-library/marketing/content-creator.md +105 -0
  316. package/skills-library/marketing/marketing-strategy-pmm.md +94 -0
  317. package/skills-library/marketing/social-media-analyzer.md +81 -0
  318. package/skills-library/methodology/ADVANCED_ORCHESTRATION_PATTERNS.md +401 -0
  319. package/skills-library/methodology/AGENT_SELF_IMPROVEMENT_LOOP.md +179 -0
  320. package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +1 -1
  321. package/skills-library/methodology/CLEANSING_CYCLE.md +358 -0
  322. package/skills-library/methodology/CONFIDENCE_ANNOTATION_PATTERN.md +143 -0
  323. package/skills-library/methodology/CRITICAL_PATTERNS_DOCUMENTATION_COMPLETE.md +204 -0
  324. package/skills-library/methodology/DELIVERABLES_SUMMARY.md +341 -0
  325. package/skills-library/methodology/DIFFICULTY_AWARE_AGENT_ROUTING.md +252 -0
  326. package/skills-library/methodology/EVOLUTIONARY_SKILL_SYNTHESIS.md +219 -0
  327. package/skills-library/methodology/GLOMERULUS_DECISION_GATE.md +223 -0
  328. package/skills-library/methodology/HIBERNATION_SYSTEM.md +231 -0
  329. package/skills-library/methodology/INSTRUMENTATION_OVER_RESTRICTION.md +192 -0
  330. package/skills-library/methodology/MASTER_COMPLETION_SUMMARY.md +444 -0
  331. package/skills-library/methodology/MASTER_SESSION_COMPLETION.md +743 -0
  332. package/skills-library/methodology/MERN_QUICK_REFERENCE.md +358 -0
  333. package/skills-library/methodology/ORGAN_AGENT_MAPPING.md +177 -0
  334. package/skills-library/methodology/PARALLEL_WAVE_BASED_REFACTORING.md +440 -0
  335. package/skills-library/methodology/QUICK_REFERENCE.md +358 -0
  336. package/skills-library/methodology/SDFT_ONPOLICY_SELF_DISTILLATION.md +186 -0
  337. package/skills-library/methodology/SELF_QUESTIONING_TASK_GENERATION.md +270 -0
  338. package/skills-library/methodology/SESSION_COMPLETION_SUMMARY.md +304 -0
  339. package/skills-library/methodology/SESSION_SUMMARY.md +432 -0
  340. package/skills-library/methodology/WARRIOR_WORKFLOW_DEBUGGING_PROTOCOL.md +252 -0
  341. package/skills-library/methodology/tech-debt-tracker.md +570 -0
  342. package/skills-library/parallel-debug/SKILL.md +60 -0
  343. package/skills-library/patterns-standards/API_PATTERN_FIX_SUMMARY.md +236 -0
  344. package/skills-library/patterns-standards/BATCH_OPERATIONS_WITH_PROGRESS_MODAL.md +362 -0
  345. package/skills-library/patterns-standards/CRITICAL_CODING_PATTERNS.md +639 -0
  346. package/skills-library/patterns-standards/DARK_MODE_MODAL_VISIBILITY.md +258 -0
  347. package/skills-library/patterns-standards/ERROR_RESILIENCE_IMPLEMENTATION.md +375 -0
  348. package/skills-library/patterns-standards/ES_MODULE_IMPORT_HOISTING_DOTENV.md +298 -0
  349. package/skills-library/patterns-standards/NESTED_BACKDROP_FILTER_CSS_ARTIFACT_FIX.md +76 -0
  350. package/skills-library/patterns-standards/ORDERED_DETECTOR_PIPELINE_GRACEFUL_FALLBACK.md +333 -0
  351. package/skills-library/patterns-standards/PHASE_IMPORT_ERROR_DEBUGGING.md +271 -0
  352. package/skills-library/patterns-standards/PYNPUT_GLOBAL_HOTKEY_VK_MATCHING.md +252 -0
  353. package/skills-library/patterns-standards/REACT_USEEFFECT_CASCADE_RESET_FIX.md +132 -0
  354. package/skills-library/patterns-standards/SUBMENU_HOVER_DROPDOWN_PATTERN.md +225 -0
  355. package/skills-library/patterns-standards/TAILWIND_TEXT_VISIBILITY_OVERRIDE.md +322 -0
  356. package/skills-library/patterns-standards/THEME_AWARE_CSS_VARIABLES_PATTERN.md +209 -0
  357. package/skills-library/patterns-standards/THEME_USER_OBJECT_PROPERTY_NAMING.md +194 -0
  358. package/skills-library/patterns-standards/TOOLTIP_BLOCKING_CLICKS_FIX.md +267 -0
  359. package/skills-library/patterns-standards/claude-code-plugin-structure.md +235 -0
  360. package/skills-library/patterns-standards/react-i18next-setup.md +429 -0
  361. package/skills-library/patterns-standards/thesys-c1-generative-ui-integration.md +967 -0
  362. package/skills-library/plugin-development/CLAUDE_CODE_COMMAND_REGISTRATION_SILENT_FAILURE.md +315 -0
  363. package/skills-library/plugin-development/plugin-command-namespace-vs-global.md +390 -0
  364. package/skills-library/plugin-development/plugin-doc-auto-generation.md +172 -0
  365. package/skills-library/security/GITHUB_REPO_SECURITY_AUDIT.md +115 -0
  366. package/skills-library/security/admin-deletion-safety.md +396 -0
  367. package/skills-library/security/application-vuln-patterns.md +477 -0
  368. package/skills-library/security/env-secrets-manager.md +686 -0
  369. package/skills-library/security/secure-ai-application-templates.md +347 -0
  370. package/skills-library/security/sql-injection-prevention-postgresjs.md +151 -0
  371. package/skills-library/supabase-connection-pooler-fix.md +102 -0
  372. package/skills-library/system-context/POWERSHELL_BASH_INTEROP.md +82 -0
  373. package/skills-library/system-context/SERVICE_LIFECYCLE_MANAGEMENT.md +119 -0
  374. package/skills-library/system-context/SKILL.md +40 -0
  375. package/skills-library/system-context/WINDOWS_DEV_ENVIRONMENT.md +73 -0
  376. package/skills-library/testing/E2E_PLAYWRIGHT_PATTERNS.md +99 -0
  377. package/skills-library/testing/INTEGRATION_TEST_STRATEGY.md +82 -0
  378. package/skills-library/testing/RED_GREEN_BUGFIX_GATE.md +203 -0
  379. package/skills-library/testing/TEST_DATA_MANAGEMENT.md +69 -0
  380. package/skills-library/testing/VITEST_UNIT_TEST_PATTERNS.md +75 -0
  381. package/skills-library/testing/playwright-api-security-tests.md +202 -0
  382. package/skills-library/toolbox/SKILL.md +84 -0
  383. package/skills-library/toolbox/code-graph-and-web-scraping-mcps.md +237 -0
  384. package/skills-library/ui-ux-pro-max/ACCESSIBILITY_ESSENTIALS.md +115 -0
  385. package/skills-library/ui-ux-pro-max/DESIGN_SYSTEM_SCAFFOLDING.md +133 -0
  386. package/skills-library/ui-ux-pro-max/RESPONSIVE_LAYOUT_PATTERNS.md +119 -0
  387. package/skills-library/ui-ux-pro-max/SKILL.md +386 -0
  388. package/skills-library/ui-ux-pro-max/data/charts.csv +26 -0
  389. package/skills-library/ui-ux-pro-max/data/colors.csv +97 -0
  390. package/skills-library/ui-ux-pro-max/data/icons.csv +101 -0
  391. package/skills-library/ui-ux-pro-max/data/landing.csv +31 -0
  392. package/skills-library/ui-ux-pro-max/data/products.csv +97 -0
  393. package/skills-library/ui-ux-pro-max/data/react-performance.csv +45 -0
  394. package/skills-library/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  395. package/skills-library/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  396. package/skills-library/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  397. package/skills-library/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  398. package/skills-library/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  399. package/skills-library/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  400. package/skills-library/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  401. package/skills-library/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  402. package/skills-library/ui-ux-pro-max/data/stacks/react.csv +54 -0
  403. package/skills-library/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  404. package/skills-library/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  405. package/skills-library/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  406. package/skills-library/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  407. package/skills-library/ui-ux-pro-max/data/styles.csv +68 -0
  408. package/skills-library/ui-ux-pro-max/data/typography.csv +58 -0
  409. package/skills-library/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  410. package/skills-library/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  411. package/skills-library/ui-ux-pro-max/data/web-interface.csv +31 -0
  412. package/skills-library/wordpress-style-theme-components.md +1526 -0
  413. package/templates/ASSUMPTIONS.md +1 -1
  414. package/templates/DECISION_LOG.md +0 -1
  415. package/templates/phase-prompt.md +1 -1
  416. package/templates/phoenix-comparison.md +6 -6
  417. package/templates/skill-api-integration.md +106 -0
  418. package/templates/skill-architecture-pattern.md +92 -0
  419. package/templates/skill-debug-pattern.md +98 -0
  420. package/templates/skill-devops-recipe.md +107 -0
  421. package/templates/skill-general.md +65 -0
  422. package/templates/skill-ui-component.md +113 -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/browser-use-expert.md +0 -210
  484. package/skills-library/specialists/quality/code-documenter.md +0 -51
  485. package/skills-library/specialists/quality/code-reviewer.md +0 -67
  486. package/skills-library/specialists/quality/debugging-wizard.md +0 -51
  487. package/skills-library/specialists/quality/fullstack-guardian.md +0 -51
  488. package/skills-library/specialists/quality/legacy-modernizer.md +0 -50
  489. package/skills-library/specialists/quality/playwright-expert.md +0 -65
  490. package/skills-library/specialists/quality/spec-miner.md +0 -56
  491. package/skills-library/specialists/quality/test-master.md +0 -65
  492. package/skills-library/specialists/security/secure-code-guardian.md +0 -55
  493. package/skills-library/specialists/security/security-reviewer.md +0 -53
  494. package/skills-library/specialists/workflow/architecture-designer.md +0 -53
  495. package/skills-library/specialists/workflow/cli-developer.md +0 -70
  496. package/skills-library/specialists/workflow/feature-forge.md +0 -65
  497. package/skills-library/specialists/workflow/prompt-engineer.md +0 -54
  498. package/skills-library/specialists/workflow/the-fool.md +0 -62
  499. /package/skills-library/{performance → _general/performance}/cache-augmented-generation.md +0 -0
  500. /package/skills-library/{debugging → parallel-debug}/FAILURE_TAXONOMY_CLASSIFICATION.md +0 -0
  501. /package/skills-library/{debugging → parallel-debug}/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +0 -0
@@ -0,0 +1,229 @@
1
+ ---
2
+ name: realtimestt-openwakeword-cuda-windows
3
+ category: integrations
4
+ version: 1.0.0
5
+ contributed: 2026-02-22
6
+ contributor: voice-bridge-v3
7
+ last_updated: 2026-02-22
8
+ tags: [realtimestt, openwakeword, whisper, cuda, wake-word, speech-to-text, windows, pyaudio, torch-multiprocessing, pyqt6]
9
+ difficulty: hard
10
+ usage_count: 0
11
+ success_rate: 100
12
+ ---
13
+
14
+ # RealtimeSTT + OpenWakeWord + CUDA on Windows
15
+
16
+ ## Problem
17
+
18
+ Integrating OpenWakeWord wake word detection via RealtimeSTT's native `wakeword_backend` parameter on Windows with CUDA GPU hits 7 non-obvious failures that each appear as unrelated errors. The combination of RealtimeSTT's `torch.multiprocessing` child processes, OpenWakeWord's ONNX model loading, CUDA's float16 compute, MKL memory allocation, and PyQt6's global state creates a minefield of ordering and configuration gotchas.
19
+
20
+ **Symptoms you'll see (in order of appearance):**
21
+ 1. `Wakeword engine oww unknown/unsupported or wake_words not specified`
22
+ 2. `mkl_malloc: failed to allocate memory`
23
+ 3. `ValueError: Requested float16 compute type, but the target device or backend do not support efficient float16 computation`
24
+ 4. `BrokenPipeError` in torch.multiprocessing child process
25
+ 5. `MemoryError` in openwakeword `_streaming_melspectrogram`
26
+ 6. Wake word fires 5+ times per single utterance (no debounce)
27
+ 7. Transcription returns garbage ("Bit.") after fragmented audio
28
+
29
+ ## Solution Pattern
30
+
31
+ Each error has a specific fix. Apply ALL of them — they're independent failure modes.
32
+
33
+ ### 1. Backend Name + wake_words Parameter (BOTH required)
34
+
35
+ RealtimeSTT checks: `elif wake_words and self.wakeword_backend in {'oww', 'openwakeword', 'openwakewords'}`
36
+
37
+ Both conditions must be true. If `wake_words` is empty/missing, the entire wake word system silently skips.
38
+
39
+ ```python
40
+ # WRONG — wake_words defaults to empty, silently disables wake word
41
+ AudioToTextRecorder(wakeword_backend="openwakeword")
42
+
43
+ # RIGHT — both backend AND wake_words must be set
44
+ AudioToTextRecorder(
45
+ wakeword_backend="openwakeword",
46
+ wake_words="hey_jarvis", # REQUIRED — comma-separated built-in model names
47
+ wake_words_sensitivity=0.35,
48
+ )
49
+ ```
50
+
51
+ Built-in models: `alexa`, `hey_jarvis`, `hey_mycroft`, `hey_rhasspy`, `timer`, `weather`.
52
+
53
+ ### 2. MKL Thread Memory (High-Core CPUs)
54
+
55
+ On CPUs with 16+ threads (i9-12900H has 20), MKL allocates buffers for ALL threads simultaneously while loading OpenWakeWord + Whisper models. Must be set BEFORE any imports.
56
+
57
+ ```python
58
+ # MUST be at the very top of your entry point, before ANY imports
59
+ import os
60
+ os.environ.setdefault("MKL_NUM_THREADS", "4")
61
+ os.environ.setdefault("OMP_NUM_THREADS", "4")
62
+ ```
63
+
64
+ ### 3. CUDA float16 in torch.multiprocessing Context
65
+
66
+ CTranslate2 CUDA float16 works perfectly in direct tests but fails inside RealtimeSTT's `mp.Process` child processes on Windows. The child processes re-import everything and the CUDA state gets confused.
67
+
68
+ ```python
69
+ # WRONG — fails inside RealtimeSTT's multiprocessing context
70
+ AudioToTextRecorder(compute_type="float16")
71
+
72
+ # RIGHT — let CTranslate2 choose the best available type
73
+ AudioToTextRecorder(compute_type="auto")
74
+ ```
75
+
76
+ ### 4. PyQt6 Import Order (Windows only)
77
+
78
+ PyQt6 creates global state that breaks `torch.multiprocessing` child processes when `enable_realtime_transcription=True`. Initialize STT FGTAT, then import PyQt6.
79
+
80
+ ```python
81
+ # WRONG — PyQt6 imported before STT causes BrokenPipeError
82
+ from PyQt6.QtWidgets import QApplication
83
+ from RealtimeSTT import AudioToTextRecorder
84
+ recorder = AudioToTextRecorder(enable_realtime_transcription=True) # CRASH
85
+
86
+ # RIGHT — initialize STT before any PyQt6 imports
87
+ from RealtimeSTT import AudioToTextRecorder
88
+ recorder = AudioToTextRecorder(enable_realtime_transcription=True)
89
+ recorder_ready = True # models loaded, child processes spawned
90
+
91
+ # NOW safe to import PyQt6
92
+ from PyQt6.QtWidgets import QApplication
93
+ app = QApplication(sys.argv)
94
+ ```
95
+
96
+ ### 5. First-Launch Audio Queue Overflow
97
+
98
+ First run downloads OpenWakeWord models from HuggingFace (~30s). Audio queues up during download. When wake word processing starts, the backlog causes `MemoryError` in `_streaming_melspectrogram`.
99
+
100
+ **Fix:** Kill and restart. Models are cached after first download, startup drops to ~8s with no backlog. This is a one-time issue.
101
+
102
+ **Better fix (if building a product):** Flush the audio queue after recorder initialization:
103
+ ```python
104
+ recorder = AudioToTextRecorder(**params)
105
+ # Flush any audio that queued during model download
106
+ while not recorder.audio_queue.empty():
107
+ try:
108
+ recorder.audio_queue.get_nowait()
109
+ except:
110
+ break
111
+ ```
112
+
113
+ ### 6. Wake Word Callback Debounce
114
+
115
+ RealtimeSTT fires `on_wakeword_detected` on every overlapping audio chunk that scores above threshold. A single "Hey Jarvis" produces 5+ callbacks in 127ms, fragmenting the audio buffer.
116
+
117
+ ```python
118
+ import time
119
+
120
+ class STTEngine:
121
+ def __init__(self):
122
+ self._wakeword_debounce_sec = 2.0
123
+ self._last_wakeword_time = 0.0
124
+
125
+ def _handle_wakeword_detected(self):
126
+ now = time.time()
127
+ if now - self._last_wakeword_time < self._wakeword_debounce_sec:
128
+ return # duplicate within debounce window
129
+ self._last_wakeword_time = now
130
+
131
+ # Process the actual detection
132
+ self.on_wakeword_detected()
133
+ ```
134
+
135
+ ### 7. Config File Deep-Merge Staleness
136
+
137
+ If your app creates a config file on first run with wrong defaults, `_deep_merge` preserves old values on subsequent runs. After fixing defaults in code, **delete the on-disk config** to regenerate.
138
+
139
+ ```bash
140
+ # If wake word doesn't work after code fix, check the on-disk config
141
+ del %USERPROFILE%\.claude\voice-bridge-v3\config.yaml
142
+ # Restart app — regenerates with correct defaults
143
+ ```
144
+
145
+ ## Implementation Steps
146
+
147
+ 1. Set `MKL_NUM_THREADS=4` and `OMP_NUM_THREADS=4` at the very top of entry point
148
+ 2. Initialize `AudioToTextRecorder` with `compute_type="auto"`, `wakeword_backend="openwakeword"`, `wake_words="hey_jarvis"`
149
+ 3. THEN import PyQt6/PySide6 (after recorder is initialized)
150
+ 4. Add 2-second debounce to `on_wakeword_detected` callback
151
+ 5. On first launch, expect model downloads — kill and restart if MemoryError occurs
152
+ 6. Delete stale config files after changing defaults
153
+
154
+ ## When to Use
155
+
156
+ - Building a voice-to-text application with wake word activation on Windows
157
+ - Using RealtimeSTT with OpenWakeWord backend and CUDA GPU
158
+ - Combining speech-to-text with a Qt-based GUI on Windows
159
+ - Any project using `torch.multiprocessing` alongside CUDA and audio processing
160
+
161
+ ## When NOT to Use
162
+
163
+ - Linux/macOS — torch.multiprocessing uses fork() not spawn(), different behavior
164
+ - CPU-only inference — float16 issue doesn't apply
165
+ - Porcupine wake word backend — different engine, different issues
166
+ - No GUI framework — PyQt6 import order issue doesn't apply
167
+
168
+ ## Common Mistakes
169
+
170
+ - Setting `wakeword_backend` without `wake_words` — silently disables wake word
171
+ - Using `compute_type="float16"` — works in tests, fails in production
172
+ - Importing PyQt6 at module top level — breaks multiprocessing child processes
173
+ - Not debouncing wake word callbacks — causes fragmented audio transcription
174
+ - Forgetting to delete stale config after fixing code defaults
175
+ - Setting MKL_NUM_THREADS after importing numpy/scipy — too late, already allocated
176
+
177
+ ## Diagnostic Script
178
+
179
+ Use this standalone test to verify wake word detection works independently of RealtimeSTT:
180
+
181
+ ```python
182
+ """test_wakeword.py — Tests OpenWakeWord directly with microphone"""
183
+ import numpy as np
184
+ import pyaudio
185
+ from openwakeword.model import Model
186
+ import openwakeword
187
+
188
+ SAMPLE_RATE = 16000
189
+ CHUNK_SIZE = 1280 # 80ms at 16kHz
190
+ THRESHOLD = 0.35
191
+
192
+ openwakeword.utils.download_models()
193
+ model = Model(inference_framework="onnx")
194
+ print(f"Models: {list(model.models.keys())}")
195
+
196
+ pa = pyaudio.PyAudio()
197
+ stream = pa.open(format=pyaudio.paInt16, channels=1,
198
+ rate=SAMPLE_RATE, input=True,
199
+ frames_per_buffer=CHUNK_SIZE)
200
+ try:
201
+ while True:
202
+ audio = stream.read(CHUNK_SIZE, exception_on_overflow=False)
203
+ pcm = np.frombuffer(audio, dtype=np.int16)
204
+ model.predict(pcm)
205
+ for name in model.prediction_buffer:
206
+ score = list(model.prediction_buffer[name])[-1]
207
+ if score >= THRESHOLD:
208
+ print(f"DETECTED: {name} (score={score:.4f})")
209
+ elif score > 0.05:
210
+ print(f" heard: {name} (score={score:.4f})")
211
+ except KeyboardInterrupt:
212
+ pass
213
+ finally:
214
+ stream.close()
215
+ pa.terminate()
216
+ ```
217
+
218
+ ## Related Skills
219
+
220
+ - [stripe-payment-integration-complete](../integrations/stripe-payment-integration-complete.md) - Third-party API integration patterns
221
+ - [cloudflare-turnstile-debugging](../integrations/cloudflare-turnstile-debugging.md) - Debugging third-party library integration
222
+
223
+ ## References
224
+
225
+ - RealtimeSTT: https://github.com/KoljaB/RealtimeSTT
226
+ - OpenWakeWord: https://github.com/dscripka/openWakeWord
227
+ - OpenWakeWord custom model training: https://openwakeword.com/
228
+ - CTranslate2 CUDA: https://github.com/OpenNMT/CTranslate2
229
+ - Contributed from: voice-bridge-v3 (C:\path\to\repos\voice-bridge-v3)
@@ -0,0 +1,300 @@
1
+ # Skill: RSS Podcast Integration (Castos/Generic)
2
+
3
+ **Category:** Integrations
4
+ **Complexity:** Medium
5
+ **Technologies:** Node.js, Express, React, rss-parser, react-h5-audio-player
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ Integrate RSS podcast feeds into a web application with support for:
12
+ - Public and private (authenticated) feeds
13
+ - Membership-based access control
14
+ - Episode search and pagination
15
+ - Audio playback with speed control
16
+ - In-memory or Redis caching
17
+
18
+ ---
19
+
20
+ ## When to Use This Skill
21
+
22
+ - Adding podcast functionality to an LMS or content platform
23
+ - Integrating Castos, Libsyn, Buzzsprout, or any RSS-based podcast service
24
+ - Implementing tiered access (free vs premium content)
25
+ - Building a podcast aggregator
26
+
27
+ ---
28
+
29
+ ## Implementation Pattern
30
+
31
+ ### 1. Backend Service (Node.js/Express)
32
+
33
+ ```javascript
34
+ // server/services/podcastService.js
35
+ import Parser from 'rss-parser';
36
+
37
+ const parser = new Parser({
38
+ customFields: {
39
+ item: [
40
+ ['itunes:duration', 'duration'],
41
+ ['itunes:image', 'image'],
42
+ ['enclosure', 'enclosure']
43
+ ]
44
+ }
45
+ });
46
+
47
+ // Feed configuration
48
+ const PODCAST_FEEDS = {
49
+ public: {
50
+ 'feed-id': {
51
+ id: 'feed-id',
52
+ name: 'Display Name',
53
+ url: 'https://feeds.castos.com/xxxxx',
54
+ accessLevel: 'member'
55
+ }
56
+ },
57
+ private: {
58
+ 'private-feed': {
59
+ id: 'private-feed',
60
+ name: 'Premium Content',
61
+ url: 'https://feeds.castos.com/xxxxx?uuid=AUTH_TOKEN',
62
+ accessLevel: 'partner'
63
+ }
64
+ }
65
+ };
66
+
67
+ // Simple cache
68
+ const cache = new Map();
69
+ const CACHE_TTL = {
70
+ public: 6 * 60 * 60 * 1000, // 6 hours
71
+ private: 2 * 60 * 60 * 1000 // 2 hours
72
+ };
73
+
74
+ class PodcastService {
75
+ static async fetchFeed(feedId, user, options = {}) {
76
+ const feed = this.getFeedConfig(feedId);
77
+ if (!feed) throw new Error('Feed not found');
78
+
79
+ // Check access
80
+ if (feed.category === 'private' && !this.hasAccess(user)) {
81
+ throw new Error('Access denied');
82
+ }
83
+
84
+ // Check cache
85
+ const cached = cache.get(feedId);
86
+ if (cached && Date.now() - cached.timestamp < CACHE_TTL[feed.category]) {
87
+ return cached.data;
88
+ }
89
+
90
+ // Fetch fresh
91
+ const data = await parser.parseURL(feed.url);
92
+ cache.set(feedId, { data, timestamp: Date.now() });
93
+ return data;
94
+ }
95
+
96
+ static hasAccess(user) {
97
+ if (!user) return false;
98
+ if (user.role === 'admin') return true;
99
+ const partnerTiers = ['partner', 'premium', 'lifetime'];
100
+ return partnerTiers.includes(user.membershipTier?.toLowerCase());
101
+ }
102
+ }
103
+ ```
104
+
105
+ ### 2. API Routes
106
+
107
+ ```javascript
108
+ // server/routes/podcastRoutes.js
109
+ import express from 'express';
110
+ import { protect } from '../middleware/auth.js';
111
+ import PodcastService from '../services/podcastService.js';
112
+
113
+ const router = express.Router();
114
+
115
+ // List available feeds
116
+ router.get('/', protect, async (req, res) => {
117
+ const feeds = PodcastService.getAvailableFeeds(req.user);
118
+ res.json({ success: true, data: feeds });
119
+ });
120
+
121
+ // Get feed with episodes
122
+ router.get('/:feedId', protect, async (req, res) => {
123
+ const { limit = 20, offset = 0 } = req.query;
124
+ const podcast = await PodcastService.fetchFeed(
125
+ req.params.feedId,
126
+ req.user,
127
+ { limit: +limit, offset: +offset }
128
+ );
129
+ res.json({ success: true, data: podcast });
130
+ });
131
+
132
+ // Search episodes
133
+ router.get('/search/episodes', protect, async (req, res) => {
134
+ const results = await PodcastService.searchEpisodes(
135
+ req.query.q,
136
+ req.user
137
+ );
138
+ res.json({ success: true, data: results });
139
+ });
140
+
141
+ export default router;
142
+ ```
143
+
144
+ ### 3. Frontend Audio Player
145
+
146
+ ```jsx
147
+ // client/src/components/PodcastPlayer.jsx
148
+ import AudioPlayer from 'react-h5-audio-player';
149
+ import 'react-h5-audio-player/lib/styles.css';
150
+
151
+ const PodcastPlayer = ({ episode, onPlay, onEnded }) => {
152
+ const [playbackRate, setPlaybackRate] = useState(1);
153
+ const playerRef = useRef(null);
154
+
155
+ useEffect(() => {
156
+ if (playerRef.current?.audio?.current) {
157
+ playerRef.current.audio.current.playbackRate = playbackRate;
158
+ }
159
+ }, [playbackRate]);
160
+
161
+ return (
162
+ <div className="podcast-player">
163
+ <div className="episode-info">
164
+ <img src={episode.image} alt="" />
165
+ <h3>{episode.title}</h3>
166
+ <span>{formatDuration(episode.duration)}</span>
167
+ </div>
168
+
169
+ <AudioPlayer
170
+ ref={playerRef}
171
+ src={episode.audioUrl}
172
+ showJumpControls={true}
173
+ progressJumpSteps={{ backward: 15000, forward: 30000 }}
174
+ customAdditionalControls={[
175
+ <select
176
+ value={playbackRate}
177
+ onChange={(e) => setPlaybackRate(+e.target.value)}
178
+ >
179
+ {[0.5, 0.75, 1, 1.25, 1.5, 2].map(s => (
180
+ <option key={s} value={s}>{s}x</option>
181
+ ))}
182
+ </select>
183
+ ]}
184
+ onPlay={() => onPlay?.(episode)}
185
+ onEnded={() => onEnded?.(episode)}
186
+ />
187
+ </div>
188
+ );
189
+ };
190
+ ```
191
+
192
+ ### 4. Frontend API Service
193
+
194
+ ```javascript
195
+ // client/src/services/podcastService.js
196
+ import api from './api';
197
+
198
+ export const getAvailableFeeds = () => api.get('/podcasts');
199
+ export const getFeed = (id, { limit, offset }) =>
200
+ api.get(`/podcasts/${id}`, { params: { limit, offset } });
201
+ export const searchEpisodes = (q) =>
202
+ api.get('/podcasts/search/episodes', { params: { q } });
203
+ ```
204
+
205
+ ---
206
+
207
+ ## NPM Dependencies
208
+
209
+ ```bash
210
+ # Backend
211
+ npm install rss-parser
212
+
213
+ # Frontend
214
+ npm install react-h5-audio-player
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Key Patterns
220
+
221
+ ### Private Feed Authentication (Castos)
222
+
223
+ Castos private feeds use UUID tokens in the URL:
224
+ ```
225
+ https://feeds.castos.com/xxxxx?uuid=YOUR_PRIVATE_UUID
226
+ ```
227
+
228
+ The UUID acts as authentication - store it in your backend config, never expose to client.
229
+
230
+ ### Caching Strategy
231
+
232
+ | Feed Type | Cache TTL | Reason |
233
+ |-----------|-----------|--------|
234
+ | Public | 6 hours | Content rarely changes |
235
+ | Private | 2 hours | May have more frequent updates |
236
+
237
+ For production, consider Redis:
238
+ ```javascript
239
+ import Redis from 'ioredis';
240
+ const redis = new Redis(process.env.REDIS_URL);
241
+
242
+ // Cache with TTL
243
+ await redis.setex(`podcast:${feedId}`, CACHE_TTL, JSON.stringify(data));
244
+ ```
245
+
246
+ ### Membership-Based Access
247
+
248
+ ```javascript
249
+ // Check user's membership level from database
250
+ const membership = await sql`
251
+ SELECT ml.slug, ml.access_rank
252
+ FROM user_memberships um
253
+ JOIN membership_levels ml ON um.membership_level_id = ml.id
254
+ WHERE um.user_id = ${userId}
255
+ AND um.status = 'active'
256
+ `;
257
+
258
+ // Compare access ranks
259
+ const userRank = membership?.access_rank || 0;
260
+ const requiredRank = feedConfig.accessLevel === 'partner' ? 2 : 1;
261
+ return userRank >= requiredRank;
262
+ ```
263
+
264
+ ---
265
+
266
+ ## Common Issues & Solutions
267
+
268
+ | Issue | Solution |
269
+ |-------|----------|
270
+ | CORS errors fetching RSS | Fetch from backend, not client |
271
+ | Duration parsing | Handle both "HH:MM:SS" and seconds formats |
272
+ | Missing episode images | Fallback to podcast image or default |
273
+ | Audio not playing | Check audio URL, may need proxy for HTTPS |
274
+
275
+ ---
276
+
277
+ ## Testing Checklist
278
+
279
+ - [ ] Public feeds load for all authenticated users
280
+ - [ ] Private feeds blocked for non-partners
281
+ - [ ] Admin can access all feeds
282
+ - [ ] Search returns results from accessible feeds only
283
+ - [ ] Audio plays correctly
284
+ - [ ] Playback speed control works
285
+ - [ ] Cache invalidates after TTL
286
+ - [ ] Pagination works correctly
287
+
288
+ ---
289
+
290
+ ## Related Skills
291
+
292
+ - `video-media/audio-player-integration.md`
293
+ - `api-patterns/membership-access-control.md`
294
+ - `deployment-security/caching-strategies.md`
295
+
296
+ ---
297
+
298
+ **Last Updated:** January 5, 2026
299
+ **Author:** Claude Opus 4.5
300
+ **Project Reference:** my-other-project
@@ -0,0 +1,53 @@
1
+ # WordPress LMS Course Data Recovery - Extraction & Migration
2
+
3
+ ## The Problem
4
+
5
+ You have WordPress LMS course data exported as JSON files, and need to extract course structure, find embedded media URLs, and recreate the course in a new LMS system.
6
+
7
+ ### Why It Was Hard
8
+
9
+ - LMS exports are spread across multiple JSON files (courses, lessons, topics)
10
+ - Media URLs are embedded in HTML content fields
11
+ - Course iterations create duplicate entries with slug suffixes like `-2-2-2-3`
12
+
13
+ ---
14
+
15
+ ## The Solution
16
+
17
+ ### LMS Export Structure
18
+
19
+ | File | Post Type | Contains |
20
+ |------|-----------|----------|
21
+ | `wordpress-courses.json` | `sfwd-courses` | Course metadata |
22
+ | `wordpress-lessons.json` | `sfwd-lessons` | Lesson titles, ordering |
23
+ | `wordpress-topics.json` | `sfwd-topic` | Sub-lessons with actual content/media |
24
+
25
+ ### Extract Media URLs
26
+
27
+ ```bash
28
+ # Find all Castos audio URLs
29
+ grep -oE "https://[^\"']*castos[^\"']*\.mp3" wordpress-topics.json | sort -u
30
+ ```
31
+
32
+ ### Generate Embed HTML
33
+
34
+ ```html
35
+ <audio controls style="width:100%">
36
+ <source src="https://episodes.castos.com/.../file.mp3" type="audio/mpeg">
37
+ </audio>
38
+ ```
39
+
40
+ ---
41
+
42
+ ## Key Insight
43
+
44
+ LMS spreads content across three post types. Lessons often just have titles - the actual content with media is in **Topics**. Always search all three JSON files.
45
+
46
+ ## Difficulty Level
47
+
48
+ ⭐⭐⭐ (3/5)
49
+
50
+ ---
51
+
52
+ **Author Notes:**
53
+ "Activation completed during a live session" means no audio exists - it was conducted live.