[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FRSJFJMVTEMCJDQ60MF6SY":3,"skill-same:01M6FRSJFJMVTEMCJDQ60MF6SY":91},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6FRSJFJMVTEMCJDQ60MF6SY","building-agents",null,"Core XMTP Agent SDK setup and patterns. Use when creating new agents, handling messages, setting up middleware, or configuring environment variables. Triggers on agent setup, XMTP configuration, message handling, or middleware implementation.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"building agents","configuration","Variables","middleware","agent sdk","environment variables","triggers","message","patterns","sdk","implementation","sdk setup","up","use","environment","messages","core","setup","2026-11-10 10:12:30",false,"---\nname: building-agents\ndescription: Core XMTP Agent SDK setup and patterns. Use when creating new agents, handling messages, setting up middleware, or configuring environment variables. Triggers on agent setup, XMTP configuration, message handling, or middleware implementation.\nlicense: MIT\nmetadata:\n  author: xmtp\n  version: \"1.0.0\"\n---\n\n# XMTP agent basics\n\nBuild event-driven, middleware-powered messaging agents on the XMTP network using the `@xmtp\u002Fagent-sdk`.\n\n## When to apply\n\nReference these guidelines when:\n- Creating a new XMTP agent\n- Setting up environment variables\n- Handling text messages and events\n- Implementing middleware\n- Using filters and context helpers\n\n## Rule categories by priority\n\n| Priority | Category | Impact | Prefix |\n|----------|----------|--------|--------|\n| 1 | Setup | CRITICAL | `setup-` |\n| 2 | Events | HIGH | `events-` |\n| 3 | Middleware | MEDIUM | `middleware-` |\n| 4 | Filters | MEDIUM | `filters-` |\n\n## Quick reference\n\n### Setup (CRITICAL)\n- `setup-environment` - Configure environment variables for agent\n- `setup-from-env` - Create agent using Agent.createFromEnv()\n- `setup-manual` - Manual agent creation with signer\n\n### Events (HIGH)\n- `events-text` - Handle text messages\n- `events-lifecycle` - Handle start\u002Fstop events\n- `events-conversation` - Handle new DM and group conversations\n- `events-message-types` - Handle different message types (reaction, reply, attachment)\n\n### Middleware (MEDIUM)\n- `middleware-basics` - Create and register middleware\n- `middleware-error-handling` - Handle errors in middleware chain\n- `middleware-command-router` - Use CommandRouter for slash commands\n\n### Filters (MEDIUM)\n- `filters-message-types` - Filter by message type\n- `filters-sender` - Filter out self-messages\n\n## Installation\n\n```bash\nnpm install @xmtp\u002Fagent-sdk\n# or\nyarn add @xmtp\u002Fagent-sdk\n```\n\n## Quick start\n\n```typescript\nimport { Agent } from \"@xmtp\u002Fagent-sdk\";\nimport { getTestUrl } from \"@xmtp\u002Fagent-sdk\u002Fdebug\";\n\n\u002F\u002F Create agent using environment variables\nconst agent = await Agent.createFromEnv();\n\n\u002F\u002F Handle text messages\nagent.on(\"text\", async (ctx) => {\n  await ctx.conversation.sendText(\"Hello from my XMTP Agent!\");\n});\n\n\u002F\u002F Log when ready\nagent.on(\"start\", () => {\n  console.log(`Agent online: ${getTestUrl(agent.client)}`);\n});\n\nawait agent.start();\n```\n\n## Environment variables\n\n| Variable | Purpose | Example |\n|----------|---------|---------|\n| `XMTP_WALLET_KEY` | Private key for wallet | `0x1234...abcd` |\n| `XMTP_DB_ENCRYPTION_KEY` | Database encryption key | `0xabcd...1234` |\n| `XMTP_ENV` | Network environment | `dev` or `production` |\n| `XMTP_DB_DIRECTORY` | Database directory | `.\u002Fdata` |\n\n## How to use\n\nRead individual rule files for detailed explanations:\n\n```\nrules\u002Fsetup-environment.md\nrules\u002Fevents-text.md\nrules\u002Fmiddleware-basics.md\n```\n\n","# XMTP agent basics\n\nBuild event-driven, middleware-powered messaging agents on the XMTP network using the `@xmtp\u002Fagent-sdk`.\n\n## When to apply\n\nReference these guidelines when:\n- Creating a new XMTP agent\n- Setting up environment variables\n- Handling text messages and events\n- Implementing middleware\n- Using filters and context helpers\n\n## Rule categories by priority\n\n| Priority | Category | Impact | Prefix |\n|----------|----------|--------|--------|\n| 1 | Setup | CRITICAL | `setup-` |\n| 2 | Events | HIGH | `events-` |\n| 3 | Middleware | MEDIUM | `middleware-` |\n| 4 | Filters | MEDIUM | `filters-` |\n\n## Quick reference\n\n### Setup (CRITICAL)\n- `setup-environment` - Configure environment variables for agent\n- `setup-from-env` - Create agent using Agent.createFromEnv()\n- `setup-manual` - Manual agent creation with signer\n\n### Events (HIGH)\n- `events-text` - Handle text messages\n- `events-lifecycle` - Handle start\u002Fstop events\n- `events-conversation` - Handle new DM and group conversations\n- `events-message-types` - Handle different message types (reaction, reply, attachment)\n\n### Middleware (MEDIUM)\n- `middleware-basics` - Create and register middleware\n- `middleware-error-handling` - Handle errors in middleware chain\n- `middleware-command-router` - Use CommandRouter for slash commands\n\n### Filters (MEDIUM)\n- `filters-message-types` - Filter by message type\n- `filters-sender` - Filter out self-messages\n\n## Installation\n\n```bash\nnpm install @xmtp\u002Fagent-sdk\n# or\nyarn add @xmtp\u002Fagent-sdk\n```\n\n## Quick start\n\n```typescript\nimport { Agent } from \"@xmtp\u002Fagent-sdk\";\nimport { getTestUrl } from \"@xmtp\u002Fagent-sdk\u002Fdebug\";\n\n\u002F\u002F Create agent using environment variables\nconst agent = await Agent.createFromEnv();\n\n\u002F\u002F Handle text messages\nagent.on(\"text\", async (ctx) => {\n  await ctx.conversation.sendText(\"Hello from my XMTP Agent!\");\n});\n\n\u002F\u002F Log when ready\nagent.on(\"start\", () => {\n  console.log(`Agent online: ${getTestUrl(agent.client)}`);\n});\n\nawait agent.start();\n```\n\n## Environment variables\n\n| Variable | Purpose | Example |\n|----------|---------|---------|\n| `XMTP_WALLET_KEY` | Private key for wallet | `0x1234...abcd` |\n| `XMTP_DB_ENCRYPTION_KEY` | Database encryption key | `0xabcd...1234` |\n| `XMTP_ENV` | Network environment | `dev` or `production` |\n| `XMTP_DB_DIRECTORY` | Database directory | `.\u002Fdata` |\n\n## How to use\n\nRead individual rule files for detailed explanations:\n\n```\nrules\u002Fsetup-environment.md\nrules\u002Fevents-text.md\nrules\u002Fmiddleware-basics.md\n```\n\n",{"name":5,"license":14,"metadata":41,"description":7},{"author":42,"version":43},"xmtp","1.0.0","main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add kbarbel640-del\u002Fskills --skill building-agents",{"tool":57,"command":58},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill building-agents",{"tool":60,"command":61},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill building-agents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002FSKILL.md",true,[65,71,75,79,83,87],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"rules\u002Fevents-lifecycle.md","REFERENCE","参考文档",866,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002Frules\u002Fevents-lifecycle.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"rules\u002Fevents-text.md",913,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002Frules\u002Fevents-text.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"rules\u002Fmiddleware-basics.md",1287,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002Frules\u002Fmiddleware-basics.md",{"path":80,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":81,"sourceHtmlUrl":82},"rules\u002Fmiddleware-command-router.md",1211,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002Frules\u002Fmiddleware-command-router.md",{"path":84,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":85,"sourceHtmlUrl":86},"rules\u002Fsetup-environment.md",751,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002Frules\u002Fsetup-environment.md",{"path":88,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":89,"sourceHtmlUrl":90},"rules\u002Fsetup-from-env.md",1096,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fhumanagent\u002Fxmtp-agent\u002Fbuilding-agents\u002Frules\u002Fsetup-from-env.md",[92,123,151,172,178,198],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":103,"publishedAt":36},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122],"crowd prompting","prompting","api","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":134,"publishedAt":36},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[129],{"categoryNo":130,"categoryName":131,"taxonomyType":132,"taxonomyTypeDesc":133},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[135,106,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,111,31],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":160,"publishedAt":36},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":132,"taxonomyTypeDesc":133},"01JBSEEDCAT000000000000021","资料检索与研究",[161,162,163,164,165,166,167,107,168,149,31,169,106,170,171],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":173,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":177,"publishedAt":36},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[176],{"categoryNo":158,"categoryName":159,"taxonomyType":132,"taxonomyTypeDesc":133},[164,163,162,161,171,166,167,107,165,149,31,168,169,106,170],{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":184,"publishedAt":36},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[185,186,187,188,189,190,191,192,193,194,195,196,197],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":208,"publishedAt":36},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[204,205],{"categoryNo":130,"categoryName":131,"taxonomyType":132,"taxonomyTypeDesc":133},{"categoryNo":206,"categoryName":207,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000037","律师与法务",[209,210,211,212,107,213,214,44,215,169,216,217,218,219,220,120,221,222,223],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]