[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GJX0BCBQM8150MPJQMYQRF":3,"skill-same:01M6GJX0BCBQM8150MPJQMYQRF":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":53,"install":54,"resources":66},"01M6GJX0BCBQM8150MPJQMYQRF","market-app",null,"Generate ASO, market research, and marketing materials for a finalized app","bes-dev\u002Fetnamute","bes-dev","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3617413?v=4","01M6GJVTH1QR3AV46BXYJ9T14N","Sergei Belousov","01M6GJVTQ5DVFJ4C63BCQNM0YD",12,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmarket-app\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000019","营销推广","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000035","市场营销","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40],"Market","app","market app","research","generate","market research","marketing","aso","true","2026-11-10 10:12:30",false,"---\nname: market-app\ndescription: Generate ASO, market research, and marketing materials for a finalized app\ndisable-model-invocation: true\n---\n\nPrepare market materials for a finalized app: ASO metadata (platform-specific), market research, and launch content. Run after code is complete, before `\u002Frelease-app`.\n\nApp: $ARGUMENTS\n\n---\n\n## EXECUTION\n\n### Step 1: Read current state\n\n1. `apps\u002F\u003Cslug>\u002Fspec\u002Fprd.md` — features, positioning, target user\n2. `apps\u002F\u003Cslug>\u002Fspec\u002Fresearch.md` — initial market research from discovery phase\n3. Scan the app code — understand what was actually built (may differ from original PRD after iterations)\n\n### Step 2: Web research\n\nRefresh and deepen the initial research:\n\n1. Search for current competitors — may have changed since initial build\n2. Competitor ASO: extract their titles, descriptions, keywords\n3. Keyword opportunities: long-tail terms with lower competition\n4. Market positioning validation\n\nSave updated findings to `apps\u002F\u003Cslug>\u002Fresearch\u002F`:\n- `market_research.md` — market size, trends, opportunities\n- `competitor_analysis.md` — direct\u002Findirect competitors, strengths\u002Fweaknesses\n- `positioning.md` — unique value proposition, differentiation\n\nUse WebSearch — do not hallucinate market data.\n\n### Step 3: Generate ASO (platform-specific)\n\niOS and Google Play are different systems — generate separate metadata.\n\n**iOS** (`apps\u002F\u003Cslug>\u002Faso\u002Fios\u002F`):\n- `title.txt` — ≤30 chars, primary keyword\n- `subtitle.txt` — ≤30 chars, no word overlap with title\n- `keywords.txt` — 100 chars, comma-no-space, deduplicated from title+subtitle, singular forms\n- `description.txt` — conversion-focused (NOT indexed for search on iOS)\n\n**Android** (`apps\u002F\u003Cslug>\u002Faso\u002Fandroid\u002F`):\n- `title.txt` — ≤30 chars, primary keyword\n- `short_description.txt` — ≤80 chars, contains primary keyword\n- `full_description.txt` — 2,500-4,000 chars, primary keyword density 2.5-3%, keywords in first\u002Flast 180 chars\n\nSee `.claude\u002Frules\u002Faso-quality.md` for full validation rules.\n\n### Step 4: Generate marketing content\n\n**Marketing artifacts** (`apps\u002F\u003Cslug>\u002Fmarketing\u002F`):\n- `launch_thread.md` — Twitter\u002FX thread (10+ posts)\n- `landing_copy.md` — landing page headline + body copy\n- `press_blurb.md` — press one-pager\n- `social_assets.md` — social media descriptions for different platforms\n\nAll content must reflect the **actual app** as built, not the original PRD if features changed.\n\n### Step 5: Review with user\n\nShow summary (in user's language):\n\n```\n## Market Prep: \u003Capp-name>\n\n### ASO (iOS)\n- Title: \u003Ctitle> (\u003CN>\u002F30 chars)\n- Subtitle: \u003Csubtitle> (\u003CN>\u002F30 chars)\n- Keywords: \u003CN>\u002F100 chars used, \u003CN> unique tokens\n\n### ASO (Android)\n- Title: \u003Ctitle> (\u003CN>\u002F30 chars)\n- Short desc: \u003CN>\u002F80 chars\n- Description: \u003CN> chars, \u003CX>% primary keyword density\n\n### Research\n- \u003Ckey market insights>\n- \u003Ctop competitors>\n\n### Marketing\n- Launch thread: \u003CN> posts\n- Landing copy: ready\n- Press blurb: ready\n\nApply all?\n```\n\nAsk via `AskUserQuestion`:\n```\nquestion: \"Market materials ready. Apply?\"\nheader: \"Market\"\noptions:\n  - label: \"Apply all\"\n    description: \"Save all research, ASO, and marketing artifacts\"\n  - label: \"Need changes\"\n    description: \"Want to adjust something first\"\n  - label: \"Show details\"\n    description: \"Display all generated content for review\"\n```\n\n---\n\n## RULES\n\n- iOS and Google Play ASO must be DIFFERENT — never copy-paste between platforms\n- Content must reflect actual built features, not original PRD\n- Use web research for market data — don't hallucinate\n- Generate in the language appropriate for the target market (from PRD §7)\n- Flag US-targeted iOS apps without Spanish (Mexico) locale — doubles keyword capacity for free\n","Prepare market materials for a finalized app: ASO metadata (platform-specific), market research, and launch content. Run after code is complete, before `\u002Frelease-app`.\n\nApp: $ARGUMENTS\n\n---\n\n## EXECUTION\n\n### Step 1: Read current state\n\n1. `apps\u002F\u003Cslug>\u002Fspec\u002Fprd.md` — features, positioning, target user\n2. `apps\u002F\u003Cslug>\u002Fspec\u002Fresearch.md` — initial market research from discovery phase\n3. Scan the app code — understand what was actually built (may differ from original PRD after iterations)\n\n### Step 2: Web research\n\nRefresh and deepen the initial research:\n\n1. Search for current competitors — may have changed since initial build\n2. Competitor ASO: extract their titles, descriptions, keywords\n3. Keyword opportunities: long-tail terms with lower competition\n4. Market positioning validation\n\nSave updated findings to `apps\u002F\u003Cslug>\u002Fresearch\u002F`:\n- `market_research.md` — market size, trends, opportunities\n- `competitor_analysis.md` — direct\u002Findirect competitors, strengths\u002Fweaknesses\n- `positioning.md` — unique value proposition, differentiation\n\nUse WebSearch — do not hallucinate market data.\n\n### Step 3: Generate ASO (platform-specific)\n\niOS and Google Play are different systems — generate separate metadata.\n\n**iOS** (`apps\u002F\u003Cslug>\u002Faso\u002Fios\u002F`):\n- `title.txt` — ≤30 chars, primary keyword\n- `subtitle.txt` — ≤30 chars, no word overlap with title\n- `keywords.txt` — 100 chars, comma-no-space, deduplicated from title+subtitle, singular forms\n- `description.txt` — conversion-focused (NOT indexed for search on iOS)\n\n**Android** (`apps\u002F\u003Cslug>\u002Faso\u002Fandroid\u002F`):\n- `title.txt` — ≤30 chars, primary keyword\n- `short_description.txt` — ≤80 chars, contains primary keyword\n- `full_description.txt` — 2,500-4,000 chars, primary keyword density 2.5-3%, keywords in first\u002Flast 180 chars\n\nSee `.claude\u002Frules\u002Faso-quality.md` for full validation rules.\n\n### Step 4: Generate marketing content\n\n**Marketing artifacts** (`apps\u002F\u003Cslug>\u002Fmarketing\u002F`):\n- `launch_thread.md` — Twitter\u002FX thread (10+ posts)\n- `landing_copy.md` — landing page headline + body copy\n- `press_blurb.md` — press one-pager\n- `social_assets.md` — social media descriptions for different platforms\n\nAll content must reflect the **actual app** as built, not the original PRD if features changed.\n\n### Step 5: Review with user\n\nShow summary (in user's language):\n\n```\n## Market Prep: \u003Capp-name>\n\n### ASO (iOS)\n- Title: \u003Ctitle> (\u003CN>\u002F30 chars)\n- Subtitle: \u003Csubtitle> (\u003CN>\u002F30 chars)\n- Keywords: \u003CN>\u002F100 chars used, \u003CN> unique tokens\n\n### ASO (Android)\n- Title: \u003Ctitle> (\u003CN>\u002F30 chars)\n- Short desc: \u003CN>\u002F80 chars\n- Description: \u003CN> chars, \u003CX>% primary keyword density\n\n### Research\n- \u003Ckey market insights>\n- \u003Ctop competitors>\n\n### Marketing\n- Launch thread: \u003CN> posts\n- Landing copy: ready\n- Press blurb: ready\n\nApply all?\n```\n\nAsk via `AskUserQuestion`:\n```\nquestion: \"Market materials ready. Apply?\"\nheader: \"Market\"\noptions:\n  - label: \"Apply all\"\n    description: \"Save all research, ASO, and marketing artifacts\"\n  - label: \"Need changes\"\n    description: \"Want to adjust something first\"\n  - label: \"Show details\"\n    description: \"Display all generated content for review\"\n```\n\n---\n\n## RULES\n\n- iOS and Google Play ASO must be DIFFERENT — never copy-paste between platforms\n- Content must reflect actual built features, not original PRD\n- Use web research for market data — don't hallucinate\n- Generate in the language appropriate for the target market (from PRD §7)\n- Flag US-targeted iOS apps without Spanish (Mexico) locale — doubles keyword capacity for free\n",{"name":5,"description":7,"disable-model-invocation":46},true,"main","e39a04a960c243f7738950db3eed53e837c062dd",".claude\u002Fskills\u002Fmarket-app",1,"https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute","https:\u002F\u002Fgithub.com\u002Fbes-dev","2026-03-27 05:33:20",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":46},[56,59,62],{"tool":57,"command":58},"npx","npx skills add bes-dev\u002Fetnamute --skill market-app",{"tool":60,"command":61},"bunx","bunx skills add bes-dev\u002Fetnamute --skill market-app",{"tool":63,"command":64},"pnpm","pnpm dlx skills add bes-dev\u002Fetnamute --skill market-app","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmarket-app\u002FSKILL.md",[],[68,86,106,117,136,152],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":41},"01M6GJYE0ETPG05YX6P7S0DCCZ","visual-review","Read screenshots and verify UI against DESIGN.md, reference mockups, and quality checklist","https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fvisual-review\u002FSKILL.md",[],[75,76,77,78,79,80,81,82,83,84,85],"visual review","visual","review","checklist","design","screenshots","ui","verify","quality","read","reference",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":95,"publishedAt":41},"01M6GJY8XRG3W3GJE1QWGHMMME","testing","Full QA procedure — interaction map, unit tests, Maestro flows, visual review","https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ftesting\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[88,96,77,97,98,99,76,100,101,75,102,103,104,105],"unit","unit tests","qa","map","full","tests","interaction","maestro","flows","interaction map",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":113,"publishedAt":41},"01M6GJY500FD4HXFH7S7AXYG23","test-app","Run full QA — interaction map, unit tests, Maestro UI tests, visual review","https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ftest-app\u002FSKILL.md",[112],{"categoryNo":93,"categoryName":94,"taxonomyType":21,"taxonomyTypeDesc":22},[114,33,115,40,105,96,77,103,97,116,98,81,99,76,100,101,75,102],"test app","test","run",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":127,"publishedAt":41},"01M6GJXZEHY6N4F48ETC47ZW8T","spec-app","Generate PRD through discovery interview and market research — no code","https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fspec-app\u002FSKILL.md",[123,124],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":125,"categoryName":126,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000031","产品经理",[128,33,129,35,36,130,131,132,37,133,32,134,135,40],"spec app","spec","code","prd","discovery","interview","discovery interview","no code",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":41},"01M6GJXQV76W3DBBQRMEC4B1X6","release-app","Build, sign, and submit app to App Store and Google Play — fully automated","https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Frelease-app\u002FSKILL.md",[],[143,144,33,145,146,147,148,149,150,151,40],"release app","release","play","google","google play","store","submit","sign","build",{"skillNo":153,"name":154,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":160,"publishedAt":41},"01M6GJXHK404PAYHA1DVDM16K9","react-native","https:\u002F\u002Fgithub.com\u002Fbes-dev\u002Fetnamute\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Freact-native\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[161,162,163],"react native","react","native"]