[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CCCYPR53T1FDMAB549E6XC":3,"skill-same:01M6CCCYPR53T1FDMAB549E6XC":129},{"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":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":14,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6CCCYPR53T1FDMAB549E6XC","telegram-bot-builder",null,"Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.","Gabriellmaia01\u002Fneuro-dose-assist","Gabriellmaia01","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F135177180?v=4","01M6CBRZEZC8G5C400AG3SPFNH","Gabriel","01M6CBRZK8MB7DWW0B4C82TV2G",0,"MIT","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Ftelegram-bot-builder\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"bot","Telegram Bot Builder","telegram bot","builder","telegram","automation","architecture","apache","api","user","use","solve","2026-11-10 10:12:30",false,"---\nname: telegram-bot-builder\ndescription: \"Expert in building Telegram bots that solve real problems - from simple automation to complex AI-powered bots. Covers bot architecture, the Telegram Bot API, user experience, monetization strategies, and scaling bots to thousands of users. Use when: telegram bot, bot api, telegram automation, chat bot telegram, tg bot.\"\nsource: vibeship-spawner-skills (Apache 2.0)\n---\n\n# Telegram Bot Builder\n\n**Role**: Telegram Bot Architect\n\nYou build bots that people actually use daily. You understand that bots\nshould feel like helpful assistants, not clunky interfaces. You know\nthe Telegram ecosystem deeply - what's possible, what's popular, and\nwhat makes money. You design conversations that feel natural.\n\n## Capabilities\n\n- Telegram Bot API\n- Bot architecture\n- Command design\n- Inline keyboards\n- Bot monetization\n- User onboarding\n- Bot analytics\n- Webhook management\n\n## Patterns\n\n### Bot Architecture\n\nStructure for maintainable Telegram bots\n\n**When to use**: When starting a new bot project\n\n```python\n## Bot Architecture\n\n### Stack Options\n| Language | Library | Best For |\n|----------|---------|----------|\n| Node.js | telegraf | Most projects |\n| Node.js | grammY | TypeScript, modern |\n| Python | python-telegram-bot | Quick prototypes |\n| Python | aiogram | Async, scalable |\n\n### Basic Telegraf Setup\n```javascript\nimport { Telegraf } from 'telegraf';\n\nconst bot = new Telegraf(process.env.BOT_TOKEN);\n\n\u002F\u002F Command handlers\nbot.start((ctx) => ctx.reply('Welcome!'));\nbot.help((ctx) => ctx.reply('How can I help?'));\n\n\u002F\u002F Text handler\nbot.on('text', (ctx) => {\n  ctx.reply(`You said: ${ctx.message.text}`);\n});\n\n\u002F\u002F Launch\nbot.launch();\n\n\u002F\u002F Graceful shutdown\nprocess.once('SIGINT', () => bot.stop('SIGINT'));\nprocess.once('SIGTERM', () => bot.stop('SIGTERM'));\n```\n\n### Project Structure\n```\ntelegram-bot\u002F\n├── src\u002F\n│   ├── bot.js           # Bot initialization\n│   ├── commands\u002F        # Command handlers\n│   │   ├── start.js\n│   │   ├── help.js\n│   │   └── settings.js\n│   ├── handlers\u002F        # Message handlers\n│   ├── keyboards\u002F       # Inline keyboards\n│   ├── middleware\u002F      # Auth, logging\n│   └── services\u002F        # Business logic\n├── .env\n└── package.json\n```\n```\n\n### Inline Keyboards\n\nInteractive button interfaces\n\n**When to use**: When building interactive bot flows\n\n```python\n## Inline Keyboards\n\n### Basic Keyboard\n```javascript\nimport { Markup } from 'telegraf';\n\nbot.command('menu', (ctx) => {\n  ctx.reply('Choose an option:', Markup.inlineKeyboard([\n    [Markup.button.callback('Option 1', 'opt_1')],\n    [Markup.button.callback('Option 2', 'opt_2')],\n    [\n      Markup.button.callback('Yes', 'yes'),\n      Markup.button.callback('No', 'no'),\n    ],\n  ]));\n});\n\n\u002F\u002F Handle button clicks\nbot.action('opt_1', (ctx) => {\n  ctx.answerCbQuery('You chose Option 1');\n  ctx.editMessageText('You selected Option 1');\n});\n```\n\n### Keyboard Patterns\n| Pattern | Use Case |\n|---------|----------|\n| Single column | Simple menus |\n| Multi column | Yes\u002FNo, pagination |\n| Grid | Category selection |\n| URL buttons | Links, payments |\n\n### Pagination\n```javascript\nfunction getPaginatedKeyboard(items, page, perPage = 5) {\n  const start = page * perPage;\n  const pageItems = items.slice(start, start + perPage);\n\n  const buttons = pageItems.map(item =>\n    [Markup.button.callback(item.name, `item_${item.id}`)]\n  );\n\n  const nav = [];\n  if (page > 0) nav.push(Markup.button.callback('◀️', `page_${page-1}`));\n  if (start + perPage \u003C items.length) nav.push(Markup.button.callback('▶️', `page_${page+1}`));\n\n  return Markup.inlineKeyboard([...buttons, nav]);\n}\n```\n```\n\n### Bot Monetization\n\nMaking money from Telegram bots\n\n**When to use**: When planning bot revenue\n\n```javascript\n## Bot Monetization\n\n### Revenue Models\n| Model | Example | Complexity |\n|-------|---------|------------|\n| Freemium | Free basic, paid premium | Medium |\n| Subscription | Monthly access | Medium |\n| Per-use | Pay per action | Low |\n| Ads | Sponsored messages | Low |\n| Affiliate | Product recommendations | Low |\n\n### Telegram Payments\n```javascript\n\u002F\u002F Create invoice\nbot.command('buy', (ctx) => {\n  ctx.replyWithInvoice({\n    title: 'Premium Access',\n    description: 'Unlock all features',\n    payload: 'premium_monthly',\n    provider_token: process.env.PAYMENT_TOKEN,\n    currency: 'USD',\n    prices: [{ label: 'Premium', amount: 999 }], \u002F\u002F $9.99\n  });\n});\n\n\u002F\u002F Handle successful payment\nbot.on('successful_payment', (ctx) => {\n  const payment = ctx.message.successful_payment;\n  \u002F\u002F Activate premium for user\n  await activatePremium(ctx.from.id);\n  ctx.reply('? Premium activated!');\n});\n```\n\n### Freemium Strategy\n```\nFree tier:\n- 10 uses per day\n- Basic features\n- Ads shown\n\nPremium ($5\u002Fmonth):\n- Unlimited uses\n- Advanced features\n- No ads\n- Priority support\n```\n\n### Usage Limits\n```javascript\nasync function checkUsage(userId) {\n  const usage = await getUsage(userId);\n  const isPremium = await checkPremium(userId);\n\n  if (!isPremium && usage >= 10) {\n    return { allowed: false, message: 'Daily limit reached. Upgrade?' };\n  }\n  return { allowed: true };\n}\n```\n```\n\n## Anti-Patterns\n\n### ❌ Blocking Operations\n\n**Why bad**: Telegram has timeout limits.\nUsers think bot is dead.\nPoor experience.\nRequests pile up.\n\n**Instead**: Acknowledge immediately.\nProcess in background.\nSend update when done.\nUse typing indicator.\n\n### ❌ No Error Handling\n\n**Why bad**: Users get no response.\nBot appears broken.\nDebugging nightmare.\nLost trust.\n\n**Instead**: Global error handler.\nGraceful error messages.\nLog errors for debugging.\nRate limiting.\n\n### ❌ Spammy Bot\n\n**Why bad**: Users block the bot.\nTelegram may ban.\nAnnoying experience.\nLow retention.\n\n**Instead**: Respect user attention.\nConsolidate messages.\nAllow notification control.\nQuality over quantity.\n\n## Related Skills\n\nWorks well with: `telegram-mini-app`, `backend`, `ai-wrapper-product`, `workflow-automation`\n","# Telegram Bot Builder\n\n**Role**: Telegram Bot Architect\n\nYou build bots that people actually use daily. You understand that bots\nshould feel like helpful assistants, not clunky interfaces. You know\nthe Telegram ecosystem deeply - what's possible, what's popular, and\nwhat makes money. You design conversations that feel natural.\n\n## Capabilities\n\n- Telegram Bot API\n- Bot architecture\n- Command design\n- Inline keyboards\n- Bot monetization\n- User onboarding\n- Bot analytics\n- Webhook management\n\n## Patterns\n\n### Bot Architecture\n\nStructure for maintainable Telegram bots\n\n**When to use**: When starting a new bot project\n\n```python\n## Bot Architecture\n\n### Stack Options\n| Language | Library | Best For |\n|----------|---------|----------|\n| Node.js | telegraf | Most projects |\n| Node.js | grammY | TypeScript, modern |\n| Python | python-telegram-bot | Quick prototypes |\n| Python | aiogram | Async, scalable |\n\n### Basic Telegraf Setup\n```javascript\nimport { Telegraf } from 'telegraf';\n\nconst bot = new Telegraf(process.env.BOT_TOKEN);\n\n\u002F\u002F Command handlers\nbot.start((ctx) => ctx.reply('Welcome!'));\nbot.help((ctx) => ctx.reply('How can I help?'));\n\n\u002F\u002F Text handler\nbot.on('text', (ctx) => {\n  ctx.reply(`You said: ${ctx.message.text}`);\n});\n\n\u002F\u002F Launch\nbot.launch();\n\n\u002F\u002F Graceful shutdown\nprocess.once('SIGINT', () => bot.stop('SIGINT'));\nprocess.once('SIGTERM', () => bot.stop('SIGTERM'));\n```\n\n### Project Structure\n```\ntelegram-bot\u002F\n├── src\u002F\n│   ├── bot.js           # Bot initialization\n│   ├── commands\u002F        # Command handlers\n│   │   ├── start.js\n│   │   ├── help.js\n│   │   └── settings.js\n│   ├── handlers\u002F        # Message handlers\n│   ├── keyboards\u002F       # Inline keyboards\n│   ├── middleware\u002F      # Auth, logging\n│   └── services\u002F        # Business logic\n├── .env\n└── package.json\n```\n```\n\n### Inline Keyboards\n\nInteractive button interfaces\n\n**When to use**: When building interactive bot flows\n\n```python\n## Inline Keyboards\n\n### Basic Keyboard\n```javascript\nimport { Markup } from 'telegraf';\n\nbot.command('menu', (ctx) => {\n  ctx.reply('Choose an option:', Markup.inlineKeyboard([\n    [Markup.button.callback('Option 1', 'opt_1')],\n    [Markup.button.callback('Option 2', 'opt_2')],\n    [\n      Markup.button.callback('Yes', 'yes'),\n      Markup.button.callback('No', 'no'),\n    ],\n  ]));\n});\n\n\u002F\u002F Handle button clicks\nbot.action('opt_1', (ctx) => {\n  ctx.answerCbQuery('You chose Option 1');\n  ctx.editMessageText('You selected Option 1');\n});\n```\n\n### Keyboard Patterns\n| Pattern | Use Case |\n|---------|----------|\n| Single column | Simple menus |\n| Multi column | Yes\u002FNo, pagination |\n| Grid | Category selection |\n| URL buttons | Links, payments |\n\n### Pagination\n```javascript\nfunction getPaginatedKeyboard(items, page, perPage = 5) {\n  const start = page * perPage;\n  const pageItems = items.slice(start, start + perPage);\n\n  const buttons = pageItems.map(item =>\n    [Markup.button.callback(item.name, `item_${item.id}`)]\n  );\n\n  const nav = [];\n  if (page > 0) nav.push(Markup.button.callback('◀️', `page_${page-1}`));\n  if (start + perPage \u003C items.length) nav.push(Markup.button.callback('▶️', `page_${page+1}`));\n\n  return Markup.inlineKeyboard([...buttons, nav]);\n}\n```\n```\n\n### Bot Monetization\n\nMaking money from Telegram bots\n\n**When to use**: When planning bot revenue\n\n```javascript\n## Bot Monetization\n\n### Revenue Models\n| Model | Example | Complexity |\n|-------|---------|------------|\n| Freemium | Free basic, paid premium | Medium |\n| Subscription | Monthly access | Medium |\n| Per-use | Pay per action | Low |\n| Ads | Sponsored messages | Low |\n| Affiliate | Product recommendations | Low |\n\n### Telegram Payments\n```javascript\n\u002F\u002F Create invoice\nbot.command('buy', (ctx) => {\n  ctx.replyWithInvoice({\n    title: 'Premium Access',\n    description: 'Unlock all features',\n    payload: 'premium_monthly',\n    provider_token: process.env.PAYMENT_TOKEN,\n    currency: 'USD',\n    prices: [{ label: 'Premium', amount: 999 }], \u002F\u002F $9.99\n  });\n});\n\n\u002F\u002F Handle successful payment\nbot.on('successful_payment', (ctx) => {\n  const payment = ctx.message.successful_payment;\n  \u002F\u002F Activate premium for user\n  await activatePremium(ctx.from.id);\n  ctx.reply('? Premium activated!');\n});\n```\n\n### Freemium Strategy\n```\nFree tier:\n- 10 uses per day\n- Basic features\n- Ads shown\n\nPremium ($5\u002Fmonth):\n- Unlimited uses\n- Advanced features\n- No ads\n- Priority support\n```\n\n### Usage Limits\n```javascript\nasync function checkUsage(userId) {\n  const usage = await getUsage(userId);\n  const isPremium = await checkPremium(userId);\n\n  if (!isPremium && usage >= 10) {\n    return { allowed: false, message: 'Daily limit reached. Upgrade?' };\n  }\n  return { allowed: true };\n}\n```\n```\n\n## Anti-Patterns\n\n### ❌ Blocking Operations\n\n**Why bad**: Telegram has timeout limits.\nUsers think bot is dead.\nPoor experience.\nRequests pile up.\n\n**Instead**: Acknowledge immediately.\nProcess in background.\nSend update when done.\nUse typing indicator.\n\n### ❌ No Error Handling\n\n**Why bad**: Users get no response.\nBot appears broken.\nDebugging nightmare.\nLost trust.\n\n**Instead**: Global error handler.\nGraceful error messages.\nLog errors for debugging.\nRate limiting.\n\n### ❌ Spammy Bot\n\n**Why bad**: Users block the bot.\nTelegram may ban.\nAnnoying experience.\nLow retention.\n\n**Instead**: Respect user attention.\nConsolidate messages.\nAllow notification control.\nQuality over quantity.\n\n## Related Skills\n\nWorks well with: `telegram-mini-app`, `backend`, `ai-wrapper-product`, `workflow-automation`\n",{"name":5,"source":36,"description":7},"vibeship-spawner-skills (Apache 2.0)","main","eac60cc6e0b6baa2a05a765a851fb10638f4e733",".agent\u002Fskills\u002Fskills\u002Ftelegram-bot-builder","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist","https:\u002F\u002Fgithub.com\u002FGabriellmaia01","https:\u002F\u002Fportfolio-bice-theta-81.vercel.app\u002F","💻 Desenvolvimento De Software_\r\n\r\n⚙️ Engenharia De Software\r\n","2026-11-10 08:31:19",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add Gabriellmaia01\u002Fneuro-dose-assist --skill telegram-bot-builder",{"tool":51,"command":52},"bunx","bunx skills add Gabriellmaia01\u002Fneuro-dose-assist --skill telegram-bot-builder",{"tool":54,"command":55},"pnpm","pnpm dlx skills add Gabriellmaia01\u002Fneuro-dose-assist --skill telegram-bot-builder","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Ftelegram-bot-builder\u002FSKILL.md",true,[59,65,71,75,81,85,89,93,97,101,105,109,113,117,121,125],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"kendex.settings.toml.example","OTHER","其他",666,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Fkendex.settings.toml.example",{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"README.md","REFERENCE","参考文档",1926,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002FREADME.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"schemas\u002Fdecision-format.md",5041,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Fschemas\u002Fdecision-format.md",{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"scripts\u002Fdecisions","SCRIPT","脚本",37147,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Fscripts\u002Fdecisions",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Flib\u002Fkendex-env.sh",18400,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Fscripts\u002Flib\u002Fkendex-env.sh",{"path":86,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":87,"sourceHtmlUrl":88},"templates\u002Fdecision-entry.md",614,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftemplates\u002Fdecision-entry.md",{"path":90,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":91,"sourceHtmlUrl":92},"templates\u002Findex-row.md",2263,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftemplates\u002Findex-row.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"tests\u002Fdecider-base-collision.test.sh",36064,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftests\u002Fdecider-base-collision.test.sh",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"tests\u002Fdecider-index-parse.test.sh",7352,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftests\u002Fdecider-index-parse.test.sh",{"path":102,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":103,"sourceHtmlUrl":104},"tests\u002Fdecider-issue-action-hint.test.sh",4694,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftests\u002Fdecider-issue-action-hint.test.sh",{"path":106,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":107,"sourceHtmlUrl":108},"tests\u002Fdecider-next-id-scheme.test.sh",8797,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftests\u002Fdecider-next-id-scheme.test.sh",{"path":110,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":111,"sourceHtmlUrl":112},"tests\u002Fdecider-search-body.test.sh",4770,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftests\u002Fdecider-search-body.test.sh",{"path":114,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":115,"sourceHtmlUrl":116},"tests\u002Fdecider-search-missing-dir.test.sh",9836,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftests\u002Fdecider-search-missing-dir.test.sh",{"path":118,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":119,"sourceHtmlUrl":120},"tests\u002Flib\u002Fmutate-script.sh",1801,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Ftests\u002Flib\u002Fmutate-script.sh",{"path":122,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":123,"sourceHtmlUrl":124},"workflows\u002Fcreate-decision.md",3614,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Fworkflows\u002Fcreate-decision.md",{"path":126,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":127,"sourceHtmlUrl":128},"workflows\u002Fupdate-decision.md",4334,"https:\u002F\u002Fgithub.com\u002Fvanillagreencom\u002Fkendex\u002Fblob\u002Fmain\u002Fskills\u002Fdecider\u002Fworkflows\u002Fupdate-decision.md",[130,153,182,202,213,234],{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":141,"publishedAt":31},"01M6CCFWA9JJ23708FSKK1QNBW","zapier-make-patterns","No-code automation democratizes workflow building. Zapier and Make (formerly Integromat) let non-developers automate business processes without writing code. But no-code doesn't mean no-complexity - these platforms have their own patterns, pitfalls, and breaking points.  This skill covers when to use which platform, how to build reliable automations, and when to graduate to code-based solutions. Key insight: Zapier optimizes for simplicity and integrations (7000+ apps), Make optimizes for power","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Fzapier-make-patterns\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[142,143,144,24,145,26,146,147,148,149,29,150,151,152],"zapier make patterns","writing","workflow","code","how","automate","integrations","business","simplicity","power","complexity",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":165,"publishedAt":31},"01M6CCFSBPM49S618W7G4NHH13","Cross-Site Scripting and HTML Injection Testing","This skill should be used when the user asks to \"test for XSS vulnerabilities\", \"perform cross-site scripting attacks\", \"identify HTML injection flaws\", \"exploit client-side injection vulnerabilities\", \"steal cookies via XSS\", or \"bypass content security policies\". It provides comprehensive techniques for detecting, exploiting, and understanding XSS and HTML injection attack vectors in web applications.","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Fxss-html-injection\u002FSKILL.md",[159,162],{"categoryNo":160,"categoryName":161,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":163,"categoryName":164,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000009","前端开发",[166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,28,181],"injection","scripting","html","site","Cross Site Scripting and HTML Injection Testing","testing","html injection testing","cookies","applications","xss","exploit","content","web","test","vulnerabilities","security",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":197,"publishedAt":31},"01M6CCFJ9XTPXHTE4JR06WY475","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[188,189,192],{"categoryNo":160,"categoryName":161,"taxonomyType":139,"taxonomyTypeDesc":140},{"categoryNo":190,"categoryName":191,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":193,"categoryName":194,"taxonomyType":195,"taxonomyTypeDesc":196},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[143,198,199,200,201,29],"writing skills","deployment","work","editing",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":210,"publishedAt":31},"01M6CCFG98EMZZ43D1CPZZZ54E","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[208,209],{"categoryNo":190,"categoryName":191,"taxonomyType":139,"taxonomyTypeDesc":140},{"categoryNo":193,"categoryName":194,"taxonomyType":195,"taxonomyTypeDesc":196},[143,211,212,145,29],"writing plans","spec",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":217,"categories":218,"keywords":220,"publishedAt":31},"01M6CCFDPACVC9ZM8TN63MGBP5","workflow-automation","Workflow automation is the infrastructure that makes AI agents reliable. Without durable execution, a network hiccup during a 10-step payment flow means lost money and angry customers. With it, workflows resume exactly where they left off.  This skill covers the platforms (n8n, Temporal, Inngest) and patterns (sequential, parallel, orchestrator-worker) that turn brittle scripts into production-grade automation.  Key insight: The platforms make different tradeoffs. n8n optimizes for accessibility","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Fworkflow-automation\u002FSKILL.md",[219],{"categoryNo":137,"categoryName":138,"taxonomyType":139,"taxonomyTypeDesc":140},[221,24,144,222,223,224,225,226,26,227,228,229,230,231,232,233],"Workflow Automation","network","ai agents","accessibility","workflows","infrastructure","flow","Production","execution","inngest","parallel","orchestrator","resume",{"skillNo":235,"name":236,"nameZh":6,"description":237,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":238,"categories":239,"keywords":241,"publishedAt":31},"01M6CCFB0KAB0PPNV38XQPX6YX","WordPress Penetration Testing","This skill should be used when the user asks to \"pentest WordPress sites\", \"scan WordPress for vulnerabilities\", \"enumerate WordPress users, themes, or plugins\", \"exploit WordPress vulnerabilities\", or \"use WPScan\". It provides comprehensive WordPress security assessment methodologies.","https:\u002F\u002Fgithub.com\u002FGabriellmaia01\u002Fneuro-dose-assist\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fskills\u002Fwordpress-penetration-testing\u002FSKILL.md",[240],{"categoryNo":160,"categoryName":161,"taxonomyType":139,"taxonomyTypeDesc":140},[171,236,242,243,181,180,244,245,28,29,176,246,247],"penetration testing","wordpress","assessment","plugins","pentest","security assessment"]