[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MWBCR362BTCATNA1EEW16D":3,"skill-same:01M6MWBCR362BTCATNA1EEW16D":62},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6MWBCR362BTCATNA1EEW16D","forbotsake-upgrade",null,"Upgrade forbotsake to the latest version. Detects install type (git clone\nvs vendored), runs the upgrade, and shows what's new.\nUse when: \"upgrade forbotsake\", \"update forbotsake\", \"get latest version\",\n\"forbotsake update\".","forbotsake\u002Fforbotsake","forbotsake","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F273708741?v=4","01M6MW9A04DY7WQBA8YF96SVJE","01M6MW9A47HYRVBBQ642740E75",5,"MIT","https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fforbotsake-upgrade\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29],"upgrade","forbotsake upgrade","update","git","install","use","version","git clone","get","type","latest","clone","2026-11-10 10:12:30",false,"---\nname: forbotsake-upgrade\ndescription: |\n  Upgrade forbotsake to the latest version. Detects install type (git clone\n  vs vendored), runs the upgrade, and shows what's new.\n  Use when: \"upgrade forbotsake\", \"update forbotsake\", \"get latest version\",\n  \"forbotsake update\".\n---\n\n# \u002Fforbotsake-upgrade\n\nUpgrade forbotsake to the latest version and show what changed.\n\n## Inline upgrade flow\n\nThis section is referenced by all skill preambles when they detect `UPGRADE_AVAILABLE`.\n\n### Step 1: Ask the user (or auto-upgrade)\n\nCheck if auto-upgrade is enabled:\n```bash\nFORBOTSAKE_HOME=\"${FORBOTSAKE_HOME:-$HOME\u002F.forbotsake}\"\n_AUTO=\"\"\n[ -f \"$FORBOTSAKE_HOME\u002Fconfig.yaml\" ] && _AUTO=$(grep \"^auto_upgrade:\" \"$FORBOTSAKE_HOME\u002Fconfig.yaml\" 2>\u002Fdev\u002Fnull | awk '{print $2}' || true)\necho \"AUTO_UPGRADE=$_AUTO\"\n```\n\n**If `AUTO_UPGRADE=true`:** Skip direct conversation with the user. Log \"Auto-upgrading forbotsake...\" and proceed to Step 2.\n\n**Otherwise**, ask the user directly in conversation:\n- Question: \"forbotsake **v{new}** is available (you're on v{old}). Upgrade now?\"\n- Options: A) Yes, upgrade now B) Always keep me up to date C) Not now D) Never ask again\n\n**If A:** Proceed to Step 2.\n\n**If B:**\n```bash\nmkdir -p \"$FORBOTSAKE_HOME\"\necho \"auto_upgrade: true\" >> \"$FORBOTSAKE_HOME\u002Fconfig.yaml\"\n```\nThen proceed to Step 2.\n\n**If C:** Write snooze state:\n```bash\n_SNOOZE_FILE=\"$FORBOTSAKE_HOME\u002Fupdate-snoozed\"\n_REMOTE_VER=\"{new}\"\n_CUR_LEVEL=0\nif [ -f \"$_SNOOZE_FILE\" ]; then\n  _SNOOZED_VER=$(awk '{print $1}' \"$_SNOOZE_FILE\")\n  if [ \"$_SNOOZED_VER\" = \"$_REMOTE_VER\" ]; then\n    _CUR_LEVEL=$(awk '{print $2}' \"$_SNOOZE_FILE\")\n  fi\nfi\n_NEW_LEVEL=$((_CUR_LEVEL + 1))\n[ \"$_NEW_LEVEL\" -gt 3 ] && _NEW_LEVEL=3\necho \"$_REMOTE_VER $_NEW_LEVEL $(date +%s)\" > \"$_SNOOZE_FILE\"\n```\nTell user the snooze duration. Continue with the current skill.\n\n**If D:**\n```bash\nmkdir -p \"$FORBOTSAKE_HOME\"\necho \"update_check: false\" >> \"$FORBOTSAKE_HOME\u002Fconfig.yaml\"\n```\nTell user update checks are disabled.\n\n### Step 2: Detect install type\n\n```bash\n_SKILL_DIR=$(find $HOME\u002F.codex\u002Fskills -path \"*\u002Fforbotsake-upgrade\u002FSKILL.md\" -type f 2>\u002Fdev\u002Fnull | head -1)\nINSTALL_DIR=$(cd \"$(dirname \"$_SKILL_DIR\")\u002F..\" && pwd)\n\nif [ -d \"$INSTALL_DIR\u002F.git\" ]; then\n  INSTALL_TYPE=\"git\"\nelse\n  INSTALL_TYPE=\"vendored\"\nfi\necho \"Install type: $INSTALL_TYPE at $INSTALL_DIR\"\n```\n\n### Step 3: Save old version\n\n```bash\nOLD_VERSION=$(cat \"$INSTALL_DIR\u002FVERSION\" 2>\u002Fdev\u002Fnull || echo \"unknown\")\necho \"Old version: $OLD_VERSION\"\n```\n\n### Step 4: Upgrade\n\n**For git installs:**\n```bash\ncd \"$INSTALL_DIR\"\nSTASH_OUTPUT=$(git stash 2>&1)\ngit fetch origin\ngit reset --hard origin\u002Fmain\necho \"$OLD_VERSION\" > \"$FORBOTSAKE_HOME\u002Fjust-upgraded-from\"\n```\n\nIf `$STASH_OUTPUT` contains \"Saved working directory\", warn: \"Local changes were stashed.\"\n\n**For vendored installs:**\n```bash\nTMP_DIR=$(mktemp -d)\ngit clone --depth 1 https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake.git \"$TMP_DIR\u002Fforbotsake\"\nmv \"$INSTALL_DIR\" \"$INSTALL_DIR.bak\"\nmv \"$TMP_DIR\u002Fforbotsake\" \"$INSTALL_DIR\"\necho \"$OLD_VERSION\" > \"$FORBOTSAKE_HOME\u002Fjust-upgraded-from\"\nrm -rf \"$INSTALL_DIR.bak\" \"$TMP_DIR\"\n```\n\n### Step 5: Show what's new\n\n```bash\nNEW_VERSION=$(cat \"$INSTALL_DIR\u002FVERSION\" 2>\u002Fdev\u002Fnull || echo \"unknown\")\necho \"Upgraded: $OLD_VERSION → $NEW_VERSION\"\n```\n\nRead `$INSTALL_DIR\u002FCHANGELOG.md` and show the entries between old and new version.\n\nTell the user: \"forbotsake upgraded to v{new}. Here's what changed: ...\"\n\n### Step 6: Refresh symlinks\n\nAfter upgrading, refresh symlinks to pick up any new skills added in the new version:\n\n```bash\nbash \"$INSTALL_DIR\u002Fbin\u002Fsync-links.sh\"\n```\n\n### Step 7: Verify\n\n```bash\n# Verify installation health\nbash \"$INSTALL_DIR\u002Fbin\u002Fsync-links.sh\" --check\n```\n\nIf the check reports missing skills, re-run `bash \"$INSTALL_DIR\u002Fbin\u002Fsync-links.sh\"` to repair.\nIf that fails, suggest reinstalling: `bash \"$INSTALL_DIR\u002Fbin\u002Finstall.sh\"`\n","# \u002Fforbotsake-upgrade\n\nUpgrade forbotsake to the latest version and show what changed.\n\n## Inline upgrade flow\n\nThis section is referenced by all skill preambles when they detect `UPGRADE_AVAILABLE`.\n\n### Step 1: Ask the user (or auto-upgrade)\n\nCheck if auto-upgrade is enabled:\n```bash\nFORBOTSAKE_HOME=\"${FORBOTSAKE_HOME:-$HOME\u002F.forbotsake}\"\n_AUTO=\"\"\n[ -f \"$FORBOTSAKE_HOME\u002Fconfig.yaml\" ] && _AUTO=$(grep \"^auto_upgrade:\" \"$FORBOTSAKE_HOME\u002Fconfig.yaml\" 2>\u002Fdev\u002Fnull | awk '{print $2}' || true)\necho \"AUTO_UPGRADE=$_AUTO\"\n```\n\n**If `AUTO_UPGRADE=true`:** Skip direct conversation with the user. Log \"Auto-upgrading forbotsake...\" and proceed to Step 2.\n\n**Otherwise**, ask the user directly in conversation:\n- Question: \"forbotsake **v{new}** is available (you're on v{old}). Upgrade now?\"\n- Options: A) Yes, upgrade now B) Always keep me up to date C) Not now D) Never ask again\n\n**If A:** Proceed to Step 2.\n\n**If B:**\n```bash\nmkdir -p \"$FORBOTSAKE_HOME\"\necho \"auto_upgrade: true\" >> \"$FORBOTSAKE_HOME\u002Fconfig.yaml\"\n```\nThen proceed to Step 2.\n\n**If C:** Write snooze state:\n```bash\n_SNOOZE_FILE=\"$FORBOTSAKE_HOME\u002Fupdate-snoozed\"\n_REMOTE_VER=\"{new}\"\n_CUR_LEVEL=0\nif [ -f \"$_SNOOZE_FILE\" ]; then\n  _SNOOZED_VER=$(awk '{print $1}' \"$_SNOOZE_FILE\")\n  if [ \"$_SNOOZED_VER\" = \"$_REMOTE_VER\" ]; then\n    _CUR_LEVEL=$(awk '{print $2}' \"$_SNOOZE_FILE\")\n  fi\nfi\n_NEW_LEVEL=$((_CUR_LEVEL + 1))\n[ \"$_NEW_LEVEL\" -gt 3 ] && _NEW_LEVEL=3\necho \"$_REMOTE_VER $_NEW_LEVEL $(date +%s)\" > \"$_SNOOZE_FILE\"\n```\nTell user the snooze duration. Continue with the current skill.\n\n**If D:**\n```bash\nmkdir -p \"$FORBOTSAKE_HOME\"\necho \"update_check: false\" >> \"$FORBOTSAKE_HOME\u002Fconfig.yaml\"\n```\nTell user update checks are disabled.\n\n### Step 2: Detect install type\n\n```bash\n_SKILL_DIR=$(find $HOME\u002F.codex\u002Fskills -path \"*\u002Fforbotsake-upgrade\u002FSKILL.md\" -type f 2>\u002Fdev\u002Fnull | head -1)\nINSTALL_DIR=$(cd \"$(dirname \"$_SKILL_DIR\")\u002F..\" && pwd)\n\nif [ -d \"$INSTALL_DIR\u002F.git\" ]; then\n  INSTALL_TYPE=\"git\"\nelse\n  INSTALL_TYPE=\"vendored\"\nfi\necho \"Install type: $INSTALL_TYPE at $INSTALL_DIR\"\n```\n\n### Step 3: Save old version\n\n```bash\nOLD_VERSION=$(cat \"$INSTALL_DIR\u002FVERSION\" 2>\u002Fdev\u002Fnull || echo \"unknown\")\necho \"Old version: $OLD_VERSION\"\n```\n\n### Step 4: Upgrade\n\n**For git installs:**\n```bash\ncd \"$INSTALL_DIR\"\nSTASH_OUTPUT=$(git stash 2>&1)\ngit fetch origin\ngit reset --hard origin\u002Fmain\necho \"$OLD_VERSION\" > \"$FORBOTSAKE_HOME\u002Fjust-upgraded-from\"\n```\n\nIf `$STASH_OUTPUT` contains \"Saved working directory\", warn: \"Local changes were stashed.\"\n\n**For vendored installs:**\n```bash\nTMP_DIR=$(mktemp -d)\ngit clone --depth 1 https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake.git \"$TMP_DIR\u002Fforbotsake\"\nmv \"$INSTALL_DIR\" \"$INSTALL_DIR.bak\"\nmv \"$TMP_DIR\u002Fforbotsake\" \"$INSTALL_DIR\"\necho \"$OLD_VERSION\" > \"$FORBOTSAKE_HOME\u002Fjust-upgraded-from\"\nrm -rf \"$INSTALL_DIR.bak\" \"$TMP_DIR\"\n```\n\n### Step 5: Show what's new\n\n```bash\nNEW_VERSION=$(cat \"$INSTALL_DIR\u002FVERSION\" 2>\u002Fdev\u002Fnull || echo \"unknown\")\necho \"Upgraded: $OLD_VERSION → $NEW_VERSION\"\n```\n\nRead `$INSTALL_DIR\u002FCHANGELOG.md` and show the entries between old and new version.\n\nTell the user: \"forbotsake upgraded to v{new}. Here's what changed: ...\"\n\n### Step 6: Refresh symlinks\n\nAfter upgrading, refresh symlinks to pick up any new skills added in the new version:\n\n```bash\nbash \"$INSTALL_DIR\u002Fbin\u002Fsync-links.sh\"\n```\n\n### Step 7: Verify\n\n```bash\n# Verify installation health\nbash \"$INSTALL_DIR\u002Fbin\u002Fsync-links.sh\" --check\n```\n\nIf the check reports missing skills, re-run `bash \"$INSTALL_DIR\u002Fbin\u002Fsync-links.sh\"` to repair.\nIf that fails, suggest reinstalling: `bash \"$INSTALL_DIR\u002Fbin\u002Finstall.sh\"`\n",{"name":5,"description":7},"main","d91f0c567548c80403f85619693a405ed65d2b60",".agents\u002Fskills\u002Fforbotsake-upgrade",1,"https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake","https:\u002F\u002Fgithub.com\u002Fforbotsake","2026-08-17 21:39:59",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add forbotsake\u002Fforbotsake --skill forbotsake-upgrade",{"tool":48,"command":49},"bunx","bunx skills add forbotsake\u002Fforbotsake --skill forbotsake-upgrade",{"tool":51,"command":52},"pnpm","pnpm dlx skills add forbotsake\u002Fforbotsake --skill forbotsake-upgrade","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fforbotsake-upgrade\u002FSKILL.md",true,[56],{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"openai.yaml","REFERENCE","参考文档",273,"https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fforbotsake-upgrade\u002Fopenai.yaml",[63,71,98,127,150,184],{"skillNo":64,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":30},"01M6MWS487CZVEME2DWGT48C58","https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002Fforbotsake-upgrade\u002FSKILL.md",[],[18,19,9,20,21,68,69,70,22,23,24,25,26,27,28,29],"Bash","read","write",{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":30},"01M6MWRZ7XD9Q73JTRBQ0N8682","forbotsake-spy","Stage 3: RESEARCH (competitors). Analyzes 3-5 competitors to find messaging whitespace\nand positioning gaps. Produces competitor-analysis.md with a messaging matrix showing\nwhat each competitor says, what's missing, and where you can win.\nUse when: \"competitor analysis\", \"competitive research\", \"what are others doing\",\n\"market landscape\", \"who am I competing with\", \"spy on competitors\",\n\"messaging whitespace\", \"differentiation research\".\nProactively invoke when the user mentions competitors or asks how to differentiate.","https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002Fforbotsake-spy\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[83,9,84,85,86,68,87,69,70,88,23,89,90,91,92,93,94,95,96,97],"forbotsake spy","messaging","analysis","how","competitors","edit","positioning","landscape","missing","how to","differentiation","competitive","you","websearch","matrix",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":113,"publishedAt":30},"01M6MWRPHXWYB38V08BZM8SSRE","forbotsake-sharpen","Stage 4.5: SHARPEN. Takes a specific outreach target (person or organization) and\nproduces a deep execution plan with contextual research, relationship mapping,\nangle selection, and a multi-touch sequence. Reads your founder profile and strategy\nto leverage warm paths and unfair advantages.\nUse when: \"refine this plan\", \"go deeper on this\", \"sharpen execution\",\n\"how do I approach [person]\", \"outreach to [person]\", \"target [person\u002Forg]\",\n\"approach [person]\", \"engage [org]\".\nProactively invoke when the user mentions approaching a specific person or\norganization as part of their marketing strategy.\nRequires: strategy.md (from \u002Fforbotsake-marketing-start).","https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002Fforbotsake-sharpen\u002FSKILL.md",[104,107,108],{"categoryNo":105,"categoryName":106,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000035","市场营销","PROFESSION","适用职业",[114,115,9,116,86,68,117,69,70,88,118,119,120,121,122,123,124,125,96,126],"sharpen","forbotsake sharpen","start","plan","selection","relationship","organization","refine","deeper","deep","leverage","paths","sequence",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":135,"publishedAt":30},"01M6MWRHXHECX1N4WNHBJJQKER","forbotsake-retro","Stage 9: MEASURE. Reviews what you published, analyzes performance data,\nand produces a retro report with evidence-based recommendations.\nTells you what to double down on, what to drop, and what to try next.\nUse when: \"what worked\", \"marketing retro\", \"measure results\", \"review performance\",\n\"which content performed best\", \"should I keep doing this\".\nProactively invoke one week after \u002Fforbotsake-publish was last run.","https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002Fforbotsake-retro\u002FSKILL.md",[133,134],{"categoryNo":105,"categoryName":106,"taxonomyType":80,"taxonomyTypeDesc":81},{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[136,137,9,138,139,140,141,142,68,143,69,70,88,144,145,146,95,147,148,149],"retro","forbotsake retro","review","performance","run","publish","data","marketing","next","drop","recommendations","reviews","which","what worked",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":168,"publishedAt":30},"01M6MWRB8GN0AZTEVTQD1GBA8K","forbotsake-publish","Stage 8: SHIP. Two modes: POST (auto-post via Claude for Chrome) or COPY\n(format for copy-paste). Handles X\u002FTwitter threads, LinkedIn posts, blog posts,\nand more. Logs everything for retrospective analysis.\nFor auto-posting, the user needs the Claude for Chrome extension installed.\nWithout it, the skill falls back to COPY mode automatically.\nUse when: \"publish this\", \"format for twitter\", \"post to X\", \"ship this content\",\n\"format for blog\", \"send this email\", \"ready to publish\", \"auto-post\",\n\"post this to X\", \"publish to LinkedIn\".\nProactively invoke when the user has content in content\u002F and says they want to ship it.","https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002Fforbotsake-publish\u002FSKILL.md",[156,159,162,165],{"categoryNo":157,"categoryName":158,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":160,"categoryName":161,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":163,"categoryName":164,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":166,"categoryName":167,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000036","内容创作者",[141,169,9,170,171,172,173,174,175,69,70,88,176,177,178,179,180,181,182,183],"forbotsake publish","MCP","image","create","logs","ship","text","context","auto","ready","chrome extension","posts","paste","mode","send",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":192,"publishedAt":30},"01M6MWR5K98QN9BDH4179Y47F0","forbotsake-marketing-start","The starting point for marketing your product. Reads your codebase to understand\nwhat you built, asks 5 hard questions about positioning, audience, and channels,\nthen produces strategy.md with your marketing strategy and first concrete move.\nUse when: \"how should I market this\", \"go-to-market\", \"GTM\", \"positioning\",\n\"I don't know how to sell this\", \"help me market\", \"marketing strategy\".\nProactively invoke when the user asks about marketing, growth, or getting users\nand no strategy.md exists yet.","https:\u002F\u002Fgithub.com\u002Fforbotsake\u002Fforbotsake\u002Fblob\u002Fmain\u002Fforbotsake-marketing-start\u002FSKILL.md",[190,191],{"categoryNo":105,"categoryName":106,"taxonomyType":80,"taxonomyTypeDesc":81},{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[116,143,193,9,194,195,86,68,69,70,88,196,89,197,92,198,199,95,96,200],"forbotsake marketing start","go","product","me","gtm","go-to-market","move","for"]