10x-marketing-manager
v4.1.0
Published
Claude Code plugin for the Marketing Manager platform — 25+ skills, 7 agents, 37 Link Platform MCP tools for building and deploying marketing assets on 10x.in
Maintainers
Readme
10x Marketing Manager
Claude Code plugin that turns any AI coding agent into a full marketing team. 25+ skills, 7 AI agents, 6 slash commands, and 37 MCP tools — all wired to the Marketing Manager server and 10x.in link platform.
Quick Start
# Install globally
npm i -g 10x-marketing-manager
# Scaffold into your project
cd your-project
10x-mm init
# Open Claude Code and configure
claude
/setup
# Verify connection
/health
# Start building
"Build me a landing page for my SaaS product"Requirements
- Node.js 18+
- Claude Code (or compatible AI coding agent)
- 10x.in account — Sign up at 10x.in and manage your profile at profile.10x.in
Access Tiers
| Tier | What You Need | What Works |
|------|---------------|------------|
| Full | Valid PAT from 10x.in | Everything — all 37 MCP tools + all local skills |
| Local | Your own AI key (BYOK) | Local skills only — content generation, design, build, local audits |
| None | Nothing configured | Nothing. Run /setup first |
- PAT (Personal Access Token): Get this from profile.10x.in
- BYOK (Bring Your Own Key): Anthropic, OpenRouter, or OpenAI API key for local-only mode
Check your current tier anytime:
10x-mm authWhat You Get
37 MCP Tools (server-side, requires valid PAT)
| Category | Tools |
|----------|-------|
| Agent (9) | agent_create_proposal, agent_generate_strategy, agent_list_proposals, agent_approve_proposal, agent_reject_proposal, agent_start_run, agent_get_run_status, agent_rollback_run, agent_discover |
| Analytics (3) | analytics_get, analytics_campaign_health, analytics_export |
| Forms (2) | forms_feedback_record, forms_schema_get |
| Links (5) | links_upsert, links_list, links_form_submit, links_health_check, links_route_preview |
| Routing (4) | routing_list_context_origins, routing_update_context_origins, routing_prefetch_decisions, routing_read_chain_session |
| System (3) | system_health, system_audit_events, system_usage_meters |
| Tracking (7) | tracking_list_templates, tracking_upsert_template, tracking_list_personalization_rules, tracking_upsert_personalization_rule, tracking_resolve_chain, tracking_resolve_context, tracking_write_signal |
| Webhooks (4) | webhooks_create, webhooks_list, webhooks_delete, webhooks_test |
25+ Skills
Content Generation
landing-page— Full landing page: discovery, copy, design, build, QA, launchlp-copy— Headlines, CTA, body copy optimizationlp-design— Visual design system, colors, typography, layoutlp-content— Content strategy, testimonial frameworks, social prooflp-seo— SEO metadata, schema markup, Open Graphlp-speed— Core Web Vitals, performance optimization
Analytics & Testing
lp-analytics— GA4, Meta Pixel, event tracking, UTM strategylp-abtest— A/B test design, variants, hypothesis trackinglp-optimize— CRO analysis, friction reduction, conversion improvementslp-funnel— Multi-step funnels, email sequences, upsell flowslp-audit— 7-point page audit (copy, design, SEO, a11y, perf, CRO, mobile)
Marketing Operations
lp-leads— Lead capture forms, popups, exit-intent, sticky barslp-inject— JavaScript injection (chat widgets, heatmaps, tracking pixels)lp-competitor— Competitor page teardown and counter-positioningmarketer-dashboard— Live metrics, strategies, links overviewmarketer-github— GitHub-based publishing workflowmarketer-sync— Sync live platform data locally
Build Blocks
build/create_landing_page— Scaffold a new landing pagebuild/add_form_block— Add lead capture formbuild/add_section_block— Add content sectionsbuild/add_tracking_events— Add analytics eventsbuild/create_funnel_spec— Define funnel structurebuild/scaffold_funnel_routes— Create funnel page routes
Audit Checks
audit/audit_build— Build validationaudit/audit_links— Link integrity checkaudit/audit_lint— Code lintingaudit/audit_typescript— TypeScript checkaudit/audit_env_dns— Env/DNS validationaudit/audit_identifier_lock— ID stability checkaudit/audit_runtime_smoke— Runtime smoke test
Release
release/create_strategy_branch— Create isolated strategy branchrelease/generate_preview— Generate preview URLrelease/open_pr_review— Open PR for reviewrelease/publish_release— Publish to liverelease/rollback_release— Rollback a release
7 AI Agents
| Agent | Role | |-------|------| | Agency Director | Orchestrates multi-agent campaigns | | Campaign Manager | Campaign lifecycle and scheduling | | Creative Director | Design, copy, and brand direction | | Growth Strategist | CRO, funnel optimization, analytics | | Technical Lead | Build, deploy, infrastructure | | Testing Agent | QA, audits, validation | | QA Director | Final approval and release sign-off |
6 Slash Commands
| Command | Purpose |
|---------|---------|
| /setup | Configure environment and credentials |
| /deploy | Deploy to your live {handle}.10x.in page |
| /test | Run server-side quality tests |
| /health | Check all service connections |
| /history | Browse past sessions and summaries |
| /feedback | Visual annotation mode for precise edits |
Deployment Modes
The 10x.in platform supports three ways to deploy content. Page hosting uses the direct API (not MCP).
| Mode | When to Use | How | Auth |
|------|-------------|-----|------|
| Site Deployment (inline) | Simple pages with inline CSS/JS | POST /v2/handles/{handle}/site-deployments with inlineHtml → returns 201 | JWT |
| Site Deployment (multi-file) | Pages with separate CSS + JS, build output | POST /v2/handles/{handle}/site-deployments with files array → S3 upload → returns 201 | JWT |
| Redirect Link | Campaign tracking URLs, short links | links_upsert via MCP (creates 302 redirect, NOT page hosting) | PAT |
Important:
- Site deployment returns
201 Createdwith adeploymentId. Verify viaGET /v2/handles/{handle}/site-deployments/{deploymentId}/preview(returns signedpreviewUrl). - Multi-file deployments must include a root
index.html— without it, activation fails withmissing_entrypoint. - Use
PUT /v2/handles/{handle}/site-modeto change site display mode (requires owner JWT). - Never use raw S3 bucket URLs for previews — the bucket is origin-private behind CloudFront.
links_upsertcreates redirect links only — it does not host HTML pages.
Architecture
Your Machine 10x.in Platform
──────────── ──────────────────
Claude Code CLI
+ 10x-marketing-manager
+ .mcp.json → server
┌─── MCP (Bearer USER_PAT) ────────► {handle}.mcp.10x.in
│ Links, tracking, analytics, MCP endpoint (37 tools)
│ webhooks, agent workflow Alt: api.10x.in/mcp/{handle}/mcp
│
├─── Direct API (JWT) ─────────────► api.10x.in
│ Site deployments (HTML hosting), /v2/handles/{handle}/...
│ pages, profile, campaigns, QA
│
└─── Live site ────────────────────► {handle}.10x.in
Deployed pages served hereYour local Claude Code generates content. Two paths to the platform:
- MCP (PAT auth): Links (redirects), tracking, analytics, webhooks, agent workflow. Has ~1KB payload limit. PAT scope families:
tracking.templates.*,analytics.*,webhooks.*,system.*. - Direct API (JWT auth): Site deployments (HTML page hosting), pages, profile, campaigns, QA. No payload limit.
Nothing goes live without passing the server quality gate.
MCP Client Configuration
Connect any MCP-compatible client to your 37 Link Platform tools:
{
"mcpServers": {
"marketing-manager-mcp": {
"type": "http",
"url": "https://{handle}.mcp.10x.in/mcp",
"headers": {
"Authorization": "Bearer {YOUR_PAT}",
"Accept": "application/json, text/event-stream"
}
}
}
}Works with: Claude Code (.mcp.json), Cursor (.cursor/mcp.json), Windsurf (.windsurf/mcp.json), Claude Desktop (claude_desktop_config.json).
Alternative URL via resource host: https://api.10x.in/mcp/{handle}/mcp
CLI Commands
10x-mm init # Scaffold plugin into current directory
10x-mm update # Update skill files (preserves .env and .mcp.json)
10x-mm doctor # Check environment, auth, and connectivity
10x-mm auth # Show current access tier and PAT status
10x-mm history # Show past session summaries
10x-mm clear # Delete session logs (keeps context.json)
10x-mm version # Show version
10x-mm help # Show usageSession Tracking
Every MCP tool call is logged locally in .mm/ for cross-session continuity. When you start a new conversation, Claude automatically loads context from your last session so it knows what you were working on.
Environment Variables
After running /setup, your .env will contain:
USER_PAT=patv1_your_pat_here # PAT (long-lived) for MCP auth
LINK_PLATFORM_PAT=your_jwt_here # JWT (1h expiry) for direct API auth
LINK_PLATFORM_HANDLE=your_handle # Your 10x.in handle- USER_PAT: Personal Access Token (
patv1_*). Long-lived. For MCP server auth (links, tracking, analytics). Get from profile.10x.in. - LINK_PLATFORM_PAT: JWT from Cognito. Expires every 1 hour. For direct API (site-deployments, pages). Get from profile.10x.in.
- LINK_PLATFORM_HANDLE: Your 10x.in handle (e.g.,
acmedeploys toacme.10x.in)
Domain Categories
The landing page skill supports 12 domain categories with tailored section templates:
- SaaS / Software Product
- Ecommerce / Product Page
- Portfolio / Personal Brand
- IT Support / Tech Services
- Event / Webinar / Conference
- Demo / Product Demo
- Lead Magnet / Resource Download
- Agency / Professional Services
- App Download / Mobile App
- Coming Soon / Waitlist
- Nonprofit / Cause
- Real Estate / Property
Each category auto-invokes the right specialist skills (SEO, analytics, lead capture, etc.) based on domain best practices.
Error Handling
| Code | Meaning | Action |
|------|---------|--------|
| 401 token_expired | JWT expired (1h lifetime) | Refresh from profile.10x.in |
| 401 invalid_token | Bad PAT/JWT format | Check token in .env |
| 403 insufficient_scope | PAT missing required scope | Check PAT permissions |
| 400 missing_entrypoint | No index.html in deployment | Add root index.html |
| 413 payload_too_large | Content too large for MCP | Use Direct API instead |
| 429 rate_limited | Too many requests | Retry with backoff |
Links
- Platform: 10x.in
- Profile & Tokens: profile.10x.in
- Issues: GitHub Issues
License
MIT
