@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.
- package/CREDITS.md +25 -0
- package/DOMINION-FLOW-OVERVIEW.md +182 -38
- package/README.md +399 -455
- package/TROUBLESHOOTING.md +264 -264
- package/agents/fire-debugger.md +54 -0
- package/agents/fire-executor.md +1610 -1033
- package/agents/fire-fact-checker.md +1 -1
- package/agents/fire-planner.md +85 -17
- package/agents/fire-project-researcher.md +1 -1
- package/agents/fire-researcher.md +4 -22
- package/agents/{fire-phoenix-analyst.md → fire-resurrection-analyst.md} +394 -394
- package/agents/fire-reviewer.md +552 -499
- package/agents/fire-verifier.md +114 -19
- package/bin/cli.js +18 -101
- package/commands/fire-0-orient.md +2 -2
- package/commands/fire-1a-new.md +50 -15
- package/commands/fire-1c-setup.md +33 -5
- package/commands/fire-1d-discuss.md +87 -1
- package/commands/fire-2-plan.md +556 -527
- package/commands/fire-3-execute.md +2046 -1356
- package/commands/fire-4-verify.md +975 -906
- package/commands/fire-5-handoff.md +46 -5
- package/commands/fire-6-resume.md +2 -31
- package/commands/fire-add-new-skill.md +138 -19
- package/commands/fire-autonomous.md +14 -2
- package/commands/fire-complete-milestone.md +1 -1
- package/commands/fire-cost.md +179 -183
- package/commands/fire-debug.md +1 -6
- package/commands/fire-loop-resume.md +2 -2
- package/commands/fire-loop-stop.md +1 -1
- package/commands/fire-loop.md +2 -15
- package/commands/fire-map-codebase.md +1 -1
- package/commands/fire-migrate-database.md +548 -0
- package/commands/fire-new-milestone.md +1 -1
- package/commands/fire-reflect.md +1 -2
- package/commands/fire-research.md +142 -21
- package/commands/{fire-phoenix.md → fire-resurrect.md} +859 -603
- package/commands/fire-scaffold.md +297 -0
- package/commands/fire-search.md +1 -2
- package/commands/fire-security-scan.md +483 -484
- package/commands/fire-setup.md +359 -0
- package/commands/fire-skill.md +770 -0
- package/commands/fire-skills-diff.md +506 -506
- package/commands/fire-skills-history.md +388 -388
- package/commands/fire-skills-rollback.md +7 -7
- package/commands/fire-skills-sync.md +470 -470
- package/commands/fire-test.md +5 -5
- package/commands/fire-todos.md +1 -1
- package/commands/fire-update.md +5 -5
- package/commands/fire-validate-skills.md +282 -0
- package/commands/fire-vuln-scan.md +492 -493
- package/hooks/run-hook.sh +8 -8
- package/hooks/run-session-end.sh +7 -7
- package/hooks/session-end.sh +90 -90
- package/hooks/session-start.sh +1 -1
- package/package.json +4 -24
- package/plugin.json +7 -7
- package/references/autonomy-levels.md +235 -0
- package/references/behavioral-directives.md +95 -3
- package/references/blocker-tracking.md +1 -1
- package/references/circuit-breaker.md +93 -2
- package/references/context-engineering.md +227 -9
- package/references/honesty-protocols.md +70 -1
- package/references/issue-to-pr-pipeline.md +149 -150
- package/references/metrics-and-trends.md +1 -2
- package/references/research-improvements.md +4 -108
- package/references/sdlc-mapping.md +73 -0
- package/references/state-machine.md +151 -0
- package/skills-library/AVAILABLE_TOOLS_REFERENCE.md +333 -0
- package/skills-library/SKILLS-INDEX.md +57 -558
- package/skills-library/SKILLS_LIBRARY_INDEX.md +532 -0
- package/skills-library/_general/api-patterns/api-field-name-mismatch.md +107 -0
- package/skills-library/_general/api-patterns/streaming-command-timeout.md +122 -0
- package/skills-library/_general/api-patterns/streaming-proxy-cors-bypass.md +102 -0
- package/skills-library/_general/automation/settings-gui-generator.md +172 -0
- package/skills-library/_general/database-solutions/data-type-mapping-reference.md +181 -0
- package/skills-library/_general/database-solutions/mysql-limit-offset-string-coercion.md +102 -0
- package/skills-library/_general/database-solutions/mysql-to-pg-migration.md +195 -0
- package/skills-library/_general/database-solutions/orm-schema-portability.md +193 -0
- package/skills-library/_general/database-solutions/persistent-analysis-storage.md +207 -0
- package/skills-library/_general/database-solutions/pg-to-mysql-schema-migration-methodology.md +190 -0
- package/skills-library/_general/database-solutions/sql-dialect-compatibility-matrix.md +306 -0
- package/skills-library/_general/database-solutions/sqlite-to-pg-migration.md +219 -0
- package/skills-library/_general/frontend/canvas-bubble-animation-grouping.md +270 -0
- package/skills-library/_general/frontend/color-token-migration.md +112 -0
- package/skills-library/_general/frontend/framer-motion-layoutid-grouping.md +150 -0
- package/skills-library/_general/frontend/pyqt6-settings-dialog.md +191 -0
- package/skills-library/_general/frontend/react-flow-animated-layout-switching.md +101 -0
- package/skills-library/_general/frontend/react-hooks-order-debugging.md +141 -0
- package/skills-library/_general/frontend/redux-localstorage-auth-desync.md +126 -0
- package/skills-library/_general/frontend/safari-csp-theme-color-debugging.md +124 -0
- package/skills-library/_general/frontend/safari-sw-cache-poisoning.md +138 -0
- package/skills-library/_general/frontend/svg-sparkline-no-charting-library.md +131 -0
- package/skills-library/_general/growth-marketing/oss-daily-growth-intelligence.md +224 -0
- package/skills-library/_general/integrations/claude-code-local-mcp-integration.md +250 -0
- package/skills-library/_general/integrations/mcp-composite-tool-orchestration.md +200 -0
- package/skills-library/_general/methodology/AGENT_SDK_STANDALONE_TOOLING.md +181 -0
- package/skills-library/_general/methodology/AGENT_TEAMS_GUIDE.md +169 -0
- package/skills-library/_general/methodology/ALAS_STATEFUL_EXECUTION.md +207 -0
- package/skills-library/_general/methodology/AUTO_REVIEWER_SUBAGENT.md +211 -0
- package/skills-library/_general/methodology/CONSISTENCY_CHECK_AMBIGUITY_GATE.md +96 -0
- package/skills-library/_general/methodology/DEAD_ENDS_SHELF.md +4 -4
- package/skills-library/_general/methodology/DISTILL_NOT_DUMP.md +108 -0
- package/skills-library/_general/methodology/EXECUTION_PROGRESS_MONITOR.md +157 -0
- package/skills-library/_general/methodology/HIERARCHICAL_REVIEW_MARS.md +122 -0
- package/skills-library/_general/methodology/MCP_INTER_AGENT_BRIDGE.md +207 -0
- package/skills-library/_general/methodology/MERMAID_WIZARD_DIAGRAMS.md +77 -0
- package/skills-library/_general/methodology/MISSING_DIMENSION_DETECTOR.md +89 -0
- package/skills-library/_general/methodology/MULTI_AGENT_COORDINATION.md +397 -0
- package/skills-library/_general/methodology/OBSERVATION_MASKING.md +100 -0
- package/skills-library/_general/methodology/PHOENIX_REBUILD_METHODOLOGY.md +82 -11
- package/skills-library/_general/methodology/REVIEW_BACKTRACK_PANEL.md +140 -0
- package/skills-library/_general/methodology/REVIEW_FIX_LOOP.md +117 -0
- package/skills-library/_general/methodology/VOTING_VERDICT_ARBITRATION.md +155 -0
- package/skills-library/_general/methodology/ZERO_FRICTION_CLI_SETUP.md +2 -2
- package/skills-library/_general/methodology/dead-code-activation.md +123 -0
- package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -240
- package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +1 -1
- package/skills-library/_general/patterns-standards/GOF_DESIGN_PATTERNS_FOR_AI_AGENTS.md +5 -5
- package/skills-library/_general/patterns-standards/cascading-failure-diagnosis.md +119 -0
- package/skills-library/_general/patterns-standards/domain-specific-layout-algorithms.md +209 -0
- package/skills-library/_general/patterns-standards/python-desktop-app-architecture.md +399 -0
- package/skills-library/_general/patterns-standards/realtime-monitoring-dashboard.md +457 -0
- package/skills-library/_general/patterns-standards/togglable-processing-pipeline.md +169 -0
- package/skills-library/_general/performance/liveclock-extraction.md +112 -0
- package/skills-library/_general/performance/ref-based-canvas-animation.md +117 -0
- package/skills-library/_general/performance/use-visible-interval.md +131 -0
- package/skills-library/_general/testing/playwright-firefox-withcredentials-auth-issue.md +104 -0
- package/skills-library/_quarantine/README.md +30 -0
- package/skills-library/api-patterns/BROADCAST_SCHEDULER_SHARED_EXECUTE_FUNCTION.md +150 -0
- package/skills-library/api-patterns/ERROR_RESPONSE_STANDARDS.md +145 -0
- package/skills-library/api-patterns/EXPRESS_ROUTE_ORDERING_MIDDLEWARE_INTERCEPTION.md +326 -0
- package/skills-library/api-patterns/PAGINATION_PATTERNS.md +137 -0
- package/skills-library/api-patterns/PODCAST_PROGRESS_TRACKING_THREE_ROOT_CAUSES.md +277 -0
- package/skills-library/api-patterns/RATE_LIMITING_TOGGLE.md +155 -0
- package/skills-library/api-patterns/graphql-content-queries.md +708 -0
- package/skills-library/appointment-scheduler-design.md +423 -0
- package/skills-library/automation/AUTO_POPULATE_COMPLETE_GUIDE.md +631 -0
- package/skills-library/automation/CC_WORKFLOW_STUDIO.md +83 -0
- package/skills-library/automation/CLAUDE_CODE_SWARM_MODE.md +95 -0
- package/skills-library/automation/DAEMON_TRIGGER_FILE_IPC.md +195 -0
- package/skills-library/automation/scheduled-content-publishing.md +608 -0
- package/skills-library/awesome-workflows/Blogging-Platform-Instructions/view_commands.md +25 -0
- package/skills-library/awesome-workflows/CREDENTIAL-SECURITY-WORKFLOW.md +109 -0
- package/skills-library/awesome-workflows/DEBUGGING-WORKFLOW.md +124 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/README.md +31 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-principles-example.md +129 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-agent.md +107 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-claude-md-snippet.md +24 -0
- package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-slash-command.md +38 -0
- package/skills-library/awesome-workflows/PARALLEL-RESEARCH-WORKFLOW.md +89 -0
- package/skills-library/awesome-workflows/PHASE-EXECUTION-WORKFLOW.md +97 -0
- package/skills-library/awesome-workflows/SESSION-HANDOFF-WORKFLOW.md +116 -0
- package/skills-library/cms-patterns/content-branch-preview.md +515 -0
- package/skills-library/cms-patterns/inline-visual-editing.md +666 -0
- package/skills-library/cms-patterns/mdx-component-content.md +649 -0
- package/skills-library/cms-patterns/media-manager-abstraction.md +827 -0
- package/skills-library/cms-patterns/schema-driven-form-generator.md +838 -0
- package/skills-library/complexity-metrics/complexity-divider.md +707 -0
- package/skills-library/complexity-metrics/work-with-complexity.md +193 -0
- package/skills-library/creative-multimedia/animation-stack-guide.md +577 -0
- package/skills-library/creative-multimedia/audio-enhancement-pipeline.md +625 -0
- package/skills-library/creative-multimedia/content-repurposing-pipeline.md +1146 -0
- package/skills-library/creative-multimedia/data-visualization-generator.md +862 -0
- package/skills-library/creative-multimedia/doc-to-podcast-pipeline.md +2184 -0
- package/skills-library/creative-multimedia/ffmpeg-command-generator.md +405 -0
- package/skills-library/creative-multimedia/image-optimization-pipeline.md +605 -0
- package/skills-library/creative-multimedia/multi-format-content-generator.md +1759 -0
- package/skills-library/creative-multimedia/og-image-generator.md +635 -0
- package/skills-library/creative-multimedia/podcast-audio-composition.md +1355 -0
- package/skills-library/creative-multimedia/podcast-quality-evaluation.md +1452 -0
- package/skills-library/creative-multimedia/podcast-script-generation.md +1841 -0
- package/skills-library/creative-multimedia/svg-generation.md +750 -0
- package/skills-library/creative-multimedia/text-to-speech-provider-selector.md +1414 -0
- package/skills-library/creative-multimedia/transcription-pipeline-selector.md +677 -0
- package/skills-library/creative-multimedia/video-streaming-setup.md +559 -0
- package/skills-library/database-solutions/AI_RESPONSE_DATABASE_CACHING.md +520 -0
- package/skills-library/database-solutions/CONDITIONAL_SQL_MIGRATION_PATTERN.md +119 -0
- package/skills-library/database-solutions/DATABASE_COLUMN_NAME_MISMATCH.md +393 -0
- package/skills-library/database-solutions/DATABASE_SCHEMA.md +394 -0
- package/skills-library/database-solutions/DATABASE_SCHEMA_VERIFICATION_GUIDE.md +348 -0
- package/skills-library/database-solutions/DATABASE_STRATEGY.md +71 -0
- package/skills-library/database-solutions/ES_MODULE_SEED_SCRIPT_PATTERN.md +52 -0
- package/skills-library/database-solutions/MIGRATION_GUIDE.md +3 -0
- package/skills-library/database-solutions/PLPGSQL_VARIABLE_CONFLICT_FIX.md +208 -0
- package/skills-library/database-solutions/POSTGRESQL_JSONB_DOUBLE_STRINGIFY_FIX.md +245 -0
- package/skills-library/database-solutions/POSTGRESQL_LICENSE_TABLE_DESIGN.md +393 -0
- package/skills-library/database-solutions/POSTGRESQL_UUID_DOCUMENT_RAG_DUAL_SCOPE.md +732 -0
- package/skills-library/database-solutions/POSTGRES_SQL_TEMPLATE_BINDING_ERROR.md +240 -0
- package/skills-library/database-solutions/PRISMA_DB_PUSH_DATA_LOSS_PREVENTION.md +141 -0
- package/skills-library/database-solutions/PRODUCTION_QUERY_OPTIMIZATION_RESTART_FIX.md +389 -0
- package/skills-library/database-solutions/RLS_SECURITY_GUIDE.md +107 -0
- package/skills-library/database-solutions/SCHEMA_ENHANCEMENTS_GUIDE.md +373 -0
- package/skills-library/database-solutions/SCHEMA_MIGRATION_GUIDE.md +368 -0
- package/skills-library/database-solutions/SCHEMA_VERIFICATION_QUICK_REFERENCE.md +104 -0
- package/skills-library/database-solutions/ai-erd-generator.md +1213 -0
- package/skills-library/database-solutions/content-publishing-states.md +631 -0
- package/skills-library/database-solutions/database-schema-designer.md +522 -0
- package/skills-library/database-solutions/er-diagram-components.md +569 -0
- package/skills-library/database-solutions/er-to-ddl-mapping.md +1405 -0
- package/skills-library/database-solutions/erd-creator-textbook-research.md +433 -0
- package/skills-library/database-solutions/erd-react-flow-architecture.md +1965 -0
- package/skills-library/database-solutions/mariadb-aggregate-function-replacement.md +145 -0
- package/skills-library/database-solutions/normalization-validator.md +778 -0
- package/skills-library/database-solutions/postgres-full-text-search-content.md +494 -0
- package/skills-library/database-solutions/postgresql-to-mysql-runtime-translation.md +286 -0
- package/skills-library/database-solutions/regex-alternation-ordering-sql-types.md +92 -0
- package/skills-library/database-solutions/reserved-word-context-aware-quoting.md +142 -0
- package/skills-library/database-solutions/sql-ddl-generator.md +756 -0
- package/skills-library/database-solutions/supabase-connection-pooler-fix.md +102 -0
- package/skills-library/deployment-security/CPANEL_NODE_DEPLOYMENT.md +166 -0
- package/skills-library/deployment-security/DEPLOYMENT.md +275 -0
- package/skills-library/deployment-security/DEPLOYMENT_CHECKLIST.md +363 -0
- package/skills-library/deployment-security/DEPLOYMENT_PLAN.md +669 -0
- package/skills-library/deployment-security/KNEX_DATABASE_ABSTRACTION.md +444 -0
- package/skills-library/deployment-security/LICENSE_KEY_SYSTEM.md +206 -0
- package/skills-library/deployment-security/NODE18_DEPENDENCY_COMPATIBILITY.md +284 -0
- package/skills-library/deployment-security/PHP_INSTALLER_WIZARD_GUIDE.md +315 -0
- package/skills-library/deployment-security/PM2_ENVIRONMENT_VARIABLE_CACHING.md +256 -0
- package/skills-library/deployment-security/PM2_MEMORY_EXHAUSTION_FIX.md +370 -0
- package/skills-library/deployment-security/PRODUCTION_DEPLOYMENT_GUIDE.md +592 -0
- package/skills-library/deployment-security/PRODUCTION_HARDENING_DOCUMENTATION.md +307 -0
- package/skills-library/deployment-security/PRODUCTION_RECOVERY_CHERRY_PICK_PATTERN.md +202 -0
- package/skills-library/deployment-security/PYINSTALLER_CUDA_WHISPER_BUNDLING.md +236 -0
- package/skills-library/deployment-security/SECURITY.md +41 -0
- package/skills-library/deployment-security/SMTP_SSL_HOSTNAME_MISMATCH_SHARED_HOSTING.md +220 -0
- package/skills-library/deployment-security/SPA_SEO_OPTIMIZATION_CPANEL.md +200 -0
- package/skills-library/deployment-security/SUPABASE_EDGE_FUNCTIONS.md +338 -0
- package/skills-library/deployment-security/VERCEL_GITHUB_DEPLOYMENT_GUIDE.md +858 -0
- package/skills-library/deployment-security/VPS_DEPLOYMENT_READINESS.md +356 -0
- package/skills-library/deployment-security/deployment-changes-not-applying.md +241 -0
- package/skills-library/deployment-security/env-file-management-production-local.md +203 -0
- package/skills-library/deployment-security/express-secure-file-downloads.md +413 -0
- package/skills-library/deployment-security/react-production-deployment-desktop-guide.md +2011 -0
- package/skills-library/deployment-security/self-hosted-supabase-coolify-guide.md +1684 -0
- package/skills-library/deployment-security/unique-features-ai-strategy-plaid-security.md +1613 -0
- package/skills-library/deployment-security/vps-deployment.md +135 -0
- package/skills-library/document-processing/WORD_EXPORT_MARKDOWN_FORMATTING.md +482 -0
- package/skills-library/document-processing/document-ai-landingai-integration.md +677 -0
- package/skills-library/document-processing/express-secure-file-downloads-mern.md +413 -0
- package/skills-library/document-processing/express-secure-file-downloads.md +413 -0
- package/skills-library/document-processing/md-to-word-converter.md +318 -0
- package/skills-library/document-processing/pdf-forms-integration/README.md +101 -0
- package/skills-library/document-processing/pdf-forms-integration/SKILL.md +662 -0
- package/skills-library/ecommerce/ADMIN_PRODUCTS_GUIDE.md +428 -0
- package/skills-library/ecommerce/ECOMMERCE_API_REFERENCE.md +776 -0
- package/skills-library/ecommerce/ECOMMERCE_COMPLETION_SUMMARY.md +673 -0
- package/skills-library/ecommerce/ECOMMERCE_IMPLEMENTATION_GUIDE.md +729 -0
- package/skills-library/ecommerce/ECOMMERCE_QUICK_REFERENCE.md +521 -0
- package/skills-library/ecommerce/ECOMMERCE_TESTING_CHECKLIST.md +565 -0
- package/skills-library/ecommerce/ECOMMERCE_WORKFLOW_GUIDE.md +1059 -0
- package/skills-library/ecommerce/PRODUCT_CREATION_EXPANDED.md +522 -0
- package/skills-library/ecommerce/agentic-commerce-protocol.md +203 -0
- package/skills-library/ecommerce/cart-abandonment-recovery.md +236 -0
- package/skills-library/ecommerce/cart-architecture-patterns.md +300 -0
- package/skills-library/ecommerce/cart-item-count-indicator.md +264 -0
- package/skills-library/ecommerce/checkout-ux-conversion.md +227 -0
- package/skills-library/ecommerce/composable-commerce-selection.md +166 -0
- package/skills-library/ecommerce/ecommerce-analytics-patterns.md +167 -0
- package/skills-library/ecommerce/fraud-detection-patterns.md +179 -0
- package/skills-library/ecommerce/inventory-stock-management.md +270 -0
- package/skills-library/ecommerce/order-saga-state-machine.md +336 -0
- package/skills-library/ecommerce/payment-provider-abstraction.md +245 -0
- package/skills-library/ecommerce/pci-compliance-checklist.md +192 -0
- package/skills-library/ecommerce/refund-chargeback-handling.md +177 -0
- package/skills-library/ecommerce/shipping-carrier-integration.md +218 -0
- package/skills-library/ecommerce/webhook-idempotency-patterns.md +253 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/ci.yml +558 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/prompt-gallery.yml +448 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/release.yml +42 -0
- package/skills-library/excalidraw-diagrams/.github/workflows/test-reusable-ci.yml +25 -0
- package/skills-library/excalidraw-diagrams/CLAUDE.md +57 -0
- package/skills-library/excalidraw-diagrams/LICENSE +21 -0
- package/skills-library/excalidraw-diagrams/README.md +178 -0
- package/skills-library/excalidraw-diagrams/SKILL.md +715 -0
- package/skills-library/form-solutions/BUTTON_TYPE_FORM_SUBMISSION.md +336 -0
- package/skills-library/form-solutions/FILLABLE_PDF_IMPLEMENTATION.md +226 -0
- package/skills-library/form-solutions/SURVEYJS_QUESTIONNAIRE_SYSTEM.md +367 -0
- package/skills-library/form-solutions/tiptap-minimal-setup.md +690 -0
- package/skills-library/frontend/scholarly-classification-bubble-map.md +149 -0
- package/skills-library/infrastructure/ci-cd-pipeline-builder.md +517 -0
- package/skills-library/infrastructure/observability-designer.md +264 -0
- package/skills-library/infrastructure/performance-profiler.md +621 -0
- package/skills-library/installer-wizard-patterns.md +249 -0
- package/skills-library/integrations/CLAUDE_CODE_TOKEN_ANALYTICS.md +160 -0
- package/skills-library/integrations/CONFIGURABLE_AI_PROVIDER_SELECTION.md +728 -0
- package/skills-library/integrations/SOCKET_IO_BROADCAST_ALL_VS_ROOM.md +141 -0
- package/skills-library/integrations/VIRTUAL_MEETINGS_IMPLEMENTATION.md +374 -0
- package/skills-library/integrations/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
- package/skills-library/integrations/YOUTUBE_API_SETUP.md +141 -0
- package/skills-library/integrations/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
- package/skills-library/integrations/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
- package/skills-library/integrations/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
- package/skills-library/integrations/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
- package/skills-library/integrations/ai-ml/GEMINI_AI_RAG_PIPELINE_COMPLETE_GUIDE.md +195 -0
- package/skills-library/integrations/ai-ml/GEMINI_IMAGE_GENERATION_SETUP.md +64 -0
- package/skills-library/integrations/cloudflare/cloudflare-turnstile-debugging.md +202 -0
- package/skills-library/integrations/cloudflare/cloudflare-turnstile-implementation.md +476 -0
- package/skills-library/integrations/cloudflare-turnstile-debugging.md +202 -0
- package/skills-library/integrations/cloudflare-turnstile-implementation.md +476 -0
- package/skills-library/integrations/ghost-creator-monetization-pattern.md +454 -0
- package/skills-library/integrations/headless-cms-architecture.md +484 -0
- package/skills-library/integrations/headless-cms-stack-selection.md +183 -0
- package/skills-library/integrations/payload-cms-patterns.md +674 -0
- package/skills-library/integrations/realtimestt-openwakeword-cuda-windows.md +229 -0
- package/skills-library/integrations/rss-podcast-integration.md +300 -0
- package/skills-library/integrations/wordpress/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
- package/skills-library/integrations/youtube/YOUTUBE_API_SETUP.md +141 -0
- package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
- package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
- package/skills-library/integrations/youtube/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
- package/skills-library/integrations/youtube/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
- package/skills-library/marketing/campaign-analytics.md +97 -0
- package/skills-library/marketing/content-creator.md +105 -0
- package/skills-library/marketing/marketing-strategy-pmm.md +94 -0
- package/skills-library/marketing/social-media-analyzer.md +81 -0
- package/skills-library/methodology/ADVANCED_ORCHESTRATION_PATTERNS.md +401 -0
- package/skills-library/methodology/AGENT_SELF_IMPROVEMENT_LOOP.md +179 -0
- package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +1 -1
- package/skills-library/methodology/CLEANSING_CYCLE.md +358 -0
- package/skills-library/methodology/CONFIDENCE_ANNOTATION_PATTERN.md +143 -0
- package/skills-library/methodology/CRITICAL_PATTERNS_DOCUMENTATION_COMPLETE.md +204 -0
- package/skills-library/methodology/DELIVERABLES_SUMMARY.md +341 -0
- package/skills-library/methodology/DIFFICULTY_AWARE_AGENT_ROUTING.md +252 -0
- package/skills-library/methodology/EVOLUTIONARY_SKILL_SYNTHESIS.md +219 -0
- package/skills-library/methodology/GLOMERULUS_DECISION_GATE.md +223 -0
- package/skills-library/methodology/HIBERNATION_SYSTEM.md +231 -0
- package/skills-library/methodology/INSTRUMENTATION_OVER_RESTRICTION.md +192 -0
- package/skills-library/methodology/MASTER_COMPLETION_SUMMARY.md +444 -0
- package/skills-library/methodology/MASTER_SESSION_COMPLETION.md +743 -0
- package/skills-library/methodology/MERN_QUICK_REFERENCE.md +358 -0
- package/skills-library/methodology/ORGAN_AGENT_MAPPING.md +177 -0
- package/skills-library/methodology/PARALLEL_WAVE_BASED_REFACTORING.md +440 -0
- package/skills-library/methodology/QUICK_REFERENCE.md +358 -0
- package/skills-library/methodology/SDFT_ONPOLICY_SELF_DISTILLATION.md +186 -0
- package/skills-library/methodology/SELF_QUESTIONING_TASK_GENERATION.md +270 -0
- package/skills-library/methodology/SESSION_COMPLETION_SUMMARY.md +304 -0
- package/skills-library/methodology/SESSION_SUMMARY.md +432 -0
- package/skills-library/methodology/WARRIOR_WORKFLOW_DEBUGGING_PROTOCOL.md +252 -0
- package/skills-library/methodology/tech-debt-tracker.md +570 -0
- package/skills-library/parallel-debug/SKILL.md +60 -0
- package/skills-library/patterns-standards/API_PATTERN_FIX_SUMMARY.md +236 -0
- package/skills-library/patterns-standards/BATCH_OPERATIONS_WITH_PROGRESS_MODAL.md +362 -0
- package/skills-library/patterns-standards/CRITICAL_CODING_PATTERNS.md +639 -0
- package/skills-library/patterns-standards/DARK_MODE_MODAL_VISIBILITY.md +258 -0
- package/skills-library/patterns-standards/ERROR_RESILIENCE_IMPLEMENTATION.md +375 -0
- package/skills-library/patterns-standards/ES_MODULE_IMPORT_HOISTING_DOTENV.md +298 -0
- package/skills-library/patterns-standards/NESTED_BACKDROP_FILTER_CSS_ARTIFACT_FIX.md +76 -0
- package/skills-library/patterns-standards/ORDERED_DETECTOR_PIPELINE_GRACEFUL_FALLBACK.md +333 -0
- package/skills-library/patterns-standards/PHASE_IMPORT_ERROR_DEBUGGING.md +271 -0
- package/skills-library/patterns-standards/PYNPUT_GLOBAL_HOTKEY_VK_MATCHING.md +252 -0
- package/skills-library/patterns-standards/REACT_USEEFFECT_CASCADE_RESET_FIX.md +132 -0
- package/skills-library/patterns-standards/SUBMENU_HOVER_DROPDOWN_PATTERN.md +225 -0
- package/skills-library/patterns-standards/TAILWIND_TEXT_VISIBILITY_OVERRIDE.md +322 -0
- package/skills-library/patterns-standards/THEME_AWARE_CSS_VARIABLES_PATTERN.md +209 -0
- package/skills-library/patterns-standards/THEME_USER_OBJECT_PROPERTY_NAMING.md +194 -0
- package/skills-library/patterns-standards/TOOLTIP_BLOCKING_CLICKS_FIX.md +267 -0
- package/skills-library/patterns-standards/claude-code-plugin-structure.md +235 -0
- package/skills-library/patterns-standards/react-i18next-setup.md +429 -0
- package/skills-library/patterns-standards/thesys-c1-generative-ui-integration.md +967 -0
- package/skills-library/plugin-development/CLAUDE_CODE_COMMAND_REGISTRATION_SILENT_FAILURE.md +315 -0
- package/skills-library/plugin-development/plugin-command-namespace-vs-global.md +390 -0
- package/skills-library/plugin-development/plugin-doc-auto-generation.md +172 -0
- package/skills-library/security/GITHUB_REPO_SECURITY_AUDIT.md +115 -0
- package/skills-library/security/admin-deletion-safety.md +396 -0
- package/skills-library/security/application-vuln-patterns.md +477 -0
- package/skills-library/security/env-secrets-manager.md +686 -0
- package/skills-library/security/secure-ai-application-templates.md +347 -0
- package/skills-library/security/sql-injection-prevention-postgresjs.md +151 -0
- package/skills-library/supabase-connection-pooler-fix.md +102 -0
- package/skills-library/system-context/POWERSHELL_BASH_INTEROP.md +82 -0
- package/skills-library/system-context/SERVICE_LIFECYCLE_MANAGEMENT.md +119 -0
- package/skills-library/system-context/SKILL.md +40 -0
- package/skills-library/system-context/WINDOWS_DEV_ENVIRONMENT.md +73 -0
- package/skills-library/testing/E2E_PLAYWRIGHT_PATTERNS.md +99 -0
- package/skills-library/testing/INTEGRATION_TEST_STRATEGY.md +82 -0
- package/skills-library/testing/RED_GREEN_BUGFIX_GATE.md +203 -0
- package/skills-library/testing/TEST_DATA_MANAGEMENT.md +69 -0
- package/skills-library/testing/VITEST_UNIT_TEST_PATTERNS.md +75 -0
- package/skills-library/testing/playwright-api-security-tests.md +202 -0
- package/skills-library/toolbox/SKILL.md +84 -0
- package/skills-library/toolbox/code-graph-and-web-scraping-mcps.md +237 -0
- package/skills-library/ui-ux-pro-max/ACCESSIBILITY_ESSENTIALS.md +115 -0
- package/skills-library/ui-ux-pro-max/DESIGN_SYSTEM_SCAFFOLDING.md +133 -0
- package/skills-library/ui-ux-pro-max/RESPONSIVE_LAYOUT_PATTERNS.md +119 -0
- package/skills-library/ui-ux-pro-max/SKILL.md +386 -0
- package/skills-library/ui-ux-pro-max/data/charts.csv +26 -0
- package/skills-library/ui-ux-pro-max/data/colors.csv +97 -0
- package/skills-library/ui-ux-pro-max/data/icons.csv +101 -0
- package/skills-library/ui-ux-pro-max/data/landing.csv +31 -0
- package/skills-library/ui-ux-pro-max/data/products.csv +97 -0
- package/skills-library/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/skills-library/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/skills-library/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills-library/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/skills-library/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/skills-library/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills-library/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/skills-library/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/skills-library/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills-library/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills-library/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/skills-library/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills-library/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills-library/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills-library/ui-ux-pro-max/data/styles.csv +68 -0
- package/skills-library/ui-ux-pro-max/data/typography.csv +58 -0
- package/skills-library/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/skills-library/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills-library/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/skills-library/wordpress-style-theme-components.md +1526 -0
- package/templates/ASSUMPTIONS.md +1 -1
- package/templates/DECISION_LOG.md +0 -1
- package/templates/phase-prompt.md +1 -1
- package/templates/phoenix-comparison.md +6 -6
- package/templates/skill-api-integration.md +106 -0
- package/templates/skill-architecture-pattern.md +92 -0
- package/templates/skill-debug-pattern.md +98 -0
- package/templates/skill-devops-recipe.md +107 -0
- package/templates/skill-general.md +65 -0
- package/templates/skill-ui-component.md +113 -0
- package/tools/uat-runner.py +179 -0
- package/version.json +7 -3
- package/workflows/handoff-session.md +2 -2
- package/workflows/new-project.md +2 -2
- package/workflows/plan-phase.md +1 -1
- package/.claude-plugin/plugin.json +0 -64
- package/skills-library/_general/methodology/LIVE_BREADCRUMB_PROTOCOL.md +0 -242
- package/skills-library/_general/methodology/llm-judge-memory-crud.md +0 -241
- package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +0 -183
- package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +0 -263
- package/skills-library/methodology/SABBATH_REST_PATTERN.md +0 -267
- package/skills-library/methodology/STONE_AND_SCAFFOLD.md +0 -220
- package/skills-library/specialists/api-architecture/api-designer.md +0 -49
- package/skills-library/specialists/api-architecture/graphql-architect.md +0 -49
- package/skills-library/specialists/api-architecture/mcp-developer.md +0 -51
- package/skills-library/specialists/api-architecture/microservices-architect.md +0 -50
- package/skills-library/specialists/api-architecture/websocket-engineer.md +0 -48
- package/skills-library/specialists/backend/django-expert.md +0 -52
- package/skills-library/specialists/backend/fastapi-expert.md +0 -52
- package/skills-library/specialists/backend/laravel-specialist.md +0 -52
- package/skills-library/specialists/backend/nestjs-expert.md +0 -51
- package/skills-library/specialists/backend/rails-expert.md +0 -53
- package/skills-library/specialists/backend/spring-boot-engineer.md +0 -56
- package/skills-library/specialists/data-ml/fine-tuning-expert.md +0 -48
- package/skills-library/specialists/data-ml/ml-pipeline.md +0 -47
- package/skills-library/specialists/data-ml/pandas-pro.md +0 -47
- package/skills-library/specialists/data-ml/rag-architect.md +0 -51
- package/skills-library/specialists/data-ml/spark-engineer.md +0 -47
- package/skills-library/specialists/frontend/angular-architect.md +0 -52
- package/skills-library/specialists/frontend/flutter-expert.md +0 -51
- package/skills-library/specialists/frontend/nextjs-developer.md +0 -54
- package/skills-library/specialists/frontend/react-native-expert.md +0 -50
- package/skills-library/specialists/frontend/vue-expert.md +0 -51
- package/skills-library/specialists/infrastructure/chaos-engineer.md +0 -74
- package/skills-library/specialists/infrastructure/cloud-architect.md +0 -70
- package/skills-library/specialists/infrastructure/database-optimizer.md +0 -64
- package/skills-library/specialists/infrastructure/devops-engineer.md +0 -70
- package/skills-library/specialists/infrastructure/kubernetes-specialist.md +0 -52
- package/skills-library/specialists/infrastructure/monitoring-expert.md +0 -70
- package/skills-library/specialists/infrastructure/sre-engineer.md +0 -70
- package/skills-library/specialists/infrastructure/terraform-engineer.md +0 -51
- package/skills-library/specialists/languages/cpp-pro.md +0 -74
- package/skills-library/specialists/languages/csharp-developer.md +0 -69
- package/skills-library/specialists/languages/dotnet-core-expert.md +0 -54
- package/skills-library/specialists/languages/golang-pro.md +0 -51
- package/skills-library/specialists/languages/java-architect.md +0 -49
- package/skills-library/specialists/languages/javascript-pro.md +0 -68
- package/skills-library/specialists/languages/kotlin-specialist.md +0 -68
- package/skills-library/specialists/languages/php-pro.md +0 -49
- package/skills-library/specialists/languages/python-pro.md +0 -52
- package/skills-library/specialists/languages/react-expert.md +0 -51
- package/skills-library/specialists/languages/rust-engineer.md +0 -50
- package/skills-library/specialists/languages/sql-pro.md +0 -56
- package/skills-library/specialists/languages/swift-expert.md +0 -69
- package/skills-library/specialists/languages/typescript-pro.md +0 -51
- package/skills-library/specialists/platform/atlassian-mcp.md +0 -52
- package/skills-library/specialists/platform/embedded-systems.md +0 -53
- package/skills-library/specialists/platform/game-developer.md +0 -53
- package/skills-library/specialists/platform/salesforce-developer.md +0 -53
- package/skills-library/specialists/platform/shopify-expert.md +0 -49
- package/skills-library/specialists/platform/wordpress-pro.md +0 -49
- package/skills-library/specialists/quality/code-documenter.md +0 -51
- package/skills-library/specialists/quality/code-reviewer.md +0 -67
- package/skills-library/specialists/quality/debugging-wizard.md +0 -51
- package/skills-library/specialists/quality/fullstack-guardian.md +0 -51
- package/skills-library/specialists/quality/legacy-modernizer.md +0 -50
- package/skills-library/specialists/quality/playwright-expert.md +0 -65
- package/skills-library/specialists/quality/spec-miner.md +0 -56
- package/skills-library/specialists/quality/test-master.md +0 -65
- package/skills-library/specialists/security/secure-code-guardian.md +0 -55
- package/skills-library/specialists/security/security-reviewer.md +0 -53
- package/skills-library/specialists/workflow/architecture-designer.md +0 -53
- package/skills-library/specialists/workflow/cli-developer.md +0 -70
- package/skills-library/specialists/workflow/feature-forge.md +0 -65
- package/skills-library/specialists/workflow/prompt-engineer.md +0 -54
- package/skills-library/specialists/workflow/the-fool.md +0 -62
- /package/skills-library/{performance → _general/performance}/cache-augmented-generation.md +0 -0
- /package/skills-library/{debugging → parallel-debug}/FAILURE_TAXONOMY_CLASSIFICATION.md +0 -0
- /package/skills-library/{debugging → parallel-debug}/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +0 -0
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: claude-code-plugin-structure
|
|
3
|
+
category: patterns-standards
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
contributed: 2026-01-23
|
|
6
|
+
contributor: dominion-flow-debugging-session
|
|
7
|
+
last_updated: 2026-01-23
|
|
8
|
+
contributors:
|
|
9
|
+
- Author
|
|
10
|
+
- Claude-Opus-4.5
|
|
11
|
+
tags: [claude-code, plugin, commands, agents, skills, yaml, frontmatter, local-plugin]
|
|
12
|
+
difficulty: medium
|
|
13
|
+
usage_count: 0
|
|
14
|
+
success_rate: 100
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Claude Code Plugin Structure
|
|
18
|
+
|
|
19
|
+
## Problem
|
|
20
|
+
|
|
21
|
+
Local Claude Code plugin not loading correctly. Symptoms include:
|
|
22
|
+
- Plugin shows as enabled in `settings.json` but commands don't appear
|
|
23
|
+
- `/plugin-name:command` syntax doesn't work
|
|
24
|
+
- Plugin visible in settings but not functional
|
|
25
|
+
- Commands work when copied to `~/.claude/commands/` but not from plugin
|
|
26
|
+
|
|
27
|
+
## Solution Pattern
|
|
28
|
+
|
|
29
|
+
Claude Code plugins require a **specific directory structure** with **YAML frontmatter** on all component files. The most common issues are:
|
|
30
|
+
|
|
31
|
+
1. **plugin.json in wrong location** - Must be at `.claude-plugin/plugin.json`, NOT at plugin root
|
|
32
|
+
2. **Missing YAML frontmatter** - Commands and agents require frontmatter with specific fields
|
|
33
|
+
3. **Wrong frontmatter fields** - Commands need `description`, agents need `name` and `description`
|
|
34
|
+
|
|
35
|
+
## Directory Structure
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
my-plugin/
|
|
39
|
+
├── .claude-plugin/
|
|
40
|
+
│ └── plugin.json # REQUIRED - Must be here, NOT at root
|
|
41
|
+
├── commands/ # Slash commands (*.md files)
|
|
42
|
+
│ └── my-command.md
|
|
43
|
+
├── agents/ # Agent definitions (*.md files)
|
|
44
|
+
│ └── my-agent.md
|
|
45
|
+
├── skills/ # Skills (directories with SKILL.md)
|
|
46
|
+
│ └── my-skill/
|
|
47
|
+
│ └── SKILL.md
|
|
48
|
+
├── hooks/ # Event handlers
|
|
49
|
+
│ └── hooks.json
|
|
50
|
+
└── .mcp.json # MCP server definitions (optional)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Code Example
|
|
54
|
+
|
|
55
|
+
### plugin.json (Minimal Required)
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
// WRONG - at root level: my-plugin/plugin.json
|
|
59
|
+
// CORRECT - in .claude-plugin/: my-plugin/.claude-plugin/plugin.json
|
|
60
|
+
|
|
61
|
+
{
|
|
62
|
+
"name": "my-plugin"
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### plugin.json (Recommended)
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"name": "my-plugin",
|
|
71
|
+
"version": "1.0.0",
|
|
72
|
+
"description": "Brief description of what plugin does",
|
|
73
|
+
"author": {
|
|
74
|
+
"name": "Your Name",
|
|
75
|
+
"email": "email@example.com"
|
|
76
|
+
},
|
|
77
|
+
"license": "MIT",
|
|
78
|
+
"keywords": ["keyword1", "keyword2"]
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Command File (commands/*.md)
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
---
|
|
86
|
+
description: Brief description of what this command does
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
# Command Name
|
|
90
|
+
|
|
91
|
+
[Instructions for Claude to follow when command is invoked]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Agent File (agents/*.md)
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
---
|
|
98
|
+
name: agent-name
|
|
99
|
+
description: Description of agent's purpose and when to use it
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
# Agent Name
|
|
103
|
+
|
|
104
|
+
[System prompt and instructions for the agent]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Skill File (skills/*/SKILL.md)
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
---
|
|
111
|
+
name: skill-name
|
|
112
|
+
description: What the skill does and when Claude should use it
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
# Skill Name
|
|
116
|
+
|
|
117
|
+
## Instructions
|
|
118
|
+
[Step-by-step guidance]
|
|
119
|
+
|
|
120
|
+
## Examples
|
|
121
|
+
[Usage examples]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Implementation Steps
|
|
125
|
+
|
|
126
|
+
1. **Create directory structure**
|
|
127
|
+
```bash
|
|
128
|
+
mkdir -p my-plugin/.claude-plugin
|
|
129
|
+
mkdir -p my-plugin/commands
|
|
130
|
+
mkdir -p my-plugin/agents
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
2. **Create plugin.json in correct location**
|
|
134
|
+
```bash
|
|
135
|
+
# CORRECT
|
|
136
|
+
echo '{"name": "my-plugin"}' > my-plugin/.claude-plugin/plugin.json
|
|
137
|
+
|
|
138
|
+
# WRONG - do NOT put at root
|
|
139
|
+
# echo '{"name": "my-plugin"}' > my-plugin/plugin.json
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
3. **Add YAML frontmatter to all commands**
|
|
143
|
+
- Every `.md` file in `commands/` needs `---\ndescription: ...\n---`
|
|
144
|
+
|
|
145
|
+
4. **Add YAML frontmatter to all agents**
|
|
146
|
+
- Every `.md` file in `agents/` needs `---\nname: ...\ndescription: ...\n---`
|
|
147
|
+
|
|
148
|
+
5. **Enable plugin in settings.json**
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"enabledPlugins": {
|
|
152
|
+
"my-plugin@local": true
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
6. **Restart Claude Code** to load the plugin
|
|
158
|
+
|
|
159
|
+
## When to Use
|
|
160
|
+
|
|
161
|
+
- Creating a new local Claude Code plugin
|
|
162
|
+
- Debugging why a plugin isn't loading
|
|
163
|
+
- Converting loose commands into a proper plugin structure
|
|
164
|
+
- Sharing plugin with others who report it doesn't work
|
|
165
|
+
- Plugin commands don't appear after enabling
|
|
166
|
+
|
|
167
|
+
## When NOT to Use
|
|
168
|
+
|
|
169
|
+
- For global commands (use `~/.claude/commands/` directly)
|
|
170
|
+
- For simple one-off commands that don't need plugin packaging
|
|
171
|
+
- When using marketplace plugins (they're already structured correctly)
|
|
172
|
+
|
|
173
|
+
## Common Mistakes
|
|
174
|
+
|
|
175
|
+
1. **plugin.json at root level**
|
|
176
|
+
- WRONG: `my-plugin/plugin.json`
|
|
177
|
+
- CORRECT: `my-plugin/.claude-plugin/plugin.json`
|
|
178
|
+
|
|
179
|
+
2. **Missing frontmatter on commands**
|
|
180
|
+
- WRONG: Start with `# Command Name`
|
|
181
|
+
- CORRECT: Start with `---\ndescription: ...\n---`
|
|
182
|
+
|
|
183
|
+
3. **Using `capabilities` object in plugin.json**
|
|
184
|
+
- This is non-standard; stick to basic metadata fields
|
|
185
|
+
- Auto-discovery handles finding commands/agents/skills
|
|
186
|
+
|
|
187
|
+
4. **Copying `plugin.json` to root AND `.claude-plugin/`**
|
|
188
|
+
- Only need it in `.claude-plugin/`
|
|
189
|
+
- Root-level `plugin.json` is ignored
|
|
190
|
+
|
|
191
|
+
5. **Wrong frontmatter fields for agents**
|
|
192
|
+
- Commands: only need `description`
|
|
193
|
+
- Agents: need both `name` AND `description`
|
|
194
|
+
|
|
195
|
+
## Debugging Checklist
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# 1. Check plugin.json location
|
|
199
|
+
ls my-plugin/.claude-plugin/plugin.json # Should exist
|
|
200
|
+
|
|
201
|
+
# 2. Check frontmatter on commands
|
|
202
|
+
head -5 my-plugin/commands/*.md # Should show --- at line 1
|
|
203
|
+
|
|
204
|
+
# 3. Check plugin is enabled
|
|
205
|
+
grep "my-plugin" ~/.claude/settings.json # Should show true
|
|
206
|
+
|
|
207
|
+
# 4. Compare with working plugin
|
|
208
|
+
ls ~/.claude/plugins/warrior-workflow/ # Reference structure
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Related Skills
|
|
212
|
+
|
|
213
|
+
- [AVAILABLE_TOOLS_REFERENCE](../AVAILABLE_TOOLS_REFERENCE.md) - Full tools reference
|
|
214
|
+
- [Plugin System Architecture](../advanced-features/PLUGIN_SYSTEM_ARCHITECTURE.md) - MERN plugin patterns
|
|
215
|
+
|
|
216
|
+
## References
|
|
217
|
+
|
|
218
|
+
- [Official Plugin Structure](https://github.com/anthropics/claude-plugins-official) - GitHub reference
|
|
219
|
+
- [Agent Skills Overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview) - Official docs
|
|
220
|
+
- [SDK Plugins Reference](https://platform.claude.com/docs/en/agent-sdk/plugins) - Technical specs
|
|
221
|
+
- [Claude Code Plugins Docs](https://code.claude.com/docs/en/plugins) - Full documentation
|
|
222
|
+
|
|
223
|
+
## Field Requirements Summary
|
|
224
|
+
|
|
225
|
+
| Component | Required Fields | Notes |
|
|
226
|
+
|-----------|-----------------|-------|
|
|
227
|
+
| plugin.json | `name` | Must be in `.claude-plugin/` |
|
|
228
|
+
| commands/*.md | `description` | YAML frontmatter |
|
|
229
|
+
| agents/*.md | `name`, `description` | YAML frontmatter |
|
|
230
|
+
| skills/*/SKILL.md | `name`, `description` | Max 64/1024 chars |
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
*Contributed from: dominion-flow plugin debugging session (2026-01-23)*
|
|
235
|
+
*Root cause: plugin.json location + missing YAML frontmatter*
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
# React i18next Setup Skill
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Quick reference for setting up internationalization (i18n) in React projects using react-i18next. This skill documents the complete setup process for adding multi-language support to React applications.
|
|
5
|
+
|
|
6
|
+
## When to Use
|
|
7
|
+
- Adding multi-language support to a React application
|
|
8
|
+
- Setting up internationalization infrastructure from day 1
|
|
9
|
+
- Creating a scalable translation system
|
|
10
|
+
|
|
11
|
+
## Technology Stack
|
|
12
|
+
- `react-i18next` - React integration for i18next
|
|
13
|
+
- `i18next` - Core internationalization framework
|
|
14
|
+
- TypeScript support included
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install react-i18next i18next
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Setup Steps
|
|
23
|
+
|
|
24
|
+
### 1. Create i18n Configuration File
|
|
25
|
+
|
|
26
|
+
**File:** `src/i18n.ts`
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import i18n from 'i18next';
|
|
30
|
+
import { initReactI18next } from 'react-i18next';
|
|
31
|
+
|
|
32
|
+
// Import translations
|
|
33
|
+
import enTranslations from './locales/en/common.json';
|
|
34
|
+
import esTranslations from './locales/es/common.json';
|
|
35
|
+
|
|
36
|
+
// Initialize i18next
|
|
37
|
+
i18n
|
|
38
|
+
.use(initReactI18next) // Pass i18n instance to react-i18next
|
|
39
|
+
.init({
|
|
40
|
+
resources: {
|
|
41
|
+
en: {
|
|
42
|
+
common: enTranslations,
|
|
43
|
+
},
|
|
44
|
+
es: {
|
|
45
|
+
common: esTranslations,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
lng: 'en', // Default language
|
|
49
|
+
fallbackLng: 'en', // Fallback language if translation is missing
|
|
50
|
+
defaultNS: 'common', // Default namespace
|
|
51
|
+
interpolation: {
|
|
52
|
+
escapeValue: false, // React already escapes by default
|
|
53
|
+
},
|
|
54
|
+
react: {
|
|
55
|
+
useSuspense: false, // Disable suspense (optional)
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
export default i18n;
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 2. Initialize i18n in Application
|
|
63
|
+
|
|
64
|
+
**File:** `src/main.tsx` (or `src/index.tsx`)
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
import { StrictMode } from 'react';
|
|
68
|
+
import { createRoot } from 'react-dom/client';
|
|
69
|
+
import App from './App.tsx';
|
|
70
|
+
import './index.css';
|
|
71
|
+
import './i18n'; // Initialize i18n ← ADD THIS LINE
|
|
72
|
+
|
|
73
|
+
createRoot(document.getElementById('root')!).render(
|
|
74
|
+
<StrictMode>
|
|
75
|
+
<App />
|
|
76
|
+
</StrictMode>
|
|
77
|
+
);
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 3. Create Translation Files
|
|
81
|
+
|
|
82
|
+
#### Folder Structure
|
|
83
|
+
```
|
|
84
|
+
src/
|
|
85
|
+
├── locales/
|
|
86
|
+
│ ├── en/
|
|
87
|
+
│ │ ├── common.json
|
|
88
|
+
│ │ └── feature1.json
|
|
89
|
+
│ └── es/
|
|
90
|
+
│ ├── common.json
|
|
91
|
+
│ └── feature1.json
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### English Translation Example
|
|
95
|
+
**File:** `src/locales/en/common.json`
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"welcome": "Welcome",
|
|
100
|
+
"greeting": "Hello, {{name}}!",
|
|
101
|
+
"buttons": {
|
|
102
|
+
"save": "Save",
|
|
103
|
+
"cancel": "Cancel",
|
|
104
|
+
"continue": "Continue"
|
|
105
|
+
},
|
|
106
|
+
"validation": {
|
|
107
|
+
"required": "This field is required",
|
|
108
|
+
"invalidEmail": "Please enter a valid email"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
#### Spanish Translation Example
|
|
114
|
+
**File:** `src/locales/es/common.json`
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"welcome": "Bienvenido",
|
|
119
|
+
"greeting": "¡Hola, {{name}}!",
|
|
120
|
+
"buttons": {
|
|
121
|
+
"save": "Guardar",
|
|
122
|
+
"cancel": "Cancelar",
|
|
123
|
+
"continue": "Continuar"
|
|
124
|
+
},
|
|
125
|
+
"validation": {
|
|
126
|
+
"required": "Este campo es obligatorio",
|
|
127
|
+
"invalidEmail": "Por favor ingrese un correo electrónico válido"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### 4. Using Translations in Components
|
|
133
|
+
|
|
134
|
+
#### Basic Usage
|
|
135
|
+
```typescript
|
|
136
|
+
import { useTranslation } from 'react-i18next';
|
|
137
|
+
|
|
138
|
+
export function MyComponent() {
|
|
139
|
+
const { t } = useTranslation('common');
|
|
140
|
+
|
|
141
|
+
return (
|
|
142
|
+
<div>
|
|
143
|
+
<h1>{t('welcome')}</h1>
|
|
144
|
+
<p>{t('greeting', { name: 'John' })}</p>
|
|
145
|
+
<button>{t('buttons.save')}</button>
|
|
146
|
+
</div>
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### Using Multiple Namespaces
|
|
152
|
+
```typescript
|
|
153
|
+
import { useTranslation } from 'react-i18next';
|
|
154
|
+
|
|
155
|
+
export function MyFeature() {
|
|
156
|
+
const { t: tCommon } = useTranslation('common');
|
|
157
|
+
const { t: tFeature } = useTranslation('feature1');
|
|
158
|
+
|
|
159
|
+
return (
|
|
160
|
+
<div>
|
|
161
|
+
<h1>{tFeature('title')}</h1>
|
|
162
|
+
<button>{tCommon('buttons.save')}</button>
|
|
163
|
+
</div>
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 5. Language Switcher Component
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
import { useTranslation } from 'react-i18next';
|
|
172
|
+
|
|
173
|
+
export function LanguageSwitcher() {
|
|
174
|
+
const { i18n } = useTranslation();
|
|
175
|
+
|
|
176
|
+
const changeLanguage = (lng: string) => {
|
|
177
|
+
i18n.changeLanguage(lng);
|
|
178
|
+
localStorage.setItem('language', lng);
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
return (
|
|
182
|
+
<div>
|
|
183
|
+
<button
|
|
184
|
+
onClick={() => changeLanguage('en')}
|
|
185
|
+
className={i18n.language === 'en' ? 'active' : ''}
|
|
186
|
+
>
|
|
187
|
+
English
|
|
188
|
+
</button>
|
|
189
|
+
<button
|
|
190
|
+
onClick={() => changeLanguage('es')}
|
|
191
|
+
className={i18n.language === 'es' ? 'active' : ''}
|
|
192
|
+
>
|
|
193
|
+
Español
|
|
194
|
+
</button>
|
|
195
|
+
</div>
|
|
196
|
+
);
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### 6. Persist Language Preference
|
|
201
|
+
|
|
202
|
+
Add to `src/i18n.ts`:
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
import i18n from 'i18next';
|
|
206
|
+
import { initReactI18next } from 'react-i18next';
|
|
207
|
+
|
|
208
|
+
// Get saved language or use default
|
|
209
|
+
const savedLanguage = localStorage.getItem('language') || 'en';
|
|
210
|
+
|
|
211
|
+
i18n
|
|
212
|
+
.use(initReactI18next)
|
|
213
|
+
.init({
|
|
214
|
+
resources: { /* ... */ },
|
|
215
|
+
lng: savedLanguage, // Use saved language
|
|
216
|
+
fallbackLng: 'en',
|
|
217
|
+
// ... rest of config
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
export default i18n;
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Advanced Features
|
|
224
|
+
|
|
225
|
+
### TypeScript Support
|
|
226
|
+
|
|
227
|
+
Create type-safe translations:
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
// src/types/i18n.d.ts
|
|
231
|
+
import 'react-i18next';
|
|
232
|
+
import type common from './locales/en/common.json';
|
|
233
|
+
|
|
234
|
+
declare module 'react-i18next' {
|
|
235
|
+
interface CustomTypeOptions {
|
|
236
|
+
defaultNS: 'common';
|
|
237
|
+
resources: {
|
|
238
|
+
common: typeof common;
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### Pluralization
|
|
245
|
+
|
|
246
|
+
```json
|
|
247
|
+
{
|
|
248
|
+
"items": "{{count}} item",
|
|
249
|
+
"items_plural": "{{count}} items"
|
|
250
|
+
}
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Usage:
|
|
254
|
+
```typescript
|
|
255
|
+
{t('items', { count: 1 })} // "1 item"
|
|
256
|
+
{t('items', { count: 5 })} // "5 items"
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Date and Number Formatting
|
|
260
|
+
|
|
261
|
+
```json
|
|
262
|
+
{
|
|
263
|
+
"date": "{{date, datetime}}",
|
|
264
|
+
"price": "{{value, currency(USD)}}"
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Best Practices
|
|
269
|
+
|
|
270
|
+
### 1. Organize by Feature
|
|
271
|
+
```
|
|
272
|
+
locales/
|
|
273
|
+
├── en/
|
|
274
|
+
│ ├── common.json # Shared translations
|
|
275
|
+
│ ├── auth.json # Authentication
|
|
276
|
+
│ ├── dashboard.json # Dashboard
|
|
277
|
+
│ └── settings.json # Settings
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### 2. Use Nested Keys
|
|
281
|
+
```json
|
|
282
|
+
{
|
|
283
|
+
"user": {
|
|
284
|
+
"profile": {
|
|
285
|
+
"title": "User Profile",
|
|
286
|
+
"edit": "Edit Profile",
|
|
287
|
+
"save": "Save Changes"
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### 3. Keep Placeholder Translations
|
|
294
|
+
For languages not yet translated, use `[LANG]` prefix:
|
|
295
|
+
```json
|
|
296
|
+
{
|
|
297
|
+
"title": "[ES] My Title"
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### 4. Translation Key Naming
|
|
302
|
+
- Use camelCase or dot notation
|
|
303
|
+
- Be descriptive but concise
|
|
304
|
+
- Group related translations
|
|
305
|
+
|
|
306
|
+
```json
|
|
307
|
+
{
|
|
308
|
+
"form": {
|
|
309
|
+
"firstName": "First Name",
|
|
310
|
+
"lastName": "Last Name",
|
|
311
|
+
"email": "Email Address"
|
|
312
|
+
},
|
|
313
|
+
"validation": {
|
|
314
|
+
"required": "{{field}} is required",
|
|
315
|
+
"invalid": "Invalid {{field}}"
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### 5. Avoid Hardcoded Strings
|
|
321
|
+
❌ Bad:
|
|
322
|
+
```typescript
|
|
323
|
+
<button>Save</button>
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
✅ Good:
|
|
327
|
+
```typescript
|
|
328
|
+
<button>{t('buttons.save')}</button>
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
## Common Patterns
|
|
332
|
+
|
|
333
|
+
### Loading States
|
|
334
|
+
```typescript
|
|
335
|
+
const { t, ready } = useTranslation();
|
|
336
|
+
|
|
337
|
+
if (!ready) return <div>Loading translations...</div>;
|
|
338
|
+
|
|
339
|
+
return <div>{t('welcome')}</div>;
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Error Messages
|
|
343
|
+
```json
|
|
344
|
+
{
|
|
345
|
+
"errors": {
|
|
346
|
+
"network": "Network error occurred",
|
|
347
|
+
"notFound": "{{resource}} not found",
|
|
348
|
+
"unauthorized": "You are not authorized"
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Form Validation
|
|
354
|
+
```json
|
|
355
|
+
{
|
|
356
|
+
"validation": {
|
|
357
|
+
"required": "{{field}} is required",
|
|
358
|
+
"minLength": "{{field}} must be at least {{min}} characters",
|
|
359
|
+
"maxLength": "{{field}} must be at most {{max}} characters",
|
|
360
|
+
"email": "Please enter a valid email address"
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
## Testing i18n
|
|
366
|
+
|
|
367
|
+
```typescript
|
|
368
|
+
import { render, screen } from '@testing-library/react';
|
|
369
|
+
import { I18nextProvider } from 'react-i18next';
|
|
370
|
+
import i18n from '../i18n';
|
|
371
|
+
|
|
372
|
+
test('renders translated text', () => {
|
|
373
|
+
render(
|
|
374
|
+
<I18nextProvider i18n={i18n}>
|
|
375
|
+
<MyComponent />
|
|
376
|
+
</I18nextProvider>
|
|
377
|
+
);
|
|
378
|
+
|
|
379
|
+
expect(screen.getByText('Welcome')).toBeInTheDocument();
|
|
380
|
+
});
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
## Troubleshooting
|
|
384
|
+
|
|
385
|
+
### Translations Not Loading
|
|
386
|
+
1. Check that i18n is imported in main.tsx/index.tsx
|
|
387
|
+
2. Verify JSON file paths are correct
|
|
388
|
+
3. Check browser console for errors
|
|
389
|
+
|
|
390
|
+
### Language Not Changing
|
|
391
|
+
1. Verify localStorage is working
|
|
392
|
+
2. Check that `i18n.changeLanguage()` is being called
|
|
393
|
+
3. Ensure component re-renders after language change
|
|
394
|
+
|
|
395
|
+
### TypeScript Errors
|
|
396
|
+
1. Make sure type definitions are in `types/i18n.d.ts`
|
|
397
|
+
2. Restart TypeScript server
|
|
398
|
+
3. Check that JSON imports are typed correctly
|
|
399
|
+
|
|
400
|
+
## Migration Strategy
|
|
401
|
+
|
|
402
|
+
When adding i18n to existing project:
|
|
403
|
+
|
|
404
|
+
1. **Phase 1:** Set up infrastructure (this guide)
|
|
405
|
+
2. **Phase 2:** Extract hardcoded English strings
|
|
406
|
+
3. **Phase 3:** Create translation JSON files
|
|
407
|
+
4. **Phase 4:** Replace hardcoded strings with `t()` calls
|
|
408
|
+
5. **Phase 5:** Add additional languages
|
|
409
|
+
6. **Phase 6:** Test all translations
|
|
410
|
+
|
|
411
|
+
## Resources
|
|
412
|
+
|
|
413
|
+
- Official Docs: https://react.i18next.com/
|
|
414
|
+
- i18next Docs: https://www.i18next.com/
|
|
415
|
+
- Translation Tools: https://locize.com/
|
|
416
|
+
|
|
417
|
+
## Example Projects
|
|
418
|
+
|
|
419
|
+
See the Form 656 Wizard implementation in BoltBudgetApp for a complete example:
|
|
420
|
+
- `src/i18n.ts` - Configuration
|
|
421
|
+
- `src/locales/en/form656.json` - English translations
|
|
422
|
+
- `src/locales/es/form656.json` - Spanish translations
|
|
423
|
+
- `src/components/Form656Wizard/` - Usage examples
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
**Last Updated:** 2025-10-28
|
|
428
|
+
**Tested With:** react-i18next v13.x, i18next v23.x
|
|
429
|
+
**Project:** BoltBudgetApp - Form 656 Wizard
|