{"id":"50def0ff-1dca-451b-8c99-59fcef731091","shortId":"EAurvQ","kind":"skill","title":"mktg-setup","tagline":"First-run conversational setup wizard for marketing-cli. Use when /cmo detects no populated brand files and no cmo-preferences.md, when the user just installed marketing-cli for the first time, or when they say things like \"set up marketing\", \"start marketing\", \"marketing wizard\"","description":"# /mktg-setup — First-Run Conversational Setup\n\n## When This Runs\n\n`/cmo` invokes this skill automatically when both conditions are true:\n\n1. `brand/cmo-preferences.md` does not exist (or is template content), AND\n2. `mktg status --json` reports `brandSummary.populated < 3`.\n\nThe user typically never types `/mktg-setup`. They install marketing-cli (`npm i -g marketing-cli`), open Claude Code in any project directory, type `/cmo` (or just say \"help me with marketing\"), and `/cmo`'s activation routes here. The wizard is a conversational on-ramp, not a slash command users have to memorize.\n\n## What This Skill Does\n\nThree AskUserQuestion calls. That is the entire wizard. No batched questions, no progress bars, no long forms.\n\nEach answer becomes a persistent decision in `brand/cmo-preferences.md`. After question 3, hand off to `/cmo`'s foundation flow (3 research agents in parallel — see `cmo/rules/sub-agents.md`).\n\nThe wizard's job is to record the small set of decisions Claude cannot make for the user. Filling out the 10 brand files is `/cmo`'s job, not the wizard's.\n\n## On Activation\n\n1. Run `mktg status --json --fields project,brand,brandSummary` from the project root.\n2. If `brandSummary.populated >= 3` AND `cmo-preferences.md` doesn't exist: a returning user got upgraded to a version that introduced preferences. Tell them: \"I see you have a populated brand but no preferences file yet. I'll write one based on what's already here.\" Skip directly to step 3 (write preferences) using inferred defaults from existing brand files.\n3. If `cmo-preferences.md` already exists and is non-template: skip the wizard entirely. Hand back to `/cmo` immediately. Tell the user: \"Looks like you've already onboarded. Hand off to /cmo for your next move.\"\n4. Otherwise (genuine first run): proceed to Step 1.\n\n---\n\n## Step 1 — Ask: Identity\n\nStep 1 is a single-select question (1a) plus exactly one free-text follow-up (1b or 1c). Don't merge them and don't add extra prompts in between.\n\n### Step 1a — Setup mode\n\nUse AskUserQuestion. Single-select.\n\n**Question text:** \"How should we set up your brand?\"\n\n**Options:**\n- \"From a URL — I'll scrape your site to seed brand files (recommended if you have a website)\"\n- \"Local conversational setup — I'll ask a few questions instead\"\n- \"Pre-launch / open source / personal brand — describe in 1 sentence\"\n\nThe user's choice determines the follow-up:\n- **\"From a URL\"** → go to **Step 1b** (URL capture).\n- **\"Local conversational setup\"** OR **\"Pre-launch / open source / personal brand\"** → go to **Step 1c** (sentence capture).\n\n### Step 1b — URL capture (only if Step 1a = \"From a URL\")\n\nUse AskUserQuestion. Single-select with the \"Other\" free-text path (so the user can paste the URL inline).\n\n**Question text:** \"Paste your URL\"\n\n**Options:**\n- \"I'll paste the URL in the next message\" — the user types the URL in their next chat message.\n- (Use the built-in \"Other\" free-text option for inline URL entry — paste-and-go.)\n\nCapture the URL exactly as the user provides it. **Do NOT validate it inside the wizard** — no regex, no protocol check, no normalization. Pass the raw string straight to the CLI:\n\n```bash\nmktg init --from <url>\n```\n\n`mktg init --from` is the single source of truth for URL handling. If the URL is malformed, unreachable, or scrape-blocked, the CLI surfaces the error; the wizard relays that error to the user and falls back to the local sentence path (offer \"I'll describe it in one sentence instead\" without re-asking Step 1a).\n\nOn success, the scrape seeds `brand/voice-profile.md`, `brand/positioning.md`, `brand/audience.md`, and `brand/competitors.md`. Hold the captured URL and the \"scrape ran\" status (yes/no) for Step 5.\n\n### Step 1c — Sentence capture (only if Step 1a = \"Local conversational setup\" OR \"Pre-launch / open source / personal brand\")\n\nNo URL here — this is the deliberate no-URL path. Ask a single short follow-up:\n\n> \"Got it — describe what we're marketing in one sentence.\"\n\nCapture the response verbatim. Hold it as the seed for `brand/voice-profile.md` (it lands in the \"What we are\" section during Step 5 / foundation flow). Don't run `mktg init --from`; the foundation research agents fill the gaps.\n\n---\n\n## Step 2 — Ask: Posture\n\nUse AskUserQuestion. Single-select.\n\n**Question text:** \"What's the marketing posture you want?\"\n\n**Options:**\n- \"Aggressive launch\" — Product Hunt + Hacker News + X campaign blitz. Best for new product launches with momentum to capture.\n- \"Steady authority build\" — SEO + newsletter + slow-burn thought leadership. Best for long-game category ownership.\n- \"Founder-led / personal brand\" — voice-driven content, personality forward. Best when the founder IS the differentiator.\n- \"Product-led growth\" — free tier hooks, referrals, viral mechanics. Best when the product itself drives acquisition.\n\nThis is the single most important answer. It shapes which skills `/cmo` prioritizes downstream:\n\n| Posture | Skills /cmo prioritizes |\n|---|---|\n| aggressive-launch | `launch-strategy`, `startup-launcher`, `social-campaign`, `direct-response-copy` |\n| steady-authority | `seo-content`, `keyword-research`, `newsletter`, `ai-seo` |\n| founder-led | `brand-voice`, `voice-extraction`, `content-atomizer`, `mktg-x` |\n| product-led-growth | `free-tool-strategy`, `referral-program`, `lead-magnet`, `conversion-flow-cro` |\n\n---\n\n## Step 3 — Ask: Distribution\n\nUse AskUserQuestion. multiSelect = true.\n\n**Question text:** \"Which distribution channels should we wire up first?\"\n\n**Options:**\n- \"Typefully\" — X/Twitter and threads. Best for short-form and thread-first audiences.\n- \"Postiz\" — LinkedIn, Reddit, Bluesky, Mastodon, Threads, Instagram, TikTok, etc. (30+ providers via the postiz catalog).\n- \"Resend\" — transactional email and newsletter delivery.\n- \"Skip for now — I'll connect later\" — `/cmo` will use `--adapter file` for export until the user wires something up.\n\nMultiple selections are fine. If the user picks \"Skip\", record that explicitly — a deliberate skip is signal, not absence of data.\n\n---\n\n## Step 4 — Ask: Studio (beta)\n\nUse AskUserQuestion. Single-select.\n\n**Question text:** \"Want to use the Studio dashboard? (beta)\"\n\n**Options:**\n- \"Yes — auto-open the Studio at the end of setup (recommended)\" — `/cmo` will run `mktg studio` automatically at the end of foundation flow and on subsequent activations when the user says \"show me the dashboard.\"\n- \"No — keep me in the CLI only\" — `/cmo` will not auto-launch Studio. The user can still run `mktg studio` manually any time.\n\nWhy this question: Studio is in beta. Some users prefer pure CLI workflows (especially headless/agent-only environments). Recording the choice once means /cmo never nags later.\n\nIf the user picks \"No\", `/cmo` reads `studio_enabled: no` from preferences and skips the studio launch step in its foundation flow. If they later change their mind, they can edit `brand/cmo-preferences.md` directly or just say \"let's open studio\" and /cmo will respect the explicit ask.\n\n---\n\n## Step 5 — Write Preferences\n\nCreate `brand/cmo-preferences.md` with this shape:\n\n```markdown\n# CMO Preferences\n\n> Recorded by /mktg-setup on {ISO 8601 date}. Edit this file to change /cmo's runtime behavior.\n> /cmo reads this file on every activation and uses it to shape skill prioritization and distribution routing.\n\n## Identity\n\n- **What we're marketing**: {URL or one-sentence description from Step 1}\n- **Setup mode**: {from-url | local | pre-launch}\n- **URL**: {captured URL if Setup mode is from-url, otherwise omit this line}\n- **Scrape ran**: {yes if mktg init --from succeeded, no if from-url failed or mode is local/pre-launch}\n\n## Posture\n\n- **Mode**: {aggressive-launch | steady-authority | founder-led | product-led-growth}\n- **Why this mode**: {one-line rationale based on the user's choice — pull from the option description in Step 2}\n- **Skill priority shortlist**: {comma-separated list from the posture-to-skills mapping}\n\n## Distribution\n\n- **Selected**: {comma-separated list of selected platforms, or \"none\" if skipped}\n- **Skipped**: {whichever options weren't selected}\n- **Default adapter**: {typefully if X selected and only X | postiz if multi-platform | file if skipped}\n\n## Studio\n\n- **studio_enabled**: {yes | no}\n- **Beta**: yes (Studio is in beta — record the user's preference; /cmo respects this on every activation)\n- **Auto-open at end of setup**: {yes if studio_enabled is yes, no otherwise}\n\n## Notes\n\n- This file is the persistent contract. /cmo reads it on every activation.\n- To change preferences, edit this file directly OR ask Claude to \"re-run mktg setup\" (it will overwrite this file).\n```\n\nMake sure the directory exists before writing:\n\n```bash\ntest -d brand || mkdir -p brand\n```\n\n---\n\n## Step 6 — Hand Off to /cmo\n\nTell the user clearly what's happening next. Tailor the closing line to their Studio choice:\n\n- **studio_enabled = yes** → \"Recorded your preferences. Now I'm spawning 3 research agents in parallel — brand voice, audience, and competitors — to fill out your foundation. ~5 minutes. Then I'll auto-open the Studio dashboard.\"\n- **studio_enabled = no** → \"Recorded your preferences. Now I'm spawning 3 research agents in parallel — brand voice, audience, and competitors — to fill out your foundation. ~5 minutes. Studio stays off per your choice; I'll surface results in the CLI.\"\n\nThen invoke the foundation flow per `cmo/rules/sub-agents.md`:\n\n1. Spawn `mktg-brand-researcher` with the identity context from Step 1\n2. Spawn `mktg-audience-researcher` with the posture context from Step 2\n3. Spawn `mktg-competitive-scanner` with both\n\nWait for all 3, then chain:\n- `/landscape-scan` for ecosystem grounding\n- `/positioning-angles` to lock the angle\n- **If `studio_enabled` is `yes`**: run `mktg studio` to auto-open the dashboard with the populated state.\n- **If `studio_enabled` is `no`**: skip the Studio launch. Print a one-line summary of what was populated and the next recommended skill in the CLI. Tell the user: \"Studio's off per your preference. If you change your mind, edit `brand/cmo-preferences.md` or just say 'open studio'.\"\n\n---\n\n## Anti-Patterns\n\n| Anti-pattern | Instead | Why |\n|---|---|---|\n| Asking more than 3 questions in the wizard | Stop at 3 — hand off to /cmo for the rest | More questions = abandonment. /cmo's research agents fill the rest in 5 minutes via real research. |\n| Asking for a URL before letting the user pick a setup mode | Always ask Step 1a (setup mode) first, then branch to Step 1b (URL) or Step 1c (sentence) | URL is just one of three paths. Pre-launch / open-source / personal-brand users don't have a URL yet, and the local conversational path bypasses the scrape entirely. Forcing a URL up front blocks them. |\n| Validating the URL inside the wizard (regex, http vs https, \"is this real?\") | Pass the raw string straight to `mktg init --from <url>` and let the CLI handle malformed inputs | The CLI already returns structured errors for bad URLs. Re-validating in the wizard duplicates logic, drifts from the CLI, and frustrates users who paste valid-but-unusual URLs. |\n| Silently routing to brand-voice / audience-research before recording preferences | Always record `cmo-preferences.md` FIRST | Without it, every future `/cmo` activation re-runs the wizard. The preferences file is the contract that prevents that. |\n| Skipping the wizard if voice-profile.md exists but cmo-preferences.md doesn't | Run the wizard regardless of other brand files (use the migration path in step 2) | `cmo-preferences.md` is the persistent contract — separate from brand content. A user who upgraded from pre-mktg-setup needs to record their posture explicitly. |\n| Treating \"Skip distribution\" as missing data | Record the skip explicitly as `selected: none` and `default_adapter: file` | A deliberate skip is signal. The user told us not to wire anything yet — respect that. |\n| Spawning research agents BEFORE writing cmo-preferences.md | Always write the file first | If the user kills the conversation mid-research, we lose the preferences. The file write is the savepoint. |\n| Letting the user re-run the wizard accidentally | After writing the file, /cmo on the next activation will see it and skip the wizard | This is the whole point of the persistent contract. /cmo only re-routes here when the file is missing. |\n\n---\n\n## Iteration / Re-Running\n\nThe user can change their preferences three ways:\n\n1. **Edit `brand/cmo-preferences.md` directly** — it's just markdown.\n2. **Ask Claude**: \"I want to change my marketing posture\" — `/cmo` will re-route here, overwriting the file.\n3. **Future**: `mktg setup --force` (CLI flag, not yet implemented at v0.5.0; tracked for a future release).\n\n---\n\n## Dependencies\n\n- Reads: `mktg status --json`, optionally URL via `mktg init --from <url>`.\n- Writes: `brand/cmo-preferences.md` (new). Optionally seeds `brand/voice-profile.md` if the user provided a sentence in Step 1.\n- Hands off to: `/cmo` foundation flow (which spawns the 3 research agents and chains `/landscape-scan` → `/positioning-angles` → `mktg studio`).","tags":["mktg","setup","marketing","cli","moizibnyousaf","agent-skills","ai-agents","ai-marketing","brand-memory","brand-voice","claude-code","claude-code-skills"],"capabilities":["skill","source-moizibnyousaf","skill-mktg-setup","topic-agent-skills","topic-ai-agents","topic-ai-marketing","topic-brand-memory","topic-brand-voice","topic-claude-code","topic-claude-code-skills","topic-cli","topic-cmo","topic-marketing-automation","topic-marketing-cli","topic-seo"],"categories":["marketing-cli"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/MoizIbnYousaf/marketing-cli/mktg-setup","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add MoizIbnYousaf/marketing-cli","source_repo":"https://github.com/MoizIbnYousaf/marketing-cli","install_from":"skills.sh"}},"qualityScore":"0.459","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 18 github stars · SKILL.md body (13,089 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-05-18T19:05:50.799Z","embedding":null,"createdAt":"2026-05-04T19:06:14.597Z","updatedAt":"2026-05-18T19:05:50.799Z","lastSeenAt":"2026-05-18T19:05:50.799Z","tsv":"'/cmo':16,59,111,120,176,212,309,323,841,846,971,1037,1068,1106,1115,1151,1181,1185,1359,1387,1433,1670,1677,1838,1979,2000,2041,2096 '/landscape-scan':1573,2107 '/mktg-setup':50,91,1171 '/positioning-angles':1577,2108 '1':69,221,336,338,342,430,1215,1533,1545,2023,2092 '10':208 '1a':349,375,474,633,664,1705 '1b':359,447,468,1713 '1c':361,464,658,1717 '2':79,234,742,1292,1546,1558,1878,2031 '3':85,172,180,237,282,292,911,1460,1496,1559,1570,1659,1666,2050,2102 '30':952 '4':328,1006 '5':656,725,1158,1475,1511,1685 '6':1429 '8601':1174 'abandon':1676 'absenc':1002 'accident':1974 'acquisit':829 'activ':122,220,1052,1191,1364,1392,1839,1983 'adapt':974,1327,1918 'add':369 'agent':182,737,1462,1498,1680,1938,2104 'aggress':760,849,1260 'aggressive-launch':848,1259 'ai':875 'ai-seo':874 'alreadi':276,295,318,1789 'alway':1702,1830,1942 'angl':1581 'answer':163,836 'anti':1649,1652 'anti-pattern':1648,1651 'anyth':1932 'ask':339,416,631,687,743,912,1007,1156,1401,1656,1690,1703,2032 'askuserquest':146,379,479,746,915,1011 'atom':888 'audienc':942,1467,1503,1550,1825 'audience-research':1824 'author':779,866,1264 'auto':1027,1072,1366,1481,1592 'auto-launch':1071 'auto-open':1026,1365,1480,1591 'automat':63,1042 'back':307,613 'bad':1794 'bar':158 'base':272,1279 'bash':572,1421 'batch':154 'becom':164 'behavior':1184 'best':769,788,806,823,933 'beta':1009,1023,1091,1348,1353 'blitz':768 'block':597,1756 'blueski':946 'branch':1710 'brand':20,209,228,262,290,391,403,427,460,675,799,881,1424,1427,1465,1501,1537,1734,1822,1870,1886 'brand-voic':880,1821 'brand/audience.md':641 'brand/cmo-preferences.md':70,169,1141,1162,1642,2025,2079 'brand/competitors.md':643 'brand/positioning.md':640 'brand/voice-profile.md':639,714,2083 'brandsummari':229 'brandsummary.populated':84,236 'build':780 'built':526 'built-in':525 'burn':785 'bypass':1747 'call':147 'campaign':767,859 'cannot':200 'captur':449,466,470,541,646,660,704,777,1226 'catalog':957 'categori':793 'chain':1572,2106 'chang':1135,1180,1394,1638,2018,2037 'channel':922 'chat':521 'check':561 'choic':435,1103,1284,1449,1518 'claud':104,199,1402,2033 'clear':1437 'cli':13,32,96,102,571,599,1066,1096,1525,1626,1783,1788,1807,2055 'close':1444 'cmo':1167 'cmo-preferences.md':24,239,294,1832,1861,1879,1941 'cmo/rules/sub-agents.md':186,1532 'code':105 'comma':1297,1310 'comma-separ':1296,1309 'command':136 'competit':1563 'competitor':1469,1505 'condit':66 'connect':969 'content':77,803,869,887,1887 'content-atom':886 'context':1542,1555 'contract':1386,1850,1883,1999 'convers':7,54,129,412,451,666,907,1745,1952 'conversion-flow-cro':906 'copi':863 'creat':1161 'cro':909 'd':1423 'dashboard':1022,1060,1485,1595 'data':1004,1908 'date':1175 'decis':167,198 'default':287,1326,1917 'deliber':682,997,1921 'deliveri':963 'depend':2067 'describ':428,622,696 'descript':1212,1289 'detect':17 'determin':436 'differenti':812 'direct':279,861,1142,1399,2026 'direct-response-copi':860 'directori':109,1417 'distribut':913,921,1200,1307,1905 'doesn':240,1862 'downstream':843 'drift':1804 'drive':828 'driven':802 'duplic':1802 'ecosystem':1575 'edit':1140,1176,1396,1641,2024 'email':960 'enabl':1118,1345,1375,1451,1487,1584,1602 'end':1033,1045,1369 'entir':151,305,1750 'entri':536 'environ':1100 'error':602,607,1792 'especi':1098 'etc':951 'everi':1190,1363,1391,1836 'exact':351,544 'exist':73,242,289,296,1418,1859 'explicit':995,1155,1902,1912 'export':977 'extra':370 'extract':885 'fail':1252 'fall':612 'field':226 'file':21,210,266,291,404,975,1178,1188,1340,1382,1398,1413,1847,1871,1919,1945,1961,1978,2008,2049 'fill':205,738,1471,1507,1681 'fine':987 'first':5,35,52,331,927,941,1708,1833,1946 'first-run':4,51 'flag':2056 'flow':179,727,908,1048,1131,1530,2098 'follow':357,439,692 'follow-up':356,438,691 'forc':1751,2054 'form':161,937 'forward':805 'foundat':178,726,735,1047,1130,1474,1510,1529,2097 'founder':796,809,878,1266 'founder-l':795,877,1265 'free':354,487,530,817,897 'free-text':353,486,529 'free-tool-strategi':896 'from-url':1218,1232,1249 'front':1755 'frustrat':1809 'futur':1837,2051,2065 'g':99 'game':792 'gap':740 'genuin':330 'go':444,461,540 'got':246,694 'ground':1576 'growth':816,895,1271 'hacker':764 'hand':173,306,320,1430,1667,2093 'handl':587,1784 'happen':1440 'headless/agent-only':1099 'help':115 'hold':644,708 'hook':819 'http':1765 'https':1767 'hunt':763 'ident':340,1202,1541 'immedi':310 'implement':2059 'import':835 'infer':286 'init':574,577,732,1244,1778,2076 'inlin':497,534 'input':1786 'insid':554,1761 'instagram':949 'instal':29,93 'instead':420,627,1654 'introduc':252 'invok':60,1527 'iso':1173 'iter':2011 'job':190,214 'json':82,225,2071 'keep':1062 'keyword':871 'keyword-research':870 'kill':1950 'land':716 'later':970,1109,1134 'launch':423,456,671,761,773,850,852,1073,1126,1224,1261,1608,1728 'launch-strategi':851 'launcher':856 'lead':904 'lead-magnet':903 'leadership':787 'led':797,815,879,894,1267,1270 'let':1146,1695,1781,1966 'like':42,315 'line':1238,1277,1445,1613 'linkedin':944 'list':1299,1312 'll':269,397,415,505,621,968,1479,1520 'local':411,450,616,665,1221,1744 'local/pre-launch':1256 'lock':1579 'logic':1803 'long':160,791 'long-gam':790 'look':314 'lose':1957 'm':1458,1494 'magnet':905 'make':201,1414 'malform':592,1785 'manual':1082 'map':1306 'markdown':1166,2030 'market':12,31,45,47,48,95,101,118,700,755,1206,2039 'marketing-c':11,30,94,100 'mastodon':947 'mean':1105 'mechan':822 'memor':140 'merg':364 'messag':512,522 'mid':1954 'mid-research':1953 'migrat':1874 'mind':1137,1640 'minut':1476,1512,1686 'miss':1907,2010 'mkdir':1425 'mktg':2,80,223,573,576,731,890,1040,1080,1243,1407,1536,1549,1562,1588,1777,1895,2052,2069,2075,2109 'mktg-audience-research':1548 'mktg-brand-research':1535 'mktg-competitive-scann':1561 'mktg-setup':1 'mktg-x':889 'mode':377,1217,1230,1254,1258,1274,1701,1707 'momentum':775 'move':327 'multi':1338 'multi-platform':1337 'multipl':984 'multiselect':916 'nag':1108 'need':1897 'never':89,1107 'new':771,2080 'news':765 'newslett':782,873,962 'next':326,511,520,1441,1621,1982 'no-url':683 'non':300 'non-templ':299 'none':1317,1915 'normal':563 'note':1380 'npm':97 'offer':619 'omit':1236 'on-ramp':130 'onboard':319 'one':271,352,625,702,1210,1276,1612,1722 'one-lin':1275,1611 'one-sent':1209 'open':103,424,457,672,1028,1148,1367,1482,1593,1646,1730 'open-sourc':1729 'option':392,503,532,759,928,1024,1288,1322,2072,2081 'otherwis':329,1235,1379 'overwrit':1411,2047 'ownership':794 'p':1426 'parallel':184,1464,1500 'pass':564,1771 'past':494,500,506,538,1812 'paste-and-go':537 'path':489,618,686,1725,1746,1875 'pattern':1650,1653 'per':1516,1531,1633 'persist':166,1385,1882,1998 'person':426,459,674,798,804,1733 'personal-brand':1732 'pick':991,1113,1698 'platform':1315,1339 'plus':350 'point':1995 'popul':19,261,1598,1618 'postiz':943,956,1335 'postur':744,756,844,1257,1303,1554,1901,2040 'posture-to-skil':1302 'pre':422,455,670,1223,1727,1894 'pre-launch':421,454,669,1222,1726 'pre-mktg-setup':1893 'prefer':253,265,284,1094,1121,1160,1168,1358,1395,1455,1491,1635,1829,1846,1959,2020 'prevent':1852 'print':1609 'priorit':842,847,1198 'prioriti':1294 'proceed':333 'product':762,772,814,826,893,1269 'product-l':813 'product-led-growth':892,1268 'program':902 'progress':157 'project':108,227,232 'prompt':371 'protocol':560 'provid':548,953,2087 'pull':1285 'pure':1095 'question':155,171,348,383,419,498,750,918,1015,1087,1660,1675 'ramp':132 'ran':651,1240 'rational':1278 'raw':566,1773 're':630,699,1205,1405,1797,1841,1970,2003,2013,2044 're-ask':629 're-rout':2002,2043 're-run':1404,1840,1969,2012 're-valid':1796 'read':1116,1186,1388,2068 'real':1688,1770 'recommend':405,1036,1622 'record':193,993,1101,1169,1354,1453,1489,1828,1831,1899,1909 'reddit':945 'referr':820,901 'referral-program':900 'regardless':1867 'regex':558,1764 'relay':605 'releas':2066 'report':83 'research':181,736,872,1461,1497,1538,1551,1679,1689,1826,1937,1955,2103 'resend':958 'respect':1153,1360,1934 'respons':706,862 'rest':1673,1683 'result':1522 'return':244,1790 'root':233 'rout':123,1201,1819,2004,2045 'run':6,53,58,222,332,730,1039,1079,1406,1587,1842,1864,1971,2014 'runtim':1183 'savepoint':1965 'say':40,114,1056,1145,1645 'scanner':1564 'scrape':398,596,637,650,1239,1749 'scrape-block':595 'section':722 'see':185,257,1985 'seed':402,638,712,2082 'select':347,382,482,749,985,1014,1308,1314,1325,1331,1914 'sentenc':431,465,617,626,659,703,1211,1718,2089 'seo':781,868,876 'seo-cont':867 'separ':1298,1311,1884 'set':43,196,388 'setup':3,8,55,376,413,452,667,1035,1216,1229,1371,1408,1700,1706,1896,2053 'shape':838,1165,1196 'short':690,936 'short-form':935 'shortlist':1295 'show':1057 'signal':1000,1924 'silent':1818 'singl':346,381,481,581,689,748,833,1013 'single-select':345,380,480,747,1012 'site':400 'skill':62,143,840,845,1197,1293,1305,1623 'skill-mktg-setup' 'skip':278,302,964,992,998,1123,1319,1320,1342,1605,1854,1904,1911,1922,1988 'slash':135 'slow':784 'slow-burn':783 'small':195 'social':858 'social-campaign':857 'someth':982 'sourc':425,458,582,673,1731 'source-moizibnyousaf' 'spawn':1459,1495,1534,1547,1560,1936,2100 'start':46 'startup':855 'startup-launch':854 'state':1599 'status':81,224,652,2070 'stay':1514 'steadi':778,865,1263 'steady-author':864,1262 'step':281,335,337,341,374,446,463,467,473,632,655,657,663,724,741,910,1005,1127,1157,1214,1291,1428,1544,1557,1704,1712,1716,1877,2091 'still':1078 'stop':1664 'straight':568,1775 'strategi':853,899 'string':567,1774 'structur':1791 'studio':1008,1021,1030,1041,1074,1081,1088,1117,1125,1149,1343,1344,1350,1374,1448,1450,1484,1486,1513,1583,1589,1601,1607,1630,1647,2110 'subsequ':1051 'succeed':1246 'success':635 'summari':1614 'sure':1415 'surfac':600,1521 'tailor':1442 'tell':254,311,1434,1627 'templat':76,301 'test':1422 'text':355,384,488,499,531,751,919,1016 'thing':41 'thought':786 'thread':932,940,948 'thread-first':939 'three':145,1724,2021 'tier':818 'tiktok':950 'time':36,1084 'told':1927 'tool':898 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-marketing' 'topic-brand-memory' 'topic-brand-voice' 'topic-claude-code' 'topic-claude-code-skills' 'topic-cli' 'topic-cmo' 'topic-marketing-automation' 'topic-marketing-cli' 'topic-seo' 'track':2062 'transact':959 'treat':1903 'true':68,917 'truth':584 'type':90,110,515,929,1328 'typic':88 'unreach':593 'unusu':1816 'upgrad':247,1891 'url':395,443,448,469,477,496,502,508,517,535,543,586,590,647,677,685,1207,1220,1225,1227,1234,1251,1693,1714,1719,1740,1753,1760,1795,1817,2073 'us':1928 'use':14,285,378,478,523,745,914,973,1010,1019,1193,1872 'user':27,87,137,204,245,313,433,492,514,547,610,980,990,1055,1076,1093,1112,1282,1356,1436,1629,1697,1735,1810,1889,1926,1949,1968,2016,2086 'v0.5.0':2061 'valid':552,1758,1798,1814 'valid-but-unusu':1813 've':317 'verbatim':707 'version':250 'via':954,1687,2074 'viral':821 'voic':801,882,884,1466,1502,1823 'voice-driven':800 'voice-extract':883 'voice-profile.md':1858 'vs':1766 'wait':1567 'want':758,1017,2035 'way':2022 'websit':410 'weren':1323 'whichev':1321 'whole':1994 'wire':925,981,1931 'without':628,1834 'wizard':9,49,126,152,188,217,304,556,604,1663,1763,1801,1844,1856,1866,1973,1990 'workflow':1097 'write':270,283,1159,1420,1940,1943,1962,1976,2078 'x':766,891,1330,1334 'x/twitter':930 'yes':1025,1241,1346,1349,1372,1377,1452,1586 'yes/no':653 'yet':267,1741,1933,2058","prices":[{"id":"7ac4d15e-ac27-4de1-85cb-345430f251ec","listingId":"50def0ff-1dca-451b-8c99-59fcef731091","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"MoizIbnYousaf","category":"marketing-cli","install_from":"skills.sh"},"createdAt":"2026-05-04T19:06:14.597Z"}],"sources":[{"listingId":"50def0ff-1dca-451b-8c99-59fcef731091","source":"github","sourceId":"MoizIbnYousaf/marketing-cli/mktg-setup","sourceUrl":"https://github.com/MoizIbnYousaf/marketing-cli/tree/main/skills/mktg-setup","isPrimary":false,"firstSeenAt":"2026-05-04T19:06:14.597Z","lastSeenAt":"2026-05-18T19:05:50.799Z"}],"details":{"listingId":"50def0ff-1dca-451b-8c99-59fcef731091","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MoizIbnYousaf","slug":"mktg-setup","github":{"repo":"MoizIbnYousaf/marketing-cli","stars":18,"topics":["agent-skills","ai-agents","ai-marketing","brand-memory","brand-voice","claude-code","claude-code-skills","cli","cmo","marketing-automation","marketing-cli","seo","skills-sh","typescript"],"license":"mit","html_url":"https://github.com/MoizIbnYousaf/marketing-cli","pushed_at":"2026-05-13T21:06:05Z","description":"Agent-native marketing cli: 51 skills, 5 research agents, brand memory that compounds, plus a local Studio dashboard (beta). single agent-native cli, then /cmo in ur coding agent..","skill_md_sha":"5c02eabe950b424a0e3d472f2ff2f4262e6b3c33","skill_md_path":"skills/mktg-setup/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MoizIbnYousaf/marketing-cli/tree/main/skills/mktg-setup"},"layout":"multi","source":"github","category":"marketing-cli","frontmatter":{"name":"mktg-setup","description":"First-run conversational setup wizard for marketing-cli. Use when /cmo detects no populated brand files and no cmo-preferences.md, when the user just installed marketing-cli for the first time, or when they say things like \"set up marketing\", \"start marketing\", \"marketing wizard\", \"I just installed marketing-cli\", \"onboard me\", \"first time\", \"initial setup\". Asks 3 sharp questions (identity, posture, distribution preferences), records the answers to brand/cmo-preferences.md, then hands off to /cmo's foundation flow which spawns 3 research agents in parallel. The user never has to type /mktg-setup directly — /cmo auto-routes here on first run."},"skills_sh_url":"https://skills.sh/MoizIbnYousaf/marketing-cli/mktg-setup"},"updatedAt":"2026-05-18T19:05:50.799Z"}}