@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,662 @@
1
+ ---
2
+ name: "pdf-forms-integration"
3
+ description: "Complete guide to integrating official fillable PDF forms (especially GTA forms) into web applications. Covers AcroForm field mapping, pdf-lib usage, field inspection, and hybrid browser-native editing workflow."
4
+ ---
5
+
6
+ # PDF Forms Integration Skill
7
+
8
+ **Purpose**: Guide Claude in integrating official fillable PDF forms (especially GTA forms) into web applications
9
+
10
+ **Use Cases**:
11
+ - Integrating official GTA PDF forms (Form 656, 433-A, 433-B, etc.)
12
+ - Auto-populating AcroForm fields from user data
13
+ - Allowing users to manually edit PDFs in browser
14
+ - Downloading filled PDFs for submission
15
+
16
+ **Key Technologies**: pdf-lib, PDF.js, React, TypeScript
17
+
18
+ ---
19
+
20
+ ## Overview
21
+
22
+ This skill helps integrate official PDF forms (with AcroForm fields) into web applications, enabling:
23
+ 1. Loading official PDFs from GTA or other sources
24
+ 2. Auto-populating form fields programmatically
25
+ 3. Allowing users to edit fields directly in the PDF
26
+ 4. Downloading the completed PDF
27
+
28
+ ---
29
+
30
+ ## Core Concepts
31
+
32
+ ### AcroForm Fields
33
+ - **What**: Interactive form fields embedded in PDFs
34
+ - **Types**: Text fields, checkboxes, radio buttons, dropdowns
35
+ - **Field Names**: Cryptic identifiers like `topmostSubform[0].Page1[0].f1_01[0]`
36
+ - **Browser Support**: Chrome, Firefox, Edge, Safari all support editing AcroForms
37
+
38
+ ### pdf-lib Library
39
+ - **Best For**: Programmatic PDF manipulation (filling fields, generating PDFs)
40
+ - **NOT For**: Interactive editing in browser (use native browser support)
41
+ - **Use Cases**: Pre-filling PDFs, batch processing, server-side generation
42
+
43
+ ### PDF.js Library
44
+ - **Best For**: Rendering PDFs in browser
45
+ - **Limitations**: Not designed for form filling (use pdf-lib or native browser)
46
+ - **Use Case**: Custom PDF viewer, annotation tools
47
+
48
+ ---
49
+
50
+ ## Implementation Strategy
51
+
52
+ ### Recommended Approach: Hybrid System
53
+
54
+ **Step 1**: Use pdf-lib to pre-fill fields from auto-populate
55
+ **Step 2**: Display filled PDF in iframe using native browser PDF viewer
56
+ **Step 3**: Let users edit directly in PDF (native browser support)
57
+ **Step 4**: Users download the edited PDF
58
+
59
+ **Why This Works**:
60
+ - ✅ Pre-filling is fast (pdf-lib)
61
+ - ✅ Editing is native (no custom UI needed)
62
+ - ✅ Works offline (PDFs cached locally)
63
+ - ✅ Legally compliant (official GTA forms)
64
+
65
+ ---
66
+
67
+ ## Phase 1: Download and Store Official PDFs
68
+
69
+ ### Directory Structure
70
+ ```
71
+ public/
72
+ irs-forms/
73
+ f656.pdf # Form 656 - Offer in Compromise
74
+ f433a.pdf # Form 433-A - Wage Earner
75
+ f433b.pdf # Form 433-B - Self-Employed
76
+ f433d.pdf # Form 433-D - Installment Agreement
77
+ f433f.pdf # Form 433-F - Collection Info
78
+ f9465.pdf # Form 9465 - Installment Agreement Request
79
+ ```
80
+
81
+ ### Download Commands
82
+ ```bash
83
+ # Create directory
84
+ mkdir -p public/irs-forms
85
+
86
+ # Download forms from GTA
87
+ curl -o public/irs-forms/f656.pdf https://www.irs.gov/pub/irs-pdf/f656.pdf
88
+ curl -o public/irs-forms/f433a.pdf https://www.irs.gov/pub/irs-pdf/f433a.pdf
89
+ curl -o public/irs-forms/f433b.pdf https://www.irs.gov/pub/irs-pdf/f433b.pdf
90
+ curl -o public/irs-forms/f433d.pdf https://www.irs.gov/pub/irs-pdf/f433d.pdf
91
+ curl -o public/irs-forms/f433f.pdf https://www.irs.gov/pub/irs-pdf/f433f.pdf
92
+ curl -o public/irs-forms/f9465.pdf https://www.irs.gov/pub/irs-pdf/f9465.pdf
93
+ ```
94
+
95
+ ### Alternative: Windows PowerShell
96
+ ```powershell
97
+ # Create directory
98
+ New-Item -ItemType Directory -Force -Path "public/irs-forms"
99
+
100
+ # Download forms
101
+ Invoke-WebRequest -Uri "https://www.irs.gov/pub/irs-pdf/f656.pdf" -OutFile "public/irs-forms/f656.pdf"
102
+ Invoke-WebRequest -Uri "https://www.irs.gov/pub/irs-pdf/f433a.pdf" -OutFile "public/irs-forms/f433a.pdf"
103
+ Invoke-WebRequest -Uri "https://www.irs.gov/pub/irs-pdf/f433b.pdf" -OutFile "public/irs-forms/f433b.pdf"
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Phase 2: Create PDF Field Inspector
109
+
110
+ **Purpose**: Discover the actual field names in official PDFs
111
+
112
+ ### Create: `src/utils/pdfFieldInspector.ts`
113
+
114
+ ```typescript
115
+ import { PDFDocument } from 'pdf-lib';
116
+
117
+ export interface PDFFieldInfo {
118
+ name: string;
119
+ type: string;
120
+ value?: string;
121
+ defaultValue?: string;
122
+ }
123
+
124
+ /**
125
+ * Inspect PDF form fields and return their names and types
126
+ */
127
+ export async function inspectPDFFields(pdfUrl: string): Promise<PDFFieldInfo[]> {
128
+ try {
129
+ // Load the PDF
130
+ const response = await fetch(pdfUrl);
131
+ const arrayBuffer = await response.arrayBuffer();
132
+ const pdfDoc = await PDFDocument.load(arrayBuffer);
133
+
134
+ // Get the form
135
+ const form = pdfDoc.getForm();
136
+ const fields = form.getFields();
137
+
138
+ // Map field information
139
+ const fieldInfo: PDFFieldInfo[] = fields.map(field => ({
140
+ name: field.getName(),
141
+ type: field.constructor.name,
142
+ value: field.constructor.name === 'PDFTextField'
143
+ ? (field as any).getText()
144
+ : undefined,
145
+ }));
146
+
147
+ return fieldInfo;
148
+ } catch (error) {
149
+ console.error('Error inspecting PDF fields:', error);
150
+ throw error;
151
+ }
152
+ }
153
+
154
+ /**
155
+ * Log all fields to console for documentation
156
+ */
157
+ export async function logPDFFields(pdfUrl: string) {
158
+ const fields = await inspectPDFFields(pdfUrl);
159
+
160
+ console.log(`\n=== PDF Field Inspector ===`);
161
+ console.log(`PDF: ${pdfUrl}`);
162
+ console.log(`Total Fields: ${fields.length}\n`);
163
+
164
+ fields.forEach((field, index) => {
165
+ console.log(`${index + 1}. ${field.name}`);
166
+ console.log(` Type: ${field.type}`);
167
+ if (field.value) {
168
+ console.log(` Value: ${field.value}`);
169
+ }
170
+ console.log('');
171
+ });
172
+ }
173
+ ```
174
+
175
+ ### Usage Example
176
+ ```typescript
177
+ import { logPDFFields } from './utils/pdfFieldInspector';
178
+
179
+ // In a component or test file
180
+ async function inspectForm656() {
181
+ await logPDFFields('/irs-forms/f656.pdf');
182
+ }
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Phase 3: Create Field Mappings
188
+
189
+ **Purpose**: Map application field names to PDF field names
190
+
191
+ ### Create: `src/lib/irsFieldMappings.ts`
192
+
193
+ ```typescript
194
+ export interface FieldMapping {
195
+ appFieldName: string; // Our field name (e.g., 'taxpayerName')
196
+ pdfFieldName: string; // PDF's field name (e.g., 'topmostSubform[0].Page1[0].f1_01[0]')
197
+ label: string; // Human-readable label
198
+ type: 'text' | 'date' | 'number' | 'checkbox' | 'radio';
199
+ format?: (value: any) => string; // Optional formatter
200
+ }
201
+
202
+ /**
203
+ * Form 656 - Offer in Compromise
204
+ * NOTE: These field names are EXAMPLES - inspect actual PDF for real names
205
+ */
206
+ export const FORM_656_FIELD_MAPPING: FieldMapping[] = [
207
+ {
208
+ appFieldName: 'taxpayerName',
209
+ pdfFieldName: 'topmostSubform[0].Page1[0].f1_01[0]', // EXAMPLE - verify actual name
210
+ label: 'Taxpayer Name',
211
+ type: 'text',
212
+ },
213
+ {
214
+ appFieldName: 'ssn',
215
+ pdfFieldName: 'topmostSubform[0].Page1[0].f1_02[0]', // EXAMPLE
216
+ label: 'SSN (Last 4 Digits)',
217
+ type: 'text',
218
+ },
219
+ {
220
+ appFieldName: 'dateOfBirth',
221
+ pdfFieldName: 'topmostSubform[0].Page1[0].f1_03[0]', // EXAMPLE
222
+ label: 'Date of Birth',
223
+ type: 'date',
224
+ format: (value: string) => {
225
+ // Convert YYYY-MM-DD to MM/DD/YYYY
226
+ const date = new Date(value);
227
+ return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;
228
+ },
229
+ },
230
+ // ... more mappings
231
+ ];
232
+
233
+ /**
234
+ * Form 433-A - Collection Information Statement (Wage Earner)
235
+ */
236
+ export const FORM_433A_FIELD_MAPPING: FieldMapping[] = [
237
+ // TODO: Inspect PDF and add mappings
238
+ ];
239
+
240
+ /**
241
+ * Form 433-B - Collection Information Statement (Self-Employed)
242
+ */
243
+ export const FORM_433B_FIELD_MAPPING: FieldMapping[] = [
244
+ // TODO: Inspect PDF and add mappings
245
+ ];
246
+
247
+ /**
248
+ * Get field mapping for a specific form
249
+ */
250
+ export function getFieldMapping(formType: '656' | '433-A' | '433-B'): FieldMapping[] {
251
+ switch (formType) {
252
+ case '656':
253
+ return FORM_656_FIELD_MAPPING;
254
+ case '433-A':
255
+ return FORM_433A_FIELD_MAPPING;
256
+ case '433-B':
257
+ return FORM_433B_FIELD_MAPPING;
258
+ default:
259
+ return [];
260
+ }
261
+ }
262
+ ```
263
+
264
+ ---
265
+
266
+ ## Phase 4: Fill PDF Fields with pdf-lib
267
+
268
+ ### Create: `src/lib/pdfFormFiller.ts`
269
+
270
+ ```typescript
271
+ import { PDFDocument, PDFTextField } from 'pdf-lib';
272
+ import { getFieldMapping, FieldMapping } from './irsFieldMappings';
273
+
274
+ /**
275
+ * Fill PDF form fields with data
276
+ */
277
+ export async function fillPDFForm(
278
+ pdfUrl: string,
279
+ formType: '656' | '433-A' | '433-B',
280
+ data: Record<string, any>
281
+ ): Promise<Uint8Array> {
282
+ try {
283
+ // Load the PDF
284
+ const response = await fetch(pdfUrl);
285
+ const arrayBuffer = await response.arrayBuffer();
286
+ const pdfDoc = await PDFDocument.load(arrayBuffer);
287
+
288
+ // Get the form
289
+ const form = pdfDoc.getForm();
290
+
291
+ // Get field mappings
292
+ const mappings = getFieldMapping(formType);
293
+
294
+ // Fill each field
295
+ for (const mapping of mappings) {
296
+ const value = data[mapping.appFieldName];
297
+
298
+ if (!value) {
299
+ console.warn(`No value for field: ${mapping.appFieldName}`);
300
+ continue;
301
+ }
302
+
303
+ try {
304
+ // Format value if formatter exists
305
+ const formattedValue = mapping.format
306
+ ? mapping.format(value)
307
+ : String(value);
308
+
309
+ // Get PDF field
310
+ const pdfField = form.getTextField(mapping.pdfFieldName);
311
+
312
+ // Set the value
313
+ pdfField.setText(formattedValue);
314
+
315
+ console.log(`✓ Filled: ${mapping.label} = ${formattedValue}`);
316
+ } catch (fieldError) {
317
+ console.error(`Error filling field ${mapping.pdfFieldName}:`, fieldError);
318
+ }
319
+ }
320
+
321
+ // Save the PDF
322
+ const pdfBytes = await pdfDoc.save();
323
+ return pdfBytes;
324
+ } catch (error) {
325
+ console.error('Error filling PDF form:', error);
326
+ throw error;
327
+ }
328
+ }
329
+
330
+ /**
331
+ * Fill PDF and create a blob URL for preview
332
+ */
333
+ export async function fillAndPreviewPDF(
334
+ pdfUrl: string,
335
+ formType: '656' | '433-A' | '433-B',
336
+ data: Record<string, any>
337
+ ): Promise<string> {
338
+ const pdfBytes = await fillPDFForm(pdfUrl, formType, data);
339
+ const blob = new Blob([pdfBytes], { type: 'application/pdf' });
340
+ return URL.createObjectURL(blob);
341
+ }
342
+
343
+ /**
344
+ * Fill PDF and download
345
+ */
346
+ export async function fillAndDownloadPDF(
347
+ pdfUrl: string,
348
+ formType: '656' | '433-A' | '433-B',
349
+ data: Record<string, any>,
350
+ filename: string
351
+ ) {
352
+ const pdfBytes = await fillPDFForm(pdfUrl, formType, data);
353
+ const blob = new Blob([pdfBytes], { type: 'application/pdf' });
354
+ const url = URL.createObjectURL(blob);
355
+
356
+ const a = document.createElement('a');
357
+ a.href = url;
358
+ a.download = filename;
359
+ document.body.appendChild(a);
360
+ a.click();
361
+ document.body.removeChild(a);
362
+
363
+ URL.revokeObjectURL(url);
364
+ }
365
+ ```
366
+
367
+ ---
368
+
369
+ ## Phase 5: Update UI Component
370
+
371
+ ### Update: `src/components/Forms/PDFFormEditor.tsx`
372
+
373
+ ```typescript
374
+ import React, { useState, useEffect } from 'react';
375
+ import { Download, FileText } from 'lucide-react';
376
+ import { fillAndPreviewPDF, fillAndDownloadPDF } from '../../lib/pdfFormFiller';
377
+
378
+ interface PDFFormEditorProps {
379
+ formType: '656' | '433-A' | '433-B';
380
+ formTitle: string;
381
+ fields: Record<string, string>;
382
+ }
383
+
384
+ export function PDFFormEditor({ formType, formTitle, fields }: PDFFormEditorProps) {
385
+ const [pdfUrl, setPdfUrl] = useState<string | null>(null);
386
+ const [isLoading, setIsLoading] = useState(false);
387
+ const [error, setError] = useState<string | null>(null);
388
+
389
+ // Get the PDF path
390
+ const getPDFPath = (): string => {
391
+ const formMap: Record<string, string> = {
392
+ '656': '/irs-forms/f656.pdf',
393
+ '433-A': '/irs-forms/f433a.pdf',
394
+ '433-B': '/irs-forms/f433b.pdf',
395
+ };
396
+ return formMap[formType];
397
+ };
398
+
399
+ // Fill and preview PDF when fields change
400
+ useEffect(() => {
401
+ if (Object.keys(fields).length === 0) return;
402
+
403
+ const fillPDF = async () => {
404
+ setIsLoading(true);
405
+ setError(null);
406
+
407
+ try {
408
+ const pdfPath = getPDFPath();
409
+ const url = await fillAndPreviewPDF(pdfPath, formType, fields);
410
+
411
+ // Clean up old URL
412
+ if (pdfUrl) {
413
+ URL.revokeObjectURL(pdfUrl);
414
+ }
415
+
416
+ setPdfUrl(url);
417
+ } catch (err) {
418
+ console.error('Error filling PDF:', err);
419
+ setError('Failed to fill PDF. Please try again.');
420
+ } finally {
421
+ setIsLoading(false);
422
+ }
423
+ };
424
+
425
+ fillPDF();
426
+
427
+ // Cleanup on unmount
428
+ return () => {
429
+ if (pdfUrl) {
430
+ URL.revokeObjectURL(pdfUrl);
431
+ }
432
+ };
433
+ }, [fields, formType]);
434
+
435
+ const handleDownload = async () => {
436
+ try {
437
+ const pdfPath = getPDFPath();
438
+ const filename = `GTA_Form_${formType}_${new Date().toISOString().split('T')[0]}.pdf`;
439
+ await fillAndDownloadPDF(pdfPath, formType, fields, filename);
440
+ } catch (err) {
441
+ console.error('Error downloading PDF:', err);
442
+ setError('Failed to download PDF. Please try again.');
443
+ }
444
+ };
445
+
446
+ return (
447
+ <div className="space-y-6">
448
+ {/* PDF Preview */}
449
+ <div className="bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-6">
450
+ <div className="flex items-center justify-between mb-4">
451
+ <div className="flex items-center gap-2">
452
+ <FileText className="w-5 h-5 text-blue-600 dark:text-blue-400" />
453
+ <h3 className="text-lg font-semibold text-gray-900 dark:text-white">
454
+ {formTitle}
455
+ </h3>
456
+ </div>
457
+ <button
458
+ onClick={handleDownload}
459
+ disabled={!pdfUrl || isLoading}
460
+ className="flex items-center gap-2 px-4 py-2 bg-gradient-to-r from-blue-600 to-blue-700 text-white rounded-lg font-medium hover:from-blue-700 hover:to-blue-800 shadow-sm hover:shadow-md transition-all disabled:opacity-50 disabled:cursor-not-allowed"
461
+ >
462
+ <Download className="w-4 h-4" />
463
+ <span>Download PDF</span>
464
+ </button>
465
+ </div>
466
+
467
+ {error && (
468
+ <div className="mb-4 p-4 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg">
469
+ <p className="text-sm text-red-800 dark:text-red-200">{error}</p>
470
+ </div>
471
+ )}
472
+
473
+ <div className="relative bg-gray-50 dark:bg-gray-900 rounded-lg overflow-hidden" style={{ height: '800px' }}>
474
+ {isLoading && (
475
+ <div className="absolute inset-0 flex items-center justify-center bg-white/80 dark:bg-gray-900/80 z-10">
476
+ <div className="text-center">
477
+ <div className="w-12 h-12 border-4 border-blue-600 border-t-transparent rounded-full animate-spin mx-auto mb-4"></div>
478
+ <p className="text-sm text-gray-600 dark:text-gray-400">Filling PDF...</p>
479
+ </div>
480
+ </div>
481
+ )}
482
+
483
+ {pdfUrl ? (
484
+ <iframe
485
+ src={pdfUrl}
486
+ className="w-full h-full border-0"
487
+ title="PDF Preview"
488
+ />
489
+ ) : (
490
+ <div className="flex items-center justify-center h-full">
491
+ <div className="text-center text-gray-500 dark:text-gray-400">
492
+ <FileText className="w-16 h-16 mx-auto mb-4 opacity-50" />
493
+ <p className="text-lg font-medium">Fill form fields to generate PDF</p>
494
+ <p className="text-sm mt-2">Use the auto-populate button above</p>
495
+ </div>
496
+ </div>
497
+ )}
498
+ </div>
499
+
500
+ {pdfUrl && (
501
+ <div className="mt-4 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
502
+ <p className="text-sm text-blue-800 dark:text-blue-200">
503
+ <strong>✓ PDF Ready:</strong> You can now edit fields directly in the PDF above.
504
+ Your browser's native PDF editor allows you to make changes before downloading.
505
+ </p>
506
+ </div>
507
+ )}
508
+ </div>
509
+ </div>
510
+ );
511
+ }
512
+ ```
513
+
514
+ ---
515
+
516
+ ## Common Issues and Solutions
517
+
518
+ ### Issue 1: Field Name Not Found
519
+ **Problem**: `Error: Field 'xyz' not found`
520
+ **Solution**: Run PDF field inspector to get actual field names
521
+
522
+ ### Issue 2: Fields Not Visible After Filling
523
+ **Problem**: Fields are filled but don't show in PDF
524
+ **Solution**: Some PDFs need appearance streams. Try:
525
+ ```typescript
526
+ const form = pdfDoc.getForm();
527
+ form.updateFieldAppearances(); // Add this before saving
528
+ ```
529
+
530
+ ### Issue 3: Date Format Issues
531
+ **Problem**: Dates display incorrectly
532
+ **Solution**: Add format function in field mapping:
533
+ ```typescript
534
+ {
535
+ appFieldName: 'dateOfBirth',
536
+ pdfFieldName: '...',
537
+ type: 'date',
538
+ format: (value) => {
539
+ const date = new Date(value);
540
+ return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`;
541
+ },
542
+ }
543
+ ```
544
+
545
+ ### Issue 4: CORS Errors When Loading PDF
546
+ **Problem**: Can't load PDF from external URL
547
+ **Solution**: Store PDFs locally in `public/` folder or configure CORS on server
548
+
549
+ ---
550
+
551
+ ## Best Practices
552
+
553
+ ### 1. Field Mapping Management
554
+ - Keep mappings in separate file (`irsFieldMappings.ts`)
555
+ - Document field types and formats
556
+ - Add comments with PDF field locations (page number, section)
557
+
558
+ ### 2. Error Handling
559
+ - Catch errors for each field individually
560
+ - Log which fields fail to fill
561
+ - Continue filling other fields even if one fails
562
+
563
+ ### 3. User Experience
564
+ - Show loading state while filling PDF
565
+ - Display which fields were successfully filled
566
+ - Allow users to edit in native PDF viewer
567
+ - Provide clear download button
568
+
569
+ ### 4. Legal Compliance
570
+ - Use official GTA PDFs only
571
+ - Add disclaimer about form revision dates
572
+ - Don't modify PDF structure (only fill fields)
573
+ - Recommend users verify with tax professional
574
+
575
+ ---
576
+
577
+ ## Integration Checklist
578
+
579
+ - [ ] Download official PDF forms to `public/irs-forms/`
580
+ - [ ] Create PDF field inspector utility
581
+ - [ ] Inspect PDFs and document field names
582
+ - [ ] Create field mappings file
583
+ - [ ] Implement `pdfFormFiller.ts`
584
+ - [ ] Update UI component to use filled PDFs
585
+ - [ ] Test auto-populate workflow
586
+ - [ ] Test manual editing in browser
587
+ - [ ] Test download functionality
588
+ - [ ] Add error handling
589
+ - [ ] Add user instructions
590
+ - [ ] Test with real user data
591
+
592
+ ---
593
+
594
+ ## Time Estimates
595
+
596
+ | Task | Time | Priority |
597
+ |------|------|----------|
598
+ | Download PDFs | 5 min | HIGH |
599
+ | Create field inspector | 30 min | HIGH |
600
+ | Inspect Form 656 | 15 min | HIGH |
601
+ | Create mappings for Form 656 | 1-2 hrs | HIGH |
602
+ | Implement pdfFormFiller | 1 hr | HIGH |
603
+ | Update UI component | 1 hr | HIGH |
604
+ | Test and debug | 1-2 hrs | HIGH |
605
+ | Inspect Form 433-A | 15 min | MEDIUM |
606
+ | Mappings for Form 433-A | 1-2 hrs | MEDIUM |
607
+ | Inspect Form 433-B | 15 min | MEDIUM |
608
+ | Mappings for Form 433-B | 1-2 hrs | MEDIUM |
609
+
610
+ **Total for Form 656**: 4-6 hours
611
+ **Total for all 3 forms**: 10-14 hours
612
+
613
+ ---
614
+
615
+ ## Success Criteria
616
+
617
+ ✅ **Phase 1 Complete When**:
618
+ - Official PDFs downloaded and stored
619
+ - PDFs load successfully in browser
620
+ - No CORS errors
621
+
622
+ ✅ **Phase 2 Complete When**:
623
+ - Field inspector lists all PDF field names
624
+ - Field names documented in JSON or console
625
+ - Field types identified (text, date, number, etc.)
626
+
627
+ ✅ **Phase 3 Complete When**:
628
+ - Field mappings file created
629
+ - At least 10 fields mapped per form
630
+ - Formatters added for dates and currency
631
+
632
+ ✅ **Phase 4 Complete When**:
633
+ - PDF fields fill programmatically
634
+ - Filled values visible in PDF
635
+ - No console errors during filling
636
+
637
+ ✅ **Phase 5 Complete When**:
638
+ - UI displays filled PDF
639
+ - Users can edit in native PDF viewer
640
+ - Download produces correct PDF
641
+
642
+ ✅ **Complete Integration When**:
643
+ - Auto-populate fills PDF correctly
644
+ - All 12+ fields fill successfully
645
+ - Manual editing works in browser
646
+ - Download produces submission-ready PDF
647
+ - Tested with real user data
648
+
649
+ ---
650
+
651
+ ## Additional Resources
652
+
653
+ - **pdf-lib Docs**: https://pdf-lib.js.org/docs/api/
654
+ - **GTA PDF Forms**: https://www.irs.gov/forms-instructions
655
+ - **AcroForms Spec**: https://www.pdftron.com/blog/pdf/what-are-acroforms/
656
+ - **Browser PDF Support**: https://caniuse.com/pdf-viewer
657
+
658
+ ---
659
+
660
+ **Skill Created**: October 28, 2025
661
+ **Last Updated**: November 7, 2025
662
+ **Status**: Production ready for GTA forms integration