{"id":"77d07911-70b4-4c9e-b749-948925787474","entityType":"agent","slug":"clawhub-elias-didoo-meta-ads-creative-fatigue","name":"Meta Ads Creative Fatigue","canonicalUrl":"https://www.xpersona.co/agent/clawhub-elias-didoo-meta-ads-creative-fatigue","canonicalPath":"/agent/clawhub-elias-didoo-meta-ads-creative-fatigue","generatedAt":"2026-10-13T04:00:38.871Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-12T01:59:10.894Z","emptyReason":null},"description":"[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or ma... Skill: Meta Ads Creative Fatigue Owner: elias-didoo Summary: [Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or ma... Tags: creative-fatigue:1.0.0, didoo-ai:1.0.0, latest:1.1.0, meta-ads:1.0.0 Version history: v1.1.0 | 2026-04-16T02:36:08.672Z | user Added homepage, metadata.openclaw.requires.env, OAuth scope for c","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 958 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s170zy2wssmkqheacrkh2syyv183vgqw:meta-ads-creative-fatigue","sourceUrl":"https://clawhub.ai/elias-didoo/meta-ads-creative-fatigue","homepage":"https://clawhub.ai/elias-didoo/skills/meta-ads-creative-fatigue","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/elias-didoo/meta-ads-creative-fatigue","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/elias-didoo/skills/meta-ads-creative-fatigue","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or ma..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:59:10.894Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:59:10.894Z","emptyReason":null},"stars":null,"forks":null,"downloads":958,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.1.0","tractionLabel":"958 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:59:10.829Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T01:59:10.894Z","lastCrawledAt":"2026-10-12T01:59:10.829Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T01:59:10.829Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.0","createdAt":"2026-04-16T02:36:08.672Z","changelog":"Added homepage, metadata.openclaw.requires.env, OAuth scope for credential clarity","fileCount":3,"zipByteSize":3673},{"version":"1.0.0","createdAt":"2026-04-14T20:21:16.493Z","changelog":"Initial release","fileCount":2,"zipByteSize":2481}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170zy2wssmkqheacrkh2syyv183vgqw:meta-ads-creative-fatigue","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-13T04:00:38.871Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-elias-didoo-meta-ads-creative-fatigue/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-12T01:59:10.894Z","emptyReason":null},"readme":"Skill: Meta Ads Creative Fatigue\n\nOwner: elias-didoo\n\nSummary: [Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or ma...\n\nTags: creative-fatigue:1.0.0, didoo-ai:1.0.0, latest:1.1.0, meta-ads:1.0.0\n\nVersion history:\n\nv1.1.0 | 2026-04-16T02:36:08.672Z | user\n\nAdded homepage, metadata.openclaw.requires.env, OAuth scope for credential clarity\n\nv1.0.0 | 2026-04-14T20:21:16.493Z | user\n\nInitial release\n\nArchive index:\n\nArchive v1.1.0: 3 files, 3673 bytes\n\nFiles: skill-card.md (1843b), SKILL.md (5253b), _meta.json (144b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: meta-ads-creative-fatigue\ndescription: \"[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or managing creative lifecycle. Run standalone or after meta-ads-daily-pulse flags creative fatigue.\"\nhomepage: https://didoo.ai/blog\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\": { \"env\": [\"META_ACCESS_TOKEN\", \"META_AD_ACCOUNT_ID\"] },\n      },\n  }\n---\n\n## Required Credentials\n| Credential | Where to Get | Used For | OAuth Scope |\n|-----------|-------------|---------|-------------|\n| META_ACCESS_TOKEN | Meta Developer Console → Graph API Explorer → Generate Token | Fetching ad performance and frequency data | `ads_read` (read-only) |\n| META_AD_ACCOUNT_ID | Ads Manager URL: `adsmanager.facebook.com/act_XXXXXXXXX` | Identifying which account to query | — |\n\n## When to Use\nWhen creative has been running for 7+ days and performance is declining — or proactively when managing a portfolio of creatives. Use before scheduling creative refresh.\n\n---\n\n## Requirements\n- account_id (required)\n- campaign_id or ad_ids (optional — defaults to all active ads in account)\n- date_range: last_30d (default)\n\n---\n\n## Step 1: Fetch Active Ads\nGet list of all active ads with performance data:\n- get_ads_list → ad names, IDs, campaign association\n- get_ads_insights per ad: frequency, CTR, ROAS, spend, impressions\n\n---\n\n## Step 2: Calculate Fatigue Signals\nFor each ad, compute:\n- Days active: from ad creation date\n- CTR drop %: (Week 1 CTR − Current CTR) / Week 1 CTR × 100\n- Frequency decay: CTR at freq 1-2x vs CTR at freq 5x+\n- Decay rate: CTR drop % per day since launch\n- Days until death: estimate based on current decay rate and \"Dead\" threshold\n- Lifespan status: see Classification table below\n\n---\n\n## Step 3: Fatigue Classification\n| Level | Criteria | Action |\n|-------|----------|--------|\n| Fresh | < 7 days OR CTR drop < 10% | Monitor |\n| Mild | 7-14 days, CTR drop 10-20% | Monitor |\n| Moderate | 14-21 days, CTR drop 20-35% | Rotate Soon |\n| Severe | 21-28 days, CTR drop 35-50% | Refresh Now |\n| Dead | > 28 days OR CTR drop > 50% OR Freq > 5x with CTR < 50% of baseline | Kill Immediately |\n\n---\n\n## Step 4: Lifespan Status\n| Status | Criteria |\n|--------|----------|\n| Growing | ROAS within 10% of peak, < 14 days |\n| Peak | ROAS at maximum, 7-21 days |\n| Declining | ROAS decay > 5%/day, > 21 days |\n| Expired | ROAS < 50% of peak OR > 35 days |\n\n---\n\n## Step 5: Build Rotation Pipeline\nClassify all active creatives into pipeline buckets:\n\n| Status | Count |\n|--------|-------|\n| Active Winners | |\n| Active Decaying | |\n| Recently Killed | |\n| In Pipeline | |\n\nCalculate:\n- Creatives dying this week\n- Creatives dying next week\n- New creatives needed\n- Testing velocity (new creatives launched per week)\n\n---\n\n## Step 6: Output Format\n\n### SECTION 1: Fatigue Status Overview\nFatigue Health Table (top 15-20 creatives):\n\n| Creative | Days Active | Current Freq | CTR Week 1 | CTR Now | Drop % | Fatigue Level | Action |\n|----------|-------------|--------------|------------|----------|---------|---------------|--------|\n\n### SECTION 2: Frequency Decay Analysis\nFrequency Impact Table (top 10-12 highest frequency):\n\n| Creative | Freq 1-2x CTR | Freq 3-4x CTR | Freq 5x+ CTR | Current Freq | Decay Rate |\n|----------|---------------|---------------|--------------|--------------|------------|\n\n### SECTION 3: Performance Degradation Timeline\nROAS Decay Table (top 12-15):\n\n| Creative | Launch Date | Peak ROAS | Current ROAS | Days to Peak | Days Since Peak | Decay Rate | Lifespan Status |\n|----------|-------------|-----------|--------------|--------------|-----------------|------------|------------------|\n\n### SECTION 4: Rotation Pipeline Status\nCreative Inventory Table:\n\n| Status | Count |\n|--------|-------|\n| Active Winners | |\n| Active Decaying | |\n| Recently Killed | |\n| In Pipeline | |\n\nRefresh Needs: Dying this week, dying next week, new needed, testing velocity.\n\n### SECTION 5: Refresh Recommendations\nAction Priority Table (top 10-12):\n\n| Creative | Current Status | Days Until Death | Action | Priority | New Direction |\n|----------|----------------|------------------|--------|----------|----------------|\n\nPriority: Urgent (24h), High (3d), Medium (7d), Low (monitor).\n\n---\n\n## Rules\n- Prioritize by: Severity > Days Until Death > Spend\n- New Direction must be specific angles, not generic advice (\"Test urgency angle\" not \"new creative\")\n- No executive summary\n- This is analysis only — recommendations route to meta-ads-recommendation\n\n---\n\n## Session Context — What This Skill Writes\n\nAfter completing analysis, store the following in session context:\n\n| Key | Description | Example |\n|-----|-------------|---------|\n| rotation_pipeline | Creative inventory by status bucket | \"2 growing, 3 declining, 1 dead, 2 in pipeline\" |\n| fatigue_level | Per-creative fatigue classification | \"Blue Banner v2: Severe; CTR drop 52%\" |\n| days_until_death | Estimated days before each creative expires | \"Banner v3: 8 days; Banner v4: 22 days\" |\n\n> meta-ads-recommendation reads these keys to produce the creative rotation action plan. For new creative generation, route to meta-ads-builder.\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn72xgwz1h6j5cfwscvt1wm10d83tj78\",\n  \"slug\": \"meta-ads-creative-fatigue\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1776306968672\n}\n\nFile v1.1.0:skill-card.md\n\n## Description:\n\n[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[elias-didoo](https://clawhub.ai/user/elias-didoo)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal marketing teams and advertising operators use this skill to analyze Meta Ads creative fatigue, identify declining CTR or ROAS, and plan creative refresh timing.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can inspect active Meta Ads performance across the configured account when campaign_id or ad_ids are not provided.\n\nMitigation: Use campaign_id or ad_ids for narrower analysis when account-wide review is not intended.\n\nRisk: The skill requires read-only Meta Ads credentials and account identifiers.\n\nMitigation: Provide credentials with the documented ads_read scope only, and handle META_ACCESS_TOKEN and META_AD_ACCOUNT_ID as sensitive configuration.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/elias-didoo/skills/meta-ads-creative-fatigue)\n- [Didoo AI blog](https://didoo.ai/blog)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance]\n\n**Output Format:** [Markdown analysis tables with concise recommendation guidance and session context values]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces fatigue status, frequency decay, ROAS degradation, rotation pipeline, and refresh recommendation sections; no executive summary.]\n\n## Skill Version(s):\n\n1.1.0 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 2 files, 2481 bytes\n\nFiles: SKILL.md (5035b), _meta.json (144b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: meta-ads-creative-fatigue\ndescription: \"[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or managing creative lifecycle. Run standalone or after meta-ads-daily-pulse flags creative fatigue.\"\n---\n\n## Required Credentials\n| Credential | Where to Get | Used For |\n|-----------|-------------|---------|\n| META_ACCESS_TOKEN | Meta Developer Console → Graph API Explorer → Generate Token | Fetching ad performance and frequency data |\n| META_AD_ACCOUNT_ID | Ads Manager URL: `adsmanager.facebook.com/act_XXXXXXXXX` | Identifying which account to query |\n\n## When to Use\nWhen creative has been running for 7+ days and performance is declining — or proactively when managing a portfolio of creatives. Use before scheduling creative refresh.\n\n---\n\n## Requirements\n- account_id (required)\n- campaign_id or ad_ids (optional — defaults to all active ads in account)\n- date_range: last_30d (default)\n\n---\n\n## Step 1: Fetch Active Ads\nGet list of all active ads with performance data:\n- get_ads_list → ad names, IDs, campaign association\n- get_ads_insights per ad: frequency, CTR, ROAS, spend, impressions\n\n---\n\n## Step 2: Calculate Fatigue Signals\nFor each ad, compute:\n- Days active: from ad creation date\n- CTR drop %: (Week 1 CTR − Current CTR) / Week 1 CTR × 100\n- Frequency decay: CTR at freq 1-2x vs CTR at freq 5x+\n- Decay rate: CTR drop % per day since launch\n- Days until death: estimate based on current decay rate and \"Dead\" threshold\n- Lifespan status: see Classification table below\n\n---\n\n## Step 3: Fatigue Classification\n| Level | Criteria | Action |\n|-------|----------|--------|\n| Fresh | < 7 days OR CTR drop < 10% | Monitor |\n| Mild | 7-14 days, CTR drop 10-20% | Monitor |\n| Moderate | 14-21 days, CTR drop 20-35% | Rotate Soon |\n| Severe | 21-28 days, CTR drop 35-50% | Refresh Now |\n| Dead | > 28 days OR CTR drop > 50% OR Freq > 5x with CTR < 50% of baseline | Kill Immediately |\n\n---\n\n## Step 4: Lifespan Status\n| Status | Criteria |\n|--------|----------|\n| Growing | ROAS within 10% of peak, < 14 days |\n| Peak | ROAS at maximum, 7-21 days |\n| Declining | ROAS decay > 5%/day, > 21 days |\n| Expired | ROAS < 50% of peak OR > 35 days |\n\n---\n\n## Step 5: Build Rotation Pipeline\nClassify all active creatives into pipeline buckets:\n\n| Status | Count |\n|--------|-------|\n| Active Winners | |\n| Active Decaying | |\n| Recently Killed | |\n| In Pipeline | |\n\nCalculate:\n- Creatives dying this week\n- Creatives dying next week\n- New creatives needed\n- Testing velocity (new creatives launched per week)\n\n---\n\n## Step 6: Output Format\n\n### SECTION 1: Fatigue Status Overview\nFatigue Health Table (top 15-20 creatives):\n\n| Creative | Days Active | Current Freq | CTR Week 1 | CTR Now | Drop % | Fatigue Level | Action |\n|----------|-------------|--------------|------------|----------|---------|---------------|--------|\n\n### SECTION 2: Frequency Decay Analysis\nFrequency Impact Table (top 10-12 highest frequency):\n\n| Creative | Freq 1-2x CTR | Freq 3-4x CTR | Freq 5x+ CTR | Current Freq | Decay Rate |\n|----------|---------------|---------------|--------------|--------------|------------|\n\n### SECTION 3: Performance Degradation Timeline\nROAS Decay Table (top 12-15):\n\n| Creative | Launch Date | Peak ROAS | Current ROAS | Days to Peak | Days Since Peak | Decay Rate | Lifespan Status |\n|----------|-------------|-----------|--------------|--------------|-----------------|------------|------------------|\n\n### SECTION 4: Rotation Pipeline Status\nCreative Inventory Table:\n\n| Status | Count |\n|--------|-------|\n| Active Winners | |\n| Active Decaying | |\n| Recently Killed | |\n| In Pipeline | |\n\nRefresh Needs: Dying this week, dying next week, new needed, testing velocity.\n\n### SECTION 5: Refresh Recommendations\nAction Priority Table (top 10-12):\n\n| Creative | Current Status | Days Until Death | Action | Priority | New Direction |\n|----------|----------------|------------------|--------|----------|----------------|\n\nPriority: Urgent (24h), High (3d), Medium (7d), Low (monitor).\n\n---\n\n## Rules\n- Prioritize by: Severity > Days Until Death > Spend\n- New Direction must be specific angles, not generic advice (\"Test urgency angle\" not \"new creative\")\n- No executive summary\n- This is analysis only — recommendations route to meta-ads-recommendation\n\n---\n\n## Session Context — What This Skill Writes\n\nAfter completing analysis, store the following in session context:\n\n| Key | Description | Example |\n|-----|-------------|---------|\n| rotation_pipeline | Creative inventory by status bucket | \"2 growing, 3 declining, 1 dead, 2 in pipeline\" |\n| fatigue_level | Per-creative fatigue classification | \"Blue Banner v2: Severe; CTR drop 52%\" |\n| days_until_death | Estimated days before each creative expires | \"Banner v3: 8 days; Banner v4: 22 days\" |\n\n> meta-ads-recommendation reads these keys to produce the creative rotation action plan. For new creative generation, route to meta-ads-builder.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn72xgwz1h6j5cfwscvt1wm10d83tj78\",\n  \"slug\": \"meta-ads-creative-fatigue\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776198076493\n}","readmeExcerpt":"Skill: Meta Ads Creative Fatigue Owner: elias-didoo Summary: [Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or ma... Tags: creative-fatigue:1.0.0, didoo-ai:1.0.0, latest:1.1.0, meta-ads:1.0.0 Version history: v1.1.0 | 2026-04-16T02:36:08.672Z | user Added homepage, metadata.openclaw.requires.env, OAuth scope for c","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: meta-ads-creative-fatigue\ndescription: \"[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or managing creative lifecycle. Run standalone or after meta-ads-daily-pulse flags creative fatigue.\"\nhomepage: https://didoo.ai/blog\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"requires\": { \"env\": [\"META_ACCESS_TOKEN\", \"META_AD_ACCOUNT_ID\"] },\n      },\n  }\n---\n\n## Required Credentials\n| Credential | Where to Get | Used For | OAuth Scope |\n|-----------|-------------|---------|-------------|\n| META_ACCESS_TOKEN | Meta Developer Console → Graph API Explorer → Generate Token | Fetching ad performance and frequency data | `ads_read` (read-only) |\n| META_AD_ACCOUNT_ID | Ads Manager URL: `adsmanager.facebook.com/act_XXXXXXXXX` | Identifying which account to query | — |\n\n## When to Use\nWhen creative has been running for 7+ days and performance is declining — or proactively when managing a portfolio of creatives. Use before scheduling creative refresh.\n\n---\n\n## Requirements\n- account_id (required)\n- campaign_id or ad_ids (optional — defaults to all active ads in account)\n- date_range: last_30d (default)\n\n---\n\n## Step 1: Fetch Active Ads\nGet list of all active ads with performance data:\n- get_ads_list → ad names, IDs, campaign association\n- get_ads_insights per ad: frequency, CTR, ROAS, spend, impressions\n\n---\n\n## Step 2: Calculate Fatigue Signals\nFor each ad, compute:\n- Days active: from ad creation date\n- CTR drop %: (Week 1 CTR − Current CTR) / Week 1 CTR × 100\n- Frequency decay: CTR at freq 1-2x vs CTR at freq 5x+\n- Decay rate: CTR drop % per day since launch\n- Days until death: estimate based on current decay rate and \"Dead\" threshold\n- Lifespan status: see Classification table below\n\n---\n\n## Step 3: Fatigue Classification\n| Level | Criteria | Action |\n|-------|----------|--------|\n| Fresh | < 7 days OR CTR drop < 10% | Monitor |\n| Mild | 7-14 days, CTR drop 10-20% | Monitor |\n| Moderate | 14-21 days, CTR drop 20-35% | Rotate Soon |\n| Severe | 21-28 days, CTR drop 35-50% | Refresh Now |\n| Dead | > 28 days OR CTR drop > 50% OR Freq > 5x with CTR < 50% of baseline | Kill Immediately |\n\n---\n\n## Step 4: Lifespan Status\n| Status | Criteria |\n|--------|----------|\n| Growing | ROAS within 10% of peak, < 14 days |\n| Peak | ROAS at maximum, 7-21 days |\n| Declining | ROAS decay > 5%/day, > 21 days |\n| Expired | ROAS < 50% of peak OR > 35 days |\n\n---\n\n## Step 5: Build Rotation Pipeline\nClassify all active creatives into pipeline buckets:\n\n| Status | Count |\n|--------|-------|\n| Active Winners | |\n| Active Decaying | |\n| Recently Killed | |\n| In Pipeline | |\n\nCalculate:\n- Creatives dying this week\n- Creatives dying next week\n- New creatives needed\n- Testing velocity (new creatives launched per week)\n\n---\n\n## Step 6: Output Format\n\n### SECTION 1: Fatigue Status Overview\nFatigue Health Table (top 15-20 creatives):\n\n| Creative | Days Active | Current Freq | CTR We"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn72xgwz1h6j5cfwscvt1wm10d83tj78\",\n  \"slug\": \"meta-ads-creative-fatigue\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1776306968672\n}"},{"path":"skill-card.md","content":"## Description:\n\n[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[elias-didoo](https://clawhub.ai/user/elias-didoo)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal marketing teams and advertising operators use this skill to analyze Meta Ads creative fatigue, identify declining CTR or ROAS, and plan creative refresh timing.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can inspect active Meta Ads performance across the configured account when campaign_id or ad_ids are not provided.\n\nMitigation: Use campaign_id or ad_ids for narrower analysis when account-wide review is not intended.\n\nRisk: The skill requires read-only Meta Ads credentials and account identifiers.\n\nMitigation: Provide credentials with the documented ads_read scope only, and handle META_ACCESS_TOKEN and META_AD_ACCOUNT_ID as sensitive configuration.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/elias-didoo/skills/meta-ads-creative-fatigue)\n- [Didoo AI blog](https://didoo.ai/blog)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, guidance]\n\n**Output Format:** [Markdown analysis tables with concise recommendation guidance and session context values]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces fatigue status, frequency decay, ROAS degradation, rotation pipeline, and refresh recommendation sections; no executive summary.]\n\n## Skill Version(s):\n\n1.1.0 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"[Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or ma... Skill: Meta Ads Creative Fatigue Owner: elias-didoo Summary: [Didoo AI] Analyzes creative fatigue signals across Meta Ads campaigns. Use when reviewing declining CTR or ROAS, planning creative rotation schedules, or ma... Tags: creative-fatigue:1.0.0, didoo-ai:1.0.0, latest:1.1.0, meta-ads:1.0.0 Version history: v1.1.0 | 2026-04-16T02:36:08.672Z | user Added homepage, metadata.openclaw.requires.env, OAuth scope for c","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1057,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:59:10.894Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:59:10.894Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-13T04:00:38.871Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}