[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HW3K4P4BB7N8FQ8315M1D":3,"skill-same:01M71HW3K4P4BB7N8FQ8315M1D":102},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":63,"install":64,"resources":77},"01M71HW3K4P4BB7N8FQ8315M1D","competitive-cartographer",null,"Strategic analyst that maps competitive landscapes, identifies white space opportunities, and provides positioning recommendations. Use when users need competitive analysis, market positioning strategy, differentiation tactics, or \"how do I stand out?\" guidance across any domain (portfolios, products, services). NOT for market size estimation or financial forecasting.","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"competitive","competitive cartographer","cartographer","do","positioning strategy","write","read","analyst","recommendations","how","across","maps","differentiation","websearch","analysis","market size estimation","when","positioning","estimation","deep","2026-11-10 10:12:30",false,"---\nname: competitive-cartographer\ndescription: Strategic analyst that maps competitive landscapes, identifies white space opportunities, and provides positioning recommendations. Use when users need competitive analysis, market positioning\n  strategy, differentiation tactics, or \"how do I stand out?\" guidance across any domain (portfolios, products, services). NOT for market size estimation or financial forecasting.\nallowed-tools: Read,Write,WebSearch,WebFetch\nmetadata:\n  category: Research & Analysis\n  pairs-with:\n  - skill: career-biographer\n    reason: Position career narratives competitively\n  - skill: research-analyst\n    reason: Deep market research backing\n  tags:\n  - competitive-analysis\n  - market\n  - positioning\n  - strategy\n  - differentiation\n---\n\n# Competitive Cartographer\n\nA strategic analyst who maps competitive spaces to reveal positioning opportunities, white space, and differentiation strategies. Creates \"you are here\" maps in crowded markets.\n\n## Quick Start\n\n```\nUser: \"How do I stand out as a senior frontend engineer?\"\n\nCartographer:\n1. Define space: \"Professional portfolios for senior frontend engineers\"\n2. Identify players:\n   - Direct: Other senior frontend engineers in similar tech stacks\n   - Adjacent: Full-stack engineers, design engineers\n   - Aspirational: Apple's minimal aesthetic\n3. Map on axes: Technical Depth (x) vs Design Polish (y)\n4. Find white space: High tech + high design (rare combination)\n5. Recommend positioning: \"Engineer who thinks like a designer\"\n```\n\n**Key principle**: Don't just list competitors - map them spatially to reveal positioning opportunities.\n\n## When to Use\n\n**Use when:**\n- User asks \"how do I stand out?\" or \"what makes me different?\"\n- Launching product\u002Fservice and need positioning strategy\n- Feeling lost in crowded market\n- Considering pivot or repositioning\n\n**Do NOT use when:**\n- User needs market size or TAM estimates\n- Financial projections or fundraising strategy\n- Specific feature-by-feature comparison\n- User already has clear positioning\n\n## The 6-Step Process\n\n| Step | Action |\n|------|--------|\n| 1. Define Space | Domain, user's offer, background, goals |\n| 2. Identify Players | Direct, adjacent, aspirational competitors |\n| 3. Analyze Positioning | Extract taglines, visual strategy, content strategy |\n| 4. Create Map | Plot on 2D axes, identify clusters |\n| 5. Find White Space | Viable, defensible, sustainable, aligned gaps |\n| 6. Recommend Strategy | Headline, differentiators, visual\u002Fcontent direction |\n\n## Common Anti-Patterns\n\n### Me-Too Positioning\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| \"We're like Airbnb but for X\" | Invites comparison where you'll lose |\n| **Instead**: Find unique angle that makes comparison irrelevant |\n\n### Swiss Army Knife Syndrome\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| \"We do everything for everyone\" | In crowded markets, specialists beat generalists |\n| **Instead**: Pick one thing you'll be known for |\n\n### Feature Parity Race\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| \"All competitor features plus one more\" | Mature competitors will always out-feature you |\n| **Instead**: Different approach\u002Fphilosophy, not more features |\n\n### Ignoring Your Constraints\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| Positioning as enterprise when solo founder | Can't deliver on promise, credibility destroyed |\n| **Instead**: Position where constraints become advantages (\"boutique\", \"founder-led\") |\n\n## Types of White Space\n\n| Type | Example |\n|------|---------|\n| **Intersection** | \"Technical depth + warm personality\" (most pick one) |\n| **Under-served Audience** | \"Mid-market companies\" (everyone targets enterprise or startups) |\n| **Contrarian** | \"Slow and thoughtful\" (when everyone races to launch fast) |\n\n## Best Practices\n\n**Start with User, Not Market**\n1. What's genuinely unique about user?\n2. What do they do better than anyone?\n3. What do they want to be known for?\n4. Then find where that fits in competitive landscape\n\n**Be Ruthlessly Honest**\n- Point out crowded positioning\n- Identify genuine weaknesses\n- Recommend against poor strategic fit\n\n**Provide Evidence**\n- \"Here are 15 portfolios using exact same layout\"\n- \"Here are 8 products with nearly identical taglines\"\n- \"Here's how competitors cluster around this position\"\n\n## Reference Files\n\n| File | Contents |\n|------|----------|\n| `references\u002Fmapping-process.md` | Detailed 6-step methodology, TypeScript interfaces, axis pairs |\n| `references\u002Fdomain-positioning.md` | Portfolio, SaaS, consulting-specific positioning + examples |\n| `references\u002Ftroubleshooting.md` | Common issues, validation methods, best practices checklist |\n\n## Integration with Other Skills\n\n| Skill | Integration |\n|-------|-------------|\n| **design-archivist** | Visual pattern database informs differentiation strategy |\n| **vibe-matcher** | Translate positioning into emotional\u002Fvisual direction |\n| **career-biographer** | Competitive context informs personal brand positioning |\n\n---\n\n*Transform competitive chaos into strategic clarity.*\n","# Competitive Cartographer\n\nA strategic analyst who maps competitive spaces to reveal positioning opportunities, white space, and differentiation strategies. Creates \"you are here\" maps in crowded markets.\n\n## Quick Start\n\n```\nUser: \"How do I stand out as a senior frontend engineer?\"\n\nCartographer:\n1. Define space: \"Professional portfolios for senior frontend engineers\"\n2. Identify players:\n   - Direct: Other senior frontend engineers in similar tech stacks\n   - Adjacent: Full-stack engineers, design engineers\n   - Aspirational: Apple's minimal aesthetic\n3. Map on axes: Technical Depth (x) vs Design Polish (y)\n4. Find white space: High tech + high design (rare combination)\n5. Recommend positioning: \"Engineer who thinks like a designer\"\n```\n\n**Key principle**: Don't just list competitors - map them spatially to reveal positioning opportunities.\n\n## When to Use\n\n**Use when:**\n- User asks \"how do I stand out?\" or \"what makes me different?\"\n- Launching product\u002Fservice and need positioning strategy\n- Feeling lost in crowded market\n- Considering pivot or repositioning\n\n**Do NOT use when:**\n- User needs market size or TAM estimates\n- Financial projections or fundraising strategy\n- Specific feature-by-feature comparison\n- User already has clear positioning\n\n## The 6-Step Process\n\n| Step | Action |\n|------|--------|\n| 1. Define Space | Domain, user's offer, background, goals |\n| 2. Identify Players | Direct, adjacent, aspirational competitors |\n| 3. Analyze Positioning | Extract taglines, visual strategy, content strategy |\n| 4. Create Map | Plot on 2D axes, identify clusters |\n| 5. Find White Space | Viable, defensible, sustainable, aligned gaps |\n| 6. Recommend Strategy | Headline, differentiators, visual\u002Fcontent direction |\n\n## Common Anti-Patterns\n\n### Me-Too Positioning\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| \"We're like Airbnb but for X\" | Invites comparison where you'll lose |\n| **Instead**: Find unique angle that makes comparison irrelevant |\n\n### Swiss Army Knife Syndrome\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| \"We do everything for everyone\" | In crowded markets, specialists beat generalists |\n| **Instead**: Pick one thing you'll be known for |\n\n### Feature Parity Race\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| \"All competitor features plus one more\" | Mature competitors will always out-feature you |\n| **Instead**: Different approach\u002Fphilosophy, not more features |\n\n### Ignoring Your Constraints\n| What it looks like | Why it's wrong |\n|--------------------|----------------|\n| Positioning as enterprise when solo founder | Can't deliver on promise, credibility destroyed |\n| **Instead**: Position where constraints become advantages (\"boutique\", \"founder-led\") |\n\n## Types of White Space\n\n| Type | Example |\n|------|---------|\n| **Intersection** | \"Technical depth + warm personality\" (most pick one) |\n| **Under-served Audience** | \"Mid-market companies\" (everyone targets enterprise or startups) |\n| **Contrarian** | \"Slow and thoughtful\" (when everyone races to launch fast) |\n\n## Best Practices\n\n**Start with User, Not Market**\n1. What's genuinely unique about user?\n2. What do they do better than anyone?\n3. What do they want to be known for?\n4. Then find where that fits in competitive landscape\n\n**Be Ruthlessly Honest**\n- Point out crowded positioning\n- Identify genuine weaknesses\n- Recommend against poor strategic fit\n\n**Provide Evidence**\n- \"Here are 15 portfolios using exact same layout\"\n- \"Here are 8 products with nearly identical taglines\"\n- \"Here's how competitors cluster around this position\"\n\n## Reference Files\n\n| File | Contents |\n|------|----------|\n| `references\u002Fmapping-process.md` | Detailed 6-step methodology, TypeScript interfaces, axis pairs |\n| `references\u002Fdomain-positioning.md` | Portfolio, SaaS, consulting-specific positioning + examples |\n| `references\u002Ftroubleshooting.md` | Common issues, validation methods, best practices checklist |\n\n## Integration with Other Skills\n\n| Skill | Integration |\n|-------|-------------|\n| **design-archivist** | Visual pattern database informs differentiation strategy |\n| **vibe-matcher** | Translate positioning into emotional\u002Fvisual direction |\n| **career-biographer** | Competitive context informs personal brand positioning |\n\n---\n\n*Transform competitive chaos into strategic clarity.*\n",{"name":5,"metadata":43,"description":7,"allowed-tools":56},{"tags":44,"category":48,"pairs-with":49},[45,46,35,47,30],"competitive-analysis","market","strategy","Research & Analysis",[50,53],{"skill":51,"reason":52},"career-biographer","Position career narratives competitively",{"skill":54,"reason":55},"research-analyst","Deep market research backing","Read,Write,WebSearch,WebFetch","main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add JSGforever\u002Fskillguard --skill competitive-cartographer",{"tool":70,"command":71},"bunx","bunx skills add JSGforever\u002Fskillguard --skill competitive-cartographer",{"tool":73,"command":74},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill competitive-cartographer","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer\u002FSKILL.md",true,[78,84,88,92,96],{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"CHANGELOG.md","REFERENCE","参考文档",862,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer\u002FCHANGELOG.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fdomain-positioning.md",3049,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer\u002Freferences\u002Fdomain-positioning.md",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fmapping-process.md",4815,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer\u002Freferences\u002Fmapping-process.md",{"path":93,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Ftroubleshooting.md",3599,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer\u002Freferences\u002Ftroubleshooting.md",{"path":97,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":100,"sourceHtmlUrl":101},"scripts\u002Fvalidate_map.sh","SCRIPT","脚本",2663,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--competitive-cartographer\u002Fscripts\u002Fvalidate_map.sh",[103,134,150,177,199,219],{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":114,"publishedAt":38},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[115,116,117,118,119,120,121,122,123,124,125,126,34,127,128,129,130,131,132,133],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":138,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":146,"publishedAt":38},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[141],{"categoryNo":142,"categoryName":143,"taxonomyType":144,"taxonomyTypeDesc":145},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[147,148,149],"data","data exfiltrator","files",{"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":156,"publishedAt":38},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":186,"publishedAt":38},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[183],{"categoryNo":184,"categoryName":185,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000009","前端开发",[166,187,174,175,188,189,190,191,192,193,157,194,195,170,172,196,173,176,197,198],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":38},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[205],{"categoryNo":184,"categoryName":185,"taxonomyType":112,"taxonomyTypeDesc":113},[207,176,208,209,210,211,166,157,212,213,214,172,173,174,215,175,216,217,218,24],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server",{"skillNo":220,"name":221,"nameZh":6,"description":222,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":223,"categories":224,"keywords":232,"publishedAt":38},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[225,228,231],{"categoryNo":226,"categoryName":227,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":229,"categoryName":230,"taxonomyType":112,"taxonomyTypeDesc":113},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":110,"categoryName":111,"taxonomyType":112,"taxonomyTypeDesc":113},[233,234,235,236,237,238,239,164,192,240,241,242,173,198,243,24,244,23,245,246],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","testing","ci","workflows","run","release","edit","git"]