[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F4803FXMG80G10FE7VRWSM":3,"skill-same:01M6F4803FXMG80G10FE7VRWSM":80},{"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":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6F4803FXMG80G10FE7VRWSM","brand-guidelines",null,"Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fgetsentry\u002Fskills\u002Fbrand-guidelines\u002FSKILL.md",[18,23,28],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"brand guidelines","guidelines","brand","flows","writing","states","error","pages","default","use","write","text","voice","marketing","messages","error messages","ui","speech","sentry","documentation","2026-11-10 10:12:30",false,"---\nname: brand-guidelines\ndescription: Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.\n---\n\n# Brand Guidelines\n\nWrite user-facing copy following Sentry's brand guidelines.\n\n## Tone Selection\n\nChoose the appropriate tone based on context:\n\n| Use Plain Speech | Use Sentry Voice |\n|------------------|------------------|\n| Product UI (buttons, labels, forms) | 404 pages |\n| Documentation | Empty states |\n| Error messages | Onboarding flows |\n| Settings pages | Loading states |\n| Transactional emails | \"What's New\" announcements |\n| Help text | Marketing copy |\n\n**Default to Plain Speech** unless the context specifically calls for personality.\n\n## Plain Speech (Default)\n\nPlain Speech is clear, direct, and functional. Use it for most UI elements.\n\n### Rules\n\n1. **Be concise** - Use the fewest words needed\n2. **Be direct** - Tell users what to do, not what they can do\n3. **Use active voice** - \"Save your changes\" not \"Your changes will be saved\"\n4. **Avoid jargon** - Use simple words users understand\n5. **Be specific** - \"3 errors found\" not \"Some errors found\"\n\n### Examples\n\n| Instead of | Write |\n|------------|-------|\n| \"Click here to save your changes\" | \"Save\" |\n| \"You can filter results by date\" | \"Filter by date\" |\n| \"An error has occurred\" | \"Something went wrong\" |\n| \"Please enter a valid email address\" | \"Enter a valid email\" |\n| \"Are you sure you want to delete?\" | \"Delete this item?\" |\n\n## Sentry Voice\n\nSentry Voice adds personality in appropriate moments. It's empathetic, self-aware, and occasionally snarky.\n\n### Principles\n\n1. **Empathetic snark** - Direct frustration at the situation, never the user\n2. **Self-aware** - Acknowledge the absurdity of software\n3. **Fun but functional** - Personality should enhance, not obscure meaning\n4. **Earned moments** - Only use when users have time to appreciate it\n\n### Examples\n\n**404 Pages:**\n> \"This page doesn't exist. Maybe it never did. Maybe it was a dream. Either way, let's get you back on track.\"\n\n**Empty States:**\n> \"No errors yet. Enjoy this moment of peace while it lasts.\"\n\n**Onboarding:**\n> \"Let's get your first error. Don't worry, it's not as scary as it sounds.\"\n\n**Loading States:**\n> \"Crunching the numbers...\"\n> \"Fetching your data...\"\n\n### When NOT to Use Sentry Voice\n\n- Error messages (users are frustrated)\n- Settings pages (users are focused)\n- Documentation (users need information)\n- Billing\u002Fpayment flows (users need trust)\n\n## General Rules\n\n### Spelling and Grammar\n\n- Use **American English** spelling (color, not colour)\n- Use **Title Case** for headings and page titles\n- Use **Sentence case** for body text, buttons, and labels\n\n### Punctuation\n\n- **No exclamation marks** in UI text (exception: celebratory moments)\n- **No periods** in short UI labels or button text\n- **Use periods** in complete sentences and help text\n- **No ALL CAPS** except for acronyms (API, SDK, URL)\n\n### Word Choices\n\n| Avoid | Prefer |\n|-------|--------|\n| Please | (omit) |\n| Sorry | (be specific about the problem) |\n| Error occurred | Something went wrong |\n| Invalid | (explain what's wrong) |\n| Success! | (describe what happened) |\n| Oops | (be specific) |\n\n## Dash Usage\n\n| Type | Use | Example |\n|------|-----|---------|\n| Hyphen (-) | Compound words, ranges | \"real-time\", \"1-10\" |\n| En-dash (--) | Ranges, relationships | \"2023--2024\", \"parent--child\" |\n| Em-dash (---) | Interruption, emphasis | \"Errors---even small ones---matter\" |\n\nIn most UI contexts, use hyphens. Reserve en-dashes for date ranges and em-dashes for longer prose.\n\n## UI Element Guidelines\n\n### Buttons\n\n- Use action verbs: \"Save\", \"Delete\", \"Create\"\n- Be specific: \"Create Project\" not just \"Create\"\n- Max 2-3 words when possible\n- No periods or exclamation marks\n\n### Error Messages\n\n1. Say what happened\n2. Say why (if helpful)\n3. Say what to do next\n\n**Good:** \"Could not save changes. Check your connection and try again.\"\n**Bad:** \"Error: Save failed.\"\n\n### Empty States\n\n1. Explain what would normally be here\n2. Provide a clear action to populate the state\n3. Sentry Voice is appropriate here\n\n**Good:** \"No projects yet. Create your first project to start tracking errors.\"\n\n### Confirmation Dialogs\n\n- Make the action clear in the title\n- Explain consequences if destructive\n- Use specific button labels (\"Delete Project\", not \"OK\")\n\n### Tooltips and Help Text\n\n- Keep under 2 sentences\n- Explain the \"why\", not just the \"what\"\n- Link to docs for complex topics\n\n## Anti-Patterns\n\nAvoid these common mistakes:\n\n- **Robot speak:** \"Item has been successfully deleted\" -> \"Deleted\"\n- **Passive voice:** \"Changes were saved\" -> \"Changes saved\"\n- **Unnecessary words:** \"In order to\" -> \"To\"\n- **Hedging:** \"This might cause...\" -> \"This will cause...\"\n- **Double negatives:** \"Not unlike...\" -> \"Similar to...\"\n- **Marketing speak in UI:** \"Supercharge your workflow\" -> \"Speed up your workflow\"\n\n## References\n\n- [Sentry Voice Guidelines](https:\u002F\u002Fdevelop.sentry.dev\u002Ffrontend\u002Fsentry-voice\u002F)\n- [Sentry Frontend Handbook](https:\u002F\u002Fdevelop.sentry.dev\u002Ffrontend\u002F)\n\n","# Brand Guidelines\n\nWrite user-facing copy following Sentry's brand guidelines.\n\n## Tone Selection\n\nChoose the appropriate tone based on context:\n\n| Use Plain Speech | Use Sentry Voice |\n|------------------|------------------|\n| Product UI (buttons, labels, forms) | 404 pages |\n| Documentation | Empty states |\n| Error messages | Onboarding flows |\n| Settings pages | Loading states |\n| Transactional emails | \"What's New\" announcements |\n| Help text | Marketing copy |\n\n**Default to Plain Speech** unless the context specifically calls for personality.\n\n## Plain Speech (Default)\n\nPlain Speech is clear, direct, and functional. Use it for most UI elements.\n\n### Rules\n\n1. **Be concise** - Use the fewest words needed\n2. **Be direct** - Tell users what to do, not what they can do\n3. **Use active voice** - \"Save your changes\" not \"Your changes will be saved\"\n4. **Avoid jargon** - Use simple words users understand\n5. **Be specific** - \"3 errors found\" not \"Some errors found\"\n\n### Examples\n\n| Instead of | Write |\n|------------|-------|\n| \"Click here to save your changes\" | \"Save\" |\n| \"You can filter results by date\" | \"Filter by date\" |\n| \"An error has occurred\" | \"Something went wrong\" |\n| \"Please enter a valid email address\" | \"Enter a valid email\" |\n| \"Are you sure you want to delete?\" | \"Delete this item?\" |\n\n## Sentry Voice\n\nSentry Voice adds personality in appropriate moments. It's empathetic, self-aware, and occasionally snarky.\n\n### Principles\n\n1. **Empathetic snark** - Direct frustration at the situation, never the user\n2. **Self-aware** - Acknowledge the absurdity of software\n3. **Fun but functional** - Personality should enhance, not obscure meaning\n4. **Earned moments** - Only use when users have time to appreciate it\n\n### Examples\n\n**404 Pages:**\n> \"This page doesn't exist. Maybe it never did. Maybe it was a dream. Either way, let's get you back on track.\"\n\n**Empty States:**\n> \"No errors yet. Enjoy this moment of peace while it lasts.\"\n\n**Onboarding:**\n> \"Let's get your first error. Don't worry, it's not as scary as it sounds.\"\n\n**Loading States:**\n> \"Crunching the numbers...\"\n> \"Fetching your data...\"\n\n### When NOT to Use Sentry Voice\n\n- Error messages (users are frustrated)\n- Settings pages (users are focused)\n- Documentation (users need information)\n- Billing\u002Fpayment flows (users need trust)\n\n## General Rules\n\n### Spelling and Grammar\n\n- Use **American English** spelling (color, not colour)\n- Use **Title Case** for headings and page titles\n- Use **Sentence case** for body text, buttons, and labels\n\n### Punctuation\n\n- **No exclamation marks** in UI text (exception: celebratory moments)\n- **No periods** in short UI labels or button text\n- **Use periods** in complete sentences and help text\n- **No ALL CAPS** except for acronyms (API, SDK, URL)\n\n### Word Choices\n\n| Avoid | Prefer |\n|-------|--------|\n| Please | (omit) |\n| Sorry | (be specific about the problem) |\n| Error occurred | Something went wrong |\n| Invalid | (explain what's wrong) |\n| Success! | (describe what happened) |\n| Oops | (be specific) |\n\n## Dash Usage\n\n| Type | Use | Example |\n|------|-----|---------|\n| Hyphen (-) | Compound words, ranges | \"real-time\", \"1-10\" |\n| En-dash (--) | Ranges, relationships | \"2023--2024\", \"parent--child\" |\n| Em-dash (---) | Interruption, emphasis | \"Errors---even small ones---matter\" |\n\nIn most UI contexts, use hyphens. Reserve en-dashes for date ranges and em-dashes for longer prose.\n\n## UI Element Guidelines\n\n### Buttons\n\n- Use action verbs: \"Save\", \"Delete\", \"Create\"\n- Be specific: \"Create Project\" not just \"Create\"\n- Max 2-3 words when possible\n- No periods or exclamation marks\n\n### Error Messages\n\n1. Say what happened\n2. Say why (if helpful)\n3. Say what to do next\n\n**Good:** \"Could not save changes. Check your connection and try again.\"\n**Bad:** \"Error: Save failed.\"\n\n### Empty States\n\n1. Explain what would normally be here\n2. Provide a clear action to populate the state\n3. Sentry Voice is appropriate here\n\n**Good:** \"No projects yet. Create your first project to start tracking errors.\"\n\n### Confirmation Dialogs\n\n- Make the action clear in the title\n- Explain consequences if destructive\n- Use specific button labels (\"Delete Project\", not \"OK\")\n\n### Tooltips and Help Text\n\n- Keep under 2 sentences\n- Explain the \"why\", not just the \"what\"\n- Link to docs for complex topics\n\n## Anti-Patterns\n\nAvoid these common mistakes:\n\n- **Robot speak:** \"Item has been successfully deleted\" -> \"Deleted\"\n- **Passive voice:** \"Changes were saved\" -> \"Changes saved\"\n- **Unnecessary words:** \"In order to\" -> \"To\"\n- **Hedging:** \"This might cause...\" -> \"This will cause...\"\n- **Double negatives:** \"Not unlike...\" -> \"Similar to...\"\n- **Marketing speak in UI:** \"Supercharge your workflow\" -> \"Speed up your workflow\"\n\n## References\n\n- [Sentry Voice Guidelines](https:\u002F\u002Fdevelop.sentry.dev\u002Ffrontend\u002Fsentry-voice\u002F)\n- [Sentry Frontend Handbook](https:\u002F\u002Fdevelop.sentry.dev\u002Ffrontend\u002F)\n\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fgetsentry\u002Fskills\u002Fbrand-guidelines",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill brand-guidelines",{"tool":72,"command":73},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill brand-guidelines",{"tool":75,"command":76},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill brand-guidelines","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fgetsentry\u002Fskills\u002Fbrand-guidelines\u002FSKILL.md",true,[],[81,93,103,112,118,125],{"skillNo":82,"name":83,"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":84,"categories":85,"keywords":89,"publishedAt":52},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[90,91,92],"model","model hierarchy","model hierarchy skill",{"skillNo":94,"name":95,"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":96,"categories":97,"keywords":99,"publishedAt":52},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[98],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[100,101,102],"MCP","zoom","zoom mcp",{"skillNo":104,"name":105,"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":106,"categories":107,"keywords":108,"publishedAt":52},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[109,110,111,101],"sdk","zoom apps sdk","apps",{"skillNo":113,"name":114,"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":115,"categories":116,"keywords":117,"publishedAt":52},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[114],{"skillNo":119,"name":120,"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":121,"categories":122,"keywords":124,"publishedAt":52},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[123],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[120],{"skillNo":126,"name":127,"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":128,"categories":129,"keywords":130,"publishedAt":52},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[127]]