skills/feedmob-campaign-creator/SKILL.md
Create FeedMob campaigns with guided workflow. Use when users request campaign creation, link generation, or new partner launches. Handles: (1) Campaign naming via feedmob-campaign-naming, (2) Client data retrieval, (3) App selection, (4) Campaign preview, (5) Campaign creation. Trigger keywords: create campaign, new campaign, generate campaign, campaign setup, link generation, partner launch, media plan campaign, 创建campaign, 生成活动, 新建campaign.
npx skillsauth add feed-mob/agent-skills feedmob-campaign-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create FeedMob campaigns through a guided 5-step workflow that ensures correct configuration and naming conventions.
This skill orchestrates the complete campaign creation process:
User Request
↓
1. Campaign Naming (auto-invoke feedmob-campaign-naming skill)
↓
2. Get Client Data (client_id, client_uuid)
↓
3. Get App Data (app_info_id)
↓
4. Preview Campaign (validate before creation)
↓
5. Create Campaign (if user confirms)
↓
Campaign Created ✅
Simplest case:
User: "Create a campaign for Kraken iOS in US, partner Jampp pays on install, integrated via AppsFlyer MMP"
Steps:
1. Auto-invoke feedmob-campaign-naming skill
2. Call get_client with client_name="Kraken"
3. Call get_apps with client_id from step 2
4. Call preview_campaign with all data
5. Show preview, ask user to confirm
6. Call create_campaign if confirmed
Automatically invoke feedmob-campaign-naming skill to generate standardized campaign name.
Required information to gather:
Display generated name to user for confirmation. User can request regeneration if needed.
Call MCP tool to get client information:
mcp__feedmob-reporting__get_clients
Parameters:
- client_name: string (required)
Extract these 2 values from response:
client_id (number) - Required for Steps 3, 4, 5client_uuid (string) - Required for Steps 4, 5Error handling: If client not found, ask user to verify client name.
Call MCP tool to get app information:
mcp__feedmob-reporting__get_apps
Parameters:
- client_id: number (required) - from Step 2
Display available apps to user in a table format:
| App Name | Platform | App Info ID | |----------|----------|-------------| | Kraken iOS App | iOS | 456 | | Kraken Android App | Android | 789 |
Selection logic:
Extract these 2 values from selected app:
app_info_id (number) - Required for Steps 4, 5os (string) - Platform value (iOS/Android/Web/CTV) - Required for Steps 4, 5Before previewing, ask user for the agency parameter:
Is this an agency campaign?
- true (Agency campaign - MMP integration, name has "_Agency" suffix)
- false (Direct campaign - Direct integration, no "_Agency" suffix)
Important: Verify the campaign name from Step 1 matches the agency selection:
agency=true: Campaign name must end with _Agencyagency=false: Campaign name should NOT have _Agency suffixWait for user to provide this value.
Call MCP tool to preview campaign configuration.
CRITICAL: All 6 parameters are REQUIRED for preview_campaign to work:
mcp__feedmob-reporting__preview_campaign
Parameters (ALL REQUIRED):
1. campaign_name: string - from Step 1 (e.g., "TextNow_iOS_UK_CPA_Jampp_Agency")
2. client_id: number - from Step 2 get_clients response (e.g., 86)
3. client_uuid: string - from Step 2 get_clients response (e.g., "feb2e0857d9f4f8681033abeb79b212e")
4. app_info_id: number - from Step 3 get_apps response (e.g., 463)
5. os: string - MUST be one of: "iOS", "Android", "Web", "CTV"
6. agency: boolean - true (MMP integration, name has "_Agency"), false (Direct integration, no "_Agency")
Parameter Checklist - Verify ALL 6 before calling:
Example call:
mcp__feedmob-reporting__preview_campaign(
campaign_name="TextNow_iOS_UK_CPA_Jampp_Agency",
client_id=86,
client_uuid="feb2e0857d9f4f8681033abeb79b212e",
app_info_id=463,
os="iOS",
agency=true
)
If preview succeeds: Display the preview data returned by the API.
If preview fails: Display manual preview using collected data:
Campaign Preview:
├─ Campaign Name: [campaign_name from Step 1]
├─ Client: [client_name] (ID: [client_id])
├─ Client UUID: [client_uuid]
├─ App: [app_name] (App Info ID: [app_info_id])
├─ Platform: [os]
├─ Agency: [agency] ([integration type: "MMP Integration" if true, "Direct Integration" if false])
└─ Status: Ready to create
Proceed to create campaign? (yes/no)
Wait for user confirmation before proceeding to Step 5.
If user confirms, call MCP tool to create campaign.
CRITICAL: All 6 parameters are REQUIRED for create_campaign to work:
mcp__feedmob-reporting__create_campaign
Parameters (ALL REQUIRED):
1. campaign_name: string - from Step 1 (e.g., "TextNow_iOS_UK_CPA_Jampp_Agency")
2. client_id: number - from Step 2 get_clients response (e.g., 86)
3. client_uuid: string - from Step 2 get_clients response (e.g., "feb2e0857d9f4f8681033abeb79b212e")
4. app_info_id: number - from Step 3 get_apps response (e.g., 463)
5. os: string - MUST be one of: "iOS", "Android", "Web", "CTV"
6. agency: boolean - true (MMP integration, name has "_Agency"), false (Direct integration, no "_Agency")
Parameter Checklist - Verify ALL 6 before calling:
Example call:
mcp__feedmob-reporting__create_campaign(
campaign_name="TextNow_iOS_UK_CPA_Jampp_Agency",
client_id=86,
client_uuid="feb2e0857d9f4f8681033abeb79b212e",
app_info_id=463,
os="iOS",
agency=true
)
Display success message:
✅ Campaign created successfully!
Campaign ID: 4845
Campaign UUID: 6fbed37183cd494e96baaec9999677d9
Campaign Name: TextNow_iOS_UK_CPA_Jampp_Agency
Integration Type: MMP Integration (Agency=true)
Next steps:
- Generate tracking links
- Set up attribution
- Configure partner integration
All tools use prefix: mcp__feedmob-reporting__*
| Tool | Parameters (ALL REQUIRED) | Returns |
|------|-----------|---------|
| get_clients | client_name (string) | client_id, client_uuid, metadata |
| get_apps | client_id (number) | Array of apps with app_info_id, app_name, os |
| preview_campaign | campaign_name (string), client_id (number), client_uuid (string), app_info_id (number), os (string), agency (boolean) | Preview object with validation |
| create_campaign | campaign_name (string), client_id (number), client_uuid (string), app_info_id (number), os (string), agency (boolean) | campaign_id, campaign_uuid, created object |
| Error | Solution | |-------|----------| | Client not found | Ask user to verify client name, suggest similar clients if available | | No apps found | Verify client has apps configured, check platform spelling | | Multiple apps match | Display list and ask user to select | | Preview validation fails | Display errors, ask user for corrections | | Creation fails | Display error message, suggest troubleshooting steps |
User Request:
"Create a campaign for Kraken iOS in US, partner Jampp pays on install, integrated via AppsFlyer MMP"
Execution:
Step 1: Generate Campaign Name
Kraken_iOS_US_CPI_Jampp_Agency (add "_Agency" since agency=true/MMP integration)Kraken_iOS_US_CPI_Jampp_Agency"Step 2: Get Client Data
Call: mcp__feedmob-reporting__get_client(client_name="Kraken")
Response: {client_id: 123, client_uuid: "abc-def-ghi"}
Display: "Found client: Kraken (ID: 123)"
Step 3: Get App Data
Call: mcp__feedmob-reporting__get_apps(client_id=123)
Response: [{app_info_id: 456, app_name: "Kraken iOS App", platform: "iOS"}]
Display: "Selected app: Kraken iOS App (ID: 456)"
Step 4: Preview Campaign
First, ask user for agency parameter:
Is this an agency campaign?
- true (Agency campaign - MMP integration, name has "_Agency" suffix)
- false (Direct campaign - Direct integration, no "_Agency" suffix)
Assuming user selects: true (MMP integration)
Try: mcp__feedmob-reporting__preview_campaign(
campaign_name="Kraken_iOS_US_CPI_Jampp_Agency",
client_id=123,
client_uuid="abc-def-ghi",
app_info_id=456,
os="iOS",
agency=true
)
If successful, display API preview.
If fails, display manual preview:
Campaign Preview:
├─ Campaign Name: Kraken_iOS_US_CPI_Jampp_Agency
├─ Client: Kraken (ID: 123)
├─ Client UUID: abc-def-ghi
├─ App: Kraken iOS App (App Info ID: 456)
├─ Platform: iOS
├─ Agency: true (MMP Integration)
└─ Status: Ready to create
Proceed to create campaign? (yes/no)
Step 5: Create Campaign (if user confirms)
Call: mcp__feedmob-reporting__create_campaign(
campaign_name="Kraken_iOS_US_CPI_Jampp_Agency",
client_id=123,
client_uuid="abc-def-ghi",
app_info_id=456,
os="iOS",
agency=true
)
Response: {campaign_id: 789}
Display:
✅ Campaign created successfully!
Campaign ID: 789
Client Information:
Client: [Name] (ID: [client_id])
UUID: [client_uuid]
App Selection:
| App Name | Platform | App Info ID |
|----------|----------|-------------|
| App 1 | iOS | 123 |
| App 2 | Android | 456 |
Campaign Preview:
Campaign Preview:
├─ Name: [campaign_name]
├─ Client: [client_name] (ID: [client_id])
├─ App: [app_name] (ID: [app_info_id])
├─ Platform: [platform]
└─ Payment Model: [payment_model]
For detailed information, see:
references/mcp_tools.md - Complete MCP tool API documentationreferences/workflow-guide.md - Step-by-step workflow detailsreferences/campaign-schema.md - Campaign data structure referencetools
A clear, complete description of what this skill does and when Claude should use it
data-ai
Parse URLs in CSV files and extract query parameters as new columns. Use when working with CSV files containing URLs that need parameter extraction and analysis.
development
Delegate coding tasks to an attached OpenCode server via `opencode run --attach`. Use when: (1) building new features, (2) refactoring, (3) reviewing changes, (4) iterative coding with background monitoring. This skill is server-only and always uses `--attach` with `--dir` (server-side path).
development
Automatically installs and configures weekly-hubspot-report and weekly-hubspot-report-pipeline skills from feedmob-skills repository. Supports git clone or manual zip upload, runs npx skills add commands, and guides environment variable setup for FEMINI_API_TOKEN, FEEDAI_API_TOKEN, and AWS credentials. Use when: user needs HubSpot reporting, install HubSpot skills, generate weekly ticket reports, configure report pipeline, or when weekly-hubspot-report* skills are mentioned but not available. Triggers: install HubSpot skills, setup HubSpot reporting, HubSpot weekly report, configure HubSpot, feedmob-skills installation.