@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,625 @@
1
+ # Audio Enhancement Pipeline
2
+ ## Description
3
+
4
+ Automate audio post-production using FFmpeg filter chains. This skill provides a structured pipeline for cleaning up, normalizing, and mastering audio — covering podcasts, sermons, music, and voice recordings.
5
+
6
+ ## When to Use
7
+
8
+ - Cleaning up recorded audio (noise, silence, inconsistent volume)
9
+ - Preparing podcast/sermon audio for publishing
10
+ - Batch processing multiple audio files with consistent quality
11
+ - Building an automated audio pipeline in Node.js
12
+ - Mastering music tracks for distribution
13
+
14
+ ---
15
+
16
+ ## The Pipeline (Ordered Steps)
17
+
18
+ Audio enhancement works best when filters are applied in a specific order. Each step builds on the previous one.
19
+
20
+ ```
21
+ Raw Audio
22
+ |
23
+ v
24
+ [1] Noise Reduction -- remove background hiss, hum, ambient noise
25
+ |
26
+ v
27
+ [2] Loudness Normalization -- bring to target LUFS (EBU R128)
28
+ |
29
+ v
30
+ [3] Silence Trimming -- remove dead air from start, end, and middle
31
+ |
32
+ v
33
+ [4] Compression/Limiting -- tame peaks, even out dynamic range
34
+ |
35
+ v
36
+ [5] Format Conversion -- export to target format(s)
37
+ |
38
+ v
39
+ Clean Audio
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Step 1: Noise Reduction
45
+
46
+ ### FFT-based Denoising (`afftdn`)
47
+
48
+ Best for stationary noise (constant hiss, fan hum, room tone).
49
+
50
+ ```bash
51
+ # Adaptive noise floor — good default for most recordings
52
+ ffmpeg -i input.wav -af "afftdn=nf=-25:nt=w:om=o" denoised.wav
53
+
54
+ # Stronger denoising (may affect voice quality)
55
+ ffmpeg -i input.wav -af "afftdn=nf=-20:nt=w:om=o" denoised.wav
56
+
57
+ # Gentle denoising (preserves natural sound)
58
+ ffmpeg -i input.wav -af "afftdn=nf=-35:nt=w:om=o" denoised.wav
59
+ ```
60
+
61
+ **Parameters:**
62
+ - `nf` — noise floor in dB (lower = less aggressive, `-25` is a good start)
63
+ - `nt=w` — noise type: white noise model
64
+ - `om=o` — output mode: output cleaned signal
65
+
66
+ ### Non-local Means Denoising (`anlmdn`)
67
+
68
+ Better for non-stationary noise (variable background sounds).
69
+
70
+ ```bash
71
+ # Default non-local means denoising
72
+ ffmpeg -i input.wav -af "anlmdn=s=7:p=0.002:r=0.002" denoised.wav
73
+
74
+ # Stronger denoising
75
+ ffmpeg -i input.wav -af "anlmdn=s=10:p=0.005:r=0.005" denoised.wav
76
+ ```
77
+
78
+ **Parameters:**
79
+ - `s` — denoising strength (higher = more aggressive)
80
+ - `p` — patch size factor
81
+ - `r` — research size factor
82
+
83
+ ### Hum Removal (50/60Hz electrical hum)
84
+
85
+ ```bash
86
+ # Remove 60Hz hum (US power) + harmonics
87
+ ffmpeg -i input.wav -af "highpass=f=80,bandreject=f=60:w=2,bandreject=f=120:w=2,bandreject=f=180:w=2" dehum.wav
88
+
89
+ # Remove 50Hz hum (EU power) + harmonics
90
+ ffmpeg -i input.wav -af "highpass=f=65,bandreject=f=50:w=2,bandreject=f=100:w=2,bandreject=f=150:w=2" dehum.wav
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Step 2: Loudness Normalization (EBU R128)
96
+
97
+ ### Target Levels
98
+
99
+ | Content Type | Integrated LUFS | True Peak (dBTP) | LRA (LU) |
100
+ |-------------|-----------------|-------------------|-----------|
101
+ | **Podcast** | -16 LUFS | -1.0 dBTP | 5-10 LU |
102
+ | **YouTube** | -14 LUFS | -1.0 dBTP | 7-12 LU |
103
+ | **Music streaming** | -14 LUFS | -1.0 dBTP | 7-15 LU |
104
+ | **Broadcast TV** | -24 LUFS | -2.0 dBTP | 6-12 LU |
105
+ | **Audiobook** | -18 to -20 LUFS | -3.0 dBTP | 3-6 LU |
106
+
107
+ ### Two-Pass Normalization (Most Accurate)
108
+
109
+ ```bash
110
+ # Pass 1: Measure current loudness
111
+ ffmpeg -i input.wav -af loudnorm=I=-16:TP=-1.0:LRA=11:print_format=json -f null NUL 2>&1
112
+
113
+ # Read the JSON output — you need: measured_I, measured_TP, measured_LRA, measured_thresh
114
+
115
+ # Pass 2: Apply with measured values (example values — use YOUR measured values)
116
+ ffmpeg -i input.wav -af loudnorm=I=-16:TP=-1.0:LRA=11:measured_I=-23.2:measured_TP=-4.1:measured_LRA=14.5:measured_thresh=-34.2:linear=true normalized.wav
117
+ ```
118
+
119
+ ### Single-Pass Normalization (Simpler)
120
+
121
+ ```bash
122
+ # Podcast target (-16 LUFS)
123
+ ffmpeg -i input.wav -af loudnorm=I=-16:TP=-1.0:LRA=11 normalized.wav
124
+
125
+ # Music target (-14 LUFS)
126
+ ffmpeg -i input.wav -af loudnorm=I=-14:TP=-1.0:LRA=11 normalized.wav
127
+
128
+ # Broadcast target (-24 LUFS)
129
+ ffmpeg -i input.wav -af loudnorm=I=-24:TP=-2.0:LRA=11 normalized.wav
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Step 3: Silence Trimming
135
+
136
+ ### Remove Leading and Trailing Silence
137
+
138
+ ```bash
139
+ # Remove silence from start and end (threshold: -40dB, min silence: 0.5s)
140
+ ffmpeg -i input.wav -af "silenceremove=start_periods=1:start_threshold=-40dB:start_duration=0.5:stop_periods=1:stop_threshold=-40dB:stop_duration=0.5" trimmed.wav
141
+ ```
142
+
143
+ ### Remove All Internal Silence (Pauses)
144
+
145
+ ```bash
146
+ # Remove ALL silence segments longer than 1 second
147
+ ffmpeg -i input.wav -af "silenceremove=stop_periods=-1:stop_threshold=-40dB:stop_duration=1" trimmed.wav
148
+
149
+ # Shorten long pauses to 0.5s (keep some natural rhythm)
150
+ ffmpeg -i input.wav -af "silenceremove=stop_periods=-1:stop_threshold=-45dB:stop_duration=2:stop_silence=0.5" trimmed.wav
151
+ ```
152
+
153
+ ### Detect Silence (Without Removing)
154
+
155
+ ```bash
156
+ # List all silent segments (useful for chapter detection)
157
+ ffmpeg -i input.wav -af silencedetect=noise=-40dB:d=1.0 -f null NUL 2>&1
158
+ ```
159
+
160
+ ---
161
+
162
+ ## Step 4: Compression / Limiting
163
+
164
+ ### Dynamic Range Compression
165
+
166
+ ```bash
167
+ # Gentle compression — evens out volume without squashing dynamics
168
+ ffmpeg -i input.wav -af "acompressor=threshold=-20dB:ratio=3:attack=5:release=50:makeup=2" compressed.wav
169
+
170
+ # Podcast compression — tighter control for consistent voice levels
171
+ ffmpeg -i input.wav -af "acompressor=threshold=-18dB:ratio=4:attack=5:release=100:knee=5:makeup=3" compressed.wav
172
+
173
+ # Aggressive compression — broadcast-style (talk radio feel)
174
+ ffmpeg -i input.wav -af "acompressor=threshold=-15dB:ratio=6:attack=2:release=50:knee=3:makeup=5" compressed.wav
175
+ ```
176
+
177
+ **Parameters explained:**
178
+ - `threshold` — level above which compression kicks in
179
+ - `ratio` — how much to reduce (4:1 means 4dB over threshold becomes 1dB)
180
+ - `attack` — how fast compression engages (ms)
181
+ - `release` — how fast compression releases (ms)
182
+ - `knee` — softens the threshold transition (dB)
183
+ - `makeup` — gain added after compression to restore volume (dB)
184
+
185
+ ### Hard Limiting (Prevent Clipping)
186
+
187
+ ```bash
188
+ # Brick-wall limiter at -1dBTP
189
+ ffmpeg -i input.wav -af "alimiter=limit=0.891:attack=5:release=50:level=false" limited.wav
190
+ # 0.891 = linear value of -1 dBFS (10^(-1/20))
191
+ ```
192
+
193
+ ---
194
+
195
+ ## Step 5: Format Conversion
196
+
197
+ ```bash
198
+ # High-quality MP3 for podcast distribution
199
+ ffmpeg -i enhanced.wav -c:a libmp3lame -b:a 192k -ar 44100 podcast.mp3
200
+
201
+ # AAC for Apple Podcasts
202
+ ffmpeg -i enhanced.wav -c:a aac -b:a 192k -ar 44100 podcast.m4a
203
+
204
+ # Opus for web (best quality-to-size ratio)
205
+ ffmpeg -i enhanced.wav -c:a libopus -b:a 128k podcast.opus
206
+
207
+ # FLAC for archival
208
+ ffmpeg -i enhanced.wav -c:a flac -compression_level 8 archive.flac
209
+ ```
210
+
211
+ ---
212
+
213
+ ## Complete FFmpeg Command Chains
214
+
215
+ ### Sermon / Podcast Cleanup
216
+
217
+ Full pipeline: noise reduction, normalize to -16 LUFS, trim silence, gentle compression.
218
+
219
+ ```bash
220
+ ffmpeg -i raw_sermon.wav \
221
+ -af "afftdn=nf=-25:nt=w:om=o, \
222
+ highpass=f=80, \
223
+ acompressor=threshold=-20dB:ratio=3:attack=5:release=100:makeup=2, \
224
+ silenceremove=start_periods=1:start_threshold=-40dB:stop_periods=1:stop_threshold=-40dB:stop_duration=0.5, \
225
+ loudnorm=I=-16:TP=-1.0:LRA=11" \
226
+ -c:a libmp3lame -b:a 192k -ar 44100 \
227
+ clean_sermon.mp3
228
+ ```
229
+
230
+ ### Music Mastering
231
+
232
+ Normalize, compress for consistent dynamics, limit peaks.
233
+
234
+ ```bash
235
+ ffmpeg -i raw_mix.wav \
236
+ -af "acompressor=threshold=-18dB:ratio=2.5:attack=10:release=200:knee=6:makeup=1, \
237
+ alimiter=limit=0.891:attack=5:release=50:level=false, \
238
+ loudnorm=I=-14:TP=-1.0:LRA=11" \
239
+ -c:a flac -compression_level 8 \
240
+ mastered.flac
241
+ ```
242
+
243
+ ### Voice Recording Enhancement
244
+
245
+ Noise removal, presence boost (2-5kHz), normalize for clarity.
246
+
247
+ ```bash
248
+ ffmpeg -i raw_voice.wav \
249
+ -af "afftdn=nf=-25:nt=w:om=o, \
250
+ highpass=f=80, \
251
+ lowpass=f=12000, \
252
+ equalizer=f=3500:t=q:w=1.5:g=3, \
253
+ acompressor=threshold=-20dB:ratio=3:attack=5:release=100:makeup=2, \
254
+ loudnorm=I=-16:TP=-1.0:LRA=11" \
255
+ -c:a libmp3lame -b:a 192k -ar 44100 \
256
+ enhanced_voice.mp3
257
+ ```
258
+
259
+ **EQ breakdown:**
260
+ - `highpass=f=80` — removes rumble below 80Hz
261
+ - `lowpass=f=12000` — removes harsh sibilance above 12kHz
262
+ - `equalizer=f=3500:t=q:w=1.5:g=3` — boosts presence range by 3dB (makes voice cut through)
263
+
264
+ ---
265
+
266
+ ## Node.js Implementation
267
+
268
+ ### Full Pipeline with fluent-ffmpeg
269
+
270
+ ```javascript
271
+ import ffmpeg from 'fluent-ffmpeg';
272
+ import { existsSync } from 'fs';
273
+
274
+ /**
275
+ * Audio enhancement pipeline
276
+ * @param {string} inputPath - Path to raw audio file
277
+ * @param {string} outputPath - Path for enhanced output
278
+ * @param {object} options - Pipeline configuration
279
+ */
280
+ function enhanceAudio(inputPath, outputPath, options = {}) {
281
+ const {
282
+ type = 'podcast', // 'podcast' | 'music' | 'voice'
283
+ targetLUFS = -16, // Target loudness
284
+ noiseFloor = -25, // Noise reduction strength (dB)
285
+ trimSilence = true, // Remove leading/trailing silence
286
+ outputFormat = 'mp3', // 'mp3' | 'aac' | 'flac' | 'opus'
287
+ bitrate = '192k',
288
+ onProgress = null,
289
+ } = options;
290
+
291
+ if (!existsSync(inputPath)) {
292
+ return Promise.reject(new Error(`Input file not found: ${inputPath}`));
293
+ }
294
+
295
+ // Build filter chain based on content type
296
+ const filters = [];
297
+
298
+ // Step 1: Noise reduction
299
+ filters.push(`afftdn=nf=${noiseFloor}:nt=w:om=o`);
300
+ filters.push('highpass=f=80');
301
+
302
+ // Step 2: Type-specific processing
303
+ if (type === 'voice') {
304
+ filters.push('lowpass=f=12000');
305
+ filters.push('equalizer=f=3500:t=q:w=1.5:g=3');
306
+ }
307
+
308
+ // Step 3: Compression
309
+ const compSettings = {
310
+ podcast: 'threshold=-20dB:ratio=3:attack=5:release=100:makeup=2',
311
+ music: 'threshold=-18dB:ratio=2.5:attack=10:release=200:knee=6:makeup=1',
312
+ voice: 'threshold=-20dB:ratio=3:attack=5:release=100:makeup=2',
313
+ };
314
+ filters.push(`acompressor=${compSettings[type] || compSettings.podcast}`);
315
+
316
+ // Step 4: Silence trimming
317
+ if (trimSilence) {
318
+ filters.push(
319
+ 'silenceremove=start_periods=1:start_threshold=-40dB:stop_periods=1:stop_threshold=-40dB:stop_duration=0.5'
320
+ );
321
+ }
322
+
323
+ // Step 5: Loudness normalization (always last before output)
324
+ filters.push(`loudnorm=I=${targetLUFS}:TP=-1.0:LRA=11`);
325
+
326
+ const filterChain = filters.join(',');
327
+
328
+ // Codec mapping
329
+ const codecMap = {
330
+ mp3: { codec: 'libmp3lame', ext: '.mp3' },
331
+ aac: { codec: 'aac', ext: '.m4a' },
332
+ flac: { codec: 'flac', ext: '.flac' },
333
+ opus: { codec: 'libopus', ext: '.opus' },
334
+ };
335
+ const { codec } = codecMap[outputFormat] || codecMap.mp3;
336
+
337
+ return new Promise((resolve, reject) => {
338
+ const cmd = ffmpeg(inputPath)
339
+ .audioFilters(filterChain)
340
+ .audioCodec(codec)
341
+ .audioBitrate(bitrate)
342
+ .audioFrequency(44100)
343
+ .output(outputPath)
344
+ .on('start', (cmdLine) => {
345
+ console.log('[audio-pipeline] Running:', cmdLine);
346
+ })
347
+ .on('progress', (progress) => {
348
+ if (onProgress) onProgress(progress);
349
+ })
350
+ .on('end', () => {
351
+ console.log('[audio-pipeline] Done:', outputPath);
352
+ resolve(outputPath);
353
+ })
354
+ .on('error', (err, stdout, stderr) => {
355
+ console.error('[audio-pipeline] Error:', err.message);
356
+ console.error('[audio-pipeline] stderr:', stderr);
357
+ reject(err);
358
+ });
359
+
360
+ cmd.run();
361
+ });
362
+ }
363
+
364
+ // --- Usage Examples ---
365
+
366
+ // Podcast cleanup
367
+ await enhanceAudio('raw_episode.wav', 'episode_001.mp3', {
368
+ type: 'podcast',
369
+ targetLUFS: -16,
370
+ trimSilence: true,
371
+ });
372
+
373
+ // Music mastering
374
+ await enhanceAudio('mix.wav', 'mastered.flac', {
375
+ type: 'music',
376
+ targetLUFS: -14,
377
+ outputFormat: 'flac',
378
+ trimSilence: false,
379
+ });
380
+
381
+ // Voice memo cleanup
382
+ await enhanceAudio('recording.m4a', 'clean_voice.mp3', {
383
+ type: 'voice',
384
+ targetLUFS: -16,
385
+ noiseFloor: -20, // more aggressive for noisy recordings
386
+ });
387
+ ```
388
+
389
+ ### Batch Processing
390
+
391
+ ```javascript
392
+ import { readdir } from 'fs/promises';
393
+ import { join, parse } from 'path';
394
+
395
+ async function batchEnhance(inputDir, outputDir, options = {}) {
396
+ const files = await readdir(inputDir);
397
+ const audioFiles = files.filter(f =>
398
+ /\.(wav|mp3|m4a|flac|ogg|aac|wma)$/i.test(f)
399
+ );
400
+
401
+ console.log(`Found ${audioFiles.length} audio files to process`);
402
+
403
+ const results = [];
404
+ for (const file of audioFiles) {
405
+ const inputPath = join(inputDir, file);
406
+ const { name } = parse(file);
407
+ const outputPath = join(outputDir, `${name}_enhanced.mp3`);
408
+
409
+ try {
410
+ await enhanceAudio(inputPath, outputPath, options);
411
+ results.push({ file, status: 'success', output: outputPath });
412
+ } catch (err) {
413
+ results.push({ file, status: 'error', error: err.message });
414
+ console.error(`Failed: ${file} — ${err.message}`);
415
+ }
416
+ }
417
+
418
+ const succeeded = results.filter(r => r.status === 'success').length;
419
+ console.log(`Batch complete: ${succeeded}/${audioFiles.length} succeeded`);
420
+ return results;
421
+ }
422
+
423
+ await batchEnhance('./raw_sermons/', './enhanced_sermons/', {
424
+ type: 'podcast',
425
+ targetLUFS: -16,
426
+ });
427
+ ```
428
+
429
+ ---
430
+
431
+ ## API Alternatives
432
+
433
+ When local FFmpeg processing is not enough (heavy noise, AI-powered enhancement needed):
434
+
435
+ ### Auphonic API
436
+
437
+ Best for: Podcast production, automatic leveling, noise reduction.
438
+
439
+ ```javascript
440
+ // Auphonic — automated audio post-production
441
+ // Docs: https://auphonic.com/api/
442
+
443
+ const AUPHONIC_TOKEN = process.env.AUPHONIC_TOKEN;
444
+
445
+ // Create a production
446
+ const response = await fetch('https://auphonic.com/api/simple/productions.json', {
447
+ method: 'POST',
448
+ headers: {
449
+ 'Authorization': `Bearer ${AUPHONIC_TOKEN}`,
450
+ 'Content-Type': 'application/json',
451
+ },
452
+ body: JSON.stringify({
453
+ title: 'Episode 42',
454
+ input_file: 'https://example.com/raw_audio.wav',
455
+ output_files: [{ format: 'mp3', bitrate: '192' }],
456
+ algorithms: {
457
+ loudnesstarget: -16, // LUFS
458
+ denoise: true,
459
+ leveler: true, // Multi-track leveling
460
+ filtering: true, // Remove low-frequency rumble
461
+ },
462
+ }),
463
+ });
464
+
465
+ const { data } = await response.json();
466
+ // Start the production
467
+ await fetch(`https://auphonic.com/api/production/${data.uuid}/start.json`, {
468
+ method: 'POST',
469
+ headers: { 'Authorization': `Bearer ${AUPHONIC_TOKEN}` },
470
+ });
471
+ ```
472
+
473
+ **Pricing:** Free tier = 2 hours/month. Paid starts at $11/month for 9 hours.
474
+
475
+ ### Dolby.io Media API
476
+
477
+ Best for: Professional-grade enhancement, noise reduction, loudness correction.
478
+
479
+ ```javascript
480
+ // Dolby.io Enhance API
481
+ // Docs: https://docs.dolby.io/media-apis/docs/enhance-api-guide
482
+
483
+ const DOLBY_API_KEY = process.env.DOLBY_API_KEY;
484
+
485
+ // Step 1: Get upload URL
486
+ const uploadResp = await fetch('https://api.dolby.io/media/input', {
487
+ method: 'POST',
488
+ headers: {
489
+ 'Authorization': `Bearer ${DOLBY_API_KEY}`,
490
+ 'Content-Type': 'application/json',
491
+ },
492
+ body: JSON.stringify({ url: 'dlb://input/raw_audio.wav' }),
493
+ });
494
+ const { url: uploadUrl } = await uploadResp.json();
495
+
496
+ // Step 2: Upload file
497
+ await fetch(uploadUrl, {
498
+ method: 'PUT',
499
+ headers: { 'Content-Type': 'audio/wav' },
500
+ body: audioBuffer,
501
+ });
502
+
503
+ // Step 3: Start enhancement
504
+ const enhanceResp = await fetch('https://api.dolby.io/media/enhance', {
505
+ method: 'POST',
506
+ headers: {
507
+ 'Authorization': `Bearer ${DOLBY_API_KEY}`,
508
+ 'Content-Type': 'application/json',
509
+ },
510
+ body: JSON.stringify({
511
+ input: 'dlb://input/raw_audio.wav',
512
+ output: 'dlb://output/enhanced.mp3',
513
+ content: { type: 'podcast' }, // 'podcast' | 'conference' | 'interview' | 'music'
514
+ audio: {
515
+ noise: { reduction: { enable: true, amount: 'high' } },
516
+ loudness: { enable: true, dialog_intelligence: true },
517
+ },
518
+ }),
519
+ });
520
+ ```
521
+
522
+ **Pricing:** Pay-per-minute. Enhancement starts at $0.005/min.
523
+
524
+ ### Adobe Podcast API (Enhance Speech)
525
+
526
+ Best for: Voice-only recordings, AI-powered studio-quality voice isolation.
527
+
528
+ ```
529
+ Note: Adobe Podcast "Enhance Speech" is currently a web tool at podcast.adobe.com/enhance.
530
+ No public REST API as of 2025 — but Adobe is expanding API access through Firefly Services.
531
+ ```
532
+
533
+ **Workaround for automation:** Use browser automation (Playwright) to upload/download through the web UI, or check Adobe's developer portal for API access updates.
534
+
535
+ ---
536
+
537
+ ## Quality Verification
538
+
539
+ ### Measure Loudness (LUFS)
540
+
541
+ ```bash
542
+ # Get full loudness stats
543
+ ffmpeg -i enhanced.mp3 -af loudnorm=I=-16:TP=-1.0:LRA=11:print_format=json -f null NUL 2>&1
544
+
545
+ # Quick measurement with ebur128
546
+ ffmpeg -i enhanced.mp3 -af ebur128=peak=true -f null NUL 2>&1
547
+ ```
548
+
549
+ **What to check in the output:**
550
+ - `input_i` — Integrated loudness (should match your target, e.g., -16 LUFS)
551
+ - `input_tp` — True peak (should be below -1.0 dBTP)
552
+ - `input_lra` — Loudness range (5-10 for speech, 7-15 for music)
553
+
554
+ ### Spectral Analysis
555
+
556
+ ```bash
557
+ # Generate a spectrogram image
558
+ ffmpeg -i enhanced.mp3 -lavfi showspectrumpic=s=1920x1080:mode=combined:color=intensity:scale=log spectrogram.png
559
+
560
+ # Generate waveform image
561
+ ffmpeg -i enhanced.mp3 -lavfi showwavespic=s=1920x200:colors=0x1DB954 waveform.png
562
+ ```
563
+
564
+ **What to look for in the spectrogram:**
565
+ - No visible horizontal lines at 50/60Hz (hum removed)
566
+ - No constant brightness in high frequencies (noise removed)
567
+ - Clean gaps between speech segments (silence trimming worked)
568
+ - Even brightness across the file (compression/normalization worked)
569
+
570
+ ### A/B Comparison
571
+
572
+ ```bash
573
+ # Create a side-by-side comparison file (original then enhanced)
574
+ ffmpeg -i original.wav -i enhanced.mp3 -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1" ab_compare.wav
575
+
576
+ # Create a 5-second snippet comparison
577
+ ffmpeg -i original.wav -ss 30 -t 5 -c:a pcm_s16le snippet_before.wav
578
+ ffmpeg -i enhanced.mp3 -ss 30 -t 5 -c:a pcm_s16le snippet_after.wav
579
+ ```
580
+
581
+ ### Automated Quality Check (Node.js)
582
+
583
+ ```javascript
584
+ import ffmpeg from 'fluent-ffmpeg';
585
+
586
+ function measureLoudness(filePath) {
587
+ return new Promise((resolve, reject) => {
588
+ let stderr = '';
589
+ ffmpeg(filePath)
590
+ .audioFilters('loudnorm=I=-16:TP=-1.0:LRA=11:print_format=json')
591
+ .format('null')
592
+ .output('/dev/null') // Use 'NUL' on Windows
593
+ .on('stderr', (line) => { stderr += line + '\n'; })
594
+ .on('end', () => {
595
+ // Extract JSON from FFmpeg stderr output
596
+ const jsonMatch = stderr.match(/\{[\s\S]*?"input_i"[\s\S]*?\}/);
597
+ if (jsonMatch) {
598
+ const stats = JSON.parse(jsonMatch[0]);
599
+ resolve({
600
+ lufs: parseFloat(stats.input_i),
601
+ truePeak: parseFloat(stats.input_tp),
602
+ lra: parseFloat(stats.input_lra),
603
+ threshold: parseFloat(stats.input_thresh),
604
+ });
605
+ } else {
606
+ reject(new Error('Could not parse loudness data'));
607
+ }
608
+ })
609
+ .on('error', reject)
610
+ .run();
611
+ });
612
+ }
613
+
614
+ // Usage
615
+ const stats = await measureLoudness('enhanced.mp3');
616
+ console.log(`LUFS: ${stats.lufs}, True Peak: ${stats.truePeak} dBTP, LRA: ${stats.lra} LU`);
617
+
618
+ // Validation
619
+ const isGood =
620
+ stats.lufs >= -17 && stats.lufs <= -15 && // Within 1 LUFS of target
621
+ stats.truePeak <= -0.5 && // Below true peak limit
622
+ stats.lra >= 3 && stats.lra <= 15; // Reasonable dynamic range
623
+
624
+ console.log(isGood ? 'PASS — audio meets spec' : 'WARN — check levels');
625
+ ```