@caoscompanybr/merlin 3.5.0
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/.claude/CLAUDE.md +216 -0
- package/.claude/hooks/README-license-gate.md +45 -0
- package/.claude/hooks/auto-summarize.js +47 -0
- package/.claude/hooks/context-monitor.js +60 -0
- package/.claude/hooks/doc-sync.js +111 -0
- package/.claude/hooks/license-gate.cjs +59 -0
- package/.claude/hooks/session-reset.js +27 -0
- package/.claude/hooks/thoughts-indexer.js +80 -0
- package/.claude/rules/merlin-constitution.md +27 -0
- package/.merlin-core/commands/README.md +19 -0
- package/.merlin-core/commands/founder-mode.md +51 -0
- package/.merlin-core/commands/git/commit.md +35 -0
- package/.merlin-core/commands/git/describe-pr.md +43 -0
- package/.merlin-core/commands/git/safe-commit.md +182 -0
- package/.merlin-core/commands/implementation/implement-plan.md +129 -0
- package/.merlin-core/commands/implementation/oneshot.md +63 -0
- package/.merlin-core/commands/implementation/tdd.md +152 -0
- package/.merlin-core/commands/planning/create-plan.md +184 -0
- package/.merlin-core/commands/planning/iterate-plan.md +45 -0
- package/.merlin-core/commands/planning/validate-plan.md +48 -0
- package/.merlin-core/commands/research/analyze-issue.md +155 -0
- package/.merlin-core/commands/research/research-codebase.md +157 -0
- package/.merlin-core/commands/review/adversarial-review.md +112 -0
- package/.merlin-core/commands/review/check.md +91 -0
- package/.merlin-core/commands/review/debug.md +135 -0
- package/.merlin-core/commands/review/doubts.md +178 -0
- package/.merlin-core/commands/review/engineering-audit.md +87 -0
- package/.merlin-core/commands/review/local-review.md +48 -0
- package/.merlin-core/commands/review/verify-goals.md +83 -0
- package/.merlin-core/commands/session/capture-feedback.md +74 -0
- package/.merlin-core/commands/session/capture-learning.md +155 -0
- package/.merlin-core/commands/session/check-objectives.md +85 -0
- package/.merlin-core/commands/session/conclude.md +125 -0
- package/.merlin-core/commands/session/create-handoff.md +88 -0
- package/.merlin-core/commands/session/create-objective.md +111 -0
- package/.merlin-core/commands/session/create-process.md +105 -0
- package/.merlin-core/commands/session/create-reminder.md +86 -0
- package/.merlin-core/commands/session/fast-start.md +261 -0
- package/.merlin-core/commands/session/recall-learnings.md +79 -0
- package/.merlin-core/commands/session/recall-processes.md +74 -0
- package/.merlin-core/commands/session/resume-handoff.md +51 -0
- package/.merlin-core/commands/session/run-process.md +53 -0
- package/.merlin-core/commands/special/beauty.md +89 -0
- package/.merlin-core/commands/special/common-ground.md +114 -0
- package/.merlin-core/commands/special/elicit.md +98 -0
- package/.merlin-core/commands/special/party.md +66 -0
- package/.merlin-core/commands/special/scrape.md +78 -0
- package/.merlin-core/commands/special/skill-audit.md +128 -0
- package/.merlin-core/commands/special/start-here.md +132 -0
- package/.merlin-core/constitution.md +442 -0
- package/.merlin-core/core/README.md +19 -0
- package/.merlin-core/core/alkimia/README.md +20 -0
- package/.merlin-core/core/alkimia/context/context-tracker.js +209 -0
- package/.merlin-core/core/alkimia/domain/domain-loader.js +215 -0
- package/.merlin-core/core/alkimia/engine.js +284 -0
- package/.merlin-core/core/alkimia/layers/l0-constitution.js +47 -0
- package/.merlin-core/core/alkimia/layers/l1-global.js +58 -0
- package/.merlin-core/core/alkimia/layers/l2-agent.js +58 -0
- package/.merlin-core/core/alkimia/layers/l3-workflow.js +54 -0
- package/.merlin-core/core/alkimia/layers/l4-task.js +45 -0
- package/.merlin-core/core/alkimia/layers/l5-squad.js +161 -0
- package/.merlin-core/core/alkimia/layers/l6-skill.js +520 -0
- package/.merlin-core/core/alkimia/layers/l7-star-command.js +87 -0
- package/.merlin-core/core/alkimia/layers/layer-processor.js +78 -0
- package/.merlin-core/core/alkimia/mandate.js +46 -0
- package/.merlin-core/core/alkimia/memory/doc-sync.js +201 -0
- package/.merlin-core/core/alkimia/memory/document-sharder.js +272 -0
- package/.merlin-core/core/alkimia/memory/git-history-retriever.js +225 -0
- package/.merlin-core/core/alkimia/memory/memory-bridge.js +97 -0
- package/.merlin-core/core/alkimia/memory/session-analyzer.js +400 -0
- package/.merlin-core/core/alkimia/memory/thoughts-indexer.js +477 -0
- package/.merlin-core/core/alkimia/memory/thoughts-provider.js +603 -0
- package/.merlin-core/core/alkimia/output/formatter.js +464 -0
- package/.merlin-core/core/alkimia/security/content-sanitizer.js +140 -0
- package/.merlin-core/core/alkimia/skill-importer.js +440 -0
- package/.merlin-core/core/alkimia/squads/default/.synapse/manifest +17 -0
- package/.merlin-core/core/alkimia/utils/frontmatter.js +321 -0
- package/.merlin-core/core/alkimia/utils/tokens.js +24 -0
- package/.merlin-core/core/approval/README.md +16 -0
- package/.merlin-core/core/approval/approval-engine.js +380 -0
- package/.merlin-core/core/approval/channels/cli-channel.js +50 -0
- package/.merlin-core/core/config/README.md +17 -0
- package/.merlin-core/core/config/config-cache.js +182 -0
- package/.merlin-core/core/config/config-loader.js +279 -0
- package/.merlin-core/core/config/config-resolver.js +411 -0
- package/.merlin-core/core/config/env-interpolator.js +123 -0
- package/.merlin-core/core/config/merge-utils.js +102 -0
- package/.merlin-core/core/config/schemas/core-config.schema.json +41 -0
- package/.merlin-core/core/config/schemas/framework-config.schema.json +24 -0
- package/.merlin-core/core/config/schemas/local-config.schema.json +23 -0
- package/.merlin-core/core/config/schemas/project-config.schema.json +189 -0
- package/.merlin-core/core/docs-consistency.js +140 -0
- package/.merlin-core/core/events/event-bus.js +344 -0
- package/.merlin-core/core/events/hook-handler.js +419 -0
- package/.merlin-core/core/execution/README.md +17 -0
- package/.merlin-core/core/execution/attempt-journal.js +380 -0
- package/.merlin-core/core/execution/autonomous-build-loop.js +637 -0
- package/.merlin-core/core/execution/build-orchestrator.js +296 -0
- package/.merlin-core/core/execution/build-state-manager.js +196 -0
- package/.merlin-core/core/execution/context-injector.js +204 -0
- package/.merlin-core/core/execution/cron-engine.js +247 -0
- package/.merlin-core/core/execution/cron-expression.js +148 -0
- package/.merlin-core/core/execution/env-preflight.js +423 -0
- package/.merlin-core/core/execution/guardrail-engine.js +745 -0
- package/.merlin-core/core/execution/heartbeat-engine.js +198 -0
- package/.merlin-core/core/execution/model-router.js +282 -0
- package/.merlin-core/core/execution/parallel-executor.js +378 -0
- package/.merlin-core/core/execution/parallel-monitor.js +201 -0
- package/.merlin-core/core/execution/party-session.js +311 -0
- package/.merlin-core/core/execution/rate-limit-manager.js +152 -0
- package/.merlin-core/core/execution/result-aggregator.js +215 -0
- package/.merlin-core/core/execution/semantic-merge-engine.js +320 -0
- package/.merlin-core/core/execution/subagent-dispatcher.js +721 -0
- package/.merlin-core/core/execution/success-verifier.js +227 -0
- package/.merlin-core/core/execution/task-metadata.js +105 -0
- package/.merlin-core/core/execution/team-executor.js +195 -0
- package/.merlin-core/core/execution/two-tier-editor.js +290 -0
- package/.merlin-core/core/execution/version-snapshot.js +294 -0
- package/.merlin-core/core/execution/wave-executor.js +224 -0
- package/.merlin-core/core/health-check/health-engine.js +415 -0
- package/.merlin-core/core/licensing/activation.js +281 -0
- package/.merlin-core/core/licensing/crc.js +103 -0
- package/.merlin-core/core/licensing/entitlement.js +99 -0
- package/.merlin-core/core/licensing/fingerprint.js +104 -0
- package/.merlin-core/core/licensing/gate.js +133 -0
- package/.merlin-core/core/licensing/hmac.js +42 -0
- package/.merlin-core/core/licensing/key.js +144 -0
- package/.merlin-core/core/licensing/license.js +212 -0
- package/.merlin-core/core/mcp/README.md +16 -0
- package/.merlin-core/core/mcp/browser-capability.js +191 -0
- package/.merlin-core/core/mcp/capability-mapper.js +92 -0
- package/.merlin-core/core/mcp/mcp-connector.js +278 -0
- package/.merlin-core/core/mcp/mcp-registry.js +101 -0
- package/.merlin-core/core/orchestration/README.md +17 -0
- package/.merlin-core/core/orchestration/agent-invoker.js +456 -0
- package/.merlin-core/core/orchestration/condition-evaluator.js +250 -0
- package/.merlin-core/core/orchestration/decision-tree.js +192 -0
- package/.merlin-core/core/orchestration/executor-assignment.js +372 -0
- package/.merlin-core/core/orchestration/gate-evaluator.js +653 -0
- package/.merlin-core/core/orchestration/intent-classifier.js +579 -0
- package/.merlin-core/core/orchestration/lock-manager.js +308 -0
- package/.merlin-core/core/orchestration/master-orchestrator.js +363 -0
- package/.merlin-core/core/orchestration/phase-tool-masks.js +194 -0
- package/.merlin-core/core/orchestration/recovery-handler.js +402 -0
- package/.merlin-core/core/orchestration/reflect-checkpoint.js +431 -0
- package/.merlin-core/core/orchestration/session-state.js +430 -0
- package/.merlin-core/core/orchestration/skill-dispatcher.js +255 -0
- package/.merlin-core/core/orchestration/step-loader.js +226 -0
- package/.merlin-core/core/orchestration/workflow-executor.js +864 -0
- package/.merlin-core/core/process/executor.js +231 -0
- package/.merlin-core/core/process/process-file.js +50 -0
- package/.merlin-core/core/process/secret-scan.js +86 -0
- package/.merlin-core/core/process/signature.js +77 -0
- package/.merlin-core/core/quality-gates/README.md +17 -0
- package/.merlin-core/core/quality-gates/layer1-precommit.js +110 -0
- package/.merlin-core/core/quality-gates/layer2-pr-automation.js +116 -0
- package/.merlin-core/core/quality-gates/layer3-human-review.js +133 -0
- package/.merlin-core/core/registry/service-registry.js +140 -0
- package/.merlin-core/core-config.yaml +159 -0
- package/.merlin-core/development/README.md +17 -0
- package/.merlin-core/development/agents/README.md +16 -0
- package/.merlin-core/development/agents/analyst.md +214 -0
- package/.merlin-core/development/agents/architect.md +166 -0
- package/.merlin-core/development/agents/data-engineer.md +154 -0
- package/.merlin-core/development/agents/dev.md +203 -0
- package/.merlin-core/development/agents/devops.md +236 -0
- package/.merlin-core/development/agents/grimorio.md +125 -0
- package/.merlin-core/development/agents/merlin-master.md +173 -0
- package/.merlin-core/development/agents/meta.md +190 -0
- package/.merlin-core/development/agents/pm.md +145 -0
- package/.merlin-core/development/agents/po.md +172 -0
- package/.merlin-core/development/agents/qa.md +275 -0
- package/.merlin-core/development/agents/researcher.md +218 -0
- package/.merlin-core/development/agents/scout.md +179 -0
- package/.merlin-core/development/agents/sm.md +148 -0
- package/.merlin-core/development/agents/ux.md +169 -0
- package/.merlin-core/development/agents/web-researcher.md +203 -0
- package/.merlin-core/development/checklists/adversarial-review-checklist.md +70 -0
- package/.merlin-core/development/checklists/operations-ci-checklist.md +40 -0
- package/.merlin-core/development/checklists/operations-deploy-checklist.md +54 -0
- package/.merlin-core/development/checklists/operations-publish-checklist.md +47 -0
- package/.merlin-core/development/checklists/source-verification-checklist.md +38 -0
- package/.merlin-core/development/templates/HEARTBEAT-template.md +46 -0
- package/.merlin-core/development/templates/ears-requirements-template.md +93 -0
- package/.merlin-core/development/templates/handoff-template.md +50 -0
- package/.merlin-core/development/templates/prd-template.md +62 -0
- package/.merlin-core/development/templates/research-template.md +53 -0
- package/.merlin-core/development/templates/spec-template.md +84 -0
- package/.merlin-core/development/workflows/brownfield-discovery.yaml +166 -0
- package/.merlin-core/development/workflows/brownfield-service.yaml +52 -0
- package/.merlin-core/development/workflows/development-cycle.yaml +57 -0
- package/.merlin-core/development/workflows/epic-orchestration.yaml +47 -0
- package/.merlin-core/development/workflows/folloni-funnel.yaml +177 -0
- package/.merlin-core/development/workflows/greenfield-fullstack.yaml +167 -0
- package/.merlin-core/development/workflows/greenfield-service.yaml +56 -0
- package/.merlin-core/development/workflows/qa-loop.yaml +115 -0
- package/.merlin-core/development/workflows/spec-pipeline.yaml +185 -0
- package/.merlin-core/development/workflows/steps/folloni-01-research.yaml +35 -0
- package/.merlin-core/development/workflows/steps/folloni-02-architecture.yaml +41 -0
- package/.merlin-core/development/workflows/steps/folloni-03-implementation.yaml +52 -0
- package/.merlin-core/development/workflows/story-development-cycle.yaml +67 -0
- package/.merlin-core/docs/GUIDE.md +413 -0
- package/.merlin-core/docs/merlin-commands-guide-pt.md +183 -0
- package/.merlin-core/framework-config.yaml +148 -0
- package/.merlin-core/hooks/README.md +16 -0
- package/.merlin-core/hooks/precompact-memory-flush.js +69 -0
- package/.merlin-core/hooks/pretooluse-remote-approve.js +113 -0
- package/.merlin-core/hooks/spikes/spike-b-hook.js +70 -0
- package/.merlin-core/hooks/spikes/spike-b-stub.js +70 -0
- package/.merlin-core/index.js +91 -0
- package/.merlin-core/local-config.yaml.template +31 -0
- package/.merlin-core/mcp-servers/lsp-bridge/index.js +397 -0
- package/.merlin-core/modules/scraping/module.json +23 -0
- package/.merlin-core/project-config.yaml +89 -0
- package/.merlin-core/schemas/README.md +18 -0
- package/.merlin-core/schemas/agent-hook-schema.json +152 -0
- package/.merlin-core/schemas/agent-schema.json +31 -0
- package/.merlin-core/schemas/command-schema.json +18 -0
- package/.merlin-core/schemas/feedback-schema.json +36 -0
- package/.merlin-core/schemas/handoff-schema.json +19 -0
- package/.merlin-core/schemas/learning-schema.json +51 -0
- package/.merlin-core/schemas/module.schema.json +124 -0
- package/.merlin-core/schemas/must-haves-schema.json +95 -0
- package/.merlin-core/schemas/objective-schema.json +23 -0
- package/.merlin-core/schemas/plan-schema.json +20 -0
- package/.merlin-core/schemas/process-schema.json +82 -0
- package/.merlin-core/schemas/reminder-schema.json +20 -0
- package/.merlin-core/schemas/skill-eval-schema.json +92 -0
- package/.merlin-core/schemas/skill-schema.json +77 -0
- package/.merlin-core/schemas/workflow-schema.json +38 -0
- package/.merlin-core/skills/README.md +16 -0
- package/.merlin-core/skills/domain/azure-cloud/SKILL.md +211 -0
- package/.merlin-core/skills/domain/azure-cloud/references/appinsights-instrumentation.md +63 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-compliance.md +99 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-cost-optimization.md +419 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-deploy.md +82 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-diagnostics.md +130 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-prepare.md +134 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-quotas.md +290 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-rbac.md +11 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-lookup.md +97 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-resource-visualizer.md +178 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-storage.md +91 -0
- package/.merlin-core/skills/domain/azure-cloud/references/azure-validate.md +58 -0
- package/.merlin-core/skills/domain/azure-cloud/references/entra-app-registration.md +192 -0
- package/.merlin-core/skills/domain/browser-automation/SKILL.md +311 -0
- package/.merlin-core/skills/domain/browser-automation/references/agent-browser-skill.md +632 -0
- package/.merlin-core/skills/domain/browser-automation/references/authentication.md +308 -0
- package/.merlin-core/skills/domain/browser-automation/references/commands.md +266 -0
- package/.merlin-core/skills/domain/browser-automation/references/profiling.md +120 -0
- package/.merlin-core/skills/domain/browser-automation/references/proxy-support.md +194 -0
- package/.merlin-core/skills/domain/browser-automation/references/session-management.md +194 -0
- package/.merlin-core/skills/domain/browser-automation/references/snapshot-refs.md +196 -0
- package/.merlin-core/skills/domain/browser-automation/references/video-recording.md +173 -0
- package/.merlin-core/skills/domain/browser-automation/templates/authenticated-session.sh +105 -0
- package/.merlin-core/skills/domain/browser-automation/templates/capture-workflow.sh +69 -0
- package/.merlin-core/skills/domain/browser-automation/templates/form-automation.sh +62 -0
- package/.merlin-core/skills/domain/digital-marketing/SKILL.md +292 -0
- package/.merlin-core/skills/domain/digital-marketing/references/content-strategy.md +320 -0
- package/.merlin-core/skills/domain/digital-marketing/references/copy-formats.md +298 -0
- package/.merlin-core/skills/domain/digital-marketing/references/copy-methodology.md +180 -0
- package/.merlin-core/skills/domain/digital-marketing/references/email-sequences.md +135 -0
- package/.merlin-core/skills/domain/digital-marketing/references/launch-strategy.md +213 -0
- package/.merlin-core/skills/domain/digital-marketing/references/pricing-strategy.md +160 -0
- package/.merlin-core/skills/domain/digital-marketing/references/programmatic-seo.md +237 -0
- package/.merlin-core/skills/domain/digital-marketing/references/revops-lifecycle.md +170 -0
- package/.merlin-core/skills/domain/digital-marketing/references/revops-operations.md +167 -0
- package/.merlin-core/skills/domain/digital-marketing/references/schema-markup.md +190 -0
- package/.merlin-core/skills/domain/digital-marketing/references/strategy-frameworks.md +324 -0
- package/.merlin-core/skills/domain/digital-marketing/references/traffic-management.md +350 -0
- package/.merlin-core/skills/domain/expo-native-ui/SKILL.md +348 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/animations.md +220 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/api-routes.md +361 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/cicd-workflows.md +84 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/controls.md +266 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/data-fetching.md +553 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/deployment-stores.md +1353 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/deployment.md +183 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/dev-client.md +166 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/dom-components.md +410 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/form-sheet.md +253 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/gradients.md +117 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/icons.md +218 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/media.md +245 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/platform-native.md +75 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/route-structure.md +229 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/search.md +249 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/storage.md +121 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/tabs.md +433 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/tailwind-native.md +473 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/toolbar-and-headers.md +284 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/upgrading-guides.md +674 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/upgrading.md +127 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/visual-effects.md +199 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/webgpu-three.md +605 -0
- package/.merlin-core/skills/domain/expo-native-ui/references/zoom-transitions.md +161 -0
- package/.merlin-core/skills/domain/marketing-ops/SKILL.md +117 -0
- package/.merlin-core/skills/domain/marketing-ops/references/_index.md +78 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/generative-tools.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative/references/platform-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ad-creative.md +251 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/ad-copy-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/audience-targeting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/conversion-tracking.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads/references/platform-setup-checklists.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ads.md +322 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/content-types.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo/references/platform-ranking-factors.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/ai-seo.md +388 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/apple-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/benchmarks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/google-play-specs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/report-template.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso/references/scoring-criteria.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/aso.md +316 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/co-marketing.md +305 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/community-marketing.md +169 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling/references/tool-reference.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitor-profiling.md +442 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/content-architecture.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors/references/templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/competitors.md +281 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/content-strategy.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/directory-list.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/positioning-variations.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions/references/submission-tracker-template.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/directory-submissions.md +396 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools/references/tool-types.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/free-tools.md +196 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/image/references/ai-image-prompting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/image.md +352 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/launch.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/benchmarks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets/references/format-guide.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/lead-magnets.md +333 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/programmatic-seo.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/schema.md +16 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/ai-writing-detection.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit/references/international-seo.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/seo-audit.md +546 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/mermaid-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/navigation-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture/references/site-type-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/site-architecture.md +371 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platform-limits.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/platforms.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/post-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/reverse-engineering.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social/references/short-form-video.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/social.md +431 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/video/references/ai-video-prompting.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/acquire/video.md +353 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/sample-size-guide.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing/references/test-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/ab-testing.md +379 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/event-library.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/ga4-implementation.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics/references/gtm-implementation.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/analytics.md +323 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/copy-editing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/copywriting.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro/references/form.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/cro.md +211 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/emails.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/paywalls.md +255 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/popups.md +518 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/pricing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/deck-frameworks.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/demo-scripts.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/objection-library.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement/references/one-pager-templates.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/sales-enablement.md +371 -0
- package/.merlin-core/skills/domain/marketing-ops/references/activate/signup.md +406 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/co-marketing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/community-marketing.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/affiliate-programs.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals/references/program-examples.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/expand/referrals.md +278 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research/references/source-guides.md +425 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/customer-research.md +284 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas/references/ideas-by-category.md +216 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-ideas.md +188 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/marketing-psychology.md +532 -0
- package/.merlin-core/skills/domain/marketing-ops/references/foundation/product-marketing.md +276 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/cancel-flow-patterns.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention/references/dunning-playbook.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/churn-prevention.md +442 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding/references/experiments.md +19 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/onboarding.md +243 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-lifecycle.md +18 -0
- package/.merlin-core/skills/domain/marketing-ops/references/retain/revops-operations.md +18 -0
- package/.merlin-core/skills/domain/n8n-automation/SKILL.md +149 -0
- package/.merlin-core/skills/domain/n8n-automation/references/code-javascript.md +3744 -0
- package/.merlin-core/skills/domain/n8n-automation/references/code-python.md +3293 -0
- package/.merlin-core/skills/domain/n8n-automation/references/expression-syntax.md +1662 -0
- package/.merlin-core/skills/domain/n8n-automation/references/mcp-tools-expert.md +2111 -0
- package/.merlin-core/skills/domain/n8n-automation/references/node-configuration.md +2523 -0
- package/.merlin-core/skills/domain/n8n-automation/references/validation-expert.md +2491 -0
- package/.merlin-core/skills/domain/n8n-automation/references/workflow-patterns.md +4624 -0
- package/.merlin-core/skills/domain/ops-manual/SKILL.md +225 -0
- package/.merlin-core/skills/domain/ops-manual/references/elicitation-questions.md +141 -0
- package/.merlin-core/skills/domain/ops-manual/references/external-skills-registry.md +63 -0
- package/.merlin-core/skills/domain/ops-manual/references/operations-template.yaml +132 -0
- package/.merlin-core/skills/domain/remotion-best-practices/SKILL.md +99 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/3d.md +86 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/animations.md +27 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/assets.md +78 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/audio.md +172 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/calculate-metadata.md +131 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/can-decode.md +75 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/charts.md +68 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/compositions.md +154 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/display-captions.md +126 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/extract-frames.md +229 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/fonts.md +152 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/gifs.md +144 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/images.md +134 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/import-srt-captions.md +67 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/lottie.md +70 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/maps.md +414 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/measuring-text.md +143 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/parameters.md +109 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/sequencing.md +118 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/tailwind.md +11 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/text-animations.md +20 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/timing.md +179 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transcribe-captions.md +19 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transitions.md +137 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/trimming.md +51 -0
- package/.merlin-core/skills/domain/remotion-best-practices/rules/videos.md +171 -0
- package/.merlin-core/skills/domain/resend-email/SKILL.md +377 -0
- package/.merlin-core/skills/general/adversarial-review/SKILL.md +144 -0
- package/.merlin-core/skills/general/api-design/SKILL.md +513 -0
- package/.merlin-core/skills/general/apify-scrape/SKILL.md +137 -0
- package/.merlin-core/skills/general/apify-scrape/scripts/apify-scrape.sh +68 -0
- package/.merlin-core/skills/general/backup/SKILL.md +87 -0
- package/.merlin-core/skills/general/blkskrn/SKILL.md +392 -0
- package/.merlin-core/skills/general/blkskrn/references/animation-patterns.md +521 -0
- package/.merlin-core/skills/general/blkskrn/references/design-system.md +637 -0
- package/.merlin-core/skills/general/blkskrn/references/html-templates.md +440 -0
- package/.merlin-core/skills/general/blkskrn/references/presenter-template.md +45 -0
- package/.merlin-core/skills/general/blkskrn/references/slide-types.md +424 -0
- package/.merlin-core/skills/general/blkskrn/scripts/canvas-manager.js +502 -0
- package/.merlin-core/skills/general/blkskrn/scripts/presenter.js +90 -0
- package/.merlin-core/skills/general/blkskrn/templates/presenter.html +273 -0
- package/.merlin-core/skills/general/blkskrn/templates/slide-base.html +277 -0
- package/.merlin-core/skills/general/blkskrn/templates/viewer.html +165 -0
- package/.merlin-core/skills/general/browser-takeover/SKILL.md +53 -0
- package/.merlin-core/skills/general/claude-api/SKILL.md +90 -0
- package/.merlin-core/skills/general/code-javascript/SKILL.md +268 -0
- package/.merlin-core/skills/general/code-python/SKILL.md +424 -0
- package/.merlin-core/skills/general/code-style/SKILL.md +97 -0
- package/.merlin-core/skills/general/code-typescript/SKILL.md +361 -0
- package/.merlin-core/skills/general/cold-email/SKILL.md +164 -0
- package/.merlin-core/skills/general/cold-email/references/benchmarks.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/follow-up-sequences.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/frameworks.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/personalization.md +18 -0
- package/.merlin-core/skills/general/cold-email/references/subject-lines.md +18 -0
- package/.merlin-core/skills/general/container-security/SKILL.md +462 -0
- package/.merlin-core/skills/general/context-management/SKILL.md +79 -0
- package/.merlin-core/skills/general/copy-editing/SKILL.md +501 -0
- package/.merlin-core/skills/general/copy-editing/references/checklist.md +18 -0
- package/.merlin-core/skills/general/copy-editing/references/content-refresh.md +18 -0
- package/.merlin-core/skills/general/copy-editing/references/plain-english-alternatives.md +18 -0
- package/.merlin-core/skills/general/copywriting/SKILL.md +294 -0
- package/.merlin-core/skills/general/copywriting/references/copy-frameworks.md +392 -0
- package/.merlin-core/skills/general/copywriting/references/natural-transitions.md +276 -0
- package/.merlin-core/skills/general/database/SKILL.md +561 -0
- package/.merlin-core/skills/general/database/references/postgres-concurrency.md +182 -0
- package/.merlin-core/skills/general/database/references/postgres-connections.md +97 -0
- package/.merlin-core/skills/general/database/references/postgres-data-patterns.md +159 -0
- package/.merlin-core/skills/general/database/references/postgres-monitoring.md +136 -0
- package/.merlin-core/skills/general/database/references/postgres-rls.md +140 -0
- package/.merlin-core/skills/general/database-provision/SKILL.md +56 -0
- package/.merlin-core/skills/general/deploy/SKILL.md +65 -0
- package/.merlin-core/skills/general/design-inspiration/SKILL.md +146 -0
- package/.merlin-core/skills/general/design-palette/SKILL.md +99 -0
- package/.merlin-core/skills/general/design-palette/references/full-palettes.md +144 -0
- package/.merlin-core/skills/general/design-system/SKILL.md +94 -0
- package/.merlin-core/skills/general/design-typography/SKILL.md +115 -0
- package/.merlin-core/skills/general/design-typography/references/full-pairings.md +144 -0
- package/.merlin-core/skills/general/design-ux-patterns/SKILL.md +155 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/charts-data-guidelines.md +197 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/landing-patterns.md +199 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/professional-ui-checklist.md +56 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/style-catalog.md +89 -0
- package/.merlin-core/skills/general/design-ux-patterns/references/ux-guidelines.md +837 -0
- package/.merlin-core/skills/general/discover-cloud/SKILL.md +108 -0
- package/.merlin-core/skills/general/doc-sync/SKILL.md +52 -0
- package/.merlin-core/skills/general/document-sharding/SKILL.md +53 -0
- package/.merlin-core/skills/general/docx/SKILL.md +418 -0
- package/.merlin-core/skills/general/docx/references/windows-setup.md +27 -0
- package/.merlin-core/skills/general/docx/scripts/__init__.py +1 -0
- package/.merlin-core/skills/general/docx/scripts/accept_changes.py +135 -0
- package/.merlin-core/skills/general/docx/scripts/comment.py +318 -0
- package/.merlin-core/skills/general/docx/scripts/office/__init__.py +0 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/__init__.py +0 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/.merlin-core/skills/general/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/.merlin-core/skills/general/docx/scripts/office/pack.py +159 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.merlin-core/skills/general/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.merlin-core/skills/general/docx/scripts/office/soffice.py +183 -0
- package/.merlin-core/skills/general/docx/scripts/office/unpack.py +132 -0
- package/.merlin-core/skills/general/docx/scripts/office/validate.py +111 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/__init__.py +15 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/base.py +847 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/docx.py +446 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/pptx.py +275 -0
- package/.merlin-core/skills/general/docx/scripts/office/validators/redlining.py +247 -0
- package/.merlin-core/skills/general/docx/scripts/templates/comments.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsExtended.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/commentsIds.xml +3 -0
- package/.merlin-core/skills/general/docx/scripts/templates/people.xml +3 -0
- package/.merlin-core/skills/general/elicitation/SKILL.md +188 -0
- package/.merlin-core/skills/general/engineering-audit/SKILL.md +122 -0
- package/.merlin-core/skills/general/find-and-edit/SKILL.md +102 -0
- package/.merlin-core/skills/general/first-party-docs/SKILL.md +51 -0
- package/.merlin-core/skills/general/frontend-design/SKILL.md +204 -0
- package/.merlin-core/skills/general/guardrails/SKILL.md +144 -0
- package/.merlin-core/skills/general/image-gen/SKILL.md +49 -0
- package/.merlin-core/skills/general/learning-capture/SKILL.md +192 -0
- package/.merlin-core/skills/general/lgpd-compliance-audit/SKILL.md +448 -0
- package/.merlin-core/skills/general/load-testing/SKILL.md +114 -0
- package/.merlin-core/skills/general/load-testing/docker/Dockerfile.dashboard +21 -0
- package/.merlin-core/skills/general/load-testing/docker/docker-compose.locust.yml +39 -0
- package/.merlin-core/skills/general/load-testing/requirements.txt +1 -0
- package/.merlin-core/skills/general/load-testing/scripts/compare_baseline.py +172 -0
- package/.merlin-core/skills/general/load-testing/scripts/run_local.py +245 -0
- package/.merlin-core/skills/general/load-testing/templates/load_shape_stepped.py +35 -0
- package/.merlin-core/skills/general/load-testing/templates/locustfile_dashboard.py +47 -0
- package/.merlin-core/skills/general/load-testing/templates/threshold_hook.py +36 -0
- package/.merlin-core/skills/general/mage-beauty/SKILL.md +89 -0
- package/.merlin-core/skills/general/mage-beauty/references/anti-patterns.md +148 -0
- package/.merlin-core/skills/general/mage-beauty/references/color-and-contrast.md +87 -0
- package/.merlin-core/skills/general/mage-beauty/references/interaction-design.md +99 -0
- package/.merlin-core/skills/general/mage-beauty/references/motion-design.md +90 -0
- package/.merlin-core/skills/general/mage-beauty/references/remotion-bridge.md +187 -0
- package/.merlin-core/skills/general/mage-beauty/references/responsive-and-multi-format.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/spatial-design.md +88 -0
- package/.merlin-core/skills/general/mage-beauty/references/typography.md +60 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-adapt.md +102 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-animate.md +97 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-audit.md +99 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-bolder.md +94 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-cinematic.md +128 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-clarify.md +107 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-colorize.md +106 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-critique.md +88 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-delight.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-distill.md +97 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-harden.md +79 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-layout.md +104 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-onboard.md +98 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-optimize.md +124 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-overdrive.md +105 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-polish.md +91 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-quieter.md +95 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-rebrand.md +127 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-shape.md +160 -0
- package/.merlin-core/skills/general/mage-beauty/references/verb-typeset.md +109 -0
- package/.merlin-core/skills/general/mage-beauty/references/voice-and-microcopy.md +137 -0
- package/.merlin-core/skills/general/mcp-builder/SKILL.md +92 -0
- package/.merlin-core/skills/general/network-debug/SKILL.md +51 -0
- package/.merlin-core/skills/general/next-best-practices/SKILL.md +177 -0
- package/.merlin-core/skills/general/next-best-practices/references/async-patterns.md +87 -0
- package/.merlin-core/skills/general/next-best-practices/references/bundling.md +182 -0
- package/.merlin-core/skills/general/next-best-practices/references/data-patterns.md +306 -0
- package/.merlin-core/skills/general/next-best-practices/references/debug-tricks.md +125 -0
- package/.merlin-core/skills/general/next-best-practices/references/directives.md +74 -0
- package/.merlin-core/skills/general/next-best-practices/references/error-handling.md +232 -0
- package/.merlin-core/skills/general/next-best-practices/references/file-conventions.md +141 -0
- package/.merlin-core/skills/general/next-best-practices/references/font.md +257 -0
- package/.merlin-core/skills/general/next-best-practices/references/functions.md +108 -0
- package/.merlin-core/skills/general/next-best-practices/references/hydration-error.md +88 -0
- package/.merlin-core/skills/general/next-best-practices/references/image.md +179 -0
- package/.merlin-core/skills/general/next-best-practices/references/metadata.md +296 -0
- package/.merlin-core/skills/general/next-best-practices/references/parallel-routes.md +298 -0
- package/.merlin-core/skills/general/next-best-practices/references/route-handlers.md +146 -0
- package/.merlin-core/skills/general/next-best-practices/references/rsc-boundaries.md +164 -0
- package/.merlin-core/skills/general/next-best-practices/references/runtime-selection.md +40 -0
- package/.merlin-core/skills/general/next-best-practices/references/scripts.md +141 -0
- package/.merlin-core/skills/general/next-best-practices/references/self-hosting.md +384 -0
- package/.merlin-core/skills/general/next-best-practices/references/suspense-boundaries.md +67 -0
- package/.merlin-core/skills/general/next-steps/SKILL.md +43 -0
- package/.merlin-core/skills/general/party-mode/SKILL.md +57 -0
- package/.merlin-core/skills/general/pdf/SKILL.md +298 -0
- package/.merlin-core/skills/general/pdf/references/forms.md +312 -0
- package/.merlin-core/skills/general/pdf/references/reference.md +640 -0
- package/.merlin-core/skills/general/pdf/references/windows-setup.md +40 -0
- package/.merlin-core/skills/general/pdf/scripts/check_bounding_boxes.py +65 -0
- package/.merlin-core/skills/general/pdf/scripts/check_fillable_fields.py +11 -0
- package/.merlin-core/skills/general/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/.merlin-core/skills/general/pdf/scripts/create_validation_image.py +37 -0
- package/.merlin-core/skills/general/pdf/scripts/extract_form_field_info.py +122 -0
- package/.merlin-core/skills/general/pdf/scripts/extract_form_structure.py +115 -0
- package/.merlin-core/skills/general/pdf/scripts/fill_fillable_fields.py +98 -0
- package/.merlin-core/skills/general/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/.merlin-core/skills/general/pptx/SKILL.md +133 -0
- package/.merlin-core/skills/general/pptx/references/editing.md +213 -0
- package/.merlin-core/skills/general/pptx/references/pptxgenjs.md +581 -0
- package/.merlin-core/skills/general/pptx/references/windows-setup.md +27 -0
- package/.merlin-core/skills/general/pptx/scripts/__init__.py +0 -0
- package/.merlin-core/skills/general/pptx/scripts/add_slide.py +195 -0
- package/.merlin-core/skills/general/pptx/scripts/clean.py +286 -0
- package/.merlin-core/skills/general/pptx/scripts/thumbnail.py +289 -0
- package/.merlin-core/skills/general/property-testing/SKILL.md +214 -0
- package/.merlin-core/skills/general/purge-leaked-secret/SKILL.md +383 -0
- package/.merlin-core/skills/general/reflection/SKILL.md +100 -0
- package/.merlin-core/skills/general/secret-safe-commit/SKILL.md +246 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/.gitleaks.toml +91 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/.pre-commit-config.yaml +57 -0
- package/.merlin-core/skills/general/secret-safe-commit/templates/secret-scan.yml +48 -0
- package/.merlin-core/skills/general/semantic-search/SKILL.md +79 -0
- package/.merlin-core/skills/general/skill-creator/SKILL.md +342 -0
- package/.merlin-core/skills/general/skill-creator/agents/analyzer.md +283 -0
- package/.merlin-core/skills/general/skill-creator/agents/comparator.md +211 -0
- package/.merlin-core/skills/general/skill-creator/agents/grader.md +227 -0
- package/.merlin-core/skills/general/skill-creator/assets/eval_review.html +146 -0
- package/.merlin-core/skills/general/skill-creator/eval-viewer/generate_review.py +471 -0
- package/.merlin-core/skills/general/skill-creator/eval-viewer/viewer.html +1325 -0
- package/.merlin-core/skills/general/skill-creator/references/schemas.md +439 -0
- package/.merlin-core/skills/general/skill-creator/scripts/__init__.py +0 -0
- package/.merlin-core/skills/general/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/.merlin-core/skills/general/skill-creator/scripts/generate_report.py +326 -0
- package/.merlin-core/skills/general/skill-creator/scripts/improve_description.py +247 -0
- package/.merlin-core/skills/general/skill-creator/scripts/package_skill.py +136 -0
- package/.merlin-core/skills/general/skill-creator/scripts/quick_validate.py +103 -0
- package/.merlin-core/skills/general/skill-creator/scripts/run_eval.py +310 -0
- package/.merlin-core/skills/general/skill-creator/scripts/run_loop.py +328 -0
- package/.merlin-core/skills/general/skill-creator/scripts/utils.py +47 -0
- package/.merlin-core/skills/general/start-here/SKILL.md +63 -0
- package/.merlin-core/skills/general/start-here/recipes.json +758 -0
- package/.merlin-core/skills/general/start-here/recipes.schema.json +57 -0
- package/.merlin-core/skills/general/static-analysis/SKILL.md +151 -0
- package/.merlin-core/skills/general/tailwind-design-system/SKILL.md +201 -0
- package/.merlin-core/skills/general/tailwind-design-system/references/advanced-v4.md +152 -0
- package/.merlin-core/skills/general/tailwind-design-system/references/component-patterns.md +353 -0
- package/.merlin-core/skills/general/teach-method/SKILL.md +86 -0
- package/.merlin-core/skills/general/team-execution/SKILL.md +67 -0
- package/.merlin-core/skills/general/testing/SKILL.md +412 -0
- package/.merlin-core/skills/general/token-economy/SKILL.md +55 -0
- package/.merlin-core/skills/general/vps-security-hardening/SKILL.md +406 -0
- package/.merlin-core/skills/general/web-quality/SKILL.md +180 -0
- package/.merlin-core/skills/general/webapp-testing/SKILL.md +153 -0
- package/.merlin-core/skills/general/webapp-testing/scripts/screenshot_compare.py +72 -0
- package/.merlin-core/skills/general/webapp-testing/scripts/with_server.py +103 -0
- package/.merlin-core/skills/general/xlsx/SKILL.md +167 -0
- package/.merlin-core/skills/general/xlsx/references/nodejs-sheetjs-styled-reports.md +141 -0
- package/.merlin-core/skills/general/xlsx/references/windows-setup.md +17 -0
- package/.merlin-core/skills/general/xlsx/scripts/recalc.py +184 -0
- package/.merlin-core/skills/general/xlsx/scripts/styled-report.js +130 -0
- package/.merlin-core/skills/general/yolo-mode/SKILL.md +60 -0
- package/.merlin-core/skills/general/youtube-transcript/SKILL.md +177 -0
- package/.merlin-core/skills/general/youtube-transcript/scripts/fetch_transcript.py +188 -0
- package/.merlin-core/skills/general/youtube-transcript/scripts/gladia_transcribe.mjs +230 -0
- package/.merlin-core/tools/commands/activate.js +72 -0
- package/.merlin-core/tools/commands/archive-thoughts.js +181 -0
- package/.merlin-core/tools/commands/backup.js +156 -0
- package/.merlin-core/tools/commands/certify-process.js +196 -0
- package/.merlin-core/tools/commands/convert.js +87 -0
- package/.merlin-core/tools/commands/cron.js +147 -0
- package/.merlin-core/tools/commands/disable.js +73 -0
- package/.merlin-core/tools/commands/doc-sync.js +127 -0
- package/.merlin-core/tools/commands/eval-skill.js +193 -0
- package/.merlin-core/tools/commands/frontmatter.js +49 -0
- package/.merlin-core/tools/commands/heartbeat.js +43 -0
- package/.merlin-core/tools/commands/index-thoughts.js +35 -0
- package/.merlin-core/tools/commands/install-remote-approve.js +184 -0
- package/.merlin-core/tools/commands/install.js +81 -0
- package/.merlin-core/tools/commands/lib/__verify__/diff-reports.js +170 -0
- package/.merlin-core/tools/commands/lib/fs-safe.js +186 -0
- package/.merlin-core/tools/commands/lib/preflight.js +607 -0
- package/.merlin-core/tools/commands/lib/preserve.js +232 -0
- package/.merlin-core/tools/commands/lib/project-config.template.yaml +69 -0
- package/.merlin-core/tools/commands/lib/report.js +231 -0
- package/.merlin-core/tools/commands/lib/settings-merge.js +134 -0
- package/.merlin-core/tools/commands/license.js +52 -0
- package/.merlin-core/tools/commands/list.js +125 -0
- package/.merlin-core/tools/commands/migrate-alkimia.js +271 -0
- package/.merlin-core/tools/commands/modules.js +68 -0
- package/.merlin-core/tools/commands/provision.js +83 -0
- package/.merlin-core/tools/commands/prune-feedback.js +114 -0
- package/.merlin-core/tools/commands/run-process.js +28 -0
- package/.merlin-core/tools/commands/state.js +79 -0
- package/.merlin-core/tools/commands/sync-bridges.js +197 -0
- package/.merlin-core/tools/commands/upgrade.js +1135 -0
- package/.merlin-core/tools/commands/validate-recipes.js +218 -0
- package/.merlin-core/tools/commands/validate.js +159 -0
- package/.merlin-core/tools/commands/yolo.js +82 -0
- package/.merlin-core/tools/compose-rules.mjs +179 -0
- package/.merlin-core/tools/disable-module.mjs +150 -0
- package/.merlin-core/tools/lib/deployer.mjs +131 -0
- package/.merlin-core/tools/lib/modules-activation.mjs +225 -0
- package/.merlin-core/tools/merlin-tools.js +153 -0
- package/.merlin-core/tools/migrate-frontmatter-v3.js +192 -0
- package/.merlin-core/tools/modules-catalog.mjs +174 -0
- package/.merlin-core/tools/provision-module.mjs +191 -0
- package/.merlin-core/tools/verify-module.mjs +99 -0
- package/.merlin-core/tools/vps-security-audit.sh +234 -0
- package/INSTALL.md +312 -0
- package/LICENSE +118 -0
- package/PRIVACY-LICENSING.md +65 -0
- package/README.md +391 -0
- package/bin/README.md +15 -0
- package/bin/convert-to-merlin.sh +109 -0
- package/bin/fleet-patch-hooks.sh +144 -0
- package/bin/fleet-patch-v3-fixes.sh +127 -0
- package/bin/merlin-init.js +232 -0
- package/bin/merlin.js +321 -0
- package/package.json +127 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Launch Strategy Reference
|
|
2
|
+
|
|
3
|
+
> Reference for the digital-marketing skill. Product launches, feature announcements, and go-to-market execution.
|
|
4
|
+
> Source: coreyhaines31/marketingskills (MIT) — adapted for Merlin ecosystem.
|
|
5
|
+
|
|
6
|
+
## Core Philosophy
|
|
7
|
+
|
|
8
|
+
The best companies don't just launch once — they launch again and again. Every new feature, improvement, and update is an opportunity to capture attention. A strong launch isn't a single moment; it's phased momentum that compounds over time.
|
|
9
|
+
|
|
10
|
+
## The ORB Framework
|
|
11
|
+
|
|
12
|
+
Structure launch marketing across three channel types. Everything should ultimately lead back to owned channels.
|
|
13
|
+
|
|
14
|
+
### Owned Channels
|
|
15
|
+
|
|
16
|
+
You own the channel (though not the audience). Direct access without algorithms.
|
|
17
|
+
|
|
18
|
+
**Examples:** Email list, blog, podcast, branded community (Slack/Discord), website/product.
|
|
19
|
+
|
|
20
|
+
**Why they matter:** Get more effective over time. No algorithm changes. Direct relationship. Compound value.
|
|
21
|
+
|
|
22
|
+
**Start with 1-2 based on audience:**
|
|
23
|
+
|
|
24
|
+
- Industry lacks quality content → start a blog
|
|
25
|
+
- People want direct updates → focus on email
|
|
26
|
+
- Engagement matters → build a community
|
|
27
|
+
|
|
28
|
+
**Example — Superhuman:** Built demand through invite-only waitlist and one-on-one onboarding. Every new user got a 30-minute live demo. Created exclusivity, FOMO, and word-of-mouth — all through owned relationships.
|
|
29
|
+
|
|
30
|
+
### Rented Channels
|
|
31
|
+
|
|
32
|
+
Platforms providing visibility that you don't control. Algorithms shift, rules change.
|
|
33
|
+
|
|
34
|
+
**Examples:** Social media (Twitter/X, LinkedIn, Instagram), app stores, YouTube, Reddit.
|
|
35
|
+
|
|
36
|
+
**How to use:** Pick 1-2 where your audience is active. Use to drive traffic to owned channels. Don't rely on them as your only strategy.
|
|
37
|
+
|
|
38
|
+
**Example — Notion:** Hacked virality through Twitter, YouTube, and Reddit. Encouraged community template sharing. Funneled all visibility into owned assets — every viral post led to signups, then targeted email onboarding.
|
|
39
|
+
|
|
40
|
+
**Platform-specific:**
|
|
41
|
+
|
|
42
|
+
- Twitter/X: Threads → link to newsletter
|
|
43
|
+
- LinkedIn: High-value posts → gated content / email signup
|
|
44
|
+
- Marketplaces: Optimize listing → drive to site
|
|
45
|
+
|
|
46
|
+
### Borrowed Channels
|
|
47
|
+
|
|
48
|
+
Tap into someone else's audience to shortcut getting noticed.
|
|
49
|
+
|
|
50
|
+
**Examples:** Guest content, podcast interviews, collaborations, webinars, speaking, influencer partnerships.
|
|
51
|
+
|
|
52
|
+
**Example — TRMNL:** Sent a free e-ink display to YouTuber Snazzy Labs. He created an in-depth review: 500K+ views, $500K+ in sales. They also set up an affiliate program for ongoing promotion.
|
|
53
|
+
|
|
54
|
+
**Borrowed channels give instant credibility, but only work if you convert borrowed attention into owned relationships.**
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Five-Phase Launch Process
|
|
59
|
+
|
|
60
|
+
### Phase 1: Internal Launch
|
|
61
|
+
|
|
62
|
+
Gather feedback and iron out issues before going public.
|
|
63
|
+
|
|
64
|
+
- Recruit early users one-on-one to test for free
|
|
65
|
+
- Collect feedback on usability gaps and missing features
|
|
66
|
+
- Prototype doesn't need to be production-ready
|
|
67
|
+
|
|
68
|
+
**Goal:** Validate core functionality with friendly users.
|
|
69
|
+
|
|
70
|
+
### Phase 2: Alpha Launch
|
|
71
|
+
|
|
72
|
+
Put the product in front of external users in a controlled way.
|
|
73
|
+
|
|
74
|
+
- Landing page with early access signup
|
|
75
|
+
- Announce the product exists
|
|
76
|
+
- Invite users individually
|
|
77
|
+
- MVP should be working in production
|
|
78
|
+
|
|
79
|
+
**Goal:** First external validation and initial waitlist.
|
|
80
|
+
|
|
81
|
+
### Phase 3: Beta Launch
|
|
82
|
+
|
|
83
|
+
Scale early access while generating buzz.
|
|
84
|
+
|
|
85
|
+
- Work through early access list (some free, some paid)
|
|
86
|
+
- Start marketing with teasers about problems you solve
|
|
87
|
+
- Recruit friends, investors, influencers to test and share
|
|
88
|
+
- Add: coming soon page, "Beta" sticker in UI, email invites
|
|
89
|
+
|
|
90
|
+
**Goal:** Build buzz and refine with broader feedback.
|
|
91
|
+
|
|
92
|
+
### Phase 4: Early Access Launch
|
|
93
|
+
|
|
94
|
+
Shift from testing to controlled expansion.
|
|
95
|
+
|
|
96
|
+
- Leak details: screenshots, feature GIFs, demos
|
|
97
|
+
- Gather quantitative usage data + qualitative feedback
|
|
98
|
+
- Run product/market fit survey to refine messaging
|
|
99
|
+
- Throttle invites (5-10% batches) or invite all under "early access"
|
|
100
|
+
|
|
101
|
+
**Goal:** Validate at scale and prepare for full launch.
|
|
102
|
+
|
|
103
|
+
### Phase 5: Full Launch
|
|
104
|
+
|
|
105
|
+
Open the floodgates.
|
|
106
|
+
|
|
107
|
+
- Open self-serve signups, start charging
|
|
108
|
+
- Announce GA across all channels
|
|
109
|
+
- Launch touchpoints: emails, in-app popups, website banner, blog post, social, Product Hunt/BetaList/HN
|
|
110
|
+
- "New" sticker in navigation
|
|
111
|
+
|
|
112
|
+
**Goal:** Maximum visibility and conversion.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Product Hunt Strategy
|
|
117
|
+
|
|
118
|
+
### Pros & Cons
|
|
119
|
+
|
|
120
|
+
| Pros | Cons |
|
|
121
|
+
| ------------------------------------- | -------------------------- |
|
|
122
|
+
| Exposure to tech-savvy early adopters | Very competitive to rank |
|
|
123
|
+
| Credibility bump (especially if PotD) | Short-lived traffic spikes |
|
|
124
|
+
| PR coverage and backlinks | Requires significant prep |
|
|
125
|
+
|
|
126
|
+
### How to Launch Successfully
|
|
127
|
+
|
|
128
|
+
**Before launch day:**
|
|
129
|
+
|
|
130
|
+
1. Build relationships with supporters and communities
|
|
131
|
+
2. Optimize listing: compelling tagline, polished visuals, short demo video
|
|
132
|
+
3. Study successful launches
|
|
133
|
+
4. Engage in communities — provide value before pitching
|
|
134
|
+
5. Prepare team for all-day engagement
|
|
135
|
+
|
|
136
|
+
**On launch day:**
|
|
137
|
+
|
|
138
|
+
1. Treat as all-day event
|
|
139
|
+
2. Respond to every comment in real-time
|
|
140
|
+
3. Spark discussions, answer questions
|
|
141
|
+
4. Encourage existing audience to engage
|
|
142
|
+
5. Direct traffic to your site for signups
|
|
143
|
+
|
|
144
|
+
**After launch day:**
|
|
145
|
+
|
|
146
|
+
1. Follow up with everyone who engaged
|
|
147
|
+
2. Convert PH traffic to owned (email signups)
|
|
148
|
+
3. Continue momentum with post-launch content
|
|
149
|
+
|
|
150
|
+
**Case studies:**
|
|
151
|
+
|
|
152
|
+
- **SavvyCal:** Optimized LP + onboarding before launch. Built influencer relationships. Responded to every comment. Result: #2 Product of the Month.
|
|
153
|
+
- **Reform:** Studied successful launches. Crafted clear tagline + polished visuals. Engaged communities first. Result: #1 Product of the Day.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Post-Launch Playbook
|
|
158
|
+
|
|
159
|
+
### Immediate Actions
|
|
160
|
+
|
|
161
|
+
- **Onboarding emails:** Automated sequence introducing key features and use cases
|
|
162
|
+
- **Reinforce:** Include announcement in weekly/monthly roundup email
|
|
163
|
+
- **Differentiate:** Publish comparison pages highlighting your advantages
|
|
164
|
+
- **Update site:** Add dedicated sections about the new product/feature
|
|
165
|
+
- **Interactive demo:** Create no-code demo (Navattic, Storylane) for pre-signup exploration
|
|
166
|
+
|
|
167
|
+
### Update Prioritization Matrix
|
|
168
|
+
|
|
169
|
+
| Update Level | Marketing Level | Channels |
|
|
170
|
+
| ------------------------------------------- | --------------------- | ------------------------------------------ |
|
|
171
|
+
| **Major** (new features, product overhauls) | Full campaign | Blog + email + in-app + social |
|
|
172
|
+
| **Medium** (integrations, UI enhancements) | Targeted announcement | Email to relevant segments + in-app banner |
|
|
173
|
+
| **Minor** (bug fixes, small tweaks) | Changelog only | Release notes — signal active development |
|
|
174
|
+
|
|
175
|
+
**Rules:** Space out releases for sustained momentum. Reuse high-performing tactics. Even changelog updates build retention — customers feel confident you'll be around.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Launch Checklists
|
|
180
|
+
|
|
181
|
+
### Pre-Launch
|
|
182
|
+
|
|
183
|
+
- [ ] Landing page with clear value proposition
|
|
184
|
+
- [ ] Email capture / waitlist signup
|
|
185
|
+
- [ ] Early access list built
|
|
186
|
+
- [ ] Owned channels established (email, blog, community)
|
|
187
|
+
- [ ] Rented channel presence (social profiles optimized)
|
|
188
|
+
- [ ] Borrowed channel opportunities identified (podcasts, influencers)
|
|
189
|
+
- [ ] Product Hunt listing prepared (if using)
|
|
190
|
+
- [ ] Launch assets created (screenshots, demo video, GIFs)
|
|
191
|
+
- [ ] Onboarding flow ready
|
|
192
|
+
- [ ] Analytics/tracking in place
|
|
193
|
+
|
|
194
|
+
### Launch Day
|
|
195
|
+
|
|
196
|
+
- [ ] Announcement email to list
|
|
197
|
+
- [ ] Blog post published
|
|
198
|
+
- [ ] Social posts scheduled and posted
|
|
199
|
+
- [ ] Product Hunt listing live (if using)
|
|
200
|
+
- [ ] In-app announcement for existing users
|
|
201
|
+
- [ ] Website banner active
|
|
202
|
+
- [ ] Team ready to engage and respond
|
|
203
|
+
- [ ] Monitor for issues and feedback
|
|
204
|
+
|
|
205
|
+
### Post-Launch
|
|
206
|
+
|
|
207
|
+
- [ ] Onboarding email sequence active
|
|
208
|
+
- [ ] Follow-up with engaged prospects
|
|
209
|
+
- [ ] Roundup email includes announcement
|
|
210
|
+
- [ ] Comparison pages published
|
|
211
|
+
- [ ] Interactive demo created
|
|
212
|
+
- [ ] Gather and act on feedback
|
|
213
|
+
- [ ] Plan next launch moment
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Pricing Strategy Reference
|
|
2
|
+
|
|
3
|
+
> Reference for the digital-marketing skill. Pricing decisions, packaging, and monetization.
|
|
4
|
+
> Source: coreyhaines31/marketingskills (MIT) — adapted for Merlin ecosystem.
|
|
5
|
+
|
|
6
|
+
## The Three Pricing Axes
|
|
7
|
+
|
|
8
|
+
**1. Packaging** — What's included at each tier? (features, limits, support)
|
|
9
|
+
**2. Pricing Metric** — What do you charge for? (per user, per usage, flat fee)
|
|
10
|
+
**3. Price Point** — How much do you charge? (the actual dollar amounts)
|
|
11
|
+
|
|
12
|
+
## Value-Based Pricing
|
|
13
|
+
|
|
14
|
+
Price based on value delivered, not cost to serve:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
Customer's perceived value ← ceiling
|
|
18
|
+
↕ YOUR PRICE HERE
|
|
19
|
+
Next best alternative ← floor (differentiation value)
|
|
20
|
+
↕
|
|
21
|
+
Your cost to serve ← baseline only, not the basis
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Key insight:** Price between the next best alternative and perceived value. The gap between your price and perceived value is the "consumer surplus" — the value customers feel they're getting for free.
|
|
25
|
+
|
|
26
|
+
## Value Metrics
|
|
27
|
+
|
|
28
|
+
The value metric is what you charge for — it should scale with value received.
|
|
29
|
+
|
|
30
|
+
| Metric | Best For | Example |
|
|
31
|
+
| ------------------ | ---------------------- | --------------- |
|
|
32
|
+
| Per user/seat | Collaboration tools | Slack, Notion |
|
|
33
|
+
| Per usage | Variable consumption | AWS, Twilio |
|
|
34
|
+
| Per feature | Modular products | HubSpot add-ons |
|
|
35
|
+
| Per contact/record | CRM, email tools | Mailchimp |
|
|
36
|
+
| Per transaction | Payments, marketplaces | Stripe |
|
|
37
|
+
| Flat fee | Simple products | Basecamp |
|
|
38
|
+
|
|
39
|
+
**Selection test:** "As a customer uses more of [metric], do they get more value?" If yes → good value metric. If no → price doesn't align with value.
|
|
40
|
+
|
|
41
|
+
**Good value metrics are:** Easy to understand, scale with growth, hard to game, predictable for buyers.
|
|
42
|
+
|
|
43
|
+
## Tier Structure
|
|
44
|
+
|
|
45
|
+
### Good-Better-Best Framework
|
|
46
|
+
|
|
47
|
+
| Tier | Purpose | Pricing Rule |
|
|
48
|
+
| ------------------------ | ------------------------------------------ | ------------------------------------ |
|
|
49
|
+
| **Good** (Entry) | Core features, limited usage, low friction | Low price, maximize conversion |
|
|
50
|
+
| **Better** (Recommended) | Full features, reasonable limits | Anchor price — best value perception |
|
|
51
|
+
| **Best** (Premium) | Everything + advanced features | 2-3x Better price, aspirational |
|
|
52
|
+
|
|
53
|
+
### Tier Differentiation Methods
|
|
54
|
+
|
|
55
|
+
- **Feature gating** — Basic vs advanced features per tier
|
|
56
|
+
- **Usage limits** — Same features, different volume caps
|
|
57
|
+
- **Support level** — Email → Priority → Dedicated
|
|
58
|
+
- **Access controls** — API, SSO, custom branding, admin features
|
|
59
|
+
|
|
60
|
+
### Freemium vs Free Trial
|
|
61
|
+
|
|
62
|
+
| | Freemium | Free Trial |
|
|
63
|
+
| -------------- | ------------------------------------------ | ------------------------------------------ |
|
|
64
|
+
| **Best for** | Network effects, viral products, large TAM | Complex products, high ACV, sales-assisted |
|
|
65
|
+
| **Conversion** | 2-5% to paid (lower but larger funnel) | 10-25% to paid (higher but smaller funnel) |
|
|
66
|
+
| **Risk** | Free users never convert, support costs | Trial expires before user sees value |
|
|
67
|
+
| **Examples** | Slack, Notion, Spotify | Salesforce, HubSpot, Monday |
|
|
68
|
+
|
|
69
|
+
**Decision:** If your product's value is obvious in minutes → freemium. If it takes setup/training → free trial with onboarding.
|
|
70
|
+
|
|
71
|
+
## Pricing Research
|
|
72
|
+
|
|
73
|
+
### Van Westendorp Method
|
|
74
|
+
|
|
75
|
+
Ask 4 questions to identify the acceptable price range:
|
|
76
|
+
|
|
77
|
+
1. "At what price would this be **too expensive** — you wouldn't consider it?"
|
|
78
|
+
2. "At what price would this be **too cheap** — you'd question its quality?"
|
|
79
|
+
3. "At what price would this be **getting expensive** — but you might still consider it?"
|
|
80
|
+
4. "At what price would this be a **great deal** — a real bargain?"
|
|
81
|
+
|
|
82
|
+
**Analysis:** Plot cumulative distributions. The intersections reveal:
|
|
83
|
+
|
|
84
|
+
- **Point of Marginal Cheapness** (too cheap × bargain) — floor
|
|
85
|
+
- **Point of Marginal Expensiveness** (too expensive × getting expensive) — ceiling
|
|
86
|
+
- **Optimal Price Point** (too cheap × too expensive) — sweet spot
|
|
87
|
+
- **Indifference Price Point** (bargain × getting expensive) — expected price
|
|
88
|
+
|
|
89
|
+
### MaxDiff Analysis
|
|
90
|
+
|
|
91
|
+
Identifies which features customers value most for tier packaging:
|
|
92
|
+
|
|
93
|
+
- Show sets of 4-5 features
|
|
94
|
+
- Ask: "Most important? Least important?"
|
|
95
|
+
- Results rank features by relative importance
|
|
96
|
+
- Use to decide what goes in which tier
|
|
97
|
+
|
|
98
|
+
## When to Raise Prices
|
|
99
|
+
|
|
100
|
+
### Signals It's Time
|
|
101
|
+
|
|
102
|
+
**Market:** Competitors raised prices. Prospects don't flinch. "It's so cheap!" feedback.
|
|
103
|
+
**Business:** Conversion >40%. Monthly churn <3%. Strong unit economics.
|
|
104
|
+
**Product:** Significant value added since last pricing. Product more mature.
|
|
105
|
+
|
|
106
|
+
### Price Increase Strategies
|
|
107
|
+
|
|
108
|
+
| Strategy | How | When |
|
|
109
|
+
| -------------------- | -------------------------------- | -------------------------------------- |
|
|
110
|
+
| **Grandfather** | New price for new customers only | Loyal base, low churn tolerance |
|
|
111
|
+
| **Delayed increase** | Announce 3-6 months ahead | Large customer base, contractual |
|
|
112
|
+
| **Tied to value** | Raise price but add features | Product improving, narrative available |
|
|
113
|
+
| **Plan restructure** | Change plans entirely | Repositioning, moving upmarket |
|
|
114
|
+
|
|
115
|
+
## Pricing Page Best Practices
|
|
116
|
+
|
|
117
|
+
### Above the Fold
|
|
118
|
+
|
|
119
|
+
- Clear tier comparison table
|
|
120
|
+
- Recommended tier visually highlighted
|
|
121
|
+
- Monthly/annual toggle (annual = 17-20% discount)
|
|
122
|
+
- Primary CTA for each tier
|
|
123
|
+
|
|
124
|
+
### Essential Elements
|
|
125
|
+
|
|
126
|
+
- Feature comparison table (checkmarks, not paragraphs)
|
|
127
|
+
- Who each tier is for (persona label)
|
|
128
|
+
- FAQ section addressing common objections
|
|
129
|
+
- Annual discount callout
|
|
130
|
+
- Money-back guarantee
|
|
131
|
+
- Customer logos / trust signals
|
|
132
|
+
|
|
133
|
+
### Pricing Psychology
|
|
134
|
+
|
|
135
|
+
| Tactic | How | When |
|
|
136
|
+
| ------------------ | --------------------------------------- | ----------------------------- |
|
|
137
|
+
| **Anchoring** | Show highest-priced option first | Always — sets reference point |
|
|
138
|
+
| **Decoy effect** | Make middle tier the obvious best value | 3-tier structure |
|
|
139
|
+
| **Charm pricing** | $49 instead of $50 | Value-focused positioning |
|
|
140
|
+
| **Round pricing** | $50 instead of $49 | Premium positioning |
|
|
141
|
+
| **Annual savings** | "Save 20%" on annual | Reduce churn, increase LTV |
|
|
142
|
+
|
|
143
|
+
## Pricing Checklist
|
|
144
|
+
|
|
145
|
+
### Before Setting Prices
|
|
146
|
+
|
|
147
|
+
- [ ] Defined target customer personas
|
|
148
|
+
- [ ] Researched competitor pricing (3-5 competitors)
|
|
149
|
+
- [ ] Identified your value metric
|
|
150
|
+
- [ ] Tested willingness to pay (Van Westendorp or interviews)
|
|
151
|
+
- [ ] Defined tier structure and differentiation
|
|
152
|
+
- [ ] Calculated unit economics (CAC, LTV, margins)
|
|
153
|
+
|
|
154
|
+
### After Launch
|
|
155
|
+
|
|
156
|
+
- [ ] Monitor conversion rate by tier
|
|
157
|
+
- [ ] Track upgrade/downgrade patterns
|
|
158
|
+
- [ ] Collect pricing feedback from sales/support
|
|
159
|
+
- [ ] Review quarterly — adjust based on data
|
|
160
|
+
- [ ] A/B test pricing page elements
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Programmatic SEO Reference
|
|
2
|
+
|
|
3
|
+
> Reference for the digital-marketing skill. Building SEO-optimized pages at scale using templates and data.
|
|
4
|
+
> Source: coreyhaines31/marketingskills (MIT) — adapted for Merlin ecosystem.
|
|
5
|
+
|
|
6
|
+
## Core Principles
|
|
7
|
+
|
|
8
|
+
### 1. Unique Value Per Page
|
|
9
|
+
|
|
10
|
+
Every page must provide value specific to that page — not just swapped variables in a template. Maximize unique content. The more differentiated each page, the stronger it ranks.
|
|
11
|
+
|
|
12
|
+
### 2. Data Defensibility Hierarchy
|
|
13
|
+
|
|
14
|
+
| Rank | Data Source | Strength |
|
|
15
|
+
| ---- | --------------------------------- | ------------------------------- |
|
|
16
|
+
| 1 | Proprietary (you created it) | Strongest — can't be replicated |
|
|
17
|
+
| 2 | Product-derived (from your users) | Strong — unique to your product |
|
|
18
|
+
| 3 | User-generated (your community) | Good — builds moat over time |
|
|
19
|
+
| 4 | Licensed (exclusive access) | Moderate — can expire |
|
|
20
|
+
| 5 | Public (anyone can use) | Weakest — no defensibility |
|
|
21
|
+
|
|
22
|
+
### 3. URL Structure
|
|
23
|
+
|
|
24
|
+
**Use subfolders, not subdomains** — subfolders consolidate domain authority:
|
|
25
|
+
|
|
26
|
+
- Good: `yoursite.com/templates/resume/`
|
|
27
|
+
- Bad: `templates.yoursite.com/resume/`
|
|
28
|
+
|
|
29
|
+
### 4. Quality Over Quantity
|
|
30
|
+
|
|
31
|
+
Better to have 100 great pages than 10,000 thin ones. Every page must match genuine search intent.
|
|
32
|
+
|
|
33
|
+
### 5. Avoid Google Penalties
|
|
34
|
+
|
|
35
|
+
No doorway pages, no keyword stuffing, no duplicate content, genuine utility for users.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## The 12 Playbooks
|
|
40
|
+
|
|
41
|
+
| # | Playbook | Pattern | Example |
|
|
42
|
+
| --- | ---------------- | ----------------------------- | ----------------------------------------------------- |
|
|
43
|
+
| 1 | **Templates** | "[Type] template" | "resume template," "invoice template" |
|
|
44
|
+
| 2 | **Curation** | "best [category]" | "best website builders," "best CRM tools" |
|
|
45
|
+
| 3 | **Conversions** | "[X] to [Y]" | "$10 USD to GBP," "PNG to SVG" |
|
|
46
|
+
| 4 | **Comparisons** | "[X] vs [Y]" | "Webflow vs WordPress," "Notion vs Confluence" |
|
|
47
|
+
| 5 | **Examples** | "[type] examples" | "landing page examples," "email examples" |
|
|
48
|
+
| 6 | **Locations** | "[service] in [location]" | "dentists in Austin," "coworking in São Paulo" |
|
|
49
|
+
| 7 | **Personas** | "[product] for [audience]" | "CRM for real estate," "accounting for freelancers" |
|
|
50
|
+
| 8 | **Integrations** | "[A] + [B] integration" | "Slack Asana integration," "Stripe Zapier" |
|
|
51
|
+
| 9 | **Glossary** | "what is [term]" | "what is pSEO," "what is CLV" |
|
|
52
|
+
| 10 | **Translations** | Content in multiple languages | Localized content with hreflang |
|
|
53
|
+
| 11 | **Directory** | "[category] tools" | "AI copywriting tools," "project management software" |
|
|
54
|
+
| 12 | **Profiles** | "[entity name]" | "Stripe CEO," "[Company] revenue" |
|
|
55
|
+
|
|
56
|
+
### Choosing Your Playbook
|
|
57
|
+
|
|
58
|
+
| If You Have... | Consider... |
|
|
59
|
+
| ------------------------- | ------------------- |
|
|
60
|
+
| Proprietary data | Directory, Profiles |
|
|
61
|
+
| Product with integrations | Integrations |
|
|
62
|
+
| Design/creative product | Templates, Examples |
|
|
63
|
+
| Multi-segment audience | Personas |
|
|
64
|
+
| Local presence | Locations |
|
|
65
|
+
| Tool or utility product | Conversions |
|
|
66
|
+
| Content/expertise | Glossary, Curation |
|
|
67
|
+
| Competitor landscape | Comparisons |
|
|
68
|
+
|
|
69
|
+
You can layer multiple playbooks: "Best coworking spaces in San Diego" (Curation + Locations).
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Playbook Details
|
|
74
|
+
|
|
75
|
+
### Templates
|
|
76
|
+
|
|
77
|
+
Pattern: "[Type] template" — high intent, shareable. Each template must be usable standalone. Provide multiple variations. Show how your product enhances the template. URL: `/templates/[type]/`
|
|
78
|
+
|
|
79
|
+
### Curation
|
|
80
|
+
|
|
81
|
+
Pattern: "Best [category]" — genuine evaluation criteria, not affiliate-driven listicles. Regular updates (freshness signal). Include your product honestly (only if it fits). URL: `/best/[category]/`
|
|
82
|
+
|
|
83
|
+
### Conversions
|
|
84
|
+
|
|
85
|
+
Pattern: "[X] to [Y]" — real-time data, instant results. Add related conversions (USD→EUR also shows USD→GBP). Mobile-friendly UX is critical. URL: `/convert/[x]-to-[y]/`
|
|
86
|
+
|
|
87
|
+
### Comparisons
|
|
88
|
+
|
|
89
|
+
Pattern: "[X] vs [Y]" — honest analysis, feature comparison data, recommendations by use case. Don't just shill your product. URL: `/compare/[x]-vs-[y]/`
|
|
90
|
+
|
|
91
|
+
### Examples
|
|
92
|
+
|
|
93
|
+
Pattern: "[Type] examples" — real screenshots/examples with analysis of why they work. Gallery format with filtering. URL: `/examples/[type]/`
|
|
94
|
+
|
|
95
|
+
### Locations
|
|
96
|
+
|
|
97
|
+
Pattern: "[Service] in [location]" — MUST have actual local data (not city-name swapped boilerplate). Location-specific pricing, regulations, availability. Map integration when relevant. URL: `/[service]/[location]/`
|
|
98
|
+
|
|
99
|
+
### Personas
|
|
100
|
+
|
|
101
|
+
Pattern: "[Product] for [audience]" — persona-specific testimonials, use cases, and feature highlighting. Different from Avatar Study (which builds copy profiles) — this creates SEO landing pages. URL: `/for/[audience]/`
|
|
102
|
+
|
|
103
|
+
### Integrations
|
|
104
|
+
|
|
105
|
+
Pattern: "[Your product] + [other product]" — setup instructions, use cases for the combination, mutual benefits. URL: `/integrations/[product]/`
|
|
106
|
+
|
|
107
|
+
### Glossary
|
|
108
|
+
|
|
109
|
+
Pattern: "What is [term]" — more depth than a dictionary. Related terms linked. Strong internal linking opportunity. URL: `/glossary/[term]/`
|
|
110
|
+
|
|
111
|
+
### Translations
|
|
112
|
+
|
|
113
|
+
Localized content strategy — not machine translation, but culturally adapted content. Implement hreflang tags. Have native speakers review. URL: `/[lang]/[content]/`
|
|
114
|
+
|
|
115
|
+
### Directory
|
|
116
|
+
|
|
117
|
+
Pattern: "[Category] tools/software" — comprehensive coverage, filtering/sorting, detailed listings with ratings and reviews. URL: `/directory/[category]/`
|
|
118
|
+
|
|
119
|
+
### Profiles
|
|
120
|
+
|
|
121
|
+
Pattern: "[Entity name]" — sourced information, unique insights. Not a Wikipedia rehash — add your own analysis or data. URL: `/profiles/[entity]/`
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Implementation Framework
|
|
126
|
+
|
|
127
|
+
### Step 1: Keyword Pattern Research
|
|
128
|
+
|
|
129
|
+
1. Identify the repeating structure and variables
|
|
130
|
+
2. Count unique combinations possible
|
|
131
|
+
3. Validate demand: aggregate search volume, volume distribution (head vs long tail), trend direction
|
|
132
|
+
4. Assess competition: who ranks now, what do their pages look like
|
|
133
|
+
|
|
134
|
+
### Step 2: Data Requirements
|
|
135
|
+
|
|
136
|
+
1. What data populates each page?
|
|
137
|
+
2. Source: first-party, scraped, licensed, public?
|
|
138
|
+
3. How is it updated? Manual, API, automated?
|
|
139
|
+
4. Data quality: is it accurate, complete, fresh?
|
|
140
|
+
|
|
141
|
+
### Step 3: Template Design
|
|
142
|
+
|
|
143
|
+
**Page structure:**
|
|
144
|
+
|
|
145
|
+
- Header with target keyword
|
|
146
|
+
- Unique intro (not just variables swapped)
|
|
147
|
+
- Data-driven sections
|
|
148
|
+
- Related pages / internal links
|
|
149
|
+
- CTAs appropriate to search intent
|
|
150
|
+
|
|
151
|
+
**Ensuring uniqueness:**
|
|
152
|
+
|
|
153
|
+
- Each page needs content specific to that variation
|
|
154
|
+
- Conditional content based on data attributes
|
|
155
|
+
- Original insights/analysis per page
|
|
156
|
+
- User-generated content (reviews, comments)
|
|
157
|
+
|
|
158
|
+
### Step 4: Internal Linking Architecture
|
|
159
|
+
|
|
160
|
+
**Hub-and-spoke model:**
|
|
161
|
+
|
|
162
|
+
- Hub: main category page (e.g., `/templates/`)
|
|
163
|
+
- Spokes: individual programmatic pages (e.g., `/templates/resume/`)
|
|
164
|
+
- Cross-links between related spokes
|
|
165
|
+
|
|
166
|
+
**Avoid orphan pages:**
|
|
167
|
+
|
|
168
|
+
- Every page reachable from main site navigation
|
|
169
|
+
- XML sitemap for all programmatic pages
|
|
170
|
+
- Breadcrumbs with structured data (Schema.org)
|
|
171
|
+
|
|
172
|
+
### Step 5: Indexation Strategy
|
|
173
|
+
|
|
174
|
+
- Prioritize high-volume patterns for indexation
|
|
175
|
+
- Noindex very thin variations (low volume, low uniqueness)
|
|
176
|
+
- Manage crawl budget: don't let Googlebot waste time on low-value pages
|
|
177
|
+
- Separate sitemaps by page type for monitoring
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Quality Checks
|
|
182
|
+
|
|
183
|
+
### Pre-Launch Checklist
|
|
184
|
+
|
|
185
|
+
**Content quality:**
|
|
186
|
+
|
|
187
|
+
- [ ] Each page provides unique value beyond template variables
|
|
188
|
+
- [ ] Answers the specific search intent for that keyword
|
|
189
|
+
- [ ] Readable and useful to a human visitor
|
|
190
|
+
|
|
191
|
+
**Technical SEO:**
|
|
192
|
+
|
|
193
|
+
- [ ] Unique titles and meta descriptions per page
|
|
194
|
+
- [ ] Proper heading structure (H1 → H2 → H3)
|
|
195
|
+
- [ ] Schema markup implemented (FAQ, Product, LocalBusiness as applicable)
|
|
196
|
+
- [ ] Page speed acceptable (<3s LCP)
|
|
197
|
+
|
|
198
|
+
**Internal linking:**
|
|
199
|
+
|
|
200
|
+
- [ ] Connected to site architecture (not orphaned)
|
|
201
|
+
- [ ] Related pages linked bidirectionally
|
|
202
|
+
- [ ] Breadcrumbs present
|
|
203
|
+
|
|
204
|
+
**Indexation:**
|
|
205
|
+
|
|
206
|
+
- [ ] In XML sitemap
|
|
207
|
+
- [ ] Crawlable (not blocked by robots.txt)
|
|
208
|
+
- [ ] No conflicting noindex/canonical signals
|
|
209
|
+
|
|
210
|
+
### Post-Launch Monitoring
|
|
211
|
+
|
|
212
|
+
Track weekly:
|
|
213
|
+
|
|
214
|
+
- **Indexation rate** — what % of pages are indexed?
|
|
215
|
+
- **Rankings** — which pages are ranking, for which queries?
|
|
216
|
+
- **Traffic** — organic sessions per page type
|
|
217
|
+
- **Engagement** — bounce rate, time on page, pages per session
|
|
218
|
+
- **Conversion** — goal completions from programmatic pages
|
|
219
|
+
|
|
220
|
+
Watch for:
|
|
221
|
+
|
|
222
|
+
- Thin content warnings in Google Search Console
|
|
223
|
+
- Sudden ranking drops (possible algorithmic action)
|
|
224
|
+
- Manual actions (Google penalty)
|
|
225
|
+
- Crawl errors (404s, 5xx, redirect loops)
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Common Mistakes
|
|
230
|
+
|
|
231
|
+
1. **Thin content** — Just swapping city names or product names in identical content. Each page needs genuine unique value.
|
|
232
|
+
2. **Keyword cannibalization** — Multiple pages targeting the same keyword. Map one primary keyword per page.
|
|
233
|
+
3. **Over-generation** — Building 10,000 pages when 500 quality pages would perform better. Start small, prove the model, then scale.
|
|
234
|
+
4. **Poor data quality** — Inaccurate, outdated, or incomplete data destroys trust and rankings.
|
|
235
|
+
5. **Ignoring UX** — Templated pages that look and feel robotic. Add design variety, imagery, and editorial polish.
|
|
236
|
+
6. **No internal linking** — Orphan pages that Googlebot can't discover. Build hub-spoke architecture.
|
|
237
|
+
7. **Ignoring crawl budget** — Letting Google waste crawl budget on low-value variations. Use noindex strategically.
|