| name | rescue |
| description | Emergency performance fix when an ad account is in trouble. Use when the user reports a sudden CPA spike, conversion drop, runaway spend, or asks for an urgent performance rescue. Sets Operation Mode to TURNAROUND_RESCUE and applies stabilization actions. Also use when the user asks in Japanese (CPAが急に悪化した / CVが激減した / 広告費が暴走している / 緊急で立て直して). |
| metadata | {"version":"0.10.29"} |
Rescue
PREREQUISITE: Read ../_mureo-shared/SKILL.md for auth, security rules, output format, and Tool Selection (Read/Write on Code, mureo_strategy_* / mureo_state_* MCP on Desktop / Cowork).
Run an emergency performance rescue workflow for underperforming campaigns.
Prerequisites
- STRATEGY.md and STATE.json must exist (run the
onboard skill first)
Steps
Before you start: Run the Diagnostic preamble from ../_mureo-shared/SKILL.md — load learning insights (mureo_learning_insights_get) and consult advisors (mureo_consult_advisor) before drawing conclusions.
-
Load context: Read STRATEGY.md (including Goal sections and Data Sources) and STATE.json. Set Operation Mode to TURNAROUND_RESCUE in STRATEGY.md.
-
Discover platforms: Identify all configured ad platforms from STATE.json platforms. Also include any hosted official-MCP connector present in the session (e.g. TikTok, key tiktok_ads) — drive it via its own tools and skip mureo-only value-adds; see ../_mureo-shared/SKILL.md → Hosted-connector platforms.
-
Diagnose: platform-side or site-side? (if GA4 is available): Before making ad changes, check if the performance problem is platform-side or site-side. If LP conversion rates dropped in GA4 too, the issue may be the landing page, not the ads. Recommend LP investigation before ad changes.
-
Identify problem campaigns across all platforms: For each configured ad platform:
- Analytics-module check (external integrations only): For every external-integration platform (plugin or official MCP), call
mureo_analytics_modules_list first. When the platform's module advertises detect_anomalies, run it via mureo_analytics_run (capability: detect_anomalies, with window_days) and fold the structured result into the rescue summary; a non-ok status means treat it as unavailable. Otherwise emit analytics_not_available_for_<platform> in the rescue summary rather than fabricating heuristics from the integration's tool schemas (Issue #120).
- Google Ads: prefer mureo native — call
google_ads_health_check_all (eligibility / serving issues — meaningful only with Live API; returns [] in BYOD), then iterate campaigns from google_ads_campaigns_list and call google_ads_monitoring_zero_conversions and google_ads_cost_increase_investigate per campaign_id, plus google_ads_campaigns_diagnose for structural issues. If mureo's Google Ads tools are unavailable (e.g. MUREO_DISABLE_GOOGLE_ADS=1 after mureo providers add google-ads-official), fall back to the official google-ads-official MCP for the campaign list and performance numbers, then skip the mureo-only anomaly-detection tools (google_ads_health_check_all, google_ads_monitoring_zero_conversions, google_ads_cost_increase_investigate, google_ads_campaigns_diagnose) with a note: "anomaly detection and structural diagnostics require mureo's native MCP — install or re-enable via mureo setup claude-code for full rescue coverage." Identify zero-conversion / high-spend campaigns manually from the raw performance numbers in that case.
- Meta Ads: prefer mureo native
meta_ads_insights_report and inspect each campaign's result_indicator (PR #61): a link_click-optimized campaign with high "results" but zero pixel_lead is a tracking issue, not a creative one — flag for measurement fix before any rescue action. If mureo's Meta Ads tools are unavailable, fall back to the official meta-ads-official hosted MCP for raw insights; note that result_indicator-based CV-definition analysis is a mureo-specific value-add and will not be present — manually inspect the insights actions list for link_click vs offsite_conversion.fb_pixel_lead mismatches.
- mureo BYOD data is centralized in the workspace
byod/ directory (or ~/.mureo/byod/ for legacy CLI users) and is only accessible through mureo MCP tools — do not look for raw CSVs in the project directory.
-
Evaluate severity against Goals: For each problem campaign, reference Goal targets from STRATEGY.md:
- Calculate how far off the campaign is from the Goal
- Prioritize rescue actions by impact on Goal achievement
- Flag campaigns that are the biggest blockers to reaching Goals
-
Search term cleanup (for platforms that support search term data):
- Review search terms for waste on each problem campaign
- Cross-reference with Persona from STRATEGY.md — flag terms that don't match target audience
- If Search Console is available, identify terms better served by organic
- Suggest negative keywords to add
- Ask for my approval before adding any negative keywords
-
Budget efficiency: Analyze budget efficiency across all platforms. Identify campaigns wasting budget (high spend, low/zero conversions). Suggest budget reallocation from wasteful to efficient campaigns.
- Ask for my approval before changing any budgets
-
Platform-specific optimizations: For each platform, run the platform's specialized analysis (device performance, placement analysis, audience analysis, etc.) on problem campaigns. Suggest specific optimizations.
- Ask for my approval before making changes
-
Execute approved actions: Only after I approve each recommendation, execute the changes using each platform's update tools.
-
Record outcome context: For each campaign modified, log to action_log with metrics_at_action (current CPA, conversions, clicks, cost, impressions) and observation_due (7 days for budget changes, 14 days for keyword/creative changes).
-
Update STATE.json: Record all changes made in campaign notes with timestamps. Log all rescue actions to the action_log with platform, action type, and expected impact.
-
Summary: List all changes made per platform with expected impact on Goal metrics.
IMPORTANT: Never make changes without explicit approval. Present each action as a recommendation first. Do NOT trigger rescue based on a single bad day — at least 7 consecutive days of critical metrics (>30% off target) before recommending rescue actions.