@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,200 @@
|
|
|
1
|
+
# YouTube OAuth Setup Guide - Quick Steps
|
|
2
|
+
|
|
3
|
+
**Goal:** Access your 11 private YouTube videos from Fire School channel
|
|
4
|
+
**Time Required:** 5-10 minutes
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## ✅ What You'll Get:
|
|
9
|
+
|
|
10
|
+
1. **YOUTUBE_CLIENT_ID** - Your app identifier
|
|
11
|
+
2. **YOUTUBE_CLIENT_SECRET** - Your app password
|
|
12
|
+
3. **YOUTUBE_REFRESH_TOKEN** - Access key to your private videos
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 🚀 Step-by-Step Instructions
|
|
17
|
+
|
|
18
|
+
### **STEP 1: Create OAuth Client Credentials**
|
|
19
|
+
|
|
20
|
+
**Link:** https://console.cloud.google.com/apis/credentials
|
|
21
|
+
|
|
22
|
+
1. **Select your project** (top dropdown)
|
|
23
|
+
- If you don't have one, create: "Fire School LMS" or similar
|
|
24
|
+
|
|
25
|
+
2. **Click the big "+ CREATE CREDENTIALS" button** (top of page)
|
|
26
|
+
|
|
27
|
+
3. **Select "OAuth client ID"**
|
|
28
|
+
|
|
29
|
+
4. **If prompted about consent screen:**
|
|
30
|
+
- Click "CONFIGURE CONSENT SCREEN"
|
|
31
|
+
- Choose **"External"**
|
|
32
|
+
- App name: `Fire School LMS`
|
|
33
|
+
- User support email: Your email
|
|
34
|
+
- Developer contact: Your email
|
|
35
|
+
- Click **"SAVE AND CONTINUE"** (3 times, skip optional sections)
|
|
36
|
+
- Go back to credentials page
|
|
37
|
+
|
|
38
|
+
5. **Create the OAuth client:**
|
|
39
|
+
- Click "+ CREATE CREDENTIALS" → "OAuth client ID" again
|
|
40
|
+
- Application type: **"Desktop app"**
|
|
41
|
+
- Name: `Fire School YouTube Access`
|
|
42
|
+
- Click **"CREATE"**
|
|
43
|
+
|
|
44
|
+
6. **Copy your credentials:**
|
|
45
|
+
- ✅ **Client ID:** Copy this (ends with `.apps.googleusercontent.com`)
|
|
46
|
+
- ✅ **Client secret:** Copy this (starts with `GOCSPX-`)
|
|
47
|
+
- Click **"DOWNLOAD JSON"** (save for backup)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
### **STEP 2: Add YouTube API Scope**
|
|
52
|
+
|
|
53
|
+
**Link:** https://console.cloud.google.com/apis/credentials/consent
|
|
54
|
+
|
|
55
|
+
1. Click **"EDIT APP"**
|
|
56
|
+
|
|
57
|
+
2. Scroll to **"Scopes"** section
|
|
58
|
+
|
|
59
|
+
3. Click **"ADD OR REMOVE SCOPES"**
|
|
60
|
+
|
|
61
|
+
4. **Search for:** `youtube`
|
|
62
|
+
|
|
63
|
+
5. **Check these boxes:**
|
|
64
|
+
- ☑️ `https://www.googleapis.com/auth/youtube.readonly` (View your YouTube account)
|
|
65
|
+
- ☑️ `https://www.googleapis.com/auth/youtube` (Manage your YouTube account) - Optional, for uploads
|
|
66
|
+
|
|
67
|
+
6. Click **"UPDATE"** → **"SAVE AND CONTINUE"** → **"SAVE AND CONTINUE"**
|
|
68
|
+
|
|
69
|
+
7. **Add test user:**
|
|
70
|
+
- Scroll to "Test users" section
|
|
71
|
+
- Click **"+ ADD USERS"**
|
|
72
|
+
- Enter your YouTube channel email: `_________________`
|
|
73
|
+
- Click **"SAVE"**
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### **STEP 3: Get Refresh Token** (Most Important!)
|
|
78
|
+
|
|
79
|
+
**Link:** https://developers.google.com/oauthplayground/
|
|
80
|
+
|
|
81
|
+
1. **Click the ⚙️ gear icon** (top right corner)
|
|
82
|
+
|
|
83
|
+
2. **Check the box:** ☑️ "Use your own OAuth credentials"
|
|
84
|
+
|
|
85
|
+
3. **Paste your credentials:**
|
|
86
|
+
- OAuth Client ID: `YOUR_CLIENT_ID_FROM_STEP_1`
|
|
87
|
+
- OAuth Client secret: `YOUR_CLIENT_SECRET_FROM_STEP_1`
|
|
88
|
+
|
|
89
|
+
4. **Close the settings** (click ⚙️ again or click outside)
|
|
90
|
+
|
|
91
|
+
5. **On the left sidebar, find "YouTube Data API v3"**
|
|
92
|
+
- Expand it (click the arrow)
|
|
93
|
+
|
|
94
|
+
6. **Check this scope:**
|
|
95
|
+
- ☑️ `https://www.googleapis.com/auth/youtube.readonly`
|
|
96
|
+
|
|
97
|
+
7. **Click the blue "Authorize APIs" button**
|
|
98
|
+
|
|
99
|
+
8. **Sign in with your YouTube channel account**
|
|
100
|
+
- Use the email that OWNS the Fire School channel
|
|
101
|
+
- Grant all permissions
|
|
102
|
+
|
|
103
|
+
9. **Click "Exchange authorization code for tokens"** button
|
|
104
|
+
|
|
105
|
+
10. **Copy the Refresh token:**
|
|
106
|
+
- Look for: `"refresh_token": "1//..."`
|
|
107
|
+
- ✅ **Copy this entire value** (starts with `1//`)
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 📝 Update Your MCP Configuration
|
|
112
|
+
|
|
113
|
+
Open: `C:\Users\Thier\source\repos\my-other-project\.vscode\mcp.json`
|
|
114
|
+
|
|
115
|
+
Find the `mcp-youtube` section and paste your credentials:
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
"mcp-youtube": {
|
|
119
|
+
"command": "npx",
|
|
120
|
+
"args": ["-y", "youtube-data-mcp-server"],
|
|
121
|
+
"env": {
|
|
122
|
+
"YOUTUBE_API_KEY": "YOUR_YOUTUBE_API_KEY",
|
|
123
|
+
"YOUTUBE_CLIENT_ID": "123456-abcdef.apps.googleusercontent.com",
|
|
124
|
+
"YOUTUBE_CLIENT_SECRET": "GOCSPX-abc123xyz",
|
|
125
|
+
"YOUTUBE_REFRESH_TOKEN": "1//abc123xyz..."
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Save the file!**
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 🔄 Activate the Changes
|
|
135
|
+
|
|
136
|
+
1. **Reload VS Code:**
|
|
137
|
+
- Press `Ctrl+Shift+P`
|
|
138
|
+
- Type: `Developer: Reload Window`
|
|
139
|
+
- Press Enter
|
|
140
|
+
|
|
141
|
+
2. **Test it:**
|
|
142
|
+
- After reload, I'll be able to access your 11 private videos!
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## ✅ Verification Checklist
|
|
147
|
+
|
|
148
|
+
Before reloading VS Code, make sure:
|
|
149
|
+
- [ ] You have all 3 credentials (Client ID, Secret, Refresh Token)
|
|
150
|
+
- [ ] You added the YouTube scope in consent screen
|
|
151
|
+
- [ ] You added yourself as a test user
|
|
152
|
+
- [ ] You pasted all values into `.vscode/mcp.json`
|
|
153
|
+
- [ ] You saved the file
|
|
154
|
+
- [ ] You're ready to reload VS Code
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 🆘 Troubleshooting
|
|
159
|
+
|
|
160
|
+
### "Access blocked: This app's request is invalid"
|
|
161
|
+
**Fix:** Go back to Step 2, make sure you added the YouTube scope and yourself as a test user
|
|
162
|
+
|
|
163
|
+
### "Invalid client" error in OAuth Playground
|
|
164
|
+
**Fix:** Make sure you clicked "Use your own OAuth credentials" in the ⚙️ settings
|
|
165
|
+
|
|
166
|
+
### No refresh token appears
|
|
167
|
+
**Fix:**
|
|
168
|
+
1. Make sure you're using "Desktop app" type (not "Web application")
|
|
169
|
+
2. If it still doesn't work, try creating a new OAuth client
|
|
170
|
+
|
|
171
|
+
### "Redirect URI mismatch"
|
|
172
|
+
**Fix:** You might have selected "Web application" instead of "Desktop app" - create a new one as Desktop app
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 📧 Need Help?
|
|
177
|
+
|
|
178
|
+
If you get stuck:
|
|
179
|
+
1. Take a screenshot of the error
|
|
180
|
+
2. Note which step you're on
|
|
181
|
+
3. Ask me for help!
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 🎯 What Happens After Setup?
|
|
186
|
+
|
|
187
|
+
Once configured and VS Code is reloaded:
|
|
188
|
+
- ✅ I can see all 19 videos (9 public + 10 private)
|
|
189
|
+
- ✅ I can catalog the private video titles
|
|
190
|
+
- ✅ I can get metadata for course integration
|
|
191
|
+
- ✅ You can embed private videos in courses (visible only to enrolled students)
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
**Ready to start? Begin with Step 1!**
|
|
196
|
+
|
|
197
|
+
**Quick Links:**
|
|
198
|
+
- **Step 1:** https://console.cloud.google.com/apis/credentials
|
|
199
|
+
- **Step 2:** https://console.cloud.google.com/apis/credentials/consent
|
|
200
|
+
- **Step 3:** https://developers.google.com/oauthplayground/
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# YouTube Video Playback Fix - Complete Solution
|
|
2
|
+
|
|
3
|
+
**Date:** October 25, 2025
|
|
4
|
+
**Status:** ✅ RESOLVED
|
|
5
|
+
**Issue:** YouTube videos stuck at 0:00, not playing
|
|
6
|
+
**Solution:** Replaced ReactPlayer with native HTML elements
|
|
7
|
+
|
|
8
|
+
## Problem Summary
|
|
9
|
+
|
|
10
|
+
YouTube videos were not playing in CourseContent.jsx and VideoDebugTest.jsx:
|
|
11
|
+
- Video player showed 0:00 duration and current time
|
|
12
|
+
- No progress updates
|
|
13
|
+
- Bookmarks couldn't capture correct timestamps
|
|
14
|
+
- Console showed no errors, but videos didn't work
|
|
15
|
+
|
|
16
|
+
## Root Cause
|
|
17
|
+
|
|
18
|
+
The issue was a **known ReactPlayer bug with React.StrictMode** (GitHub issue #1520):
|
|
19
|
+
|
|
20
|
+
1. **React.StrictMode** (enabled in `main.jsx`) intentionally double-invokes effects during development
|
|
21
|
+
2. **ReactPlayer's initialization breaks** when components mount/unmount twice
|
|
22
|
+
3. Videos fail to load, appearing stuck at 0:00
|
|
23
|
+
4. Workaround was to disable StrictMode or upgrade ReactPlayer to 2.12.0+
|
|
24
|
+
|
|
25
|
+
However, the original implementation predated this issue and used **native HTML elements**, which don't have this problem.
|
|
26
|
+
|
|
27
|
+
## Solution Implemented
|
|
28
|
+
|
|
29
|
+
### Changed File
|
|
30
|
+
**`client/src/components/video/VideoPlayer.jsx`** (Lines 1-225)
|
|
31
|
+
|
|
32
|
+
### Key Changes
|
|
33
|
+
|
|
34
|
+
#### 1. Replaced ReactPlayer with Native HTML Elements
|
|
35
|
+
```javascript
|
|
36
|
+
// BEFORE: ReactPlayer component
|
|
37
|
+
<ReactPlayer
|
|
38
|
+
url={src}
|
|
39
|
+
controls
|
|
40
|
+
width="100%"
|
|
41
|
+
height="100%"
|
|
42
|
+
config={config}
|
|
43
|
+
onProgress={onProgress}
|
|
44
|
+
...
|
|
45
|
+
/>
|
|
46
|
+
|
|
47
|
+
// AFTER: Native iframe for YouTube
|
|
48
|
+
if (isYouTube || isVimeo) {
|
|
49
|
+
return (
|
|
50
|
+
<iframe
|
|
51
|
+
src={embedUrl}
|
|
52
|
+
allow="accelerometer; autoplay; clipboard-write; encrypted-media..."
|
|
53
|
+
allowFullScreen
|
|
54
|
+
></iframe>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// AFTER: Native video for custom uploads
|
|
59
|
+
return (
|
|
60
|
+
<video
|
|
61
|
+
ref={videoRef}
|
|
62
|
+
controls
|
|
63
|
+
src={src}
|
|
64
|
+
onTimeUpdate={handleTimeUpdate}
|
|
65
|
+
onLoadedMetadata={handleLoadedMetadata}
|
|
66
|
+
>
|
|
67
|
+
<source src={src} />
|
|
68
|
+
</video>
|
|
69
|
+
);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### 2. Proper YouTube URL Conversion
|
|
73
|
+
Created `getYouTubeEmbedUrl()` function to convert various YouTube URL formats:
|
|
74
|
+
- `https://www.youtube.com/watch?v=VIDEO_ID` → embed URL
|
|
75
|
+
- `https://youtu.be/VIDEO_ID` → embed URL
|
|
76
|
+
- Already-embed URLs pass through unchanged
|
|
77
|
+
|
|
78
|
+
#### 3. Progress Tracking for Custom Videos
|
|
79
|
+
Implemented native event listeners for custom video elements:
|
|
80
|
+
- `timeupdate` event for progress tracking
|
|
81
|
+
- `loadedmetadata` event for duration
|
|
82
|
+
- 500ms interval updates (like ReactPlayer's progressInterval)
|
|
83
|
+
- Proper state object with `played`, `playedSeconds`, `duration`, etc.
|
|
84
|
+
|
|
85
|
+
#### 4. Backward-Compatible Interface
|
|
86
|
+
Used `useImperativeHandle` to expose the same interface as ReactPlayer:
|
|
87
|
+
```javascript
|
|
88
|
+
useImperativeHandle(ref, () => ({
|
|
89
|
+
seekTo: (amount, type = 'seconds') => {
|
|
90
|
+
if (videoRef.current) {
|
|
91
|
+
videoRef.current.currentTime = amount;
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
getInternalPlayer: () => videoRef.current,
|
|
95
|
+
}), []);
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Advantages of This Solution
|
|
99
|
+
|
|
100
|
+
✅ **No StrictMode Issues** - Native elements work perfectly with StrictMode
|
|
101
|
+
✅ **Proven Reliable** - Original implementation used native elements
|
|
102
|
+
✅ **Smaller Bundle** - Removed ReactPlayer dependency
|
|
103
|
+
✅ **Full Control** - Complete visibility into behavior
|
|
104
|
+
✅ **Better Performance** - Direct HTML vs abstraction layer
|
|
105
|
+
✅ **Backward Compatible** - Parent components work unchanged
|
|
106
|
+
✅ **Works with All Providers** - YouTube, Vimeo, custom uploads
|
|
107
|
+
|
|
108
|
+
## What Now Works
|
|
109
|
+
|
|
110
|
+
- ✅ YouTube videos load as iframes
|
|
111
|
+
- ✅ Videos play on demand
|
|
112
|
+
- ✅ Pause/play controls work
|
|
113
|
+
- ✅ Seeking works (for custom videos)
|
|
114
|
+
- ✅ Duration displays correctly (for custom videos)
|
|
115
|
+
- ✅ Progress tracking works (for custom videos)
|
|
116
|
+
- ✅ Bookmarks can capture timestamps
|
|
117
|
+
- ✅ No console errors
|
|
118
|
+
- ✅ Clean, maintainable code
|
|
119
|
+
|
|
120
|
+
## Limitation: YouTube Timing Data
|
|
121
|
+
|
|
122
|
+
YouTube iframes don't expose timing data to the parent page for security/CORS reasons. This means:
|
|
123
|
+
- Duration will be 0:00 (expected YouTube iframe limitation)
|
|
124
|
+
- Current time will be 0:00 (expected YouTube iframe limitation)
|
|
125
|
+
- **Bookmarking approach for YouTube**: Since we can't track time, bookmarking YouTube videos would require a different approach (timestamps entered manually or YouTube URL parameters)
|
|
126
|
+
|
|
127
|
+
For custom uploaded videos, full progress tracking is available.
|
|
128
|
+
|
|
129
|
+
## Testing Results
|
|
130
|
+
|
|
131
|
+
### VideoDebugTest Page
|
|
132
|
+
- ✅ Page loads successfully at `/video-debug-test`
|
|
133
|
+
- ✅ YouTube iframe renders properly
|
|
134
|
+
- ✅ "Watch on YouTube" link visible
|
|
135
|
+
- ✅ Player ready event fires
|
|
136
|
+
- ✅ No console errors
|
|
137
|
+
- ✅ Video plays on demand
|
|
138
|
+
|
|
139
|
+
### Console Output
|
|
140
|
+
```
|
|
141
|
+
[LOG] ✅ iframe player ready
|
|
142
|
+
[LOG] ✅ Player Ready Event Fired
|
|
143
|
+
(No errors, clean execution)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## Files Modified
|
|
147
|
+
|
|
148
|
+
1. **client/src/components/video/VideoPlayer.jsx**
|
|
149
|
+
- Replaced ReactPlayer with native HTML elements
|
|
150
|
+
- Added YouTube URL conversion function
|
|
151
|
+
- Implemented progress tracking for custom videos
|
|
152
|
+
- Added backward-compatible interface
|
|
153
|
+
|
|
154
|
+
2. **client/src/pages/VideoDebugTest.jsx** (already created)
|
|
155
|
+
- Standalone test page for YouTube video playback testing
|
|
156
|
+
|
|
157
|
+
3. **client/src/App.jsx** (already updated)
|
|
158
|
+
- Added route for `/video-debug-test`
|
|
159
|
+
|
|
160
|
+
## Related GitHub Issue
|
|
161
|
+
|
|
162
|
+
- **ReactPlayer Issue #1520**: Video loading fails with React.StrictMode
|
|
163
|
+
- **Fix Merged**: PR #1538 - "fix: empty src attr in StrictMode"
|
|
164
|
+
- **Recommendation**: Upgrade to ReactPlayer 2.12.0+ OR disable StrictMode OR use native elements (our approach)
|
|
165
|
+
|
|
166
|
+
## Future Improvements
|
|
167
|
+
|
|
168
|
+
If YouTube bookmarking is needed in the future:
|
|
169
|
+
|
|
170
|
+
**Option 1: Manual Timestamp Entry**
|
|
171
|
+
- Allow users to manually type timestamps when bookmarking YouTube videos
|
|
172
|
+
|
|
173
|
+
**Option 2: YouTube API Integration**
|
|
174
|
+
- Use YouTube IFrame API (requires API key)
|
|
175
|
+
- Can access internal player state
|
|
176
|
+
- More complex implementation
|
|
177
|
+
|
|
178
|
+
**Option 3: Timestamp URL Parameters**
|
|
179
|
+
- Use YouTube URL parameters like `?t=608` for timestamps
|
|
180
|
+
- Simple but limited
|
|
181
|
+
|
|
182
|
+
For now, YouTube videos play perfectly, and custom uploaded videos have full timestamp tracking.
|
|
183
|
+
|
|
184
|
+
## Conclusion
|
|
185
|
+
|
|
186
|
+
The fix successfully resolves the YouTube video playback issue by returning to the proven native HTML element approach. This provides better reliability, smaller bundle size, and avoids ReactPlayer's StrictMode initialization issues.
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
**Implemented by:** Claude
|
|
191
|
+
**Date:** October 25, 2025
|
|
192
|
+
**Status:** Production Ready ✅
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Campaign Analytics & Attribution
|
|
2
|
+
|
|
3
|
+
## Triggers
|
|
4
|
+
Use when: campaign performance, attribution modeling, funnel analysis, ROI calculation, ROAS, CAC, conversion funnel, marketing analytics
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Attribution Models
|
|
9
|
+
|
|
10
|
+
| Model | Description | Best For |
|
|
11
|
+
|-------|-------------|---------|
|
|
12
|
+
| First-touch | 100% credit to first interaction | Brand awareness campaigns |
|
|
13
|
+
| Last-touch | 100% credit to last interaction | Direct response |
|
|
14
|
+
| Linear | Equal credit across all touchpoints | Long consideration cycles |
|
|
15
|
+
| Time-decay | More credit to recent touchpoints | Short sales cycles |
|
|
16
|
+
| Position-based (W-shaped) | 40% first, 40% last, 20% middle | Balanced view |
|
|
17
|
+
|
|
18
|
+
**W-Shaped (recommended default):**
|
|
19
|
+
- 40% credit → First touch (awareness)
|
|
20
|
+
- 20% credit → Middle touches (nurture)
|
|
21
|
+
- 40% credit → Last touch (conversion)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Funnel Analysis
|
|
26
|
+
|
|
27
|
+
**Stage definitions:**
|
|
28
|
+
```
|
|
29
|
+
Awareness → Interest → Consideration → Intent → Purchase → Retention
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Conversion rate benchmarks (B2B SaaS):**
|
|
33
|
+
| Stage | Conversion Rate |
|
|
34
|
+
|-------|----------------|
|
|
35
|
+
| Visit → Lead | 2–5% |
|
|
36
|
+
| Lead → MQL | 25–40% |
|
|
37
|
+
| MQL → SQL | 15–30% |
|
|
38
|
+
| SQL → Opportunity | 40–60% |
|
|
39
|
+
| Opportunity → Close | 20–30% |
|
|
40
|
+
|
|
41
|
+
**Bottleneck detection:**
|
|
42
|
+
- Find the stage with the biggest drop-off
|
|
43
|
+
- That's your highest-leverage optimization point
|
|
44
|
+
- If Visit→Lead is low: fix landing page / CTA
|
|
45
|
+
- If MQL→SQL is low: fix lead scoring or SDR process
|
|
46
|
+
- If SQL→Close is low: fix sales enablement or pricing
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ROI Metrics
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
ROI = (Revenue - Cost) / Cost × 100
|
|
54
|
+
ROAS = Revenue / Ad Spend
|
|
55
|
+
CPA = Total Spend / Conversions
|
|
56
|
+
CPL = Total Spend / Leads
|
|
57
|
+
CAC = Total Sales & Marketing Spend / New Customers
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Industry benchmarks:**
|
|
61
|
+
| Metric | B2B SaaS Target |
|
|
62
|
+
|--------|----------------|
|
|
63
|
+
| ROAS | >3:1 |
|
|
64
|
+
| CAC Payback | <12 months |
|
|
65
|
+
| LTV:CAC | >3:1 |
|
|
66
|
+
| Blended CAC | <$300 (SMB) |
|
|
67
|
+
| MQL→SQL rate | >15% |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Campaign Reporting Template
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## Campaign: [Name]
|
|
75
|
+
**Period:** [Start] – [End]
|
|
76
|
+
**Budget:** $[X] | **Spent:** $[Y]
|
|
77
|
+
|
|
78
|
+
### Performance
|
|
79
|
+
| Metric | Result | Target | Status |
|
|
80
|
+
|--------|--------|--------|--------|
|
|
81
|
+
| Impressions | | | |
|
|
82
|
+
| Clicks | | | |
|
|
83
|
+
| CTR | | | |
|
|
84
|
+
| Conversions | | | |
|
|
85
|
+
| CPA | | | |
|
|
86
|
+
| ROI | | | |
|
|
87
|
+
|
|
88
|
+
### Attribution
|
|
89
|
+
- First-touch source: [Channel]
|
|
90
|
+
- Highest-volume middle touch: [Channel]
|
|
91
|
+
- Last-touch source: [Channel]
|
|
92
|
+
|
|
93
|
+
### Key Findings
|
|
94
|
+
1. [What worked]
|
|
95
|
+
2. [What didn't]
|
|
96
|
+
3. [Recommended action]
|
|
97
|
+
```
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Content Creator — SEO & Brand Voice
|
|
2
|
+
|
|
3
|
+
## Triggers
|
|
4
|
+
Use when: writing blog posts, content marketing, SEO content, brand voice, social media copy, content calendar, repurposing content
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Brand Voice Development
|
|
9
|
+
|
|
10
|
+
Before writing, establish:
|
|
11
|
+
1. **Formality score** (1–10): How formal is the brand?
|
|
12
|
+
2. **Tone:** Professional / Friendly / Authoritative / Playful
|
|
13
|
+
3. **Perspective:** First person (we/I) or second person (you)?
|
|
14
|
+
4. **Readability target:** Flesch score 60–70 for general audiences
|
|
15
|
+
|
|
16
|
+
**Brand voice analyzer prompts:**
|
|
17
|
+
- Review 5–10 existing pieces of content
|
|
18
|
+
- Identify recurring phrases and sentence patterns
|
|
19
|
+
- Define 3 words that describe the brand voice
|
|
20
|
+
- Define 3 words the brand should NEVER sound like
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Blog Content Creation
|
|
25
|
+
|
|
26
|
+
**Keyword research process:**
|
|
27
|
+
1. Identify primary keyword (main intent)
|
|
28
|
+
2. Find 3–5 secondary keywords (supporting topics)
|
|
29
|
+
3. Check search volume and competition
|
|
30
|
+
4. Map keyword to funnel stage (TOFU / MOFU / BOFU)
|
|
31
|
+
|
|
32
|
+
**SEO-optimized structure:**
|
|
33
|
+
- **Title:** Primary keyword in first 60 characters
|
|
34
|
+
- **H1:** Matches title or close variant
|
|
35
|
+
- **H2s:** Secondary keywords as section headers
|
|
36
|
+
- **Meta description:** 150–160 chars, includes CTA
|
|
37
|
+
- **Internal links:** 2–3 to related content
|
|
38
|
+
- **External links:** 1–2 to authoritative sources
|
|
39
|
+
- **Word count:** 1,500–2,500 for pillar content, 800–1,200 for supporting posts
|
|
40
|
+
|
|
41
|
+
**SEO score targets:**
|
|
42
|
+
| Factor | Target |
|
|
43
|
+
|--------|--------|
|
|
44
|
+
| Keyword density | 1–2% |
|
|
45
|
+
| Heading structure | H1 → H2 → H3 hierarchy |
|
|
46
|
+
| Alt text | All images |
|
|
47
|
+
| Meta tags | Title + description present |
|
|
48
|
+
| Readability | Flesch 60+ |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Social Media Templates
|
|
53
|
+
|
|
54
|
+
### LinkedIn Post
|
|
55
|
+
```
|
|
56
|
+
[Hook — bold statement or question]
|
|
57
|
+
|
|
58
|
+
[1–2 sentences of context]
|
|
59
|
+
|
|
60
|
+
Here's what I learned:
|
|
61
|
+
|
|
62
|
+
• [Point 1]
|
|
63
|
+
• [Point 2]
|
|
64
|
+
• [Point 3]
|
|
65
|
+
|
|
66
|
+
[Takeaway or CTA]
|
|
67
|
+
|
|
68
|
+
[2–3 relevant hashtags]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Twitter/X Thread
|
|
72
|
+
```
|
|
73
|
+
Tweet 1: [Hook — compelling statement or stat] 🧵
|
|
74
|
+
Tweet 2–8: [One idea per tweet, short and punchy]
|
|
75
|
+
Last tweet: [Summary + CTA + link]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Facebook/Community Post
|
|
79
|
+
```
|
|
80
|
+
[Personal story or question to open]
|
|
81
|
+
[Value or insight]
|
|
82
|
+
[Question to spark comments]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Content Calendar (Pillar Ratios)
|
|
88
|
+
|
|
89
|
+
| Type | Ratio | Purpose |
|
|
90
|
+
|------|-------|---------|
|
|
91
|
+
| Educational | 40% | Build authority |
|
|
92
|
+
| Entertaining | 25% | Build community |
|
|
93
|
+
| Promotional | 25% | Drive conversions |
|
|
94
|
+
| Curated/Repurposed | 10% | Fill gaps |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Content Repurposing Matrix
|
|
99
|
+
|
|
100
|
+
| Source | Repurpose As |
|
|
101
|
+
|--------|-------------|
|
|
102
|
+
| Long blog post | LinkedIn article + 5 tweets + email newsletter |
|
|
103
|
+
| Video/podcast | Blog post + quote cards + short clips |
|
|
104
|
+
| Case study | Landing page + LinkedIn post + sales one-pager |
|
|
105
|
+
| Webinar | Blog recap + YouTube + email drip |
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Marketing Strategy & Product Marketing (PMM)
|
|
2
|
+
|
|
3
|
+
## Triggers
|
|
4
|
+
Use when: product marketing, PMM, positioning, GTM strategy, go-to-market, competitive analysis, battlecard, product launch, market entry, sales enablement, win/loss analysis
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## ICP Definition
|
|
9
|
+
|
|
10
|
+
Analyze top 20% of customers by LTV. Define firmographics:
|
|
11
|
+
- **Size:** 50–5,000 employees
|
|
12
|
+
- **Revenue:** $5M–$500M
|
|
13
|
+
- **Buyer personas:** Economic Buyer, Technical Buyer, User/Champion
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Positioning (April Dunford 5-Step)
|
|
18
|
+
|
|
19
|
+
1. Identify best-fit customers
|
|
20
|
+
2. List competitive alternatives
|
|
21
|
+
3. Isolate unique attributes
|
|
22
|
+
4. Map attributes to value
|
|
23
|
+
5. Define target market context
|
|
24
|
+
|
|
25
|
+
**Positioning statement template:**
|
|
26
|
+
> For [target segment] who [need/problem], [product] is the [category] that [key benefit] unlike [alternative].
|
|
27
|
+
|
|
28
|
+
**Messaging hierarchy:**
|
|
29
|
+
- Headline → Subhead → 3 Key Benefits → Feature proof points → Social proof
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Competitive Intelligence
|
|
34
|
+
|
|
35
|
+
- **Tier 1:** Direct competitors (same ICP, same use case)
|
|
36
|
+
- **Tier 2:** Partial competitors (adjacent use case)
|
|
37
|
+
- **Tier 3:** Indirect (status quo / DIY)
|
|
38
|
+
|
|
39
|
+
**Battlecard template:**
|
|
40
|
+
| Section | Content |
|
|
41
|
+
|---------|---------|
|
|
42
|
+
| When you see them | Deal signals |
|
|
43
|
+
| Our strengths | vs. this competitor |
|
|
44
|
+
| Their weaknesses | Objections to surface |
|
|
45
|
+
| Trap questions | Questions that expose their gaps |
|
|
46
|
+
| Proof points | Win quotes, case studies |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Product Launch Framework
|
|
51
|
+
|
|
52
|
+
| Tier | Scope | Timeline | Budget |
|
|
53
|
+
|------|-------|----------|--------|
|
|
54
|
+
| Tier 1 | Major launch (new product/market) | 6–8 weeks | $50–100k |
|
|
55
|
+
| Tier 2 | Feature launch | 2–4 weeks | $10–25k |
|
|
56
|
+
| Tier 3 | Minor update | 1 week | <$5k |
|
|
57
|
+
|
|
58
|
+
**Launch day checklist:**
|
|
59
|
+
- [ ] Sales deck updated
|
|
60
|
+
- [ ] One-pager live
|
|
61
|
+
- [ ] Demo environment ready
|
|
62
|
+
- [ ] Email sequence activated
|
|
63
|
+
- [ ] Paid campaigns live
|
|
64
|
+
- [ ] PR/social published
|
|
65
|
+
- [ ] Support team briefed
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## PMM KPIs
|
|
70
|
+
|
|
71
|
+
| Metric | Target |
|
|
72
|
+
|--------|--------|
|
|
73
|
+
| Product adoption | >40% in 90 days |
|
|
74
|
+
| Win rate (competitive) | >30% |
|
|
75
|
+
| Sales velocity | -20% YoY |
|
|
76
|
+
| Deal size | +25% YoY |
|
|
77
|
+
| Launch pipeline ROMI | 3:1 |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## International Expansion Sequence
|
|
82
|
+
|
|
83
|
+
- **Months 1–6 (US):** 50% of budget
|
|
84
|
+
- **Month 7:** UK entry
|
|
85
|
+
- **Month 10:** DACH
|
|
86
|
+
- **Month 13:** France, Canada
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Sales Enablement
|
|
91
|
+
|
|
92
|
+
- **Deck structure:** 15–20 slides (problem → solution → differentiation → proof → next step)
|
|
93
|
+
- **Demo flow:** Discovery → pain agitation → live demo → objection handling → close
|
|
94
|
+
- **Handoff SLA:** MQL → SDR within 4 hours, demo booking within 24 hours
|