@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,192 @@
1
+ # PCI DSS 4.0 Compliance Checklist for AI-Generated Code
2
+
3
+ > Mandatory compliance gate for any payment-handling code. Non-compliance fines: $5,000–$100,000/month.
4
+
5
+ **When to use:** Before deploying any code that processes, stores, or transmits payment data. This is a HARD GATE — payment features cannot ship without passing this checklist.
6
+ **Stack:** Any web application handling payments (Node.js, Python, etc.)
7
+
8
+ ---
9
+
10
+ ## The Rule
11
+
12
+ **AI-generated code must NEVER handle raw card data.** Period.
13
+
14
+ The entire purpose of Stripe Elements, Stripe Checkout, and similar tokenization services is to keep card numbers off your servers. If your server never sees a card number, you're in the simplest PCI compliance tier (SAQ A or SAQ A-EP).
15
+
16
+ The moment raw card data touches your server, you jump to SAQ D — the hardest compliance level, requiring quarterly scans, penetration testing, and extensive documentation.
17
+
18
+ ---
19
+
20
+ ## Scope Minimization Checklist
21
+
22
+ ### Tier 1: MUST Pass (Blockers)
23
+
24
+ ```
25
+ □ NO raw card numbers in server code, logs, or database
26
+ □ NO card data in URL parameters (GET requests)
27
+ □ NO card data in error messages or stack traces
28
+ □ NO card data in application logs (including debug mode)
29
+ □ NO custom card input fields (use Stripe Elements iframe)
30
+ □ NO card data stored in session/cookies
31
+ □ Stripe.js loaded from js.stripe.com (not self-hosted)
32
+ □ All payment pages served over HTTPS (no mixed content)
33
+ □ API keys stored in environment variables (never in code)
34
+ □ Secret keys never exposed to client-side code
35
+ ```
36
+
37
+ ### Tier 2: MUST Pass (Security)
38
+
39
+ ```
40
+ □ Restricted API keys with minimal required permissions
41
+ □ Webhook signature verification on all webhook endpoints
42
+ □ CSRF protection on payment-related forms
43
+ □ Rate limiting on payment API endpoints
44
+ □ Input validation on all payment-related parameters
45
+ □ Amount validation server-side (never trust client amounts)
46
+ □ Currency validation (prevent currency confusion attacks)
47
+ ```
48
+
49
+ ### Tier 3: SHOULD Pass (Best Practices)
50
+
51
+ ```
52
+ □ Logging of payment events (event ID and type only, no PCI data)
53
+ □ Monitoring/alerting for failed payment attempts
54
+ □ Idempotency keys on all payment mutations
55
+ □ Graceful error handling (no raw Stripe errors to users)
56
+ □ Content Security Policy headers allowing Stripe domains
57
+ □ Subresource Integrity (SRI) on Stripe.js if applicable
58
+ ```
59
+
60
+ ---
61
+
62
+ ## Code Scanning Rules
63
+
64
+ Run these checks against any AI-generated payment code:
65
+
66
+ ### Pattern 1: Card Number Detection
67
+
68
+ ```
69
+ SCAN for: /\b\d{13,19}\b/ in any .js, .ts, .py, .env file
70
+ SCAN for: card_number, cardNumber, cc_number, ccNumber in variable names
71
+ SCAN for: "4242424242424242" in test files (acceptable ONLY in test config)
72
+ ALERT if: Found in server-side code, logs, or database queries
73
+ ```
74
+
75
+ ### Pattern 2: Secret Key Exposure
76
+
77
+ ```
78
+ SCAN for: sk_live_, sk_test_ in source code files (not .env)
79
+ SCAN for: STRIPE_SECRET_KEY in client-side bundles
80
+ SCAN for: API keys in git history (git log -p | grep sk_)
81
+ ALERT if: Secret key found anywhere except .env or secrets manager
82
+ ```
83
+
84
+ ### Pattern 3: Raw Body Middleware
85
+
86
+ ```
87
+ SCAN for: Webhook route handler
88
+ CHECK: express.raw() or equivalent used on webhook route
89
+ ALERT if: express.json() applied globally before webhook route
90
+ REASON: JSON parsing destroys the raw body needed for signature verification
91
+ ```
92
+
93
+ ### Pattern 4: PCI Data in Logs
94
+
95
+ ```
96
+ SCAN for: console.log, logger.info, logger.debug near payment code
97
+ CHECK: No card data, CVV, expiry in logged objects
98
+ SCAN for: JSON.stringify(req.body) in payment routes
99
+ ALERT if: Full request body logged on payment endpoints
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Compliant Architecture Pattern
105
+
106
+ ```
107
+ ┌─────────────────────────────────────────────┐
108
+ │ CLIENT │
109
+ │ │
110
+ │ ┌─────────────────────────────────────────┐ │
111
+ │ │ Stripe Elements (iframe) │ │
112
+ │ │ Card data NEVER leaves this iframe │ │
113
+ │ │ → Tokenizes card → returns PaymentMethod│ │
114
+ │ └─────────────────────────────────────────┘ │
115
+ │ │ PaymentMethod ID (pm_xxx) │
116
+ │ ▼ │
117
+ │ Your JavaScript (no card data here) │
118
+ │ │ pm_xxx + order details │
119
+ └───────────┼───────────────────────────────────┘
120
+ │ HTTPS POST
121
+ ┌───────────▼───────────────────────────────────┐
122
+ │ SERVER │
123
+ │ │
124
+ │ Receives: pm_xxx (token), amount, currency │
125
+ │ NEVER receives: card number, CVV, expiry │
126
+ │ │
127
+ │ → Validates amount against database prices │
128
+ │ → Creates PaymentIntent with pm_xxx │
129
+ │ → Returns client_secret for confirmation │
130
+ │ │
131
+ │ Webhook endpoint: │
132
+ │ → Verifies signature (express.raw body) │
133
+ │ → Processes payment confirmation │
134
+ │ → Updates order status │
135
+ └────────────────────────────────────────────────┘
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Content Security Policy for Stripe
141
+
142
+ ```javascript
143
+ // Required CSP headers for Stripe Elements
144
+ const cspHeaders = {
145
+ 'Content-Security-Policy': [
146
+ "default-src 'self'",
147
+ "script-src 'self' https://js.stripe.com",
148
+ "frame-src https://js.stripe.com https://hooks.stripe.com",
149
+ "connect-src 'self' https://api.stripe.com",
150
+ "img-src 'self' https://*.stripe.com",
151
+ ].join('; ')
152
+ };
153
+ ```
154
+
155
+ ---
156
+
157
+ ## Common AI-Generated Violations
158
+
159
+ | Violation | Why AI Does This | Fix |
160
+ |-----------|-----------------|-----|
161
+ | Custom `<input>` for card number | Seems simpler than Stripe Elements | Always use `CardElement` from @stripe/react-stripe-js |
162
+ | Logging `req.body` on payment routes | Standard debugging pattern | Log only event ID and type |
163
+ | `sk_test_*` in source code | Faster than env setup during prototyping | Set up .env from the start |
164
+ | Storing card last-4 in user table | Seems useful for display | Retrieve from Stripe API on demand |
165
+ | Amount from client `req.body.amount` | Trust client data pattern | Calculate from server-side price lookup |
166
+
167
+ ---
168
+
169
+ ## Compliance Declaration
170
+
171
+ After verification, the responsible developer signs off:
172
+
173
+ ```
174
+ I verify that this payment integration:
175
+ - Never handles raw card data on our servers
176
+ - Uses Stripe's hosted tokenization (Elements/Checkout)
177
+ - Stores API keys only in environment variables
178
+ - Validates all amounts server-side
179
+ - Verifies webhook signatures
180
+ - Logs no PCI-scoped data
181
+
182
+ Signed: ________________ Date: ________
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Sources
188
+
189
+ - PCI Security Standards Council: "AI Principles — Securing the Use of AI in Payment Environments" (Spring 2025)
190
+ - PCI SSC: "New Guidance — Integrating AI into PCI Assessments" (2025)
191
+ - Stripe Documentation: Elements, Checkout, Webhooks
192
+ - PCI DSS 4.0 Requirements (mandatory March 31, 2025)
@@ -0,0 +1,177 @@
1
+ # Refund & Chargeback Handling
2
+
3
+ > Partial refunds, refund authorization flows, chargeback dispute handling, and tax recalculation patterns.
4
+
5
+ **When to use:** Implementing any refund capability in an e-commerce system. Critical for production systems processing real payments.
6
+ **Stack:** Node.js/Express, Stripe, PostgreSQL/MySQL
7
+
8
+ ---
9
+
10
+ ## Refund Types
11
+
12
+ | Type | Description | Use Case |
13
+ |------|-------------|----------|
14
+ | **Full refund** | Return entire payment amount | Order cancelled, wrong item shipped |
15
+ | **Partial refund** | Return portion of payment | One item from multi-item order, damaged item |
16
+ | **Store credit** | Issue credit instead of cash refund | Customer retention, faster processing |
17
+
18
+ ---
19
+
20
+ ## Refund API
21
+
22
+ ```javascript
23
+ // Full refund
24
+ router.post('/api/orders/:orderId/refund', requireAdmin, async (req, res) => {
25
+ const { reason, items, amount } = req.body;
26
+ const order = await getOrder(req.params.orderId);
27
+
28
+ if (!order) return res.status(404).json({ error: 'Order not found' });
29
+ if (!['confirmed', 'processing', 'shipped', 'delivered'].includes(order.status)) {
30
+ return res.status(400).json({ error: `Cannot refund order in ${order.status} status` });
31
+ }
32
+
33
+ // Calculate refund amount
34
+ let refundAmount;
35
+ if (amount) {
36
+ // Explicit amount (admin override)
37
+ refundAmount = Math.round(amount * 100); // cents
38
+ } else if (items && items.length > 0) {
39
+ // Partial refund: sum of selected items
40
+ refundAmount = items.reduce((sum, item) => {
41
+ const orderItem = order.items.find(i => i.id === item.id);
42
+ return sum + (orderItem.unit_price * item.quantity * 100);
43
+ }, 0);
44
+ } else {
45
+ // Full refund
46
+ refundAmount = Math.round(order.total * 100);
47
+ }
48
+
49
+ // Create Stripe refund
50
+ const refund = await stripe.refunds.create({
51
+ payment_intent: order.payment_intent_id,
52
+ amount: refundAmount,
53
+ reason: reason === 'duplicate' ? 'duplicate'
54
+ : reason === 'fraud' ? 'fraudulent'
55
+ : 'requested_by_customer',
56
+ metadata: { order_id: order.id, admin_id: req.user.id },
57
+ });
58
+
59
+ // Record refund
60
+ await db.query(
61
+ `INSERT INTO refunds (order_id, stripe_refund_id, amount, reason, status, created_by)
62
+ VALUES ($1, $2, $3, $4, $5, $6)`,
63
+ [order.id, refund.id, refundAmount / 100, reason, refund.status, req.user.id]
64
+ );
65
+
66
+ // Update order status if fully refunded
67
+ const totalRefunded = await getTotalRefunded(order.id);
68
+ if (totalRefunded >= order.total) {
69
+ await transitionOrder(order.id, 'refunded', { refund_id: refund.id });
70
+ }
71
+
72
+ // Restore inventory if items returned
73
+ if (items) {
74
+ for (const item of items) {
75
+ await restoreStock(item.product_id, item.variant_id, item.quantity);
76
+ }
77
+ }
78
+
79
+ res.json({
80
+ refund_id: refund.id,
81
+ amount: refundAmount / 100,
82
+ status: refund.status,
83
+ total_refunded: totalRefunded + refundAmount / 100,
84
+ order_total: order.total,
85
+ });
86
+ });
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Chargeback/Dispute Handling
92
+
93
+ When a customer disputes a charge with their bank:
94
+
95
+ ```javascript
96
+ // Webhook handler for disputes
97
+ async function handleDisputeCreated(event) {
98
+ const dispute = event.data.object;
99
+
100
+ // Record dispute
101
+ await db.query(
102
+ `INSERT INTO disputes (stripe_dispute_id, payment_intent_id, amount, reason, status, evidence_due_by)
103
+ VALUES ($1, $2, $3, $4, $5, $6)`,
104
+ [dispute.id, dispute.payment_intent, dispute.amount / 100,
105
+ dispute.reason, dispute.status,
106
+ new Date(dispute.evidence_details.due_by * 1000)]
107
+ );
108
+
109
+ // Alert admin immediately
110
+ await sendAdminAlert({
111
+ type: 'DISPUTE_CREATED',
112
+ amount: dispute.amount / 100,
113
+ reason: dispute.reason,
114
+ due_by: new Date(dispute.evidence_details.due_by * 1000),
115
+ order: await getOrderByPaymentIntent(dispute.payment_intent),
116
+ });
117
+ }
118
+
119
+ // Submit evidence
120
+ async function submitDisputeEvidence(disputeId) {
121
+ const dispute = await getDispute(disputeId);
122
+ const order = await getOrderByPaymentIntent(dispute.payment_intent_id);
123
+ const metadata = await getOrderFraudMetadata(order.id);
124
+
125
+ await stripe.disputes.update(dispute.stripe_dispute_id, {
126
+ evidence: {
127
+ customer_name: order.customer_name,
128
+ customer_email_address: order.customer_email,
129
+ product_description: order.items.map(i => i.name).join(', '),
130
+ billing_address: order.billing_address,
131
+ shipping_address: order.shipping_address,
132
+ shipping_tracking_number: order.tracking_number,
133
+ customer_purchase_ip: metadata.ip_address,
134
+ receipt: order.receipt_url, // Stripe receipt URL
135
+ // Upload additional evidence files via Stripe File API
136
+ },
137
+ });
138
+ }
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Database Schema
144
+
145
+ ```sql
146
+ CREATE TABLE refunds (
147
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
148
+ order_id UUID NOT NULL REFERENCES orders(id),
149
+ stripe_refund_id VARCHAR(255),
150
+ amount DECIMAL(10,2) NOT NULL,
151
+ reason VARCHAR(100),
152
+ status VARCHAR(20) DEFAULT 'pending',
153
+ created_by UUID REFERENCES users(id),
154
+ created_at TIMESTAMP DEFAULT NOW()
155
+ );
156
+
157
+ CREATE TABLE disputes (
158
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
159
+ stripe_dispute_id VARCHAR(255) UNIQUE,
160
+ payment_intent_id VARCHAR(255),
161
+ amount DECIMAL(10,2) NOT NULL,
162
+ reason VARCHAR(100),
163
+ status VARCHAR(30) DEFAULT 'needs_response',
164
+ evidence_due_by TIMESTAMP,
165
+ evidence_submitted_at TIMESTAMP,
166
+ outcome VARCHAR(20), -- won | lost
167
+ created_at TIMESTAMP DEFAULT NOW()
168
+ );
169
+ ```
170
+
171
+ ---
172
+
173
+ ## Sources
174
+
175
+ - Internal gap analysis: GAP-ECOM-3 (Refund & Chargeback Handling)
176
+ - Stripe API: Refunds and Disputes documentation (2025)
177
+ - Stigg Engineering: Webhook best practices (2025)
@@ -0,0 +1,218 @@
1
+ # Shipping & Carrier Integration Patterns
2
+
3
+ > Rate lookups, label generation, tracking sync, and returns handling for e-commerce fulfillment.
4
+
5
+ **When to use:** Building any e-commerce system that ships physical products. Applies during the fulfillment phase of order processing.
6
+ **Stack:** Node.js/Express, EasyPost or ShipStation API (recommended), or direct carrier APIs
7
+
8
+ ---
9
+
10
+ ## Architecture Decision: Direct vs Aggregator
11
+
12
+ | Approach | Pros | Cons | Best For |
13
+ |----------|------|------|----------|
14
+ | **Direct carrier APIs** (FedEx, UPS, USPS) | Full control, no middleman fees | Each carrier = separate integration, different APIs | High volume, single carrier |
15
+ | **Aggregator** (EasyPost, ShipStation, Shippo) | One API for all carriers, label generation, tracking | Monthly cost, slight markup on rates | Most e-commerce projects |
16
+
17
+ **Recommendation:** Use an aggregator unless you have a specific reason not to. EasyPost is developer-friendly with a good free tier.
18
+
19
+ ---
20
+
21
+ ## EasyPost Integration (Recommended)
22
+
23
+ ```bash
24
+ npm install @easypost/api
25
+ ```
26
+
27
+ ### Rate Shopping
28
+
29
+ ```javascript
30
+ import EasyPost from '@easypost/api';
31
+ const client = new EasyPost(process.env.EASYPOST_API_KEY);
32
+
33
+ async function getRates(fromAddress, toAddress, parcel) {
34
+ const shipment = await client.Shipment.create({
35
+ from_address: {
36
+ street1: fromAddress.street,
37
+ city: fromAddress.city,
38
+ state: fromAddress.state,
39
+ zip: fromAddress.zip,
40
+ country: fromAddress.country || 'US',
41
+ },
42
+ to_address: {
43
+ street1: toAddress.street,
44
+ city: toAddress.city,
45
+ state: toAddress.state,
46
+ zip: toAddress.zip,
47
+ country: toAddress.country || 'US',
48
+ },
49
+ parcel: {
50
+ length: parcel.length, // inches
51
+ width: parcel.width,
52
+ height: parcel.height,
53
+ weight: parcel.weight, // ounces
54
+ },
55
+ });
56
+
57
+ // Return sorted rates
58
+ return shipment.rates
59
+ .map(rate => ({
60
+ id: rate.id,
61
+ carrier: rate.carrier, // 'USPS', 'FedEx', 'UPS'
62
+ service: rate.service, // 'Priority', 'Ground', 'Express'
63
+ rate: parseFloat(rate.rate), // Dollar amount
64
+ est_delivery_days: rate.est_delivery_days,
65
+ delivery_date: rate.delivery_date,
66
+ }))
67
+ .sort((a, b) => a.rate - b.rate);
68
+ }
69
+ ```
70
+
71
+ ### Buy Label
72
+
73
+ ```javascript
74
+ async function buyShippingLabel(shipmentId, rateId) {
75
+ const shipment = await client.Shipment.retrieve(shipmentId);
76
+ const purchased = await shipment.buy(rateId);
77
+
78
+ return {
79
+ tracking_number: purchased.tracking_code,
80
+ tracking_url: purchased.tracker?.public_url,
81
+ label_url: purchased.postage_label.label_url,
82
+ label_format: purchased.postage_label.label_file_type, // 'PDF' or 'PNG'
83
+ carrier: purchased.selected_rate.carrier,
84
+ service: purchased.selected_rate.service,
85
+ cost: parseFloat(purchased.selected_rate.rate),
86
+ };
87
+ }
88
+ ```
89
+
90
+ ### Track Package
91
+
92
+ ```javascript
93
+ async function trackPackage(trackingNumber, carrier) {
94
+ const tracker = await client.Tracker.create({
95
+ tracking_code: trackingNumber,
96
+ carrier: carrier,
97
+ });
98
+
99
+ return {
100
+ status: tracker.status, // 'in_transit', 'delivered', etc.
101
+ est_delivery: tracker.est_delivery_date,
102
+ tracking_details: tracker.tracking_details.map(d => ({
103
+ status: d.status,
104
+ message: d.message,
105
+ datetime: d.datetime,
106
+ city: d.tracking_location?.city,
107
+ state: d.tracking_location?.state,
108
+ })),
109
+ };
110
+ }
111
+ ```
112
+
113
+ ---
114
+
115
+ ## Shipping API Endpoints
116
+
117
+ ```javascript
118
+ // POST /api/orders/:id/shipping/rates — Get available rates
119
+ router.post('/orders/:id/shipping/rates', requireAuth, async (req, res) => {
120
+ const order = await getOrder(req.params.id);
121
+ const warehouse = await getWarehouseAddress();
122
+
123
+ const rates = await getRates(warehouse, order.shipping_address, {
124
+ length: 12, width: 8, height: 6,
125
+ weight: calculateOrderWeight(order.items),
126
+ });
127
+
128
+ res.json({ rates });
129
+ });
130
+
131
+ // POST /api/orders/:id/shipping/purchase — Buy label
132
+ router.post('/orders/:id/shipping/purchase', requireAdmin, async (req, res) => {
133
+ const { rate_id, shipment_id } = req.body;
134
+
135
+ const label = await buyShippingLabel(shipment_id, rate_id);
136
+
137
+ await db.query(
138
+ `UPDATE orders SET
139
+ tracking_number = $1, tracking_url = $2,
140
+ shipping_label_url = $3, shipping_carrier = $4,
141
+ shipping_cost = $5, status = 'shipped', shipped_at = NOW()
142
+ WHERE id = $6`,
143
+ [label.tracking_number, label.tracking_url, label.label_url,
144
+ label.carrier, label.cost, req.params.id]
145
+ );
146
+
147
+ await sendShippingNotification(req.params.id, label);
148
+ res.json({ label });
149
+ });
150
+
151
+ // GET /api/orders/:id/tracking — Get tracking info
152
+ router.get('/orders/:id/tracking', requireAuth, async (req, res) => {
153
+ const order = await getOrder(req.params.id);
154
+ if (!order.tracking_number) {
155
+ return res.json({ status: 'not_shipped' });
156
+ }
157
+
158
+ const tracking = await trackPackage(order.tracking_number, order.shipping_carrier);
159
+ res.json(tracking);
160
+ });
161
+ ```
162
+
163
+ ---
164
+
165
+ ## Free Shipping Threshold
166
+
167
+ ```javascript
168
+ function calculateShipping(subtotal, shippingRate) {
169
+ const FREE_SHIPPING_THRESHOLD = parseFloat(process.env.FREE_SHIPPING_THRESHOLD || '75');
170
+
171
+ if (subtotal >= FREE_SHIPPING_THRESHOLD) {
172
+ return { cost: 0, reason: 'free_shipping_threshold' };
173
+ }
174
+
175
+ return {
176
+ cost: shippingRate,
177
+ free_shipping_at: FREE_SHIPPING_THRESHOLD,
178
+ remaining: FREE_SHIPPING_THRESHOLD - subtotal,
179
+ };
180
+ }
181
+ ```
182
+
183
+ ---
184
+
185
+ ## Return Labels
186
+
187
+ ```javascript
188
+ async function createReturnLabel(orderId) {
189
+ const order = await getOrder(orderId);
190
+ const warehouse = await getWarehouseAddress();
191
+
192
+ // Reverse: customer → warehouse
193
+ const shipment = await client.Shipment.create({
194
+ from_address: order.shipping_address,
195
+ to_address: warehouse,
196
+ parcel: { length: 12, width: 8, height: 6, weight: 16 },
197
+ is_return: true,
198
+ });
199
+
200
+ // Buy cheapest option
201
+ const cheapest = shipment.rates.sort((a, b) => a.rate - b.rate)[0];
202
+ const label = await shipment.buy(cheapest.id);
203
+
204
+ return {
205
+ tracking_number: label.tracking_code,
206
+ label_url: label.postage_label.label_url,
207
+ cost: parseFloat(cheapest.rate),
208
+ };
209
+ }
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Sources
215
+
216
+ - Internal gap analysis: GAP-ECOM-8 (Shipping & Carrier Integration)
217
+ - EasyPost API Documentation (2025)
218
+ - ShipStation API Documentation (2025)