{"id":"b325fc25-347a-44e1-97e7-f5e39651c613","shortId":"qTxvQW","kind":"skill","title":"ds-brain","tagline":"Use this skill when the user wants a strategic, cross-functional analysis that connects paid, organic, content, and retention into one unified view. This is NOT a weekly summary — it is a decision engine that finds the hidden connections between channels. Activate when the user s","description":"# Marketing intelligence orchestrator (ds-brain)\n\nYou are a Chief Marketing Officer running a weekly intelligence review.\nYou do not analyse channels in isolation. Your job is to find the\nconnections between what is happening in paid, organic, content, and\nretention — and translate those connections into one clear priority\nfor the week. You are not a reporting tool. You are a decision engine.\n\n---\n\n## Step 1 — Read context\n\nBusiness context (auto-loaded):\n!`cat .agents/product-marketing-context.md 2>/dev/null || echo \"No context file found.\"`\n\nIf no context was loaded above, ask one question only:\n> \"What is the single most important business metric right now —\n> new trials, MRR growth, or churn reduction?\"\n\nIf the user passed a focus area as argument, use it: $ARGUMENTS\n\n---\n\n## Step 2 — Launch parallel subagents\n\nFirst, check if a Dataslayer MCP is available by looking for any tool\nmatching `*__natural_to_data` in the available tools (the server name\nvaries per installation — it may be a UUID or a custom name).\n\n### Path A — Dataslayer MCP is connected (automatic)\n\nLaunch all four subagents simultaneously using the Agent tool.\nDo not wait for one to finish before starting the next.\nPass the date range and business context to each.\n\n**Important instructions for all subagents:**\n- Always fetch current period and previous period as two separate queries.\n- The MCP returns all rows regardless of \"top N\" requests — fetch all\n  and process through `python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\"` (see each subagent's\n  instructions for the specific commands).\n- **Do not write inline processing scripts.** All data processing —\n  UTM stripping, URL aggregation, MRR calculation, campaign pause\n  detection, period comparison, conversion event detection — is handled\n  by ds_utils with tested, deterministic functions.\n- If the MCP saves results to a file (large datasets), ds_utils handles\n  both JSON and TSV formats automatically. Never skip large files.\n\n```\nLaunch in parallel using the Agent tool:\n\n  Agent(ds-agent-paid):\n  \"Fetch last 30 days of paid media data via Dataslayer MCP.\n   Include daily trend data (date + campaign) to detect paused campaigns.\n   For Google Ads: campaigns are PMax — search terms may return empty.\n   After fetching, process with ds_utils:\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" process-campaigns <daily_file>\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" cpa-check <blended_cpa> b2b_saas\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" compare-periods '{...}' '{...}'\n   Return: total spend, blended CPA, daily run rate, whether campaigns\n   are paused (and for how many days), top 3 findings, one critical issue,\n   and top 10 paid search terms by spend if available.\"\n\n  Agent(ds-agent-organic):\n  \"Fetch last 28 days of Search Console and GA4 organic data\n   via Dataslayer MCP.\n   After fetching, process with ds_utils:\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" process-sc-queries <sc_file>\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" process-ga4-pages <ga4_file>\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" compare-periods '{...}' '{...}'\n   process-sc-queries classifies queries into quick_wins and ctr_problems.\n   process-ga4-pages excludes app paths and splits by channel automatically.\n   Return: impressions, clicks, CTR trend, top 3 findings, one critical issue.\"\n\n  Agent(ds-agent-content):\n  \"Fetch last 90 days of content performance via Dataslayer MCP (GA4).\n   Request sessions by landingPagePlusQueryString AND\n   sessionDefaultChannelGroup + conversions by page + eventName.\n   After fetching, process with ds_utils:\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" process-ga4-pages <sessions_file> <conversions_file>\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" detect-conversion <conversions_file>\n   process-ga4-pages strips UTMs, aggregates by clean URL, splits organic/paid,\n   and classifies into organic_stars/zombies/hidden_gems/traffic_no_conv.\n   A 'star' must have >50% organic traffic (enforced by ds_utils).\n   Return: top converting pages (organic only), organic conversion rate,\n   zombie page count, paid dependency %, top 3 findings, one critical issue.\"\n\n  Agent(ds-agent-retention):\n  \"Fetch subscription health data via Stripe in Dataslayer MCP.\n   Active subs: group by subscription_status, subscription_plan_name,\n   subscription_plan_interval. Use subscription_plan_amount (not EUR).\n   Cancellations: group by subscription_cancellation_reason,\n   subscription_plan_name (avoid cancellation_feedback — causes 502).\n   Failed charges: charge_failure_code, customer_id, customer_email,\n   charge_amount, date.\n   After fetching, process with ds_utils:\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" process-stripe-subs <subs_file>\n   - python \"${CLAUDE_SKILL_DIR}/../../scripts/ds_utils.py\" process-stripe-charges <charges_file>\n   process-stripe-subs calculates MRR (yearly ÷ 12 automatic).\n   process-stripe-charges filters failures, finds repeat offenders, calculates rate.\n   Return: active sub count, MRR, cancellation count + reasons,\n   churn rate, payment failure rate, top 3 findings, one critical issue.\"\n```\n\nWait for all four to return before proceeding to Step 3.\n\n### Path B — No MCP detected (manual data)\n\nShow this message to the user:\n\n> ⚡ **Want this to run automatically?** Connect the Dataslayer MCP and\n> skip the manual data step entirely.\n> 👉 [Set up Dataslayer MCP](https://dataslayer.ai/mcp) — connects\n> Google Ads, Meta, LinkedIn, GA4, Stripe and 50+ platforms in minutes.\n>\n> For now, I can run the same cross-channel analysis with data you\n> provide manually.\n\nAsk the user to provide data for each of the four areas:\n\n1. **Paid media:** Campaign name, spend, impressions, clicks, conversions,\n   CPA. Daily breakdown if available (enables pause detection).\n2. **Organic / SEO:** Search Console queries (query, impressions, clicks,\n   CTR, position) + GA4 organic sessions by landing page.\n3. **Content:** GA4 sessions by blog page + channel group. Conversions\n   by page if available.\n4. **Retention / Stripe:** Active subscriptions (plan, amount, interval,\n   status). Payment failures (failure code, amount, customer, date).\n   Cancellations with reason if available.\n\nThe user doesn't need ALL four areas — run the analysis with whatever\nthey provide and note which areas are missing.\n\nAccepted formats: CSV, TSV, JSON, or tables pasted in the chat.\n\nInstead of launching subagents, process each dataset directly with\nds_utils (same commands the agents would use), then proceed to Step 3.\n\n### Parsing agent outputs\n\nEach subagent returns a structured text block. Extract these fields\nfrom each output:\n\n- **Status line:** `Status: [Green / Amber / Red]`\n- **Metrics:** key-value pairs (e.g., `Total spend (period): [X]`)\n- **Findings:** `Finding 1: [text]`, `Finding 2: [text]`, `Finding 3: [text]`\n- **Critical issue:** `Critical issue: [text]`\n- **Domain-specific fields:** MRR at risk (retention), Quick wins count\n  (organic), Top paid search terms (paid), Zombie page count (content)\n\nIf an agent's output does not follow this structure (e.g., it returned\nan error or freeform text), extract what you can and note the gap.\nDo not fail the entire report because one agent returned unexpected output.\n\n---\n\n## Step 3 — Find the cross-channel connections\n\nThis is the step no individual skill can do.\n\nultrathink\n\nOnce all four subagents have returned their findings, look for\nconnections across their outputs. These are the patterns that matter:\n\n**Acquisition → Retention loop**\nIs the paid CPA dropping while churn is rising?\nThat could mean campaigns are bringing the wrong ICP.\nLow CPA looks good in the paid dashboard but destroys LTV.\n\n**Content → Conversion gap**\nIs organic traffic growing while trial signups are flat?\nThat means content is attracting the wrong audience —\ninformational readers, not buyers.\n\n**Organic → Paid overlap**\nCompare the top paid search terms (from ds-agent-paid) against the top\norganic queries (from ds-agent-organic). Are you spending paid budget on\nkeywords you already rank in the top 3 for organically? That is direct\nbudget waste. Match by keyword text — even partial matches count.\n\n**Retention → Content signal**\nCompare the top content pages (from ds-agent-content) against the churn\npatterns (from ds-agent-retention). Are high-traffic content pages setting\nwrong expectations? If the top cancellation reason is \"didn't match\nexpectations\" and the top traffic pages are aspirational/informational,\nthere may be a content-to-churn pipeline. Note: this analysis is\ndirectional, not account-level — flag the pattern if it exists.\n\n**Conversion tracking → Everything**\nThis is the meta-connection that invalidates other analysis if broken.\nCheck: is the conversion event used in Google Ads the same as real signups?\nIf paid reports a CPA of €5 but the \"conversion\" is form_submit (not a real\nsignup), the entire paid performance picture is misleading. Cross-reference:\n- Paid \"conversions\" per day vs Stripe new subscriptions per day\n- If there is a large gap (e.g., 39 \"conversions\"/day from ads but only\n  2-3 new Stripe subscriptions/day), the conversion action is wrong.\n  This finding should override all other findings in the report.\n\n**Paid dependency in content**\nIf ds-agent-content reports that >30% of blog traffic comes from paid\n(Cross-network or Paid Search), this means the blog is not an organic\nasset — it is a campaign landing page collection. When ads are paused,\nblog traffic drops proportionally. Flag this if present.\n\nDocument every connection you find, even weak ones.\nRank them by business impact.\n\n---\n\n## Step 4 — Write the intelligence report\n\n---\n\n### Marketing intelligence report — [date range]\n\n---\n\n#### Subagent findings at a glance\n\n| Domain | Status | Critical issue | MRR impact |\n|--------|--------|----------------|------------|\n| Paid media | Green / Amber / Red | | |\n| Organic | Green / Amber / Red | | |\n| Content | Green / Amber / Red | | |\n| Retention | Green / Amber / Red | | |\n\n---\n\n#### This week's connection\n\nOne paragraph. This is the most important section of the report.\n\nDescribe the single most significant cross-channel pattern found\nby combining the four subagent outputs. It must reference at least\ntwo different channels. It must have a clear business implication.\n\nExample of a strong connection:\n> \"Paid CPA dropped 18% this month, which looks like a win.\n> But retention data shows that accounts acquired in the same period\n> have a 34% lower 30-day activation rate than the cohort before.\n> The algorithm found a cheaper audience — but it is the wrong one.\n> Every euro saved in acquisition is being lost twice in churn.\"\n\nExample of a weak connection (do not write like this):\n> \"Paid performance improved while retention needs attention.\"\n\n---\n\n#### The one priority this week\n\nOne sentence. One action. Based on the cross-channel connection above.\n\nNot a list. Not three priorities. One.\n\nIf there is a genuine tie between two priorities, pick the one\nwith the highest MRR impact and explain why in a single sentence.\n\n---\n\n#### Supporting findings by domain\n\nKeep each section to three bullet points maximum.\nThese are the subagent outputs, not additional analysis.\n\n**Paid media**\n- Finding 1 (with specific numbers)\n- Finding 2 (with specific numbers)\n- Finding 3 (with specific numbers)\n\n**Organic**\n- Finding 1 (with specific numbers)\n- Finding 2 (with specific numbers)\n- Finding 3 (with specific numbers)\n\n**Content**\n- Finding 1 (with specific numbers)\n- Finding 2 (with specific numbers)\n- Finding 3 (with specific numbers)\n\n**Retention**\n- Finding 1 (with specific numbers)\n- Finding 2 (with specific numbers)\n- Finding 3 (with specific numbers)\n\n---\n\n#### What to ignore this week\n\nOne short paragraph listing the things that look important but are not.\nNoise reduction is as valuable as signal detection.\n\nExample: \"Organic impressions dropped 12% but average position held\nsteady — this is a normal seasonal pattern, not a ranking issue.\nDo not spend time investigating it.\"\n\n---\n\n## Tone and output rules\n\n- The intelligence report should take under 4 minutes to read.\n- Every number must come from the subagent outputs, which come\n  from Dataslayer MCP data. No estimates, no approximations.\n- \"The one priority\" must be specific enough to act on without\n  a follow-up question. \"Improve retention\" is not a priority.\n  \"Pause the Europe PMax campaign and reallocate €2k/week to\n  the Spain campaign while the audience signals are reviewed\"\n  is a priority.\n- If two subagents return conflicting data about the same metric,\n  flag it explicitly — it usually means a tracking issue.\n- If conversion tracking is broken (form_submit counting as signup,\n  or no conversion event configured at all), this IS the #1 finding.\n  All other analysis is built on sand without reliable conversion data.\n  The one priority should be fixing tracking before optimising anything.\n- Write in the same language the user is using.\n- When Stripe data shows cancellations > active subs, do not bury this\n  in the retention section. This is a business survival issue that\n  should dominate \"This week's connection\" and \"The one priority\".\n\n---\n\n## Related skills\n\n- `ds-report-pdf` — to turn this analysis into a client-ready branded PDF\n- `ds-paid-audit` — for a deep-dive into paid campaigns only\n- `ds-channel-report` — for a lighter weekly digest without subagents\n- `ds-seo-weekly` — for a focused organic analysis\n- `ds-content-perf` — for a detailed content breakdown\n- `ds-churn-signals` — for a focused retention analysis","tags":["brain","marketing","skills","dataslayer-ai","agent-skills","analytics","claude-code","mcp","paid-media","seo"],"capabilities":["skill","source-dataslayer-ai","skill-ds-brain","topic-agent-skills","topic-analytics","topic-claude-code","topic-marketing","topic-mcp","topic-paid-media","topic-seo"],"categories":["Marketing-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Dataslayer-AI/Marketing-skills/ds-brain","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Dataslayer-AI/Marketing-skills","source_repo":"https://github.com/Dataslayer-AI/Marketing-skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (13,714 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T01:03:49.922Z","embedding":null,"createdAt":"2026-04-23T13:04:24.980Z","updatedAt":"2026-04-24T01:03:49.922Z","lastSeenAt":"2026-04-24T01:03:49.922Z","tsv":"'-3':1377 '/../../scripts/ds_utils.py':283,402,410,420,486,495,504,579,588,708,717 '/day':1371 '/dev/null':126 '/mcp)':807 '1':115,848,1005,1696,1712,1728,1744,1923 '10':449 '12':729,1787 '18':1554 '2':125,172,865,1008,1376,1701,1717,1733,1749 '28':464 '2k/week':1870 '3':442,538,635,756,771,882,970,1011,1078,1208,1706,1722,1738,1754 '30':362,1407,1577 '34':1575 '39':1369 '4':896,1462,1819 '5':1331 '50':613,816 '502':685 '90':550 'accept':938 'account':1288,1567 'account-level':1287 'acquir':1568 'acquisit':1115,1601 'across':1106 'act':1849 'action':1383,1633 'activ':46,654,743,899,1579,1960 'ad':383,810,1319,1373,1437 'addit':1691 'agent':226,353,355,358,457,460,543,546,640,643,963,972,1041,1073,1183,1193,1235,1244,1403 'agents/product-marketing-context.md':124 'aggreg':305,598 'algorithm':1586 'alreadi':1203 'alway':253 'amber':991,1486,1490,1494,1498 'amount':669,696,902,909 'analys':71 'analysi':16,830,927,1283,1308,1692,1927,1996,2036,2054 'anyth':1945 'app':525 'approxim':1840 'area':165,847,924,935 'argument':167,170 'ask':138,836 'aspirational/informational':1271 'asset':1428 'attent':1624 'attract':1163 'audienc':1166,1590,1877 'audit':2007 'auto':121 'auto-load':120 'automat':218,343,531,730,789 'avail':183,195,456,861,895,916 'averag':1789 'avoid':681 'b':773 'b2b':414 'base':1634 'blend':427 'block':980 'blog':887,1409,1423,1440 'brain':3,56 'brand':2002 'breakdown':859,2045 'bring':1132 'broken':1310,1907 'budget':1199,1214 'built':1929 'bullet':1682 'buri':1964 'busi':118,148,244,1459,1544,1973 'buyer':1170 'calcul':307,726,740 'campaign':308,376,380,384,405,433,851,1130,1432,1867,1874,2015 'cancel':672,676,682,747,912,1258,1959 'cat':123 'caus':684 'channel':45,72,530,829,889,1083,1522,1538,1639,2019 'charg':687,688,695,721,734 'chat':948 'cheaper':1589 'check':177,413,1311 'chief':60 'churn':157,750,1124,1239,1279,1607,2048 'classifi':512,605 'claud':280,399,407,417,483,492,501,576,585,705,714 'clean':600 'clear':98,1543 'click':534,855,873 'client':2000 'client-readi':1999 'code':690,908 'cohort':1583 'collect':1435 'combin':1526 'come':1411,1826,1832 'command':292,961 'compar':422,506,1174,1227 'compare-period':421,505 'comparison':312 'configur':1917 'conflict':1888 'connect':18,43,81,95,217,790,808,1084,1105,1304,1450,1503,1550,1612,1640,1982 'consol':468,869 'content':21,89,547,553,883,1038,1147,1161,1225,1230,1236,1250,1277,1399,1404,1492,1726,2039,2044 'content-to-churn':1276 'context':117,119,129,134,245 'convers':313,565,591,627,856,891,1148,1296,1314,1334,1353,1370,1382,1904,1915,1934 'convert':622 'could':1128 'count':631,745,748,1028,1037,1223,1910 'cpa':412,428,857,1121,1137,1329,1552 'cpa-check':411 'critic':445,541,638,759,1013,1015,1479 'cross':14,828,1082,1350,1415,1521,1638 'cross-channel':827,1081,1520,1637 'cross-funct':13 'cross-network':1414 'cross-refer':1349 'csv':940 'ctr':518,535,874 'current':255 'custom':210,691,693,910 'daili':372,429,858 'dashboard':1143 'data':192,300,367,374,472,648,778,798,832,841,1564,1836,1889,1935,1957 'dataset':334,955 'dataslay':180,214,369,474,556,652,792,803,1834 'dataslayer.ai':806 'dataslayer.ai/mcp)':805 'date':241,375,697,911,1470 'day':363,440,465,551,1355,1361,1578 'decis':37,112 'deep':2011 'deep-div':2010 'depend':633,1397 'describ':1515 'destroy':1145 'detail':2043 'detect':310,315,378,590,776,864,1782 'detect-convers':589 'determinist':323 'didn':1261 'differ':1537 'digest':2025 'dir':282,401,409,419,485,494,503,578,587,707,716 'direct':956,1213,1285 'dive':2012 'document':1448 'doesn':919 'domain':1019,1477,1676 'domain-specif':1018 'domin':1978 'drop':1122,1442,1553,1786 'ds':2,55,319,335,357,396,459,480,545,573,618,642,702,958,1182,1192,1234,1243,1402,1990,2005,2018,2029,2038,2047 'ds-agent-cont':544,1233,1401 'ds-agent-organ':458,1191 'ds-agent-paid':356,1181 'ds-agent-retent':641,1242 'ds-brain':1,54 'ds-channel-report':2017 'ds-churn-sign':2046 'ds-content-perf':2037 'ds-paid-audit':2004 'ds-report-pdf':1989 'ds-seo-week':2028 'e.g':998,1049,1368 'echo':127 'email':694 'empti':391 'enabl':862 'enforc':616 'engin':38,113 'enough':1847 'entir':800,1069,1343 'error':1053 'estim':1838 'eur':671 'euro':1598 'europ':1865 'even':1220,1453 'event':314,1315,1916 'eventnam':568 'everi':1449,1597,1823 'everyth':1298 'exampl':1546,1608,1783 'exclud':524 'exist':1295 'expect':1254,1264 'explain':1667 'explicit':1896 'extract':981,1057 'fail':686,1067 'failur':689,736,753,906,907 'feedback':683 'fetch':254,274,360,393,462,477,548,570,645,699 'field':983,1021 'file':130,332,347 'filter':735 'find':40,79,443,539,636,737,757,1003,1004,1007,1010,1079,1102,1387,1392,1452,1473,1674,1695,1700,1705,1711,1716,1721,1727,1732,1737,1743,1748,1753,1924 'finish':234 'first':176 'fix':1941 'flag':1290,1444,1894 'flat':1158 'focus':164,2034,2052 'follow':1046,1854 'follow-up':1853 'form':1336,1908 'format':342,939 'found':131,1524,1587 'four':221,764,846,923,1097,1528 'freeform':1055 'function':15,324 'ga4':470,498,522,558,582,594,813,876,884 'gap':1064,1149,1367 'genuin':1653 'glanc':1476 'good':1139 'googl':382,809,1318 'green':990,1485,1489,1493,1497 'group':656,673,890 'grow':1153 'growth':155 'handl':317,337 'happen':85 'health':647 'held':1791 'hidden':42 'high':1248 'high-traff':1247 'highest':1663 'icp':1135 'id':692 'ignor':1760 'impact':1460,1482,1665 'implic':1545 'import':147,248,1510,1771 'impress':533,854,872,1785 'improv':1620,1857 'includ':371 'individu':1090 'inform':1167 'inlin':296 'instal':202 'instead':949 'instruct':249,288 'intellig':52,66,1465,1468,1814 'interv':665,903 'invalid':1306 'investig':1807 'isol':74 'issu':446,542,639,760,1014,1016,1480,1802,1902,1975 'job':76 'json':339,942 'keep':1677 'key':995 'key-valu':994 'keyword':1201,1218 'land':880,1433 'landingpageplusquerystr':562 'languag':1950 'larg':333,346,1366 'last':361,463,549 'launch':173,219,348,951 'least':1535 'level':1289 'lighter':2023 'like':1559,1616 'line':988 'linkedin':812 'list':1644,1766 'load':122,136 'look':185,1103,1138,1558,1770 'loop':1117 'lost':1604 'low':1136 'lower':1576 'ltv':1146 'mani':439 'manual':777,797,835 'market':51,61,1467 'match':189,1216,1222,1263 'matter':1114 'maximum':1684 'may':204,389,1273 'mcp':181,215,265,327,370,475,557,653,775,793,804,1835 'mean':1129,1160,1421,1899 'media':366,850,1484,1694 'messag':781 'meta':811,1303 'meta-connect':1302 'metric':149,993,1893 'minut':819,1820 'mislead':1348 'miss':937 'month':1556 'mrr':154,306,727,746,1022,1481,1664 'must':611,1532,1540,1825,1844 'n':272 'name':199,211,662,680,852 'natur':190 'need':921,1623 'network':1416 'never':344 'new':152,1358,1378 'next':238 'nois':1775 'normal':1796 'note':933,1062,1281 'number':1699,1704,1709,1715,1720,1725,1731,1736,1741,1747,1752,1757,1824 'offend':739 'offic':62 'one':25,97,139,232,444,540,637,758,1072,1455,1504,1596,1626,1630,1632,1648,1660,1763,1842,1937,1985 'optimis':1944 'orchestr':53 'organ':20,88,461,471,607,614,624,626,866,877,1029,1151,1171,1188,1194,1210,1427,1488,1710,1784,2035 'organic/paid':603 'output':973,986,1043,1076,1108,1530,1689,1811,1830 'overlap':1173 'overrid':1389 'page':499,523,567,583,595,623,630,881,888,893,1036,1231,1251,1269,1434 'paid':19,87,359,365,450,632,849,1031,1034,1120,1142,1172,1177,1184,1198,1326,1344,1352,1396,1413,1418,1483,1551,1618,1693,2006,2014 'pair':997 'paragraph':1505,1765 'parallel':174,350 'pars':971 'partial':1221 'pass':162,239 'past':945 'path':212,526,772 'pattern':1112,1240,1292,1523,1798 'paus':309,379,435,863,1439,1863 'payment':752,905 'pdf':1992,2003 'per':201,1354,1360 'perf':2040 'perform':554,1345,1619 'period':256,259,311,423,507,1001,1572 'pick':1658 'pictur':1346 'pipelin':1280 'plan':661,664,668,679,901 'platform':817 'pmax':386,1866 'point':1683 'posit':875,1790 'present':1447 'previous':258 'prioriti':99,1627,1647,1657,1843,1862,1883,1938,1986 'problem':519 'proceed':768,967 'process':277,297,301,394,404,478,488,497,509,521,571,581,593,700,710,719,723,732,953 'process-campaign':403 'process-ga4-pages':496,520,580,592 'process-sc-queri':487,508 'process-stripe-charg':718,731 'process-stripe-sub':709,722 'proport':1443 'provid':834,840,931 'python':279,398,406,416,482,491,500,575,584,704,713 'queri':263,490,511,513,870,871,1189 'question':140,1856 'quick':515,1026 'rang':242,1471 'rank':1204,1456,1801 'rate':431,628,741,751,754,1580 'read':116,1822 'reader':1168 'readi':2001 'real':1323,1340 'realloc':1869 'reason':677,749,914,1259 'red':992,1487,1491,1495,1499 'reduct':158,1776 'refer':1351,1533 'regardless':269 'relat':1987 'reliabl':1933 'repeat':738 'report':107,1070,1327,1395,1405,1466,1469,1514,1815,1991,2020 'request':273,559 'result':329 'retent':23,91,644,897,1025,1116,1224,1245,1496,1563,1622,1742,1858,1968,2053 'return':266,390,424,532,620,742,766,976,1051,1074,1100,1887 'review':67,1880 'right':150 'rise':1126 'risk':1024 'row':268 'rule':1812 'run':63,430,788,824,925 'saa':415 'sand':1931 'save':328,1599 'sc':489,510 'script':298 'search':387,451,467,868,1032,1178,1419 'season':1797 'section':1511,1679,1969 'see':284 'sentenc':1631,1672 'seo':867,2030 'separ':262 'server':198 'session':560,878,885 'sessiondefaultchannelgroup':564 'set':801,1252 'short':1764 'show':779,1565,1958 'signal':1226,1781,1878,2049 'signific':1519 'signup':1156,1324,1341,1912 'simultan':223 'singl':145,1517,1671 'skill':6,281,400,408,418,484,493,502,577,586,706,715,1091,1988 'skill-ds-brain' 'skip':345,795 'source-dataslayer-ai' 'spain':1873 'specif':291,1020,1698,1703,1708,1714,1719,1724,1730,1735,1740,1746,1751,1756,1846 'spend':426,454,853,1000,1197,1805 'split':528,602 'star':610 'stars/zombies/hidden_gems/traffic_no_conv':608 'start':236 'status':659,904,987,989,1478 'steadi':1792 'step':114,171,770,799,969,1077,1088,1461 'strateg':12 'strip':303,596 'stripe':650,711,720,724,733,814,898,1357,1379,1956 'strong':1549 'structur':978,1048 'sub':655,712,725,744,1961 'subag':175,222,252,286,952,975,1098,1472,1529,1688,1829,1886,2027 'submit':1337,1909 'subscript':646,658,660,663,667,675,678,900,1359 'subscriptions/day':1380 'summari':33 'support':1673 'surviv':1974 'tabl':944 'take':1817 'term':388,452,1033,1179 'test':322 'text':979,1006,1009,1012,1017,1056,1219 'thing':1768 'three':1646,1681 'tie':1654 'time':1806 'tone':1809 'tool':108,188,196,227,354 'top':271,441,448,537,621,634,755,1030,1176,1187,1207,1229,1257,1267 'topic-agent-skills' 'topic-analytics' 'topic-claude-code' 'topic-marketing' 'topic-mcp' 'topic-paid-media' 'topic-seo' 'total':425,999 'track':1297,1901,1905,1942 'traffic':615,1152,1249,1268,1410,1441 'translat':93 'trend':373,536 'trial':153,1155 'tsv':341,941 'turn':1994 'twice':1605 'two':261,1536,1656,1885 'ultrathink':1094 'unexpect':1075 'unifi':26 'url':304,601 'use':4,168,224,351,666,965,1316,1954 'user':9,49,161,784,838,918,1952 'usual':1898 'util':320,336,397,481,574,619,703,959 'utm':302,597 'uuid':207 'valu':996 'valuabl':1779 'vari':200 'via':368,473,555,649 'view':27 'vs':1356 'wait':230,761 'want':10,785 'wast':1215 'weak':1454,1611 'week':32,65,102,1501,1629,1762,1980,2024,2031 'whatev':929 'whether':432 'win':516,1027,1561 'without':1851,1932,2026 'would':964 'write':295,1463,1615,1946 'wrong':1134,1165,1253,1385,1595 'x':1002 'year':728 'zombi':629,1035","prices":[{"id":"6df592ff-fc40-4cd3-9d8b-2346a810c1a9","listingId":"b325fc25-347a-44e1-97e7-f5e39651c613","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Dataslayer-AI","category":"Marketing-skills","install_from":"skills.sh"},"createdAt":"2026-04-23T13:04:24.980Z"}],"sources":[{"listingId":"b325fc25-347a-44e1-97e7-f5e39651c613","source":"github","sourceId":"Dataslayer-AI/Marketing-skills/ds-brain","sourceUrl":"https://github.com/Dataslayer-AI/Marketing-skills/tree/main/skills/ds-brain","isPrimary":false,"firstSeenAt":"2026-04-23T13:04:24.980Z","lastSeenAt":"2026-04-24T01:03:49.922Z"}],"details":{"listingId":"b325fc25-347a-44e1-97e7-f5e39651c613","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Dataslayer-AI","slug":"ds-brain","github":{"repo":"Dataslayer-AI/Marketing-skills","stars":9,"topics":["agent-skills","analytics","claude-code","marketing","mcp","paid-media","seo"],"license":"mit","html_url":"https://github.com/Dataslayer-AI/Marketing-skills","pushed_at":"2026-03-23T15:50:29Z","description":"Marketing agent skills powered by real data. Connect Claude Code to your actual Google Ads, GA4, Search Console, Meta Ads, LinkedIn Ads and 50+ platforms via Dataslayer MCP — no copy-pasting required.","skill_md_sha":"07ea825b675e1e8ad4aaf91992cad2719b1ee77e","skill_md_path":"skills/ds-brain/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Dataslayer-AI/Marketing-skills/tree/main/skills/ds-brain"},"layout":"multi","source":"github","category":"Marketing-skills","frontmatter":{"name":"ds-brain","description":"Use this skill when the user wants a strategic, cross-functional analysis that connects paid, organic, content, and retention into one unified view. This is NOT a weekly summary — it is a decision engine that finds the hidden connections between channels. Activate when the user says \"full marketing review\", \"how is everything doing\", \"weekly brain\", \"give me the full picture\", \"marketing intelligence report\", \"what should I focus on this week\", \"retention and acquisition together\", \"connect the dots across channels\", or any request that implies synthesizing all marketing dimensions into one strategic recommendation. Do NOT use for simple weekly overviews or single-channel questions — those belong to ds-channel-report or the individual channel skills. This skill launches parallel subagents. Works best with Dataslayer MCP connected. Also works with manual data."},"skills_sh_url":"https://skills.sh/Dataslayer-AI/Marketing-skills/ds-brain"},"updatedAt":"2026-04-24T01:03:49.922Z"}}